Android 泰语、缅甸语等复杂语言圈圈问题
前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof
正文
一些复杂语言如泰语、缅甸语、印地语,经常会看到一些带有虚线圈圈字符。这是一种正常的处理机制。对于那些不能单独存在的字符,在显示时额外添加虚线圈,以提供对于这些字符的含义的一些提示,使得这些字符在显示时能够有更加适当的位置,避免字符的无限叠加等问题。如在Windows7上的office2010中缅甸语也有同样的行为,如下图:
Mtk在JB版本引入了这种机制,如果想去掉圈圈这种机制,可以按照如下方法:
external\harfbzz\src\harfbuzz-thai.c
// charIndex[(*outputIndex)] = inputIndex;
// outputBuffer[(*outputIndex)++] = errorChar;
charIndex[(*outputIndex)] = inputIndex;
outputBuffer[(*outputIndex)++] = currChar;
// if (currChar == CH_SARA_AM) {
// charIndex[(*outputIndex)] = inputIndex;
// outputBuffer[(*outputIndex)++] = errorChar;
charIndex[(*outputIndex)] = inputIndex;
outputBuffer[(*outputIndex)++] = currChar;
return &GraphiteLayoutShaper::getInstance();
case HB_SCRIPT_THAI: 新增此句 harfbuzzShaper.setShapingScript(getHBScriptFromHBNgScript(script));
harfbuzzNgShaper.setShapingScript(script);
external\harfbzz\src\harfbuzz-myanmar.c
// reordered[len] = Mymr_C_DOTTED_CIRCLE;
// return &GraphiteLayoutShaper::getInstance();注释此句
harfbuzzShaper.setShapingScript(getHBScriptFromHBNgScript(script));
harfbuzzNgShaper.setShapingScript(script);
另外缅甸语比较特殊、缅甸语有官方和民间之分,二者不同的是编码机制不同,因此这2种缅甸语的字串翻译、处理引擎、字库都是不同的。如果遇到问题可以先按照如下方法排查:
1、 如果字串中出现一个圈圈可能是个别字串翻译问题,可以参考FAQ09106解决。
2、 如果浏览网页或者界面中出现大量圈圈、这可能是网页内容或者翻译和字库不匹配导致。如大多缅甸语网站是民间缅甸语的,如果使用官方的缅甸语引擎和字库访问的话,就会出现这个问题。
目前mtk仅仅支持官方的缅甸语,如果要支持民间缅甸语,通过简单修改(修改翻译、替换字库)存在诸多风险,需要自行评估或者咨询mtk工程师。
Android 泰语、缅甸语等复杂语言圈圈问题相关推荐
- android缅甸语,Android 泰语、缅甸语等复杂语言圈圈问题
Mtk在JB版本引入了这种机制,如果想去掉圈圈这种机制,可以按照如下方法: 泰语: JB.JB2版本: external\harfbzz\src\harfbuzz-thai.c 注释如下代码 abou ...
- android 泰语资源,Android 泰语、缅甸语等复杂语言圈圈问题
文件与目录管理 cd:切换目录 pwd:显示当前目录 mkdir:新建一个新的目录 rmdir:删除一个空的目录 ls:查看目录与文件 cp:复制 rm:删除 mv:移动|重命名文件与目录 切换目录( ...
- Android 泰语/缅甸语/捷克语下,Contacts列表中联系人出现排序错乱的
修改ContactsProvider2.java文件 public static final String SECTION_HEADING = "SUBSTR(%1$s,1,1)" ...
- Android键盘输入语言设置默认打开myanmar 缅甸语
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! loca ...
- android添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- android 添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- android缅甸语,android 添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- android缅甸语,android添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- android缅甸语,Android键盘输入语言设置默认打开myanmar缅甸语的步骤
不管你在学什么语言,当你觉得自己不擅长的时候,突然听到你的老师或其他人用你认为自己不擅长的语言流畅地交谈,你会感到热血沸腾,下面我们就跟着爱站技术频道小编一起来了解键盘输入语言设置默认打开myanma ...
最新文章
- Android Jetpack - Emoji表情符号初探
- asp.net core mvc权限控制:分配权限
- ThinkPHP(3)SQL查询语句
- mysql字符集问题_mysql字符集问题
- Django ORM 数据库操作
- Web服务器常用设置
- 计算机教育是核心期刊吗2020,重磅!2020年中国科技核心期刊目录,正式发布!...
- 大数据Hadoop学习文章汇总
- 用友NC系统安装部署指南
- 插件对计算机的运行有什么影响吗,电脑插件太多导致电脑运行缓慢怎么办 - 驱动管家...
- 刻录光驱只能读不能写怎么办?来看看!
- 阿里P7架构师浅谈Java 的年薪 40W 是什么水平?
- 辣椒app软件测试,testflight辣椒视频APP
- 网站安全扫描工具,举荐6个网站安全扫描工具
- 微信小程序调用支付接口支付(tp5、小程序)
- Java:实现Prim算法(附完整源码)
- smart计算机英语作文,关于科技的英语作文(精选5篇)
- 1257: 田忌赛马
- 《悟透JavaScript》诞生历程精美配乐视频
- 交叉编译libxml2