Einbetten von Schriftarten in Actionscript 3 Projekt
Ich versuche eine schriftart einbinden, um meine Actionscript-3-Projekt in Flash Builder 4.5. Ich habe einige Beispiele und Fehlerbehebungen, aber keiner davon hat mein problem. Meine eingebettete Schrift zeigt sich in der enumeratedFonts Liste und ich bekomme keine Fehler, aber es fällt zurück auf die Standard-system-schriftart, wenn ich es in meinem TextFormat. Ich habe versucht, mit mehreren Embed()-Attribute und compiler-Argumente aus diesem post: http://divillysausages.com/blog/as3_font_embedding_masterclass
package {
import flash.display.Sprite;
import fl.text.TLFTextField;
import flash.text.TextFieldAutoSize;
import flash.text.Font;
import flash.text.TextFormat;
import flashx.textLayout.elements.*;
import flashx.textLayout.formats.*;
public class FontTest extends Sprite {
[Embed(source="assets/Nanami.otf", fontName="NanamiRegular", embedAsCFF= "false")]
private var myEmbeddedFont:Class;
public function FontTest() {
var fonts:Array = Font.enumerateFonts(false);
for(var i:int = 0; i < fonts.length; i++) {
trace(fonts[i].fontName);
}
var fmt:TextFormat = new TextFormat();
fmt.color = 0xFF0000;
fmt.font = "NanamiRegular";
fmt.size = 32;
var tlfTxt:TLFTextField = new TLFTextField();
tlfTxt.defaultTextFormat = fmt;
tlfTxt.embedFonts = true;
tlfTxt.border = true;
tlfTxt.text = "Lorem ipsum dolor sit amet.";
tlfTxt.wordWrap = true;
tlfTxt.width = 300;
tlfTxt.autoSize = TextFieldAutoSize.LEFT;
tlfTxt.x = tlfTxt.y = 40;
tlfTxt.rotation = 20;
addChild(tlfTxt);
}
}
}
InformationsquelleAutor Stefan Edberg | 2013-06-20
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, ändern Sie die
fontName
auf etwas, wie "testfontname", und geben Sie eine schriftart-Familie, wie "testfontfamily"dann einbetten, die es mit diesem Namen:
Seltsam. Ich nehme an, Sie auch aktualisieren Sie dann die font-Namen auf dem TextFormat? I havent verwendet schriftart-einbetten, die mit tlf-text, aber mit normalen Textfeldern funktioniert es hier: [Embed(source="fonts/OpenSans-Semibold.ttf", fontName="DefaultFont", fontFamily="spittfonts", mimeType="application/x-font-truetype", embedAsCFF="false")] public static var defaultFont:Class; new TextFormat("DefaultFont", 12, 0x000000);
Verdammt, du hast es! Geändert TLFTextField -, TextField-und jetzt funktioniert es! Seltsam, dass TLFTextField nicht funktioniert. Ich habe versucht, dies zu lösen, für Stunden, und ich dachte, dass das problem der Einbettung der schriftart. Dank Marijn!
InformationsquelleAutor Marijn
Wenn Sie TLFTextField, Sie muss sich ändern "embedAsCFF" - Wert auf true, weil TLFText mit der neuen Flash Text Engine.
InformationsquelleAutor Adi Nugroho