2009-04-22 67 views
4

我试图在日文网站上的闪存中的动态文本字段上实现抗锯齿。这些文本字段的内容不是固定的数据。Flash:动态文本字段上的抗锯齿字符,不包含嵌入字体,日文

我没有嵌入字体的选项,因为嵌入所有字符将导致非常沉重的swf文件(3000kb +仅用于字体)。这是因为日语中有大量独特的字符(字面意思是数千)。

基本上,使用动态文本框的任何Flash网站面临着同样的选择:

  1. 保持文件大小下来,使用 只有设备字体(不 抗锯齿)
  2. 力3MB +字体下载到用户 显示平滑的反锯齿字体。

我问过一些日本朋友,他们说“Shoganai!” (翻译:“不能帮助”)。任何人有想法?

ps:不幸的是,Silverlight也不是一个选项。

回答

4

真的很愚蠢的'解决方法',我敢肯定,它会得到downvoted,但由于flash.text.TextField继承flash.display.DisplayObject,你可以使用内置的过滤器,如flash.filters.Blur以水平和垂直方式将文本模糊半个像素。

这将消耗更多的CPU。

编辑: 经过CS4的一点点工作,我发现它完美的方式来做到这一点没有额外的CPU开销!结果看起来像“静态文本”渲染一样。我相信,根据CS3,我也会采用类似的选择。

选中文本时,在属性下选择“Anti-alias”并选择“Custom Anti-alias”。将厚度设置为100,将锐度设置为0.这对我来说是个诀窍!

+0

嗯,我正在寻找的想法所以这一切都很好:) – sthg 2009-04-23 06:12:08

+0

辉光1像素与1000%的强度对比色也将是不错的设备字体 – Unreality 2009-05-29 05:09:45

+0

哈哈,好主意LiraNuna。我刚刚将一个1.25px blurX和blurY(质量:低)添加到11pt arial设备文本框。它实际上在Mac和PC上看起来都不那么糟糕。 – taber 2010-03-14 04:33:21

0

运行时字体如何嵌入。

您可以在背景中加载日文字体的同时以设备字体开始。 加载日文字体后,您会打电话将字体更新为加载的字体并进行嵌入。

退房GAIA框架,便于运行嵌入字体,因为它是内置的。

进行更新的一部分,我写的记录字体的阵列,它的文本格式。 然后,当加载一个字体时,它会引用循环并更新注册到它的所有文本字段的数组。

似乎工作。

Shoganai是否是KOP出来...... ganbatte一路走好!@

0

上LiraNuna的想法之上....

我看到一个article沿着类似的路径,但他们旨在做掩蔽以及...他们建议绘制movieclip位图。这也可能释放CPU,因为你的过滤器只能用于初始渲染,然后你可以摆脱它们。

1

有许多可行的事情,但没有一个可能是你喜欢的。

  • 升级至Flash 10的字体是不抗锯齿的问题是Windows的只有:Linux和MacOS两种抗混叠设备字体正确反正。现在,从Flash 10开始,它也可以在Windows上工作,但是需要编译Flash 10才能使用。如果您可以负担目标Flash 10,这可能是最好的方法。
  • 限制您可以使用的字符数,并只嵌入所需的字符。这将适用于任何Flash版本,但在许多情况下可能不实用。
  • 放弃并使用设备字体:如果上述两种方式在您的情况下都不可行,我认为这实际上是一种守望爱的情况。