嵌入式字体看起来与应有的不同

时间:2009-12-17 17:34:02

标签: flex combobox fonts

当嵌入字体用于标签时,它看起来是正确的,但是当组合框使用相同的字体时,所选项目字体看起来与下拉列表和标签字体不同。

@font-face
{
    src:url("/assets/fonts/Helvetica.TTF");
    fontFamily: "Helvetica Neue Bold Condensed";
    fontStyle:   normal;
    fontWeight: normal;
}

.comboBox
{
    fontFamily: "Helvetica Neue Bold Condensed"; 
    fontSize:   11;
    color:     #666666;
}

.label
{
    fontFamily: "Helvetica Neue Bold Condensed";
    fontSize:   12;
    color:     #CCCCCC; 
}

为什么这些看起来会有所不同(除了尺寸和颜色)?

2 个答案:

答案 0 :(得分:3)

您正在嵌入一个字体,并指定只要fontWeight正常就应该使用它。这就是fontWeight: normal风格的含义。

但是,默认情况下,组合框中的标签是粗体(这是由Flex框架完成的),因此它们不会使用嵌入字体。

要解决此问题:请创建@font-face声明的另一个副本并将其设为fontWeight: bold,或在fontWeight: normal规则上指定.comboBox

答案 1 :(得分:1)

您需要创建一个“完整”字体系列。为此,请为该系列的每个预期面创建一个“@ font-face”:normal,bold,italic和bold-italic。确保每个“@ font-face”定义在其“fontFamily”属性中使用相同的名称。文档很清楚,但很冗长。

先生。 Petrowski是正确的,Flex框架将根据上下文选择它使用哪个面,但是需要在这里调用的是ttf / otf文件通常只包含一个字体。所以你可能需要在'src'属性中引用不同的ttf / otf。