Adobe Flex 3: можно ли получить системные шрифты TTF / OTF и вставить их во время выполнения? - PullRequest
0 голосов
/ 11 ноября 2010

Adobe Flex 3: могу ли я получить системные шрифты TTF / OTF и вставлять их во время выполнения?

Привет,

Я новичок в Stack Overflow, поэтому, пожалуйста, будьте осторожны.Я искал весь день и нашел десятки учебных пособий / примеров того, как использовать метаданные [Embed] или Flash SWF-файлы, но все они говорят мне либо использовать путь в атрибуте источника, либо текстовую строку в атрибуте systemFont.То, что я хочу сделать, это;во время выполнения получите все установленные шрифты на данном компьютере, определите, какие из них являются TTF / OTF, вставьте их все и предложите их в поле со списком.Что-то в этом роде:

public function embedFonts():void{
    try{  
        //get all device and embedded fonts
        availableFonts = Font.enumerateFonts(true);
        availableFonts.sortOn("fontName", Array.CASEINSENSITIVE);

        for each(var thisFont:Font in availableFonts)
        {
            [Embed(systemFont=thisFont.fontName,
            fontName=thisFont.fontName,
            mimeType='application/x-font')]

            //this bit need to create a unique variable name on each loop
            var thisfont:Class;
        }
    }
    catch(error:Error){
        //if cant embed it's likely not to be TTF or OTF
        //so move on to the next font.                  
    }
}

Кто-нибудь знает способ?

Большое, большое спасибо

1 Ответ

0 голосов
/ 13 ноября 2010

Вы не можете вставлять шрифты во время выполнения.И какой в ​​этом смысл?

Ваш swf запускается на моей машине, перечисляет шрифты на моей машине, затем встраивает их и предлагает их мне?Они установлены, используйте их напрямую, не нужно встраивать.

Так что не только это невозможно, но, вероятно, никто никогда не реализует такую ​​функцию.

...