欢迎来到山村网

Flash嵌入字体的进阶方法

2019-03-31 07:16:40浏览:927 来源:山村网   
核心摘要:关于如何在Flash应用中嵌入字体,这个话题一直都是一个焦点。最简单的,打开Flash, 新建一个动态文本,选择字体,然后在 Embed C

关于如何在Flash应用中嵌入字体,这个话题一直都是一个焦点。
最简单的,打开Flash, 新建一个动态文本,选择字体,然后在 Embed Characters里选择或者添加需要嵌入的字符。
比较复杂的是下面两种在Flash Builder里分别针对Flex与Action script项目的嵌入方法。

Flex项目
使用css格式swf文件:
css文件定义如下例

    @font-face{ src:url(“xxx.ttf”); font-family:xxx; unicodeRange: U+0041-U+005A, U+0061-U+007A, U+0030-U+0039 , …..}

然后用mxmlc将css发布成swf文件,用StyleManager.loadStyleDeclarations([url])来调用,调用成功后就可以获取字体信息。

Flash项目
使用Embed标签

    [Embed (source="xxx.ttf",fontFamily="xxx", unicodeRange="..." )] private var myFontClass:Class; … Font.registerFont(myFontClass)
复制代码

前种方法的好处在于运行时加载字体信息,但是和后种方法一样,缺点在于使用unicodeRange并不能很好的编辑所要嵌入的字符。下面我重点来介绍一下我最提倡的运行时载入字体的方法:
1,建立字体库flash文件(如font_lib.fla),使用最简单的方法,打开flash,在舞台上建立文本并且手动添加字符集。
2,建立一个AS作为Application, 比如font_zh.as 核心代码如下:

    [Embed (source="font_lib.swf",fontName="xxxx")] private var fontClass:Class; //这里注意字体名xxx要与font_lib.fla里的文本所使用的字体名一致。 …. Font.registerFont(fontClass)


3,建立css文件,如style.css:

    headline{ font-family:’xxx’ font-size:20 }


4,运行时载入style.css,用StyleSheet来初始化:

    var tmpStyleSheet: StyleSheet = new StyleSheet(); tmpStyleSheet.parseCSS(参数为css的内容);


5,载入font_zh.swf后,便可以使用字体了,如:

    var tf:TextField = new TextField(); tf.styleSheet = tmpStyleSheet; tf.embedFonts = true; tf.htmlText = “<headline>” + “This is a headline” + “</headline>”


这样的方法,好处很多,既可以运行时载入字体文件,又可以很方便的修改需要嵌入的字符。
唯一的也是始终都无法避免的问题,就是无法运行时定义嵌入字符,无法避免每次修改字符集后都要手动更新字库。

(责任编辑:豆豆)
下一篇:

Flash开发移动设备技巧

上一篇:

如何在Flash里发布iOS应用

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com