火花标签中的小文字看起来很臃肿

时间:2015-04-21 21:32:58

标签: flex flex-spark

我花了几天时间找到解决方案来解决这个问题。在使用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>

1 个答案:

答案 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;
     }