现在的位置: 首页 > 综合 > 正文

android 4.0.4系统添加波斯语

2013年08月14日 ⁄ 综合 ⁄ 共 1619字 ⁄ 字号 评论关闭

1 确定好语言和国家对照表,波斯与对照如下:

fa_IR

2 根据build\target\product\sdk.mk

$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk)
$(call inherit-product-if-exists, frameworks/base/data/keyboards/keyboards.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)

# Overrides
PRODUCT_BRAND := generic
PRODUCT_NAME := sdk
PRODUCT_DEVICE := generic

# locale + densities. en_US is both first and in alphabetical order to
# ensure this is the default locale.
PRODUCT_LOCALES = \
	en_US \
	ldpi \
	hdpi \
	mdpi \
	xhdpi \
	ar_EG \
	ar_IL \

由$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk) 可以知道添加语言库的位置

在frameworks/base/data/fonts 目录下添加 下载好的 DroidSansArabic.ttf 语言库。

并修改fonts.mk,添加新的拷贝路径

PRODUCT_COPY_FILES := \
		frameworks/base/data/fonts/DroidSansArabic.ttf:system/fonts/DroidSansArabic.ttf \

最后在

PRODUCT_LOCALES = \

加上对波斯语的 支持

fa_IR

3 ndk采用的编码工具不同于JAVA,ndk采用的编码工具是ICU4C,源码目录为external\icu4c  

在external\icu4c\stubdata\Android.mk 里面已经默认添加了对波斯语编码的支持,所以不需要改,2.3系统的则需要自行修改。

# Build configuration:
#
# 'all' includes all ICU's locale data, but is currently missing some Android
# extensions (mostly extra charset converters).
#
# 'default' (icudt46l-default.txt) includes all the most-used locales,
#   covering 94% of internet users
#   (http://googleblog.blogspot.com/2008/07/hitting-40-languages.html):
#   ar, bg, ca, cs, da, de, el, en, es, fa, fi, fil, fr, he, hi, hr, hu, in,
#   it, ja, ko, lt, lv, nb, nl, pl, ps, pt, rm, ro, ru, sk, sl, sr, sv, th,
#   tr, uk, vi, zh.
config := default

4 在 external\skia\src\ports\SkFontHost_simple.cpp 添加

static const FontInitRec gSystemFonts[] = {
    { "Arial.ttf",              gSansNames  },
    { "Times.ttf",              gSerifNames  },
    { "samplefont.ttf",              gSansNames  },
    { "DroidSansArabic.ttf",              gSansNames  },
5 最后在devices 目录下的product.mk 加上对波斯语的支持


PRODUCT_LOCALES := fa_IR en_US zh_CN fr_FR es_ES de_DE ru_RU ko_KR 

抱歉!评论已关闭.