android 添加pdf字体,为Android添加多国语言包.pdf

为Android添加多国语言包.pdf

虽然 Android 从2.3 开始已经支持50 种以上的语言,但是不是每种语言都有字体可以显示。遇到一个新需求 ,

有客户要求对hindi 语言的支持。于是上网找了一些资料,发现网上介绍的大部分是如何替换默认字体,就

是替换./frameworks/base/data/fonts /DroidSansFallback.ttf ,但是替换完之后,中文就无法正常显示。其实

只要有下面几个步骤,就可以实现新曾加一种语言的显示支持:

1. 需要有可以显示hindi 语言的字体,我在网上下载了一个:DroidHindi.ttf

2. 需要修改的地方主要有

1 )将下载的字体文件拷贝到: ./frameworks/base/data/fonts/

2 )修改 ./frameworks/base/data/fonts/Android.mk ,将DroidHindi.ttf 添加到 copy_from :

copy_from := \

DroidSans.ttf \

DroidSans-Bold.ttf \

DroidSansArabic.ttf \

DroidSansHebrew.ttf \

DroidSansThai.ttf \

DroidHindi.ttf \

DroidSerif-Regular.ttf \

DroidSerif-Bold.ttf \

DroidSerif-Italic.ttf \

DroidSerif-BoldItalic.ttf \

DroidSansMono.ttf \

Clockopia.ttf

复制代码

3 ) Hindi 的语言代码是hi_IN ,修改./device/qcom/common/common.mk ,将hindi 的语言代码加进去,

这样在你的设置->语言和键盘->选择语言里面就可以看见hindi 语言了:

PRODUCT_LOCALES := en_US en_GB es_ES es_US fr_FR zh_CN zh_TW hi_IN it_IT pt_PT ru_RU

4 )修改 ./external/skia/src/ports/SkFontHost_android.cpp ,将DroidHindi.ttf 加进去。网上介绍的很多

方法都没有提到这一步,如果没有这一步的话,添加的语言是不生效的,显示的是乱码,因为android 无法

找到hindi 语言可以显示的字体,还是会选择默认字体去显示。修改的地方为:

/* 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值