当前位置: 主页 > 平面设计 > Flash CS5操作指南(54)关于多国语言文字

Flash CS5操作指南(54)关于多国语言文字

  • 2021-12-25
  • 来源/作者: 本站原创    / 佚名    
  • 2 次浏览

关于多国语言文字

您可以设定 FLA 档,视播放 Flash 内容的操作系统的语言而定,以不同语言显示文字。

Flash 中的多国语言文字

按照下列的方式,您可以将多国语言文字并入文件中:

                        「字符串」面板让本地化人员可以在 Flash 内部的中心位置编辑字符串,或使用偏好的软件或翻译记忆在外部 XML 文件中编辑字符串。Flash 在「字符串」面板和 XML 档中都支持多行字符串。

                        您可以选择要内嵌于应用程序的字符集,以此来限制所发布 SWF 文件中的字符 Glyph 的数量,并减少档案大小。

                        •              您可以使用「西欧」样式的键盘在「舞台」上建立中文、日文及韩文文字。

                        如果系统中已安装 Unicode 字体,您可以直接在文字字段中输入文字。由于该字体并不是内嵌的,因此使用者同样也要有Unicode 字体才行。

                        下列为在 Flash 文件中纳入多国语言文字时,其它几种较不常见的方法:

                        使用#include 动作,在动态或输入文字字段包含外部文本文件。

                        在运行时间使用loadVariables getURL 动作,或LoadVars XML 对象将外部文字或 XML 文件加载 Flash 应用程序。

                        您可以在动态或输入文字字段变量的字符串值中,输入 Unicode 反斜杠字符。

                        您可以在「组件库」中建立做为组件的内嵌字体。为了让以 Unicode 编码的文字可以正确显示,用户必须可存取其中包含用于该文字中之文字 ( 字符) 的字体。

 

如需多国语言内容的样本,请参阅www.adobe.com/go/learn_fl_samples_tw  上的「Flash 样本」网页。下载并解压缩Samples 这个压缩文件,然后浏览至 Text\MultilingualContent 文件夹存取样本。

更多帮助主题

250 页「使用字符串面板编写多国语言文字的工作流程」第258 页「使用文字变量建立多国语言文件」第257 页「多国语言文字和 ActionScript」第258 页「使用 #include 动作建立多国语言文件」第257 页「使用 ActionScript 来加载外部档案」第249 页「非 Unicode 的外部档案」第245 页「一致文字外观的内嵌字体」

关于 Unicode 编码文字的字体

当您使用以 Unicode 编码的外部档案时,使用者必须要能存取包含文本文件所使用所有文字的字体。根据默认,Flash 会储存用于动态或输入文字字段中的字体名称。在播放 SWF 档期间,Flash Player 7 ( 以及较早版本) 会在执行该播放程序的操作系统中寻找那些字体。

如果 SWF 文件中包含不受指定字体支持的 GlyphFlash Player 7 Flash Player 8 均会尝试在支持这些 Glyph 的用户系统中寻找字体。播放程序不一定每次都能找到适当的字体。这个状况取决于用户系统上可用的字体,同时也跟执行 Flash Player 的操作系统相关。

XML 字体内嵌表格

当您选取字体范围以嵌入 FLA 档时,Flash 会使用 UnicodeTable.xml 档案,以判断要嵌入哪些字符。UnicodeTable.xml 档案内含各种语言所需的字符范围,且位于计算机的用户配置文件文件夹中。档案会位于下列目录:

                        •Windows< 开机磁盘>\Documents and Settings\< 用户>\Local Settings\Application Data\Adobe\Flash< 版本>\< 语言>\Configuration\FontEmbedding\

                        •Macintosh< 用户>/Library/Application Support/Adobe/Flash < 版本>/< 语言

 

>/Configuration/FontEmbedding/ 字体集是以 Unicode Consortium 所定义的 Unicode Block 为根据来进行分组。若要提供更简单的工作流程,当选取特定语言时,相关的文字范围即使散布在不相连的群组中,也全都会嵌入。

