Flex 4 MX AdvancedDataGrid嵌入式字体在标题中仅针对部分用户恢复为Times

时间:2013-03-13 17:32:32

标签: flex datagrid fonts advanceddatagrid

我有一个Flex 4.5应用程序。我们在大多数表中使用Spark DataGrids。但是,有几个实例我们需要使用MX AdvancedDataGrid,因为我们需要进行多重排序并锁定列。

问题是Spark DataGrid标头中的字体显示得非常好。在MX AdvancedDataGrid标题内(并且仅在标题中,数据显示字体完全正常),字体将恢复为Times。但是,并非所有用户都会这样。我们的大多数开发人员都看到字体很好,但我们的一些用户在MX ADG中看到了Times字体。因为我所缺少的东西,我感到很茫然。

我在应用程序中使用嵌入字体,嵌入了CFF和非CFF(包括所有变体,如斜体和光):

@font-face {
    src: url("assets/fonts/SourceSansPro-Regular.ttf");
    fontFamily: SSP;
    fontStyle: normal;
    fontWeight: normal;
    embedAsCFF: true;
}

/* embed non CFF fonts for MX controls */
@font-face {
    src: url("assets/fonts/SourceSansPro-Regular.ttf");
    fontFamily: SSPNoCFF;
    fontStyle: normal;
    fontWeight: normal;
    embedAsCFF: false;
}

我为spark DataGrid和mx AdvancedDataGrid设置了样式:

mx|AdvancedDataGrid,
.standardDataGrid,
mx|DataGrid {
alternating-item-colors: #ffffff, #f6f6f6;
border-visible: false;
headerColors: #e6e6e6, #e6e6e6;
headerStyleName: standardDataGridHeader;
headerSeparatorColor: #d0d0d0;
headerSeparatorAlpha: 1;
horizontal-grid-lines: true;
horizontal-grid-line-color: #d0d0d0;
selection-color: #c2e5f2;
roll-over-color: #d4ebf3;
vertical-grid-lines: true;
vertical-grid-line-color: #d0d0d0;
user-roll-over: false;

text-align: left;

header-background-skin:  ClassReference("org.pcpgm.gis.flex.skins.DataGridHeaderBackgroundSkin");
    header-separator-skin: ClassReference("org.pcpgm.gis.flex.skins.DataGridHeaderSeparatorSkin");

    vertical-separator-skin: ClassReference("org.pcpgm.gis.flex.skins.DataGridVerticalSeparatorSkin");
    vertical-locked-separator-skin: ClassReference("org.pcpgm.gis.flex.skins.DataGridVerticalLockedSeparatorSkin");
}

s|DataGrid {

    alternating-row-colors: #ffffff, #f6f6f6;
    selection-color: #c2e5f2;
    roll-over-color: #d4ebf3;

    skinClass: ClassReference("org.pcpgm.gis.flex.skins.GIDataGridSkin");
}

skins|GIDataGridSkin {
    border-visible: false;  
}

grid|DefaultGridHeaderRenderer {
    vertical-align: middle;

    padding-top: 0px;
    padding-right: 5px;
    padding-bottom: 0px;
    padding-left: 5px;

    color: #4f4f4f;
    text-align: left;

    roll-over-color: #e6e6e6;

}

grid|DefaultGridHeaderRenderer #labelDisplay {
    fontFamily: SSPLight;
    font-size: 14pt;    
}

我已经分别为spark和mx组件设置了项目渲染器,以允许使用nonCFF版本的字体。

mx|Alert,
mx|DataGrid,
mx|Menu,
mx|DateChooser,
mx|Panel,
mx|TabNavigator {
    fontFamily: SSPNoCFF;
    defaultDataGridItemEditor: ClassReference("mx.controls.MXFTETextInput");
    defaultDataGridItemRenderer: ClassReference("mx.controls.dataGridClasses.FTEDataGridItemRenderer");
}

mx|AdvancedDataGrid,
controls|SearchSortedAdvancedDataGrid{
    fontFamily: SSPNoCFF;
    defaultDataGridItemEditor: ClassReference("mx.controls.MXFTETextInput");
    defaultDataGridItemRenderer: ClassReference("mx.controls.advancedDataGridClasses.FTEAdvancedDataGridItemRenderer"); 
}

非常感谢任何帮助,

GD

0 个答案:

没有答案