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
正确的显示效果应该是下面这样
སྐྲུ
解决方案 »
- eclipse中写了一个安卓应用,相同的代码在不同的project显示不同结果,这是为什么?
- java 冒泡算法
- Android版的CSDN新闻阅读器发布了!
- 请教Activity生命周期。
- 做安卓是不得有做网页的基础?
- C#+android什么方式推送消息比较好?
- pda(有自定义的键,如Esc),访问服务器上的网页(可以监听键盘事件),按自定义的Esc、F2等时,安卓原生浏览器、uc、海豚浏览器均返回0
- 截获HOME键广播
- Android平台如何 播放MMS协议的流媒体服务
- 小白,问个小问题?
- android 平台下 OpenGL 纹理贴图在真机上为什么无法显示,模拟器可以显示
- listview下拉刷新 和分页的问题
找不到你说的手机文件路径