Apache flex 在应用字体之前,如何检测字体是否适用于文本层?
我在flex中创建了一个面板,它将有两个组合框,显示系统字体系列和字体样式,当用户从组合框中选择任何字体系列或样式时,字体将应用于选定的文本层。但是当我尝试为例如Euro sign应用一些字体时,所选文本层中的文本将变成所有矩形。我发现Photoshop的字符面板在所选的文本层上没有应用字体(欧元符号) flex中是否有任何方法可以帮助我们检测字体是否适用于选定的文本层Apache flex 在应用字体之前,如何检测字体是否适用于文本层?,apache-flex,Apache 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”方法。但是这种方法是针对嵌入式字体而不是系统字体的。我需要一种方法,可以告诉我系统字体是否可以应用?