Flex中怎么使用嵌入字体,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在Flex中使用嵌入字体
在处理文本时,为了美观,有时会给文本选择一些特殊的字体,使得文本不那么单调,这就会引发一个问题:由于每个用户的系统有差异,当对方机器上没有安装你指定的字体时,FlashPlayer会自动选择一个合适的字体,无法保证文字的外观在控制之中,很可能会走样。
如何避免出现这样的情况?
解决方法有两种:
使用设备字体和使用嵌入字体。设备字体的特性是用户机器上的所有字体都***可能地模拟其外观,保持文本的样式不会出现较大变化;嵌入字体是指将字体文件编译进SWF文件中或者运行时加载到SWF文件中,供SWF文件使用。这样不管用户是否安装了该字体,都可以正常显示。使用嵌入字体的好处还有:文本具有抗锯齿,边缘更平滑,文本可以设置透明度,文本还可以旋转。当然也有缺点,首先便是增加了程序的文件大小,而且嵌入字体只支持TrueType(微软和Apple公司共同研制的字型标准)类型,当字体大小小于10时,文本会很难辨认。
◆一般情况下,使用设备字体就足够了,FlashPlayer支持三种设备字体:_sans,_serif,_typewriter。所以在定义样式时,为保证效果,可以这样:
Application{ fontSize:12; fontFamily:Arial,"_sans"; }
当用户的机器上没有Arial字体,FlashPlayer自动使用“_sans”设备字体。和系统字体的使用不同,设备字体必须用引号。
有些情况要求必须使用嵌入字体,例如使用了动画效果中的部分效果如Fade(淡入淡出效果)、Rotate(旋转效果),Dissolve(溶解效果)。可以在样式在定义嵌入字体:
<mx:Style> @font-face{ src:local("Arial");//嵌入本机字体 fontFamily:myFont;//字体的别名 fontStyle:normal;//默认normal,正常,可选值:italic|oblique|normal fontWeight:normal;//默认normal,正常,可选值:bold|heavy|normal flashType:true;//默认true,添加文本的额外信息,使得文本抗锯齿 ,平滑显示 } Application{ fontSize:12; fontFamily:myFont;//指定字体,使用嵌入字体的别名 } </mx:Style>
◆在嵌入一些双字节型的字体,比如中文字体,日文字体时,字体信息复杂,字体文件大,为了减小程序的文件大小,可以对嵌入字体的字符范围进行限制,这样,没有使用的字符信息不会被包含在文件中。例如上面使用了英文字体,只能使用英文范围内的字符,如果使用了中文,将无法显示。
在font-face中使用unicodeRange来指定字符范围,例如:
@font-face{ src:local("Arial"); fontFamily:myFont; flashType:true; unicodeRange: U+0041-U+00***,/*大写字母[A..Z]*/ U+0061-U+007A,/*小写字母a-z*/ U+0030-U+0039,/*数字[0..9]*/ U+002E-U+002E;/*点[.]*/ }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。