我目前正在将应用程序从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中,字体看起来略微压扁.
造成这种情况的原因是什么,我们如何解决?
我最好的猜测是,这与为支持手持设备上的字体而进行的更改有关。要修复它,您可能需要稍微调整一下样式表设置。
\n\n\n\n\nCSS 媒体查询
\n
\n 您现在可以在样式表中使用@media 规则\n 根据设备\xe2\x80\x99s\n DPI 分类过滤CSS 规则。目前您可以过滤两个属性:操作系统平台和应用程序 dpi。这里\xe2\x80\x99s 是对它们进行过滤以设置按钮字体\n 的示例(来自 Adobe\xe2\x80\x99s 预发布版\n 文档):
@media (os-platform: "Android") and (application-dpi: 240) {\ns|Button {\n fontSize: 10;\n}\nRun Code Online (Sandbox Code Playgroud)\n