我花了几天时间找到解决方案来解决这个问题。在使用spark标签之前,我使用mx标签,小尺寸的文本(textSize:11)看起来很清晰。更改火花标签上的组件后,文本看起来模糊,不太清晰。我嵌入了我的系统字体。字体名称是Tahoma。改变像cffHinting这样的值不会给我任何结果。我使用flashDevelop,但在IDEA和FlashBuilder中使用相同的结果。我不能发布我的小声誉级别的screenShot bicouse。请帮助我找到正确的解决方案。
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
@font-face{
src:url("Tahoma.ttf");
font-family:TahomaS;
embedAsCFF: true;
}
@font-face{
src:url("Tahoma.ttf");
font-family:TahomaMX;
embedAsCFF: false;
}
s|Label
{
font-family:TahomaS;
font-size:11;
color: #5c5c5c;
}
mx|Label
{
font-family:TahomaMX;
font-size:11;
color: #5c5c5c;
}
来自Main.mxml的代码:
<?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">
<fx:Style source="Fonts.css"/>
<s:Label x="50" y="50" text="XYZ Corporation Directory" cffHinting="none" />
<mx:Label x="50" y="65" text="XYZ Corporation Directory" />
</s:Application>
答案 0 :(得分:0)
我认为模糊效果和大小标签文本更改是因为您的flex编译器无法找到指定的字体,因此它使用默认字体。
1 - 使用local()查找本地字体,如下所示:
@font-face {
src: local("Tahoma");
fontFamily: "TahomaS";
embedAsCFF: true;
}
s|Label {
fontFamily: "TahomaS";
fontSize: 44;
}
2 - 在src /文件夹中创建一个flex配置文件 local-font-config.xml 并指定字体路径:
<?xml version="1.0" encoding="utf-8"?>
<flex-config>
<compiler>
<fonts>
<local-font-paths>
<path-element>/System/Library/Fonts/</path-element>
</local-font-paths>
</fonts>
</compiler>
</flex-config>
3-为您的flex编译器提供配置文件的位置:
-load-config+=local-font-config.xml
...我认为使用字体的最佳方法是将其用作项目资源,因此您可以避免其他配置 只需在项目中创建 src / assets / fonts 文件夹并输入字体
即可并在您的css文件中执行此操作:
@font-face {
src:url("assets/fonts/Tahoma.ttf");
fontFamily: "TahomaS";
embedAsCFF: true;
}
s|Label {
fontFamily: "TahomaS";
fontSize: 44;
}