Apache flex 在应用字体之前,如何检测字体是否适用于文本层?

Apache flex 在应用字体之前,如何检测字体是否适用于文本层?,apache-flex,Apache Flex,我在flex中创建了一个面板,它将有两个组合框,显示系统字体系列和字体样式,当用户从组合框中选择任何字体系列或样式时,字体将应用于选定的文本层。但是当我尝试为例如Euro sign应用一些字体时,所选文本层中的文本将变成所有矩形。我发现Photoshop的字符面板在所选的文本层上没有应用字体(欧元符号) flex中是否有任何方法可以帮助我们检测字体是否适用于选定的文本层 谢谢你的提问。我需要一种方法来告诉我是否可以使用系统字体? 这里我有一个示例,您可以在其中读取系统字体,并检查组合框中的字体是

我在flex中创建了一个面板,它将有两个组合框,显示系统字体系列和字体样式,当用户从组合框中选择任何字体系列或样式时,字体将应用于选定的文本层。但是当我尝试为例如Euro sign应用一些字体时,所选文本层中的文本将变成所有矩形。我发现Photoshop的字符面板在所选的文本层上没有应用字体(欧元符号)

flex中是否有任何方法可以帮助我们检测字体是否适用于选定的文本层


谢谢你的提问。我需要一种方法来告诉我是否可以使用系统字体? 这里我有一个示例,您可以在其中读取系统字体,并检查组合框中的字体是否在系统字体中可用。请查找以下代码:-

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;

            private var systemFontsCollection:ArrayCollection = new ArrayCollection(); 

            private function getSystemFont():void
            {
                var fonts:Array = Font.enumerateFonts(true).sortOn("fontName");
                for (var i:int = 0; i < fonts.length; i++) {
                    systemFontsCollection.addItem(new String(fonts[i].fontName));
                }
            }


            private function init():void 
            {
                var fontName:String = fontName.selectedLabel;

                if(systemFontsCollection.contains(fontName))
                {
                    trace(" ----System Font is applied ----");
                }
                else{
                    trace(" ----System Font is NOT applied ----");
                }

            }
        ]]>
    </fx:Script>

    <mx:Form>
        <mx:FormItem label="Font name:">
            <mx:ComboBox id="fontName" change="init();" creationComplete="getSystemFont()">
                <mx:dataProvider>
                    <fx:Array>
                        <fx:String>Arial</fx:String>
                        <fx:String>ArialEmbedded</fx:String>
                        <fx:String>Verdana</fx:String>
                        <fx:String>VerdanaEmbedded</fx:String>
                    </fx:Array>
                </mx:dataProvider>
            </mx:ComboBox>
        </mx:FormItem>
    </mx:Form>
</s:Application>

Arial
阿里亚姆贝德
威尔达纳
绿色的
可以参考链接:-您好,我尝试了“isFontFaceEmbedded”方法。但是这种方法是针对嵌入式字体而不是系统字体的。我需要一种方法,可以告诉我系统字体是否可以应用?