asysbang

标题: 系统添加切换字体功能 [打印本页]

作者: admin    时间: 2013-5-2 17:48
标题: 系统添加切换字体功能
转载请注明:www.asysbang.com

三星手机都带切换字体的功能

"设置"->"显示"->"显示设定"->"字体风格"

小米手机也实现了这个功能,但是切换之后需要重启才能生效

其实可以参考CM主题切换功能,对config添加一个标志位就可以不用重启来重新载入字体资源,三星添加的标志位是FlipFont

android默认的配置文件system/etc/system_fonts.xml

读取配置的代码在external/skia/src/port/FontHostConfiguration_android.cpp

SkFontHost_android.cpp负责去创建Typeface对象

切换字体的功能需要skia对应的去读取settings设置的字体文件

简单办法是skia替换原来的文件路径,更好的办法是添加一个优先级更高的逻辑

PS:android4.0的英文字体文件是Roboto-Regular.tff  ,所以只替换DroidSansFallback.tff的话,只有中文字体生效,英文字体是不生效的

-----------

自己写一个字体的apk也很简单只要应用的包名是com.monotype.android.font开头就可以了,这样就可以让三星的手机识别自己的字体应用了









欢迎光临 asysbang (http://asysbang.com/) Powered by Discuz! X2.5