技术分享 在Flex中嵌入Flex字体的步骤

开发 后端
本文想向大家介绍一下如何在Flex中嵌入Flex字体,我们要注意约束性的使用嵌入Flex字体技术,只是嵌入需要的字符,以此来减小文件体积。

在学习Flex的过程中,你可能会遇到如何在Flex中嵌入Flex字体这样的问题,这里和大家分享一下,相信本文介绍一定会让你有所收获。

如何在Flex中嵌入Flex字体

本文将告诉您如何在Flex中使用ActionScript来嵌入Flex字体。

1.要注意约束性的使用嵌入Flex字体技术,只是嵌入需要的字符,以此来减小文件体积。

2.设备字体(DeviceFonts)运用在一些特殊设备,诸如电脑和移动掌上电脑上。当你在Flex程序中使用设备字体时,字体在编译时是通过名字提及(namereference)在用户的设备上保存该字体(storethefont),而在应用程序运行时,应用程序则尝试在用户设备中定位该字体。(locatethefont)

3.如果没有发现字体,它将会寻找一个最接近该字体的设备字体(itwillmakeabestguessandselectafontthatitdeemstobetheclosestmatchontheuser'sdevice.)

4.开发者会选择常用的字体来创建应用程序,他们知道那些字体对目标设备来说那是很常用的字体。(Developersusuallycreatetheirapplicationstotargetalimitednumberoffontsthattheyknowarecommonlyavailableonthetargetdevice.)

5.举个例子,TimesNewRoman,Arial,HelveticaandVerdana常被用与网站字体,因为它们在Windows和Mac系统中都很常用。当设备字体还未被嵌入在Flex应用程序中,它们是不会增加文件的尺寸的(SincedevicefontsarenotcompiledintotheFlexapplication,theydonotincreasethefilesizeofthedeployedSWF.)

6.你不能确定你的应用程序会在用户电脑上***的显示,因为某些字体无法被确认是否安装在用户的设备上,设备字体是无法运行在Flex的animations效果和effects效果和旋转效果下显示的。

  1. <mx:Script> 
  2. //字体将不会显示  
  3.  <mx:Labeltextmx:Labeltext="testRotate"rotation="45"/> 
  4. </mx:Script> 

如果您是通过字体文件名或者系统字体名来嵌入Flex字体的话,那么您只能嵌入TrueType类型字体。(Ifyouembedafontbyfilenameorsystemfontname,youcanonlyembedTrueTypefonts.)

7.如果你在flex应用程序中使用FlashCS3导出的SWF文件来嵌入Flex字体,你可以嵌入任何可以在Flash中使用的字体.(usingadobeflashcs3-anyfontavailableinFlash)如果在应用程序中嵌入Flex字体,要注意它们会增加你的最终生成的SWF文件的大小。嵌入Flex字体可以确保你的应用程序可以完全显示在客户的电脑上(displaysproperly)。嵌入Flex字体同样可以显示于Flexanimations效果中,它可以自动抗锯齿(anti-aliased)。抗锯齿技术可以平滑特定的尺寸(certainsizes)(这样效果更好)的字体,提高可读性。

(Anti-aliasingisasmoothingofthefontcharacterstoimprovetextreadabilityatcertainsizes.)

8.创建抗锯齿文本有多种算法,但最终的办法是使用字体颜色阴影(useshadesofthefontcolor)平滑曲线(smoothcurves)和弯曲角度(corners)(butultimatelytheideaistouseshadesofthefontcolortosmoothcurvesandcornersofthetext)。对于字体的抗锯齿方法,要记住,所有的字体都使用是不必要的。抗锯齿技术不能运用于设备字体中(Anti-aliasingcannotbecontrolledindevicefonts)。

9.像其它的网络资源一样(Likeallassets),一些字体的使用需要受到许可限制.不错的字体网站

创建嵌入Flex字体步骤:

和嵌入图片用到的Embed元数据指令一样,嵌入Flex字体也是同的指令。1.首先,可以在主程序文件的前端创建MXMLScript块,如下:

 

  1. <mx:Script> 
  2.  <![CDATA]  
  3.   [Embed(source="需要嵌入的字体路径",  
  4. fontName="起一个任意的名称",fontWeight="bold",  
  5. mimeType="application/x-font")]    
  6.  ]]> 
  7. mx:Script> 
  8.  
  9. //注意事项:  
  10. /*在此键入[Embed()]元数据指令和它的source属性,可以使用相对或者绝对路径。  
  11. (针对本地计算机的TrueType字体文件),同时加上mimeType属性(声明嵌入的资源是一种字体)  
  12. (embeddedassetisafont)。  
  13. */  
  14.  
  15. /*  
  16. 创建私有变量privatevarLogoFont:Class,(和嵌入图片资源一样)。您必须声明该变量。  
  17. 其次,要为该字体起一个名字(注意唯一性),设置fontName属性,使用它可以在应用程序的样式中引用到它。  
  18. */  
  19.  
  20. //应用时使用fontFamily样式(注意这不是属性),  
  21. <mx:Labeltextmx:Labeltext="embedFontTest"fontFamily="和fontName的名字一样"fontWeight:"bold"/> 
  22.  
  23. 同样可以在MXML中的Style块中引用到该嵌入Flex字体  
  24.  
  25. <mx:Style> 
  26. //添加一个自定义的(acustomclassSelector),名字任意。  
  27. .embedFont{  
  28. fontFamily:和嵌入Flex字体的名字一样  
  29. font-size:22pt;//设置字体大小  
  30. color:#FFFFFF;//设置字体颜色  
  31. }  
  32. </mx:Style> 
  33.  
  34. //使用时指定styleName属性  
  35. <mx:Labeltextmx:Labeltext="testA"styleName="embedFont"/> 
  36.  
  37. /*  
  38. 如果加入了字体变粗样式(fontWeight),会发现没有显示(因为粗字体对于justus字体来说没有嵌入)  
  39. 您需要在Embed指令中键入fontWeight后。如果是通过CSS来应用的话,需要在其中申明该样式。  
  40. */  

【编辑推荐】

  1. 学习总结 在Flex中如何嵌入Flex字体
  2. FlexBuilder4十大新特性闪亮登场
  3. 解析AS3中Flex正则表达式的使用
  4. 学习笔记 Flex中设置Flex滚动条的样式
  5. FlexBuilder开发方法及特点解析 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-08-09 15:30:00

Flex字体

2010-08-10 14:08:09

Flex嵌入字体

2010-07-30 10:37:23

Flex数据绑定

2010-07-28 12:41:18

Flex组件

2010-08-13 10:01:46

Flex样式定义

2010-08-11 14:47:54

Flex样式

2010-07-29 13:27:13

Flex右键菜单

2010-08-04 13:30:11

Flex项目

2010-08-09 15:52:28

2010-08-10 15:55:20

FlexHTML页面

2010-08-09 10:21:56

XMLFlex

2010-08-02 16:33:11

Flex Spring

2010-08-05 13:07:11

FlexJson

2010-07-27 10:58:46

Flex

2010-08-10 17:13:58

Flex技术

2010-07-29 17:15:55

Flex

2009-09-17 09:44:31

Flex for ec

2010-08-09 16:01:37

Flex字体

2010-08-09 13:25:02

FlexSilverlight

2010-08-12 09:56:44

Flex内存优化
点赞
收藏

51CTO技术栈公众号