我有一个 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");
}
任何帮助是极大的赞赏,
广东