Flex嵌入字体的方法(二)
2009-11-27 16:05
357 查看
上次说了直接把字体嵌入到flex程序中的方法,这次写一下将字体编译成swf后供其它flex程序加载来调用的方法。
首先,新建一个actionscript的project,取名为FlexFont,将字体文件放到src/font目录下,主程序为
FlexFont.as文件,内容如下:
package {
import flash.display.Sprite;
public class FlexFont extends Sprite {
[Embed(source="font/adobehei.otf",fontName="AdobeHei",advancedAntiAliasing="true",mimeType="application/x-font")]
public var AdobeHei:Class;
}
}
编译project产生FlexFont.swf文件,到这里字体的swf文件已经编译完成。
然后,将生成的swf文件放到需要使用相应字体的flex程序目录下,在flex的Application中使用SWFLoader加载
FlexFont.swf,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
width="100%" height="100%" fontSize="20"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
private function initApp():void {}
private function fontLoadComplete(event:Event):void {
try {
Font.registerFont(event.target.content["AdobeHei"]);
txt.setStyle("fontFamily", "AdobeHei");
}
catch(e:Error){
trace(e.toString());
}
}
]]>
</mx:Script>
<mx:SWFLoader source="FlexFont.swf"
complete="fontLoadComplete(event);"
width="0" height="0" includeInLayout="false" visible="false"/>
<mx:TextArea id="txt" width="300" height="300"/>
</mx:Application>
这时,TextArea的字体已经被设置为FlexFont中的AdobeHei了。
首先,新建一个actionscript的project,取名为FlexFont,将字体文件放到src/font目录下,主程序为
FlexFont.as文件,内容如下:
package {
import flash.display.Sprite;
public class FlexFont extends Sprite {
[Embed(source="font/adobehei.otf",fontName="AdobeHei",advancedAntiAliasing="true",mimeType="application/x-font")]
public var AdobeHei:Class;
}
}
编译project产生FlexFont.swf文件,到这里字体的swf文件已经编译完成。
然后,将生成的swf文件放到需要使用相应字体的flex程序目录下,在flex的Application中使用SWFLoader加载
FlexFont.swf,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
width="100%" height="100%" fontSize="20"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
private function initApp():void {}
private function fontLoadComplete(event:Event):void {
try {
Font.registerFont(event.target.content["AdobeHei"]);
txt.setStyle("fontFamily", "AdobeHei");
}
catch(e:Error){
trace(e.toString());
}
}
]]>
</mx:Script>
<mx:SWFLoader source="FlexFont.swf"
complete="fontLoadComplete(event);"
width="0" height="0" includeInLayout="false" visible="false"/>
<mx:TextArea id="txt" width="300" height="300"/>
</mx:Application>
这时,TextArea的字体已经被设置为FlexFont中的AdobeHei了。
相关文章推荐
- Flex嵌入字体的方法(一)
- [Flex] FlashBuilder 4.6运用标签嵌入字体方法
- Matlab,Visio等生成的图片的字体嵌入问题解决方法
- PDF文件【由Latex、CTex或MS Word等生成】嵌入所有字体的快速解决方法
- 网页嵌入自定义字体方法
- Flex的tool tips中使用嵌入字体的例子
- Flex组件IFrame中嵌入HTML页面的方法
- Flex中通过设置fontFamily样式在调色板(ColorPicker)控件中使用自定义嵌入字体的例子
- 在Flex中使用嵌入字体鲜为人知的秘密
- EDAS字体嵌入问题解决方法
- Flash字体嵌入方法总结—(2)ActionScript基础篇
- Flex嵌入字体错误
- 在Flex中使用嵌入字体鲜为人知的秘密
- flex 嵌入字体的使用
- Flash Builder 嵌入字体方法总结
- Flash/Flex中旋转文字,但不嵌入字体的研究
- flash嵌入中文字体的方法
- flex中使用设备和嵌入字体
- IEEE格式检查报错(字体未嵌入)的处理方法(for linux & mac)
- Flex中如何通过设置fontFamily样式在ComboBox控件中使用自定义嵌入字体的例子