1 应客户要求,为android2.3.4版本的手机添加一门新语言—在网上查了很多资料,按照下面的方法进行了更改:
a 在网上下载了一个DroidSansTibetan.ttf;将其拷贝到 ./frameworks/base/data/fonts/
b 修改./frameworks/base/data/fonts/Android.mk,将DroidSansTibetan.ttf添加到copy from:
copy_from := \
DroidSans.ttf \
DroidSans-Bold.ttf \
DroidSansArabic.ttf \
DroidSansHebrew.ttf \
DroidSansThai.ttf \
DroidSansTibetan.ttf \ (注:新添加的ttf文件,实际中这段注释不要)
DroidSerif-Regular.ttf \
DroidSerif-Bold.ttf \
DroidSerif-Italic.ttf \
DroidSerif-BoldItalic.ttf \
DroidSansMono.ttf \
Clockopia.ttf
c 修改./external/skia/src/ports/SkFontHost_android.cpp,将DroidSansTibetan.ttf加进去/* Fonts must be grouped by family, with the first font in a family having the
list of names (even if that list is empty), and the following members having
null for the list. The names list must be NULL-terminated
*/
static const FontInitRec gSystemFonts[] = {
{ "DroidSans.ttf", gSansNames },
{ "DroidSans-Bold.ttf", NULL },
{ "DroidSerif-Regular.ttf", gSerifNames },
{ "DroidSerif-Bold.ttf", NULL },
{ "DroidSerif-Italic.ttf", NULL },
{ "DroidSerif-BoldItalic.ttf", NULL },
{ "DroidSansMono.ttf", gMonoNames },
/* These are optional, and can be ignored if not found in the file system.
These are appended to gFallbackFonts[] as they are seen, so we list
them in the order we want them to be accessed by NextLogicalFont().
*/
{ "DroidSansArabic.ttf", gFBNames },
{ "DroidSansHebrew.ttf", gFBNames },
{ "DroidSansThai.ttf", gFBNames },
{ "DroidSansTibetan.ttf", gFBNames }, // 新添加的语言
{ "MTLmr3m.ttf", gFBNames }, // Motoya Japanese Font
{ "MTLc3m.ttf", gFBNames }, // Motoya Japanese Font
{ "DroidSansJapanese.ttf", gFBNames },
{ "DroidSansFallback.ttf", gFBNames }
}; d 去./build/target/product/full.mk看看系统选择的是哪个语言列表,我的是:
$(call inherit-product, build/target/product/languages_small.mk)
那我就去修改./build/target/product/languages_small.mk,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR bo_CN it_IT de_DE es_ES
e 将翻译好的语言values-bo-rCN资源包放在对应的系统应用下,如在./packages/apps/Calendar下增加一个名为values-bo-rCN的资源包
f 重新编译
g 编译好后将./out/target/product/目录下的system.img文件替换sdk./platforms/image/下的system.img;
h 重新运行android avd;
2 设置语言:在设置-选择语言中选择Tibetan
3 点击进入日历应用
4 显示效果如下截图1截图2截图3
正确的显示效果应该是下面这样
སྐྲུ
a 在网上下载了一个DroidSansTibetan.ttf;将其拷贝到 ./frameworks/base/data/fonts/
b 修改./frameworks/base/data/fonts/Android.mk,将DroidSansTibetan.ttf添加到copy from:
copy_from := \
DroidSans.ttf \
DroidSans-Bold.ttf \
DroidSansArabic.ttf \
DroidSansHebrew.ttf \
DroidSansThai.ttf \
DroidSansTibetan.ttf \ (注:新添加的ttf文件,实际中这段注释不要)
DroidSerif-Regular.ttf \
DroidSerif-Bold.ttf \
DroidSerif-Italic.ttf \
DroidSerif-BoldItalic.ttf \
DroidSansMono.ttf \
Clockopia.ttf
c 修改./external/skia/src/ports/SkFontHost_android.cpp,将DroidSansTibetan.ttf加进去/* Fonts must be grouped by family, with the first font in a family having the
list of names (even if that list is empty), and the following members having
null for the list. The names list must be NULL-terminated
*/
static const FontInitRec gSystemFonts[] = {
{ "DroidSans.ttf", gSansNames },
{ "DroidSans-Bold.ttf", NULL },
{ "DroidSerif-Regular.ttf", gSerifNames },
{ "DroidSerif-Bold.ttf", NULL },
{ "DroidSerif-Italic.ttf", NULL },
{ "DroidSerif-BoldItalic.ttf", NULL },
{ "DroidSansMono.ttf", gMonoNames },
/* These are optional, and can be ignored if not found in the file system.
These are appended to gFallbackFonts[] as they are seen, so we list
them in the order we want them to be accessed by NextLogicalFont().
*/
{ "DroidSansArabic.ttf", gFBNames },
{ "DroidSansHebrew.ttf", gFBNames },
{ "DroidSansThai.ttf", gFBNames },
{ "DroidSansTibetan.ttf", gFBNames }, // 新添加的语言
{ "MTLmr3m.ttf", gFBNames }, // Motoya Japanese Font
{ "MTLc3m.ttf", gFBNames }, // Motoya Japanese Font
{ "DroidSansJapanese.ttf", gFBNames },
{ "DroidSansFallback.ttf", gFBNames }
}; d 去./build/target/product/full.mk看看系统选择的是哪个语言列表,我的是:
$(call inherit-product, build/target/product/languages_small.mk)
那我就去修改./build/target/product/languages_small.mk,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR bo_CN it_IT de_DE es_ES
e 将翻译好的语言values-bo-rCN资源包放在对应的系统应用下,如在./packages/apps/Calendar下增加一个名为values-bo-rCN的资源包
f 重新编译
g 编译好后将./out/target/product/目录下的system.img文件替换sdk./platforms/image/下的system.img;
h 重新运行android avd;
2 设置语言:在设置-选择语言中选择Tibetan
3 点击进入日历应用
4 显示效果如下截图1截图2截图3
正确的显示效果应该是下面这样
སྐྲུ
解决方案 »
- 关于Android启动外部程序,请大神进来给点意见吧!
- 五分钟更新定位,用LocationManager.requestLocationUpdate行不
- Android短信功能实现源码
- 打开Android虚拟机测试HELLO WORD的时候出现错误
- android开发之路
- 百度sdk和Arcgis sdk结合定位
- Android开发 客户端的通信
- service是不是要等onStartCommand()执行完了才能接受到广播啊
- 安卓问题,程序运行之后,出现unfortunately, has stopped,求解决
- 安卓编程器出问题了
- android 平台下 OpenGL 纹理贴图在真机上为什么无法显示,模拟器可以显示
- listview下拉刷新 和分页的问题
找不到你说的手机文件路径