虽然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:
3 ) Hindi 的语言代码是 hi_IN,修改./device/qcom/common/common.mk,将 hindi 的语言代码加进去,
这样在你的设置-语言和键盘-选择语言里面就可以看见 hindi 语言了:
4 ) 修改./external/skia/src/ports/SkFontHost_android.cpp,将 DroidHindi.ttf 加进去。网上 介绍的很多
*** 都没有提到这一步,如果没有这一步的话,添加的语言是不生效的,显示的是乱码,因为 android 无法
找到 hindi 语言可以显示的字体, 还是会选择默认字体去显示。修改的地方为:
5 ) 去./build/target/product/full.mk 看看系统选择的是哪个语言列表,我的是:
$(call inherit-product, build/target/product/languages_ *** all.mk)
那我就去修改./build/target/product/languages_ *** all.mk,若这里显示的是 languages_full.mk,那么
就修改./build/target/product/languages_full.mk 文件,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR hi_IN it_IT de_DE es_ES
6) 在 external/icu4c/studata 下的 Android.mk 下添加
$(if $(findingstring hi,$(PRODUCT_LOCALS)),large)\
3. 剩下的就是重新编译一下,然后 flash 到手机或模拟器上就可以了。
手机上的编程软件有c4droid、aide、CppDroid、QPython3、Termux。
相关介绍:
1、c4droid:
是款Android设备上的C/C++程序IDE。默认以tcc(tiny c compiler)为编译器,可以选择安装gcc插件(20mb,只有root用户可以使用),选用gcc后,可以用sdl(简单直控媒体层库,需安装sdl plugin for c4droid)和qt(nokia官方开发库。
2、aide:
aide是一个Android/Java等集成开发环境,可以在Android手机上进行Android软件和游戏的开发,而无需借助PC端。不仅仅是一个编辑器,而是支持编写-编译-调试的IDE,开发人员可以在Android手机或者平板机上创建新的项目,借助功能丰富的编辑器进行代码编写。
3、CppDroid:
CppDroid和c4droid一样,是一款手机上的c语言编译器。安卓上的C/C++编译环境,可以帮助你在手机上编写c/c++程序 ,和c4droid各有优点,cppdroid更大的优点就是可以即时报错。
4、QPython3:
主要用来在手机上写python3代码,主界面如下,主要分为“终端”、“编辑器”、“程序”、“QPYPI”、“课程”、“社区”这6个模块,终端类似IDLE,编辑器类似记事本,QPYPI是第三方包和工具。
5、Termux:
Termux是一个Android下一个高级的终端模拟器, 开源且不需要root, 支持apt管理软件包,十分方便安装软件包, 完美支持Python、PHP、Ruby、Go, Nodejs、MySQL等。
虽然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:
3 ) Hindi 的语言代码是 hi_IN,修改./device/qcom/common/common.mk,将 hindi 的语言代码加进去,
这样在你的设置-语言和键盘-选择语言里面就可以看见 hindi 语言了:
4 ) 修改./external/skia/src/ports/SkFontHost_android.cpp,将 DroidHindi.ttf 加进去。网上 介绍的很多
*** 都没有提到这一步,如果没有这一步的话,添加的语言是不生效的,显示的是乱码,因为 android 无法
找到 hindi 语言可以显示的字体, 还是会选择默认字体去显示。修改的地方为:
5 ) 去./build/target/product/full.mk 看看系统选择的是哪个语言列表,我的是:
$(call inherit-product, build/target/product/languages_ *** all.mk)
那我就去修改./build/target/product/languages_ *** all.mk,若这里显示的是 languages_full.mk,那么
就修改./build/target/product/languages_full.mk 文件,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR hi_IN it_IT de_DE es_ES
6) 在 external/icu4c/studata 下的 Android.mk 下添加
$(if $(findingstring hi,$(PRODUCT_LOCALS)),large)\
3. 剩下的就是重新编译一下,然后 flash 到手机或模拟器上就可以了。
你可以使用AutoCAD 打开。注意版本问题,使用高版本的软件比较好
虽然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 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 },
{ "DroidHindi.ttf", gFBNames }, // 新添加的语言
{ "MTLmr3m.ttf", gFBNames }, // Motoya Japanese Font
{ "MTLc3m.ttf", gFBNames }, // Motoya Japanese Font
{ "DroidSansJapanese.ttf", gFBNames },
{ "DroidSansFallback.ttf", gFBNames }
};
5) 去./build/target/product/full.mk看看系统选择的是哪个语言列表,我的是:
$(call inherit-product, build/target/product/languages_ *** all.mk)
那我就去修改./build/target/product/languages_ *** all.mk,若这里显示的是languages_full.mk,那么就修改./build/target/product/languages_full.mk文件,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR hi_IN it_IT de_DE es_ES
3. 剩下的就是重新编译一下,然后flash到手机或模拟器上就可以了。
设置页面:
打开一个Hindi的网页,hindi语言可以正常显示了:
主要分为C/C++,Java,Python,前端网页,Linux这5个方面,感兴趣的朋友,可以下载尝试一下:
C/C++
这里介绍一个软件—C++编译器(c4droid),可以直接编辑运行C/C++程序,代码高亮、语法检查,使用起来非常不错,下面我简单介绍一下这个软件的安装和使用:
安装C++编译器,这个直接在手机应用中搜索就行,如下,大概也就2兆多,直接点击下载就行:
安装完成后,打开这个软件,就可以直接编写C/C++代码了,如下,代码高亮,语法检查,还支持查找、定位行、格式化代码功能:
编辑完成后,直接点击“Run”,就能运行程序,效果如下:
Java
这里介绍一个软件—AIDE,可以直接编译运行Java代码,同时还可以编写简单的安卓程序,支持自动补全、代码高亮、语法提示等功能,使用起来也非常不错,下面我简单介绍一下这个软件的安装和使用:
下载AIDE,这个也直接在手机应该中搜索就行,如下,大概也就34兆左右,直接点击下载安装就行:
安装完成后,打开这个软件,就可以直接新建项目,编写Java代码了,如下,这里会自动进行语法检查和智能补全,使用起来非常方便:
点击运行这个程序,效果如下:
Python
这里介绍一个软件—QPython3,集成了Python3解释器,既可以命令行运行Python,还可以编辑源文件后运行,支持代码高亮、语法检查等功能,下面我简单介绍一下这个软件的安装和使用:
下载QPython3,这个与上面类似,直接在手机应用中搜索就行,如下,大概也就12兆左右,直接点击下载安装就行:
下载完成后,我们就可以直接编写python程序了,如下,这里使用的是QEdit编辑器编写代码,你也可以使用Console控制台一行一行运行代码,都可以:
点击运行程序,效果如下,类似一个简单的安卓对话框:
前端网页
这里可以使用一个软件—w3cschool编程学院,类似一个编程资料库,提供的免费教程很多,其实不仅仅限于前端Html,CSS,Js等,还有Python,PHP,C++等后端资料,对于入门编程的新手来说,是一个非常不错的学习软件,下面我简单介绍一下这个软件的安装和使用:
下载w3cschool编程学院,与上面一样,直接搜索下载就行,大概也就19兆左右,如下:
下载完成后,打卡这个软件,我们
迷你世界如果真有黑客入侵怎么办? 迷你世界如果真的有黑客入侵的话,那么你自己又没有黑客技术就非常的难办了,很容易把账号丢失。如果迷你世界的号被盗了怎么办? 你被盗号了,你赶紧的话打客服电话,找客服把你...
爱奇艺破解版优酷破解版谁有 使用说明爱奇艺vip破解版电脑版 2015去广告版1、爱奇艺破解vip不带广告版完全免费,vip电影免费看,我亲测绝对可用;2、下载的爱奇艺,安装时显示为pps,因为两者已...
移动送的机顶盒怎么破解 1、无法破解,破解数字电视机顶盒是破解机顶盒的智能卡,就等同于破解银行卡;2、取决能否看电视是取决于盒内的智能卡,它同时又是收费卡;地方变了,那当然不能收看了。数字视频变换盒(...
什么软件可以免费看VIP电视? 2020智能电视vip破解版软件免费下载链接: 提取码:dxho破解版是热衷于软件逆向工程的朋友们利用一些工具对软件进行静态和动态的跟踪从而得到软件注册码,或利用16进...
如何利用axure8动效制作word 第一步:下载atomic web浏览器(app),有破解版本的;第二步:剩下的就简单了,直接把html文件拖进文件共享,见附件图片;第三步:打开浏览器,设置下Fu...
有谁用过破解版的迅雷,真正可以用的,给个下载地址吧? 迅雷破解版pc.rar 免费下载链接: ?pwd=xmwv 提取码: xmwv迅雷是迅雷公司开发的一款基于多资源超线程技术的下载软件,作为...