Android修改系统默认字体

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q1183345443/article/details/82588482

1.external/skia/src/ports/SkFontConfigInterface_android.cpp

static void get_path_for_sys_fonts(SkString* full, const char name[]) {
    char args[PROPERTY_VALUE_MAX];
    property_get("persist.sys.usedmyfont", args, "default");
    if (gTestFontFilePrefix) {
        full->set(gTestFontFilePrefix);
    } else {
        full->set(getenv("ANDROID_ROOT"));
        full->append(SK_FONT_FILE_PREFIX);
    }
    //full->append(name);
    if (strstr(args, "cafont1")) {
        full->append("FZLTHPro_GB18030.ttf");
    //todo more fonts
    //}else if (strstr(args, "cafont2")) {

    //}else if (strstr(args, "cafont3")) {

    }else {
        //default font
        full->append("FZLTHPro_GB18030.ttf");
        //full->append("DroidSerif-Bold.ttf");
    }
}

2.在目录frameworks/base/data/fonts/ 下新增FZYouHGB18030.ttf字体

3.frameworks/base/data/fonts/Android.mk

font_src_files := \
    Roboto-Regular.ttf \
    Roboto-Bold.ttf \
    Roboto-Italic.ttf \
    Roboto-BoldItalic.ttf \
    DroidSerif-Regular.ttf \
    DroidSerif-Bold.ttf \
    DroidSerif-Italic.ttf \
    DroidSerif-BoldItalic.ttf \
    DroidSansMono.ttf \
    Clockopia.ttf \
    AndroidClock.ttf \
    AndroidClock_Highlight.ttf \
    AndroidClock_Solid.ttf \
    FZLTHPro_GB18030.ttf

4.frameworks/base/data/fonts/fallback_fonts.xml

<familyset>
    <family>
        <fileset>
            <file>FZYouHGB18030.ttf</file>
        </fileset>
    </family>
    <family>
        <fileset>
            <file variant="elegant">DroidNaskh-Regular.ttf</file>
        </fileset>
    </family>
......
</familyset>

猜你喜欢

转载自blog.csdn.net/q1183345443/article/details/82588482