Flash中的多个字体/语言支持
问候,
我正在编写一个具有多语言支持的Flash应用程序.我最初选择的字体是Tahoma,因为它支持Unicode.客户更喜欢Lucida手写等非标准字体. Lucida手写与Tahoma没有相同的西里尔支持,这提出了一些问题,有几种方法可以解决,我想问你的建议哪个更好: 根据我的理解,我可以: >为客户提供完全兼容Unicode(西里尔文,希伯来文,阿拉伯文,繁体中文,东亚等)字体的列表供您选择. (我不知道从哪里获得这样的列表;我对网络的搜索仅产生了部分符合unicode的字体列表.尝试http://look.fo/list-of-unicode-compliant-fonts作为一个很好的起点,看看我的样子). 你有什么建议?哪些是合理的解决方案,哪些完全在那里?有没有一种我没想过的方法? 非常感谢! 编辑:一篇关于这个主题的好文章:http://www.itworld.com/print/58558 解决方法
好吧,最终你只有两个真正的选择:要么在SWF中嵌入字体,要么保证你的字体是什么样的,要么你没有,并使用设备字体. (或两者的混合,使用嵌入式或设备字体,具体取决于地区.)
如果您没有嵌入任何字体,那么您为文本定义的任何字体最终都只是一个建议 – 用户将看到的是设备字体,由他们自己的机器(使用该机器上的字体)呈现.因此,您可以“建议”Tahoma,但用户看到的将取决于他们是否具有该字体(并且可能因Mac版本的字体与PC版本而异).当然这也取决于支持;如果他们没有亚洲字体,那么他们就不会看到任何中文. (注意:你也可以选择像“_sans”这样的字体,它只是告诉客户使用它的标准sans-serif字体.我的猜测是,实际上这将是你所选择的相同字体. d定义“Tahoma”,但是YMMV.) 如果您嵌入了字体,那么用户将看到您期望的字体,因为字体是由Flash而不是操作系统呈现的.但如果你完全嵌入所有地区,包括中文所需的字形,那么我认为你会发现它增加了超过500K ..更像是我的经验2-5MB.但也许有一些我遗漏的细节.无论如何,对于通过网络传送的内容,我通常会认为,亚洲字体至少应该是设备字体. 要添加关于混合解决方案的单词,我已经完成了这个并且它是可行的.也就是说,假设您可以将逻辑添加到SWF中,您可以(例如)创建两个文本字段,一个使用嵌入式“Lucida whatever”,另一个使用非嵌入式“_sans”,然后在运行时创建一个它们是不可见的,并将文本放在另一个中,具体取决于您显示的区域. (我通过创建一个LocalizedTextfield组件,并在初始化时从静态属性中读取区域设置来完成此操作.)然后,您只需为每个区域设置决定文件大小是否值得显示该特定组字形. 最后一句话是,您不一定要假设您的字体引起的文件大小只会被加载一次.如果您使用简单的方法制作内容并在文本字段中嵌入字体,那么字体信息将成为SWF的一部分,因此无论何时加载,都会加载.要将其外部化,您可以将Label组件设置为单独的文件,然后决定是否加载它取决于浏览器的缓存设置.您还可以外部化字体资源本身并将其用作共享资源,但在AS2中,这有点毛茸茸.我听说AS3更容易,但我自己也没做过. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- objective-c – 避免objmsg函数开销?
- ruby-on-rails – Omniauth-Facebook:如何获得长期访问令牌
- ruby-on-rails – Rails – 使用带有多个IDP的omniauth-sam
- 详解vue跨组件通信的几种方法
- ruby-on-rails – 使用RSpec测试布局
- Libevent源码分析-----跨平台Reactor接口的实现
- ruby-on-rails – 使用haml中的link_to传递参数
- 基于Vue实现tab栏切换内容不断实时刷新数据功能
- xml对象转换成Dictionary或者list
- ruby-on-rails – 使用链接而不是按钮提交Rails 4表单