·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3.0中文字体flash如何嵌入字体

时间:2014-03-31 21:54adobe.com
[AS3]AS3.0中文字体flash如何嵌入字体,由于中文字体体积比较大,在项目需要使用不常见的中文字体时,就要用嵌入字体的方式来把指定字符嵌入到游戏中,下面是两种方法

由于中文字体体积比较大,在项目需要使用不常见的中文字体时,就要用嵌入字体的方式来把指定字符嵌入到游戏中,下面是两种方法:

方法一:使用Embed

Embed的unicodeRange允许指定要嵌入字符的16进制unicode字符,如果字符变更了,还要重新编译生成swf,对于频繁更新的项目地带来不便。 以嵌入微软雅黑字体为例,代码如下:

  1. [SWF(width="100"height="50"backgroundColor="#CCCCCC")] 
  2. public class TestFont extends Sprite 
  3.     [Embed(source="c:/windows/fonts/msyh.ttf"embedAsCFF="false"fontName="DefaultFont",
     
    mimeType="application/x-font"unicodeRange="U+4f60, U+597d, U+4e16, U+754c")]  
  4.     public static var DefaultFont:Class; 
  5.  
  6.     public function TestFont() 
  7.     { 
  8.         var text:TextField = new TextField(); 
  9.         text.defaultTextFormat = new TextFormat("DefaultFont", 20, 0); 
  10.         text.text = "你好世界"
  11.         text.embedFonts = true
  12.         text.width = 200
  13.         texttext.x = text.y = 10
  14.         addChild(text); 
  15.     } 

方法二: 使用Flash Professional嵌入并生成swf供项目动态读取

使用Flash嵌入字体即不用生成unicode字符,在字符发生变更后,也不用重新编译主程序,个人觉得算是最适合的方法了。 首先需要在Flash中通过 文本 -> 字体嵌入 菜单来嵌入字体:

嵌入字体

设置导出类

使用时的代码如下:

  1. // 通过读取swf文件来获取swf中的字体类 
  2. var skillFontClass:Class = ResLoader.getInstance().getClassByLinkName("SkillFont"); 
  3. // CuPlayer.com注册字体 
  4. Font.registerFont(skillFontClass); 
  5. // CuPlayer.com实列化字体 
  6. var skillFont:Font = new skillFontClass(); 
  7. // CuPlayer.com设置字体格式 
  8. var textFormat:TextFormat = new TextFormat(); 
  9. textFormat.font = skillFont.fontName; 
  10. textFormat.size = 40
  11. textFormat.color = 0x000000
  12. // CuPlayer.com建立文本实例 
  13. var skillText:TextField = new TextField(); 
  14. skillText.defaultTextFormat = textFormat
  15. skillText.autoSize = TextFieldAutoSize.LEFT; 
  16. skillText.embedFonts = true
  17. skillText.text = "你好世界"
  18. addChild(skillText); 

效果:

工具:

在网上找了半天没找到好用的字符转16进制Unicode的工具,索性自己写了一个,下载String2HexUnicode (需要.Net Framework 2.0)。

String2HexUnicode

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器