最近在修改android中汉字的多音字问题(曾,ceng
zeng),遇到修改icu4c/data/coll/zh.txt文件,但是make -j4没有效果。
"关于icu4c库里的资源这里做个简要介绍,一般情况下无需改动。
androidexternalicu4cdata下存放的是icu最原始的资源,其下brkitr、coll、locales三个文件夹下的txt文件即为各国家语言翻译字符串原始资源,存放各语言对于当地特殊文化相关的数据诸如地区时间货币的格式等等。"(摘自博客http://blog.csdn.net/eimsteim/article/details/7246175)
今天下午查了下资料,有两种方法:
方法一:不耗时,方便,但是就是要重新编译icu4c,获取icudt**-all.dat文件,
在external/icu4c/studata/readme.txt,里面有修改icu4c中资源的编译方法,重新编译生成icudt**-all.dat文件,将原来的文件覆盖,然后运行external/icu4c/studata/icu_dat_generator.py文件生成新的icudt46l-default.dat,然后在该文件夹下mm,将生成的out目录下的icudt44l.dat文件替换移动终端中/system/usr/icu下icudt44l.dat文件,就OK了。
方法二:比较方便,就是时间长,每次修改都要重新全编
make clean
make -j4
===========
相关操作:
android中“曾”(ceng zeng)
方法一:修改HanziToPinyin.java,getToken(),判断曾字,重新定位offset
方法二:直接修改external/icu4c/data/coll/zh.txt,“曾”原文件中放到ceng后,修改将“曾”放到zeng拼音的汉字后面,然后按照前面的icu4c编译方法进行编译就可以了。
修改后的:
鱡怎谮譖譛囎増鄫增曾憎缯橧熷璔矰磳罾繒譄锃鋥甑
--------------一切正在继续研究中,希望广大同仁相互交流,指导