menkara 发表于 2012-6-3 23:15:41

解决2.1系统的音标问题(换字体)[转帖]

本帖最后由 menkara 于 2012-6-3 23:21 编辑

那啥蓝词很好用,但是有点小遗憾,就是2.1系统没办法正常显示音标,挺可惜的。

搜索了一下,换个字体就好了,还挺简单的。有个高人在原系统字体的基础上添加了音标,这样既能正常显示又不影响系统的使用。我已经成功了,分享出来。。

★小部分词典还是不能显示音标,比如牛津高阶词典第七版(我用的词典里暂时就这一本不能显示),不过常用的朗文高阶第五版和麦克米高词典都能显示音标了。嘻嘻。。

下面蓝色内容转自:http://openwares.net/linux/android_font_phonetic_display.html

在推上fo了个toefl单词机器人,没想到很多单词的音标显示成了小方块,
那就是android默认的英文字体对某些英语国际音标不支持了,当然我的Galaxy S刷了第三方ROM的,不过从网上的帖子来看,官方的字体存在一样的问题,总而言之是字体的问题了。

也搜了一些帖子,但没有很好的解决方案,默认的英文字体还是挺美观的,只是某些英语音标的编码位上缺失了相应的字符而已,Anroid使用Java作为默认开发环境,那默认的字体也应该是使用UNICODE UCS编码的,事实证明的却如此。那就很简单了,强大的字体编辑工具FontForge派上用场了。

Ubuntu仓库里面的版本太低了,可以使用GetDeb仓库来安装最新版本的FontForge。用FontForge打开Android默认的英文字体DroidSans.ttf,果然国际音标编码区域空空如也,英语音标现实不完全也就一点儿也不奇怪了。从国际音标wiki上查找到了这写符号的UNICODE编码,从DejaVuSerif.ttf和Gothic.ttf这两个字体里面提取了对应的字形(glyph)插入到DroidSans.ttf相应的BMP(Basic Multilingual Plane)编码位上。当然只补充了英语音标会用到的字符,包括ɑ,ɒ,ɔ,ə,ɛ,ɜ,ɪ,ɵ,ʃ,ʌ,ʒ,ʤ,ʦ,ʧ这几个常用音标字符。默认的字体竟然连重音(primary stress)和次重音(Secondary stress)这两个符号都没有,一并补齐了。

将制作好的字体覆盖Android默认英文字体/system/fonts/DroidSans.ttf,当然需要root权限,再看英语音标,显示的相当完美了,google dictionary里面的音标也完全没有问题。

修改后的字体请猛击此处下载。


然后是绿色的换字体教程:转自:http://bbs.hiapk.com/thread-1354528-1-4.html

提示:换字体一定要先移动到system文件夹里,改完权限后在剪切到fonts文件夹里。

换字体教程

字体要这里下载啦http://bbs.hiapk.com/thread-649518-1-1.html
前提你要有RE管理器

把下载的字体中文文件改名为

DroidSansFallback.ttf(中文字体)

英DroidSans.ttf(英文字体)

DroidSans_Bold.ttf(英文粗体)

然后放到sd卡里面 做好了之后 就开始咯。。。前进。。。

打开RE管理器 打开sdcard 找到你下载的3个字体 复制到system 里先。。停。。这里要先把RE管理器的右上角只读状态改为读写状态才可以成功复制到过去噢。

复制了之后要一一打权限 不然到最后变成口口我可不负责哦 长按 权限 改为 √√× √×× √××

还是看不懂的话我上图

http://att.x2.hiapk.com/forum/month_1105/1105200948260345bc335ddbc5.jpg


全部都打完权限了,替换字体也是最后一步了

长按改完权限的字体 然后选择移动(剪贴)fonts文件夹里 会提示你覆盖 3个都替换完成之后 重启手机即可

investor2006 发表于 2012-6-7 08:56:13

本帖最后由 investor2006 于 2012-6-7 10:26 编辑

我谈一下我的使用情况,可以回答一下在那位修改字体的大侠留言的人的疑问。按照楼主的方法,我将两种英文字体(中文字体我没拷,全部下载体积有点大)放到我的2.1系统上以后,同样的词典在bluedict和mdict上的显示效果不一样的,比如21世纪英汉汉英词典在bluedict上显示乱码,而在mdict上则能完美显示出来,牛津高阶第八版也是这样。不过有的词典比如朗文美语词典在bluedict和mdict上都无法正常显示音标。总的来说,mdict显示正常音标的词典比bluedict要多一些。
我的手机是中兴N600,同时建议bluedict大神找找问题所在。 1# menkara

timyu 发表于 2012-6-7 12:29:18

现在用MDict,不用受这鸟气!

menkara 发表于 2012-6-9 18:17:09

2# investor2006

酱说来,果然还是蓝词本身的问题啊( ̄. ̄;) 。。。

发哥 发表于 2012-6-9 21:02:28

Mdict貌似有特殊的算法去把音标都处理成unicode。。
页: [1]
查看完整版本: 解决2.1系统的音标问题(换字体)[转帖]