staticTypeface createFromFile(File path)//静态方法,从文件系统构造一个字体,这里参数可以是sdcard中的某个字体文件
staticTypeface createFromFile(String path) //静态方法,从指定路径中构造字体
staticTypeface defaultFromStyle(int style) //静态方法,返回默认的字体风格
intgetStyle() //获取当前字体风格
finalboolean isBold() //判断当前是否为粗体
finalboolean isItalic() //判断当前风格是否为斜体
Android字体工作原理
android字体由android 2D图形引擎skia实现,并在Zygote的Preloading classes中对系统字体进行load。
相关文件有:skTypeface.cpp和skFontHost_android.cpp,其中后者是skia针对android平台字体实现的port。
主要的变量有:
struct FontInitRec {
const char* fFileName;
const char* const* fNames; // null-terminated list
};
struct FamilyRec {
FamilyRec* fNext;
SkTypeface* fFaces[5];
};
uint32_t gFallbackFonts[SK_ARRAY_COUNT(gSystemFonts)+1];
load_system_fonts()@skFontHost_android.cpp
load系统中所有的字体并给每种字体分配唯一的ID&#x