2019独角兽企业重金招聘Python工程师标准>>>
本以为要放弃Flex了 结果项目需要又要回到Flex,为了界面好看使用了自定义字体,结果报错 warning: incompatible embedded font 'WRYH' specified for mx.controls::Alert (Alert36) . This component requires that the embedded font be declared with embedAsCFF=false.
找了很多资料,都没解决我的问题, 最后通过 某个E国人的博文中找了问题所在,同时参考了Adobe 关于CFF的说明之后才恍然大雾
Flex 4.x 中 mx 与spark 是有很大的区别
因此spark中用了自定义字体后,不能用于mx中,因此需要将embedAsCFF设置为false;
所以为了解决这个问题,需要将一个字体申明两次(内存加倍)
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";
@namespace ml "com.maiyoule.exam.layout.*";@font-face{fontFamily:"WRYH";src:url("../fonts/msyh.ttf");embedAsCFF: true;
}
&#64;font-face{fontFamily:"WRYH_CLOSE"; /* <&#61;&#61; 重新声明一个别名 */src:url("../fonts/msyh.ttf");embedAsCFF: false; /* <&#61;&#61;&#61;设置为False 用于mx组件 */
}s|Application{fontFamily:"WRYH";
}mx|Alert{fontFamily:"WRYH_CLOSE"; /* <&#61;&#61;设置新申明的别名 */
}