Я делаю что-то немного другое.: D embedAsCFF должно быть false, если вы хотите использовать старые TextFields или true, если вы используете новый текстовый движок.
public class Font_Arial
{
[Embed(source = 'Arial.ttf'
,fontFamily ='_Arial_'
,fontStyle = 'normal' // normal|italic
,fontWeight = 'normal' // normal|bold
,mimeType = "application/x-font-truetype"
,unicodeRange = 'U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E'
,embedAsCFF = 'false'
)]
private const _regular:Class;
[Embed(source = 'Arial_i.ttf'
,fontFamily ='_Arial_'
,fontStyle = 'italic' // normal|italic
,fontWeight = 'normal' // normal|bold
,mimeType = "application/x-font-truetype"
,unicodeRange = 'U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E'
,embedAsCFF = 'false'
)]
private const _italic:Class;
[Embed(source = 'Arial_b.ttf'
,fontFamily ='_Arial_'
,fontStyle = 'normal' // normal|italic
,fontWeight = 'bold' // normal|bold
,mimeType = "application/x-font-truetype"
,unicodeRange = 'U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E'
,embedAsCFF = 'false'
)]
private const _bold:Class;
[Embed(source = 'Arial_bi.ttf'
,fontFamily ='_Arial_'
,fontStyle = 'italic' // normal|italic
,fontWeight = 'bold' // normal|bold
,mimeType = "application/x-font-truetype"
,unicodeRange = 'U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E'
,embedAsCFF = 'false'
)]
private const _boldItalic:Class;
public static const name:String = "_Arial_";
public function Font_Arial()
{
Font.registerFont(_regular);
Font.registerFont(_italic);
Font.registerFont(_bold);
Font.registerFont(_boldItalic);
}
}
Тогда вы можете использовать что-то вроде
var _format:TextFormat = new TextFormat(Font_Arial.name, 16,....)
Вам понадобитсячтобы убедиться, что статическая константа name
идентична fontFamily
внутри шрифта.Всем им присваивается одно и то же имя, поэтому все они действуют как 1 шрифт; текстовое поле выберет правильный стиль для использования, если текстовое поле установлено жирным шрифтом или курсивом или жирным шрифтом и курсивом или просто старым обычным шрифтом.
Iтогда бы сделал другой класс для разных "наборов" шрифтов