actionscript-3 – 如何防止某些外语字体的文字移位?
发布时间:2020-12-15 19:50:11 所属栏目:百科 来源:网络整理
导读:我有一个多语言项目(目前有13种语言),它使用许多不同的字体变体“Helvetica Neue”,主要是从LinoType Pro字体集(其中包括西欧字符)的大胆,精简和定期的剪辑,以及与西里尔字体相同的。我们将来可能会增加中文和日文的变化。 我已经设置了项目,使用不同的
我有一个多语言项目(目前有13种语言),它使用许多不同的字体变体“Helvetica Neue”,主要是从LinoType Pro字体集(其中包括西欧字符)的大胆,精简和定期的剪辑,以及与西里尔字体相同的。我们将来可能会增加中文和日文的变化。
我已经设置了项目,使用不同的CSS样式表,并分别加载每个版本的字体,具体取决于用户选择的语言,所以我可以有不同的线高度,字距和/或字体大小,使所有东西保持原来的外观,即使这些字体看起来没什么一样的。 所有这一切都很好,除了一个问题:由于某种原因,所有的西里尔字母似乎都被取代了。它们在正确的基线下方出现2-3个像素,实际上突出显示在文本框的底部边框上,即使将该字段设置为自动调整大小。当我使用textfield.getCharBoundaries()时,所有的值似乎都是正确的,即使它们显然没有正确渲染。 为了使一切看起来整洁,我当然可以根据语言和字体大小手动移动所有有问题的文本框,但我想知道是否有一些方法来防止或至少检测到这种位移,以便自动处理调整 – Flash Player应该有一些关于如何呈现的信息,不是吗?你们有没有类似的问题?还是更好呢? 解决方法
我有这个问题的中文,但只有在OS X与Windows。我无法弄清楚如何自动获取正确的角色的角度。我最终得到一个粗略的功能,当我设置一个TextField时,我调用:
public static function adjustPositioning(field:TextField):void { if(OS != "MAC") return; var fontSize:int = field.defaultTextFormat.size as int; field.y += fontSize/5; } 我正在代码而不是IDE中设置所有的TextField,所以这很简单。我想这是你不寻找的解决方案,但是! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |