actionscript-3 - ActionScript 3 和字体嵌入

标签 actionscript-3 fonts embedding

我在 ActionScript 3 项目(Flash CS4,而不是 Flex)中进行正确的字体嵌入时遇到问题。

我按照 Adob​​e 指南进行字体嵌入: http://www.adobe.com/devnet/flash/quickstart/embedding_fonts/

指南告诉我们将 Textfield.embedFonts 属性设置为 true。如果我这样做并尝试在此文本字段中显示使用另一种字体的文本,则不会显示任何内容 - 没关系,我希望它像这样。

但现在我遇到了这个特殊问题:

我以常规样式嵌入字体“Arial”,并在舞台上创建两个输入文本字段。其中一个我将 embedFonts 属性设置为 true (如指南中所述),另一个我保留原样。现在我将其发布为 swf 并尝试在文本字段中输入以下(土耳其语)字符串

Yeni Yılın Barış 和 Mutluluk Getirmesini Dileriz。

现在的问题是,未触及的文本字段正确显示字符串 - 但 embedFonts 设置为 true 的文本字段缺少一些字母(例如 ş 未显示)。但是 Arial 字体确实有这个字母,因为它在静态中正确显示 - 那么为什么当我设置此属性时它不能正确呈现(如指南中所述)?

在我的最终应用程序中,应该有一个文本字段,但有多种嵌入字体以及在它们之间切换的方法(例如,用户必须能够选择另一种字体来输入中文文本)。

有人可以告诉我如何正确地做到这一点吗?

谢谢!

最佳答案

在 Flash 中嵌入字体并不像应有的那么简单,并且存在许多特殊情况...确保嵌入正确的字体字符的一种方法是启用“生成大小报告” Flash 发布设置....在那里您将看到正在嵌入的所有字体的所有字符。唯一的异常(exception)是使用 [EMBED 标签嵌入的字体不会显示在那里。

将字体添加到库中不会嵌入该字体的整个字符集(例如 Arial 约为 8mb)...它只嵌入其中的一个子集...我不确定它是否总是如此标准西方拉丁语集,或者是否取决于计算机语言。 只要您使用实际的库字体名称(它显示在字体列表中,末尾带有星号),您就可以使用电影中的任何文本字段(使用“字符嵌入...”对话框)手动扩展此集...在你的情况下它将是“Arial*”)。

您还可以使用带有 unicodeRange 的 [EMBED 标签来声明字符集,但请记住,您声明的字体在编辑期间不会在 Flash IDE 中可用...您需要在运行时设置它们与 ActionScript(TextFormat、StyleSheet 等)一起使用,这在使用 Flash 时不太实用。

关于actionscript-3 - ActionScript 3 和字体嵌入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1569845/

相关文章:

apache-flex - 首选的套接字策略文件服务器实现?

actionscript-3 - [AS3]如何快速混合两个音轨

css - 使用某些字体在输入元素内垂直居中文本的问题

css - 使用 CSS 加入字体中的图标

python - 嵌入输入形状 : expected embedding_1_input to have shape (25, 时出错,但得到形状为 (1,) 的数组

actionscript-3 - AS3 除整数

html - 为两种不同的语言使用不同的字体

inheritance - 在 Go 中嵌入而不是继承

tensorflow - TensorBoard嵌入示例?

apache-flex - Flex 布局概述 - 有什么方法可以获得组件的首选尺寸?