1.把代码中包含类似tf.embedFonts = true;的都删除,使动态文本能显示中文
在主swf第一帧代码中加上
System.useCodePage=true;
2.总的来说Flash调用xml不能显示中文,主要问题就两种:
第一种:XML编码问题,这个修改简单,国外FLASH一般都是采用UTF-8读取XML编码,首先看一下XML文件最上面有没有<?xml version="1.0" encoding="UTF-8"?>这样的申明,如果没有,那就添加一下,再要把XML另存编码换一下,一般换为UTF-8就可以了,如果这样做了,flash+xml还是不能显示中文字体,那就别再在这个XML上面动太多脑筋了,想再多也没用,因为XML就只有编码问题,把主要精力移到第二种解决方法上面。
第二种:态文本框字体问题,其有两种可能,一种就是选择的字体,但这种可能很小,如果是什么不常见的字体,改为宋体或新宋体,一般在使用系统字体的机器上面都有这种字体,如果这个还不显示,那就是第二种原因了,嵌入字体的问题,嵌入字体中没有嵌入中文,解决方法,选中动态文本框,再点属性里面的嵌入,一般FLASH+XML中文出现乱码或不显示就是因为这边嵌入字体的问题,在出现的对话框里面点不嵌入,再保存重新发布就可以了,当然,您也可以选择再嵌入中文字体,这个同样可以解决问题,只是FLASH文件会变的大一点。我遇到这种问题总是直接将这边的嵌入字体改为不嵌入便解决问题了。
一句话Flash调用xml不能显示中文最大可能动态文本框中嵌入了字体,但嵌入的字体里面没有中文,可以将嵌入字体改为不嵌入,或在嵌入字体中加入中文字体,这样便能很快的解决FLASH+XML不能显示中文字体问题。
3. 很多朋友问到flash中无法显示中文文字的问题,这个其实很简单,没有嵌入你制作flash时的问题。flash是老外发明的,如果嵌入英文字体的话,很简单,只需要26个字母,但是嵌入中文字体的话,就相当郁闷,即使简单中文一项也要2万左右,文字嵌入后编译的swf要到5-6M,这个东东在网页里根本没法弄。所以,一般情况下,需要嵌入中文字体使用的是外部组件调用的方法。制作一个组件,然后在需要写字的时候new下,从另一个swf中返回一个实例到正在运行的swf中。
其实如果只是为了让它能显示中文文字,大可不必这么麻烦,现在告诉大家简单的办法。
通过设置其属性,设置为使用设备字体,就可以达到不嵌入字体,依然能够显示中文文字,此时显示的文字是用户机器上的字体