MTK Android4.0.3 ICS 添加缅甸语Myanmar
最近几个项目需要添加缅甸语,借助网络资源,同时结合自身实践,成功添加缅甸语,现分享经验如下。
一. 前期工作;
- 准备Myanmar字库,下载地址:http://www.myordbok.com/myanmar-fonts/ ,或者http://download.csdn.net/detail/marine8888/5813057 。
- 准备系统字串的缅甸文翻译,提供一份供各位测试缅甸语的Settings模块的字串,下载地址:http://download.csdn.net/detail/marine8888/5812889
二.修改icu模块
- 添加行coll/my.res
- 添加行 coll/my_MM.res
- 添加行curr/my.res
- 添加行lang/my.res
- 添加行region/my.res
- 添加行zone/my.res
- 添加行my.res
- 添加行my_MM.res
ICU_PREBUILT_DIR = os.path.join(os.environ.get("ANDROID_EABI_TOOLCHAIN"),
"..", "..", "..", "icu-%s.%s" % (icu_version[0], icu_version[1]))
ICU_PREBUILT_DIR = os.path.join(os.environ.get("ANDROID_BUILD_TOP"),
"prebuilt", "linux-x86","icu-%s.%s" % (icu_version[0], icu_version[1]))
三. 添加缅甸语字库文件到系统
1.添加文件夹,openfont,目录树如下:
├── Android.mk
├── CleanSpec.mk
├── fonts.mk
├── NOTICE
└── padauk-ttf
├── COPYRIGHT
├── OFL.txt
└── Padauk.ttf
2 directories, 10 files
LOCAL_PATH := $(call my-dir) ifneq ($(SMALLER_FONT_FOOTPRINT),true) ifneq (,$(filter my_MM,$(PRODUCT_LOCALES)))
include $(CLEAR_VARS)
LOCAL_MODULE := Padauk.ttf
LOCAL_SRC_FILES := padauk-ttf/$(LOCAL_MODULE)
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
include $(BUILD_PREBUILT)
endif endif
fonts.mk内容如下:
PRODUCT_PACKAGES := \
Padauk.ttf
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/ETC/Mondulkiri.ttf_intermediates)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/fonts/Mondulkiri.ttf )
2. 修改frameworks/base/data/fonts/Android.mk,增加如下行:
# Use the following to include the added fonts.
include $(call all-makefiles-under,$(LOCAL_PATH))
使得可以编译到openfont文件夹。
3.修改frameworks/base/data/fonts/fallback_fonts.xml,增加如下内容:
<family>
<fileset>
<file>Padauk.ttf</file>
</fileset>
</family>
4. 修改build/target/product/common.mk,增加如下内容:
ifneq (,$(filter my_MM,$(MTK_PRODUCT_LOCALES)))
PRODUCT_PACKAGES += Padauk.ttf
endif
5. 修改mediatek/config/ztesz75_cu_ics/ProjectConfig.mk,添加缅甸语的国家码my_MM到MTK_PRODUCT_LOCALES中,如下所示:
MTK_PRODUCT_LOCALES = en_US hi_IN in_ID es_ES ru_RU pt_BR fa_IR fr_FR de_DE tr_TR it_IT ms_MY vi_VN ar_EG th_TH pt_PT my_MM nl_NL zh_CN zh_TW mdpi hdpi
另, MTK_PRODUCT_LOCALES的第一个字段是系统的默认语言,也就是出厂语言,如果要把缅甸语设置成默认语言,只需将my_MM放在第一个位置即可。
四. 添加缅甸语字串
从网络上了解到另外一种添加语言的方法,有参考的价值,但是没有验证过,有兴趣的朋友可以参考下,链接如下:http://androidandsandu.blogspot.com/2011/12/how-to-add-indian-languages-to-android.html。
可能有些朋友访问不了外网,现贴原文如下:
How to add Indian Languages to Android ICS (4.0.3)
The AOSP code supports rendering of three Indian languages in Web-kit. (Devanagari, Tamil, and Bengali).
I just added support for the other Indian languages as well. Tested it on my Nexus-S device
Prerequisites :
- ICS (4.0.3) AOSP source code.
- Nexus -s Device
Follow these instructions:
1) Download the "Binary" file of the Indian language from
this link.
Ex: lohit-kananda-ttf-2.5.0.tar.gz
2) Untar the downloaded file and Copy the extracted folder into
external/lohit-fonts directory
Ex: lohit-kannada-ttf-2.5.0
3) Rename the folder name to lohit-kannada-ttf
4) Modify the Android.mk file which is present in external\lohit-fonts directory
ifneq ($(SMALLER_FONT_FOOTPRINT),true)
extra_lohit_fonts := Lohit-Bengali.ttf Lohit-Tamil.ttf Lohit-Kannada.ttf
endif
include $(CLEAR_VARS)
LOCAL_MODULE := Lohit-Kannada.ttf
LOCAL_SRC_FILES := lohit-kannada-ttf/$(LOCAL_MODULE)
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_PATH := $(TARGET_OUT)/fonts
include $(BUILD_PREBUILT)
5) Modify the FontAndroid.cpp file (external/webkit/source/webcore/platform/graphics/android)
a) Add an language entry to CustomScript enum
enum CustomScript {
Bengali,
Devanagari,
Kannada,
.......
};
b) Add the ttf file path to the TextRunWalker Paths
const char* TextRunWalker::paths[] = {
"/system/fonts/Lohit-Bengali.ttf",
"/system/fonts/Lohit-Devanagari.ttf",
"/system/fonts/Lohit-Kannada.ttf",
........
};
c) Now setup the Font for Script Run
TextRunWalker::setupFontForScriptRun()
{
case HB_Script_Kannada:
complexPlatformData = setupComplexFont(Kannada, platformData);
break;
}
6) Add the *.ttf file in Fallback_fonts.xml
(frameworks\base\data\fonts)
MTK Android4.0.3 ICS 添加缅甸语Myanmar的更多相关文章
- 关于解决android4.0系统中菜单无法添加Icon的问题
在Android4.0系统中,创建菜单Menu,然后通过setIcon方法给菜单添加图标是无效的,图标不会显出来,而之前的系统中是可以显示出来的.这个问题的根本原因在于4.0系统中,涉及到菜单的源码类 ...
- 解决android4.0系统中菜单(Menu)添加Icon无效问题
本文转载自: http://blog.csdn.net/stevenhu_223/article/details/9705173 在Android4.0系统中,创建菜单Menu,通过setIcon方法 ...
- Android4.0.4-在build.prop中添加属性的方法【转】
本文转载自:http://blog.csdn.net/imyfriend/article/details/8939964 1.在*.rc文件中用setprop添加,例如在源码android4.0\sy ...
- android4.0 4.1 4.2 4.3 4.4新特性
http://blog.csdn.net/kaiyang45/article/details/7179349 4.0 http://digi.tech.qq.com/a/20120628/000827 ...
- [转载]jquery版小型婚礼(可动态添加祝福语)
原文链接:http://www.cnblogs.com/tattoo/p/3788019.html 前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我 的百度生涯,一直 ...
- QT210 android2.3 和android4.0 烧写编译日记
QT210下载烧录编译android2.3过程 工作环境:ubuntu12.04.5 | QT210开发板光盘 | QT210开发板 android2.3编译环境:gcc version 4.4.7 ...
- jquery版小型婚礼(可动态添加祝福语)
前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我的百度生涯,一直寻觅许愿墙背景图片和便利贴图片,觅了好久……一直没找到满意的……无意间看到祝福语和一些卡通婚礼图片.最 ...
- 一个Activity掌握Android4.0新控件 (转)
原文地址:http://blog.csdn.net/lavor_zl/article/details/51261380 谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常 ...
- [转]使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
在android4.0以后的sdk里那个脚本就失效了,主要是因为 apkbuilder这个程序不见了: 人家sdk升级,我们的脚本也要跟上趟,修改一下喽. 上网一查,大家的文章还停留在我去年的脚本程度 ...
随机推荐
- Longest Palindromic Substring-----最长回文子串
首先讲讲什么是回文, 看看Wiki是怎么说的:回文,亦称回环,是正读反读都能读通的句子.亦有将文字排列成圆圈者,是一种修辞方式和文字游戏.回环运用得当.能够表现两种事物或现象相互依靠或排斥的关系, 比 ...
- .Net插件编程模型:MEF和MAF[转载]
.Net插件编程模型:MEF和MAF MEF和MAF都是C#下的插件编程框架,我们通过它们只需简单的配置下源代码就能轻松的实现插件编程概念,设计出可扩展的程序.这真是件美妙的事情! 今天抽了一点时间, ...
- centos 6 编译安装httpd-2.4
centos6 yum安装的apr版本已经不适用httpd-2.4版本了.所以,需要源码编译apr以及apr-util 1. 下载源码: cd /usr/local/src/ wget http:// ...
- Intersection of Two Linked Lists(java)
eg: a1 → a2 ↘ c1 → c2 → c3 或者直接a1 → b1 ↗ b1 → b2 → b3求公共链表c1. 常规的指针分裂法,复制法,偏移法. public class Solutio ...
- 3D模型制作
agisoft: http://www.agisoft.com/downloads/installer/ http://pan.baidu.com/s/1dDwA3tf http://pan.baid ...
- win7使用右键导致死机、假死、explorer无法响应的解决方法
右键引起explorer无法响应,奔溃,主要是由于COMCTL32.DLL和COMCTL21.OCX文件引起的 描述:comctl32.dll是Windows应用程序公用GUI图形用户界面模块.报告提 ...
- Android 部分机型GridView四周默认间距
在测试兼容性时候,部分机型,比如联想和一加等手机,在使用Gridview的时候,会默认四周有默认边距,10dp左右. 这时候需要设置 android:listSelector="@andro ...
- plsql基本语法(
1. 定义常量的语法格式 常量名 constant 类型标识符 [not null]:=值; 常量,包括后面的变量名都必须以字母开头,不能有空格,不能超过30个字符长度,同时不能和保留字同 ...
- wampserver 自定义站点
wampserver配置多站点,安装完wampserver后,我们要做的肯定是很多项目,那么如何配置wampserver多站点呢. 在“httpd.conf”文件中查找:Include conf/ex ...
- PHP学习笔记,自己动手写个MVC的框架 -- base所有代码
<?php /** 名称:基础类 作用:引用参数处理类,加载基础配置, 作者:swordphp@126.com 创建日期:2013-07-31 **/ require_once(ROOT_PAT ...