以下为MTK 6573平台 android 2.3系统上添加维文的详细步骤
1. 增加维文的语言代码“ug”使文字从右向左显示
文件路径:frameworks/base/core/java/android/text/layout.java
private static final String[] R2L_LANGUAGS ={"ar","ur","fa","ug"};
2. 增加系统维文字库调用
文件路径:external/skia/src/ports/SkFontHost_android.cpp
static const FontInitRec gSystemFonts[] = { ... { "DroidSansuyghur.ttf", gFBNames }, ... }
3. 增加维文的语言和国家代码 ug_CN,在设置中出现维文选项。
文件路径:build/target/product/ckt73_gb.mk
PRODUCT_LOCALES := \ en_US \ zh_CN \ zh_TW \ ug_CN \ ldpi \ hdpi \ mdpi
4. 增加DroidSansuyghur.ttf ,并去掉DroidSansArabic.ttf. 将维文字库编译进系统 (由于阿拉伯文和维文均使用阿拉伯字库,如果两种字库同时存在,会导致冲突)
文件路径:framework/base/data/fonts/Android.mk
copy_from := \ DroidSans.ttf \ DroidSans-Bold.ttf \ DroidSansHebrew.ttf \ DroidSansThai.ttf \ DroidSerif-Regular.ttf \ DroidSerif-Bold.ttf \ DroidSerif-Italic.ttf \ DroidSerif-BoldItalic.ttf \ DroidSansMono.ttf \ DroidSansuyghur.ttf \ Clockopia.ttf \ SegoeWP.ttf
5. 将维文字库放入字库目录下
文件路径:framework/base/data/fonts/
在该路径下增加维文字库(DroidSansuyghur.ttf)
6. 增加ug项
文件路径:external/icu4c/studata/Android.mk
$(if $(findstring ug,$(PRODUCT_LOCALES)),large) \
7. 增加ug_CN项
文件路径:external/skia/Android.mk
# add by mediatek to config complex langauge support ifneq (,$(filter ar_EG hi_IN th_TH ug_CN,$(PRODUCT_LOCALES)))
MTK_SHAPE_ENGINE_SUPPORT = yes LOCAL_CFLAGS += -DMTK_SHAPE_ENGINE_SUPPORT
endif
ifneq (,$(filter ar_EG ug_CN,$(PRODUCT_LOCALES)))
MTK_BIDI_SUPPORT = yes LOCAL_CFLAGS += -DMTK_BIDI_SUPPORT
endif
8. 在framework中增加维文字串资源
文件路径:framework/base/core/res/res/ 增加资源文件夹 raw-ug-rCN 和values-ug-rCN
9. 在系统中所有资源文件夹中增加相应的维文字串翻译。如settings模块中维文字串资源。
文件路径:packages/apps/Settings/res
增加settings模块的 资源文件夹 values-ug-rCN
10.添加MTK提供的维语字母间连线处理规则的两个patch(到我的资源页下载).
11.添加完以上所有步骤后,将工程重新完整编译一遍,烧录到手机即可看到维文正常显示。