Flex字体渲染差异从4.1到4.5

Mar*_*itt 6 apache-flex flex4

我目前正在将应用程序从Flex 4.1升级到4.5

我们注意到,当在小尺寸下使用时,Arial字体在两个版本之间的呈现方式不同.

这是一个简单的应用示例:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";
        @font-face { 
            src: url("/assets/fonts/ARIAL.ttf"); 
            fontFamily: arial; 
            embedAsCFF: true; 
        }
        @font-face { 
            src: url("/assets/fonts/ARIALBD.ttf"); 
            fontFamily: arial; 
            embedAsCFF: true; 
            font-weight: bold;
        }
        global
        {
            font-family: arial;
        }
    </fx:Style>
    <s:Label text="Hello world" fontWeight="bold" x="20" y="20"  />
</s:Application>
Run Code Online (Sandbox Code Playgroud)

当针对2个不同的sdks运行时,这是我们得到的字体渲染的图像:

字体问题的示例

请注意,在4.5中,字体看起来略微压扁.

造成这种情况的原因是什么,我们如何解决?

Jas*_*wne 3

我最好的猜测是,这与为支持手持设备上的字体而进行的更改有关。要修复它,您可能需要稍微调整一下样式表设置。

\n\n
\n

CSS 媒体查询
\n 您现在可以在样式表中使用@media 规则\n 根据设备\xe2\x80\x99s\n DPI 分类过滤CSS 规则。目前您可以过滤两个属性:操作系统平台和应用程序 dpi。这里\xe2\x80\x99s 是对它们进行过滤以设置按钮字体\n 的示例(来自 Adob​​e\xe2\x80\x99s 预发布版\n 文档):

\n
\n\n
@media (os-platform: "Android") and (application-dpi: 240) {\ns|Button {\n     fontSize: 10;\n}\n
Run Code Online (Sandbox Code Playgroud)\n