例如,如果您选取「韩文」,就会嵌入下列 Unicode 字符范围:3131-318E 韩文 (Hangul) 符号3200-321C韩文 (Hangul) 特殊符号3260-327B 韩文 (Hangul) 特殊符号327F-327F 韩文 (Korean) 符号AC00-D7A3 韩文 (Hangul) 符号如果您选取韩文 (Korean) + CJK,则会嵌入大型字体集:3131-318E 韩文 (Hangul) 符号3200-321C韩文 (Hangul) 特殊符号3260-327B 韩文 (Hangul) 特殊符号327F-327F 韩文 (Korean) 符号4E00-9FA5 CJK 符号AC00-D7A3 韩文 (Hangul) 符号F900-FA2D CJK 符号如需不同撰写系统特定 Unicode 范围的详细信息,请参阅Unicode 5.2.0 specification (Unicode 5.2.0 规格) 。下表列出更多有关内嵌字体之字体选项的详细信息:

范围

说明

大写字母 [A - Z]

基本拉丁大写文字,加上空格符 0x0020

小写字母 [a - z]

基本拉丁小写文字,加上空格符 0x0020

数字 [0 - 9]

基本拉丁数字文字

标点符号 [!@#%...]

基本拉丁标点符号

基本拉丁

Unicode 范围中从 0x0020 0x007E 的基本拉丁文字。

日文假名

平假名与片假名文字 ( 包括半角格式)

日文汉字 C 阶层 1

日文汉字字符

日文 ( 全部)

日文假名与汉字 ( 包括标点符号与特殊字符)

基本韩文

最常用的韩文字元、罗马字符、标点符号以及特殊字符/ 符号

韩文 ( 全部)

11,720 个韩文字元 ( 按「韩文」音节排序)、罗马字符、标点符号以及特殊字符/ 符号

繁体中文 C 阶层 1

在*最常用的 5000 个繁体汉字字符

繁体中文 ( 全部)

所有在*以及香港使用的繁体汉字字符与标点符号

简体中文 C 阶层 1

在*最常用的 6000 个简体汉字字符与标点符号

中文 ( 全部)

所有繁体与简体汉字字符和标点符号

泰文

所有泰文文字

梵文

所有梵文文字

拉丁 I

拉丁1 补充范围 0x00A1 0x00FF ( 包括标点符号、上标与下标、货币组件以及类似字母的符号)

拉丁扩充 A

拉丁扩充-A 范围 0x0100 0x01FF ( 包括标点符号、上标与下标、货币组件以及类似字母的符号)

拉丁扩充 B

拉丁扩充-B 范围 0x0180 0x024F ( 包括标点符号、上标与下标、货币组件以及类似字母的符号)

 

范围

说明

拉丁扩充附加

拉丁扩充附加范围 0x1E00 0x1EFF ( 包括标点符号、上标与下标、货币符号以及类似字母的符号)

希腊文

希腊文与埃及古语,加上希腊文扩充 ( 包括标点符号、上标与下标、货币符号以及类似字母的符号)

斯拉夫文

斯拉夫文 ( 包括标点符号、上标与下标、货币符号以及类似字母的符号)

亚美尼亚文

亚美尼亚文加上连字

阿拉伯文

阿拉伯文加上「表现形式 - A」以及「表现形式 - B

希伯来文

希伯来文加上表现形式 ( 包括标点符号、上标与下标、货币符号以及类似字母的符号)

 

Unicode 的外部档案

如果您将非 Unicode 编码的外部文字或 XML 档案加载到 Flash Player 7 应用程序,当 Flash Player 尝试以 Unicode 显示这些文字或档案时,外部档案中的文字就无法正确显示。若要让 Flash Player 使用执行播放程序之操作系统的传统代码页,请在加载数据之 Flash 应用程序的第一个影格中加入下列程序代码并使其位于第一行:

system.useCodepage = true;

文件中的system.useCodepage 属性只要设定一次就好。在同一个文件中不要多次执行这个动作,以免让播放程序将某些外部档案以 Unicode 解译,而某些则以其它编码方式解译,进而导致无法预期的结果。

如果您将system.useCodepage 属性设定为true,请记得执行播放程序之操作系统的传统代码页中,必须包含外部文本文件使用的文字,以便能够显示文字。例如,如果您加载包含汉字字符的外部文本文件,那些字符将不会显示在使用 CP1252 代码页的系统上,因为该代码页并不包含汉字字符。若要确保所有平台上的使用者都可以检视 Flash 应用程序中的外部文本文件,请将所有外部文本文件都以 Unicode 格式编码,并将system.useCodepage 属性的默认值是设定为false。这样会让 Flash Player 将文字以 Unicode 解译。如需详细信息,请参阅ActionScript 2.0 语言参考中的 useCodepage (System.useCodepage 属性)

文字编码

计算机中所有的文字都以一连串字节的形式编码。有许多不同的编码方式 ( 因此也会有不同的字节) 会用来代表文字。不同的操作系统会使用不同类型的文字编码方式。例如,西欧 Windows 操作系统通常使用 CP1252 编码方式,西欧 Macintosh 操作系统通常使用 MacRoman 编码方式,而日本的 Windows Macintosh 系统通常使用 Unicode 编码方式。

全世界使用的语言及字符大部分都能以 Unicode 编码。计算机所使用的其它文字编码方式都是 Unicode 格式的子集,专为世界上特定的区域量身订做。在这些编码方式中,有的在某些方面是兼容的,在其它方面则不兼容,所以使用正确的编码方式非常重要。

Unicode 具有数种格式。Flash Player 67 与更新版本都支持使用 8 Unicode 格式的 UTF-816 Unicode 格式的 UTF-16 BE (Big Endian) 以及 UTF-16 LE (Little Endian) 的文字或外部档案。

Unicode Flash Player

Flash Player 6 与更新版本都支持 Unicode 的文字编码方式。任何安装 Flash Player 6 或更新版本的使用者,只要有安装正确的字体,不论执行该播放程序的操作系统使用何种语言,都能检视多国语言文字。

除非命令播放程序,否则 Flash Player 会假设所有与 Flash Player 应用程序相关联的外部文本文件都以 Unicode 编码。

对于 Flash Player 5 以及更早版本 ( 使用 Flash MX 或更早版本所编写) 中的 Flash 应用程序,Flash Player 6 与更早的版本会使用执行该播放程序之操作系统上的传统代码页来显示文字。

如需 Unicode 的背景信息,请到 Unicode.org

Flash Player 中的文字编码

根据预设,Flash Player 7 与更新版本会假设所有遇到的文字,都是以 Unicode 编码。如果您的文件加载外部文字或 XML

文件,这些档案中的文字应该都是以 UTF-8 来编码。您可以使用「字符串」面板、文字或可将档案以 Unicode 格式储存的

HTML 编辑器来建立这些档案。

Flash Player 支持的 Unicode 编码格式在阅读 Flash 中的文字数据时,Flash Player 会检视档案最前面的两个字节,以侦测字节顺序标记 (BOM)。字节顺序标记 (BOM) 是用来识别 Unicode 编码格式的标准格式化惯例。如果没有侦测到 BOM,就会将文字编码解译为 UTF-8 ( 8 位编码格式)。建议您在应用程序中使用 UTF-8 编码方式。

如果 Flash Player 侦测到下列其中一项 BOM,就会将文字编码格式解译如下:

                        如果档案的第一个位是 OxFE,第二个是 OxFF,就会将编码方式解译为 UTF-16 BE (Big Endian)。这适用于Macintosh 操作系统。

                        如果档案的第一个位是 OxFF,第二个是 OxFE,就会将编码方式解译为 UTF-16 LE (Little Endian)。这适用于Windows 操作系统。

 

大部分能够以 UTF-16BE LE 储存档案的文本编辑器都会自动将 BOM 加入档案。

备注:如果您将system.useCodepage 属性设定为true,文字会使用执行该播放程序的操作系统上的传统代码页解译,不会以 Unicode 解译。

在外部 XML 档案中进行编码您无法透过变更编码卷标来变更 XML 文件的编码。 Flash Player 会以用于所有外部档案的相同规则来识别外部 XML 文件的编码。如果在档案的开头没有遇到 BOM,就会假设档案是以 UTF-8 来编码。如果遇到 BOM,就会以 UTF-16BE LE 解译该档案。

更多帮助主题

249 页「非 Unicode 的外部档案」