1

我有一个 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 组件设置了项目渲染器,以允许非 CFF 版本的字体。

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"); 
}

任何帮助是极大的赞赏,

广东

4

0 回答 0