- 浏览: 1088223 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
http://www.it118.org/specials/be5aa227-758a-4292-a143-5d0de10556fb/530f4d60-3ed0-46e9-ab54-02020319db2d.htm
在处理文本时,为了美观,有时会给文本选择一些特殊的字体,使得文本不那么单调,这就会引发一个问题:由于每个用户的系统有差异,当对方机器上没有安装你指定的字体时,Flash Player会自动选择一个合适的字体,无法保证文字的外观在控制之中,很可能会走样。如何避免出现这样的情况?
解决方法有两种:使用设备字体和使用嵌入字体。
设备字体的特性:
用户机器上的所有字体都最大可能地模拟其外观,保持文本的样式不会出现较大变化;嵌入字体是指将字体文件编译进SWF文件中或者运行时加载到SWF文件中,供SWF文件使用。这样不管用户是否安装了该字体,都可以正常显示。使用嵌入字体的好处还有:文本具有抗锯齿,边缘更平滑,文本可以设置透明度,文本还可以旋转。当然也有缺点,首先便是增加了程序的文件大小,而且嵌入字体只支持 TrueType(微软和Apple公司共同研制的字型标准)类型,当字体大小小于10时,文本会很难辨认。
一般情况下,使用设备字体就足够了,Flash Player支持三种设备字体:_sans,_serif,_typewriter。所以在定义样式时,为保证效果,可以这样:
Application{
fontSize:12;
fontFamily: Arial, "_sans";
当用户的机器上没有Arial字体,Flash Player自动使用“_sans”设备字体。和系统字体的使用不同,设备字体必须用引号。
嵌入字体
有些情况要求必须使用嵌入字体,例如使用了动画效果中的部分效果如Fade(淡入淡出效果)、Rotate(旋转效果),Dissolve(溶解效果)。可以在样式在定义嵌入字体:
在嵌入一些双字节型的字体,比如中文字体,日文字体时,字体信息复杂,字体文件大,为了减小程序的文件大小,可以对嵌入字体的字符范围进行限制,这样,没有使用的字符信息不会被包含在文件中。例如上面使用了英文字体,只能使用英文范围内的字符,如果使用了中文,将无法显示。
在font-face中使用unicodeRange来指定字符范围,例如:
必须使用字符的字符编码来定义字符范围,这里的字符编码采用Unicode(统一字符编码)标准。
定义字符范围的另一种做法是在flex-config.xml中添加相关信息。用文本编辑器打开位于Flex Builder 2安装目录下的Flex SDK 2/frameworks/flex-config.xml文件,找到<fonts>标签。
按照以上格式添加字体的字符范围,在<lang>标签中设定标签的名称。这样,在程序中可以直接使用该名称来定义字符范围。例如:
在flex-config.xml的同目录下还有一个flash-unicode-table.xml文件,其中列出了绝大部分语言的Unicode的字符范围,供开发者参考,其中也有中文的资料:
<
这里不能使用flashType属性,该属性的值由SWF文件决定,无法再更改。在使用该字体之前,必须保证SWF文件已经加载完毕。
要在程序中使用该字体:
注意:在使用嵌入字体时,即使是同一字体,它的不同样式比如斜体和粗体要单独进行定义,互相独立,不能混在一起。
使用脚本也可以嵌入字体:
如果嵌入的字体很大,生成的程序文件也会很大,导致加载时要花较长时间,要避免这个问题,可以把字体文件打包成SWF文件,然后加载到程序中。
您希望在 Flex 应用程序中嵌入一种字体并将它用作基于文本的组件的样式。
下面的示例创建引用嵌入的字体的 font-family 名称的一个类选择器。 接着它会创建一个 Text 控件并将其样式设置为该类选择器。
提示: 您在嵌入字体以节省文件大小时仅可以从字体添加某些字符, 方法是指定您的 @font-face 声明的 unicode-range 属性。
下面是一个使用实例:
在处理文本时,为了美观,有时会给文本选择一些特殊的字体,使得文本不那么单调,这就会引发一个问题:由于每个用户的系统有差异,当对方机器上没有安装你指定的字体时,Flash Player会自动选择一个合适的字体,无法保证文字的外观在控制之中,很可能会走样。如何避免出现这样的情况?
解决方法有两种:使用设备字体和使用嵌入字体。
设备字体的特性:
用户机器上的所有字体都最大可能地模拟其外观,保持文本的样式不会出现较大变化;嵌入字体是指将字体文件编译进SWF文件中或者运行时加载到SWF文件中,供SWF文件使用。这样不管用户是否安装了该字体,都可以正常显示。使用嵌入字体的好处还有:文本具有抗锯齿,边缘更平滑,文本可以设置透明度,文本还可以旋转。当然也有缺点,首先便是增加了程序的文件大小,而且嵌入字体只支持 TrueType(微软和Apple公司共同研制的字型标准)类型,当字体大小小于10时,文本会很难辨认。
一般情况下,使用设备字体就足够了,Flash Player支持三种设备字体:_sans,_serif,_typewriter。所以在定义样式时,为保证效果,可以这样:
Application{
fontSize:12;
fontFamily: Arial, "_sans";
当用户的机器上没有Arial字体,Flash Player自动使用“_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+005A, /* 大写字母 [A..Z] */ U+0061-U+007A, /* 小写字母 a-z */ U+0030-U+0039, /* 数字 [0..9] */ U+002E-U+002E; /* 点 [.] */ }
必须使用字符的字符编码来定义字符范围,这里的字符编码采用Unicode(统一字符编码)标准。
定义字符范围的另一种做法是在flex-config.xml中添加相关信息。用文本编辑器打开位于Flex Builder 2安装目录下的Flex SDK 2/frameworks/flex-config.xml文件,找到<fonts>标签。
<fonts> <languages> <language-range> <lang>englishRange</lang> <range>U+0020-U+007E</range> </language-range> </fonts>
按照以上格式添加字体的字符范围,在<lang>标签中设定标签的名称。这样,在程序中可以直接使用该名称来定义字符范围。例如:
@font-face { src:local("Arial"); fontFamily: myFont; flashType: true; unicodeRange:” englishRange” //等同于U+0020-U+007E }
在flex-config.xml的同目录下还有一个flash-unicode-table.xml文件,其中列出了绝大部分语言的Unicode的字符范围,供开发者参考,其中也有中文的资料:
<
language-range> <lang>Chinese (All)</lang> <range>U+3000-U+303F,U+3105-U+312C,U+31A0-U+31BF,U+4E00-U+9FAF,U+FF01-U+FF60,U+F900-U+FAFF,U+201C-U+201D,U+2018-U+2019,U+2014,U+2026,U+FFE5,U+00B7</range> </language-range> 嵌入字体的另一种方式是把字体放在外部的swf中,然后加载swf文件。例如: @font-face { src:url("./Arial.swf"); //指定文件地址 fontFamily: “myFont”; }
这里不能使用flashType属性,该属性的值由SWF文件决定,无法再更改。在使用该字体之前,必须保证SWF文件已经加载完毕。
要在程序中使用该字体:
@font-face { src:url("./Arial.swf"); fontFamily: “myFont”; } .PlainText { fontFamily: "myFont "; fontSize: 12; } .BoldText { fontFamily: "myFont "; fontSize: 12; fontWeight: bold; }
注意:在使用嵌入字体时,即使是同一字体,它的不同样式比如斜体和粗体要单独进行定义,互相独立,不能混在一起。
使用脚本也可以嵌入字体:
[Embed(mimeType='application/x-font', source='../assets/Arial.TTF', fontName='myArialFont')] private var myFont:Class; 定义样式: .PlainText { fontFamily: myArialFont; fontSize: 12; }
如果嵌入的字体很大,生成的程序文件也会很大,导致加载时要花较长时间,要避免这个问题,可以把字体文件打包成SWF文件,然后加载到程序中。
您希望在 Flex 应用程序中嵌入一种字体并将它用作基于文本的组件的样式。
下面的示例创建引用嵌入的字体的 font-family 名称的一个类选择器。 接着它会创建一个 Text 控件并将其样式设置为该类选择器。
提示: 您在嵌入字体以节省文件大小时仅可以从字体添加某些字符, 方法是指定您的 @font-face 声明的 unicode-range 属性。
下面是一个使用实例:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" horizontalAlign="center" verticalAlign="center" viewSourceURL="src/EmbeddingFonts/index.html" > <mx:Style> @font-face { font-family: Copacetix; src: url("assets/copacetix.ttf"); unicode-range: U+0020-U+0040, /* Punctuation, Numbers */ U+0041-U+005A, /* Upper-Case A-Z */ U+005B-U+0060, /* Punctuation and Symbols */ U+0061-U+007A, /* Lower-Case a-z */ U+007B-U+007E; /* Punctuation and Symbols */ } .MyTextStyle { font-family: Copacetix; font-size: 24pt; } </mx:Style> <mx:Text styleName="MyTextStyle" text="Embedded fonts rock!" width="100%"/> </mx:Application>
发表评论
-
Flex数据绑定及其使用频繁的几种情况
2011-10-20 03:39 1447http://developer.51cto.com/art/ ... -
揭开Flex正则表达式的神秘面纱
2011-10-20 03:38 1221http://developer.51cto.com/art/ ... -
Flex模块化开发优势及技巧解析
2011-10-20 03:38 1751http://developer.51cto.com/art/ ... -
Flex模块化应用程序开发
2011-10-20 03:38 1167http://developer.51cto.com/art/ ... -
[转]Flex模块化的目的及其步骤
2011-10-20 03:35 1201http://developer.51cto.co ... -
翻译: Flash文本引擎, 第三部分: 布局
2011-10-20 02:36 0http://www.riade ... -
翻译: Flash文本引擎, 第二部分: 交互
2011-10-20 02:34 0http://www.riadev.com/flex-thre ... -
翻译: Flash文本引擎, 第一部分: 概述
2011-10-20 02:33 0http://www.riadev.com/flex-thre ... -
[转]flex操作XML,强力总结帖
2011-08-16 01:10 1050http://qiqishou.iteye.com ... -
[转]用ActionScript 开发高级可视化组件
2011-08-14 04:37 0用ActionScript 开发高级可视化组件 -
[转]AIR2.0 NativeProcess in Flash Builder 4.0
2011-08-07 23:37 1486AIR2.0 NativeProcess in Fla ... -
[转] Actionscript项目嵌入图片(设置九宫格缩放)
2011-07-27 02:04 2355我们知道在Flex项目中,嵌入外部图片,可以使用 [E ... -
[转]NumericStepper添加百分号
2011-07-26 23:32 1136请问 NumericStepper组件中添加百分号 ... -
[新闻资讯] [Flash/Flex] 走自己的路:重写AIR移动应用程序中的BACK按键
2011-06-15 13:44 1244http://bbs.9ria.com/viewthread. ... -
[转]关于Spark List控件和Spark DataGrid控件的提示
2011-06-02 05:23 1438http://bbs.9ria.com/viewthread. ... -
flex 3 能使用openwithDefaultApplication吗
2011-06-02 05:05 0最近用到了 使用air 来开启外部的程序。 我知道flash ... -
[Flex]Flex编程注意之Flex Complier参数
2011-05-19 19:56 1093http://fykyx521.iteye.com/blog/ ... -
Aarry和AarryCollection
2011-05-18 00:06 1228在AS3里面,数组里面可以存储字符串、数字、布尔值、或引用的类 ... -
[Flash/Flex] 给一个TitleWindow添加按钮的方法
2011-05-07 01:38 1689资讯类型: 翻译 来源页面: http://userflex. ... -
[转][Android] Android桌面应用程序-交通灯游戏源码
2011-04-25 02:46 0http://bbs.9ria.com/viewthread. ...
相关推荐
在Flex样式中使用设备字体非常简单,例如: ```xml fontSize="12" fontFamily="Arial,'_sans'" /> ``` 这里,如果用户计算机上没有安装Arial字体,则Flash Player会自动使用`_sans`作为替代。 #### 三、字体嵌入...
这篇博文将深入探讨如何解决Flex中使用中文设备字体的问题,以确保正确显示中文字符。 Flex是由Adobe开发的一种开源的、基于ActionScript的开放源代码框架,主要用于构建富互联网应用程序(RIA)。它允许开发者创建...
《深入理解FLEX字体助手:实现嵌入字体编码的艺术》 在数字设计的世界里,字体是一种重要的视觉元素,它能够极大地影响用户对界面的第一印象。尤其是在网页和应用程序开发中,选择合适的字体并确保其在不同设备上的...
标题“flex 嵌入文字样式”和描述“flex 嵌入外部文字样式,弥补flex内部字体不足的缺憾”提示我们关注如何在Flex容器中使用自定义或外部字体来增强文本表现力。 首先,让我们了解Flex布局的基本概念。Flex布局允许...
Flex字体制作软件就是用来帮助用户创建和编辑这些嵌入字体的。 软件的主要功能包括: 1. **字体设计**:用户可以通过软件提供的工具绘制和编辑字体的每个字符,包括字母、数字、标点符号等。它支持创建各种形状和...
- **字体嵌入与 HTML 文本使用**:介绍如何将自定义字体嵌入到应用中,以及如何在Flex控件内使用HTML格式的文本。 #### 6. 外观设计 - **外观基础知识与自定义外观创建**:覆盖外观设计的基本概念,以及如何为应用...
嵌入字体后,可以通过创建`TextField`对象并设置其`font`属性来使用它们: ```as3 var textField:TextField = new TextField(); textField.text = "Your Text"; textField.font = myFontClass; ``` 六、注意事项 ...
- **使用文本**: 移动应用程序中使用文本的方式,包括文本输入、显示和格式化等。 - **与文本的交互**: 用户如何与文本进行交互,例如编辑和选择文本。 - **使用软键盘**: 移动设备上没有物理键盘,因此开发者需要为...
在运行和调试方面,Flex和Flash Builder提供了管理启动配置的功能,并且可以在桌面上和设备上运行和调试应用程序。 在打包和导出应用程序方面,Flex和Flash Builder提供了导出用于发行的Android APK包和Apple iOS包...
5. **响应式设计**:考虑不同屏幕尺寸和设备的适应性,可以使用Flex 4的响应式布局特性。例如,你可以为不同的屏幕宽度定义不同的布局策略,确保图文混排在各种设备上都能良好显示。 6. **事件处理**:在图文混排中...
根据给定的信息,本文将详细解释“flex创建的字体属性框”的相关概念和技术要点,包括Flex框架中的字体属性设置、MXML与ActionScript混合编程、数据绑定以及UI组件的运用等。 ### Flex简介 Flex是一种用于构建跨...
- **字体嵌入与 HTML 文本**:为了确保文本的美观和一致性,开发者可以嵌入自定义字体,并使用 HTML 来格式化文本。 #### 7. 外观设计 - **手机外观设计**:移动应用需要独特的视觉风格,以吸引用户并提高可用性。 ...
下面的`<fx:Style>`块展示了如何在Flex应用中嵌入字体,并将该字体应用于一个旋转其水平和垂直轴标签45度的图表控件: ```xml @namespace mx "library://ns.adobe.com/flex/mx"; @font-face{ src: url("../...
SWF可以直接在Flex中使用,而SVG则可能需要转换为SWF或使用Flex支持的其他格式。 3. **创建Flex皮肤类**:在Flex项目中,为每个组件创建相应的皮肤类。这些类通常继承自Flex的基础皮肤类,并通过@SkinClass注解关联...
值得注意的是,当`embedFonts`属性设为`false`时,嵌入的字体不会被使用,这可能导致在某些情况下无法正确显示特定的中文字体,如`如何在AS3中使用嵌入字体 当testText的embedFonts属性为false时,嵌入的中文字体不...
- **字体**:介绍了如何在 Flex 应用中使用和管理字体资源。 - **Spark Skinning**:详细讲解了 Spark 框架下的皮肤设计方法。 - **MX 组件皮肤化**:讲述了如何对 MX 框架下的组件进行皮肤化处理。 - **嵌入资产**...
在Flex组件中使用字体时,就是通过指定 fontFamily="FZHTJT" 来调用这个字体。同时,设置 advancedAntiAliasing 为 true 可以消除文本的锯齿,让字体在界面上显示得更加平滑。 当需要使用多种字体时,可以建立多个@...
- Flex组件库:Flex包含了一套丰富的预定义组件,如Button、Label、List等,这些组件可以直接在MXML中使用,简化了UI开发。 2. **CSS在Flex中的应用** - 样式表:在Flex中,可以使用CSS定义组件的外观和布局,...
6. **嵌入字体**: Flex3允许通过CSS嵌入字体,使得Web应用程序可以使用非系统默认的特殊字体。 7. **9-slice scaling**: 为了实现按钮等图形组件的按比例缩放,Flex3支持9切片缩放,通过CSS可以设置此特性。 `Flex3...
你可以通过添加额外的参数来调整输出效果,如设置质量、缩放比例、是否包含嵌入字体等: ``` pdf2swf example.pdf -o example.swf -T 9 -s fontname=Arial -s flashversion=9 -s compress=yes -s scale="80%" ``` ...