在做iRemember的音标功能时,发现在windows下能正常显示音标的字体,到了android下完全不起作用,一开始还以为是自己的代码、格式或者编码问题,但后面发现原来不是。于是谷歌一番,谁知道没啥结果,最后在linux类的论坛的一张帖子里找到了解决办法,于是在上课的时候不务正业的解决了这个问题。最后顺手做了个《轻轻松松背单词》词库的音标字体。
帖子地址:http://www.linuxsir.org/bbs/thread363915.html
下面总结一下自己的解决方法。
Kingsoft Phonetic Plain(下面简称KPP)是金山词霸自带的音标字体,可是当我们把它放到android系统下用时,很多音标就不能显示出来。
下面是自己的一点看法,不是专业的,但能解决问题就行了。
造字的时候,每个字体都要遵循特定的一张字体映射符表,好比有个特定的专们给字符用的座位表。KPP字体把音标符写在了微软专用的区域,也就是说KPP的音标符全部坐到了微软专用的座位上。
而我android才不去管你座位上坐的是谁,所以找对应的字符时,不会去你微软的专区找,只在拉丁文区找。这就导致在android下KPP音标不起作用的结果。而我们想要KPP在linux下起作用,那怎么办,只好自己给它换座位了。
有个软件叫FontForge,可以用来修改字体内部的字符的位置,附件有windows版的安装文件。
原来的KPP字符表结构:
用FontForge打开后,拖动滚动条到表中比较靠后的位置,就可以见到下表了。
我们只需对照KKP的音标映射结构,把音标符们搬到如下位置即可。从原表中第二行的空格开始,选中所有音标字符,剪切到字符表中的如下位置,在表开头的地方,从第二行的空格开始,选中同样大小的地方,然后粘贴,另存字体即可。
(注意两张图片红色圈起的地方。)
修改后的KPP字符表结构:
这样修改后的自己即可在android下正常使用,理论上在linux下也一样了,我没试了。
本文说得比较简洁,可能会表达不到位,建议各位还是自己试试,不用我多解释。
- 大小: 28.4 KB
- 大小: 32.4 KB
分享到:
相关推荐
在推上fo了个toefl单词机器人,没想到很多单词的音标显示成了小方块,那就是android默认的英文字体对某些英语国际音标不支持了,当然我的Galaxy S刷了第三方ROM的,不过从网上的帖子来看,官方的字体存在一样的问题,...
音标 字体集 用于音标显示乱码 ,音标显示不好的时候安装
android手机带音标的字体,解决kindle 即译音标显示不全(不全部份显示为方框)的问题,用法参见博文。
英语音标字体安装器 使系统支持音标 避免乱码等状况
让你的音标能在WORD中正常显示!金山词霸音标字体让你的音标能在WORD里正常显示
在office办公软件word,excel中显示英语音标,主要是需要一个含有音标的字库。此字库是金山词霸中的字库,按压包中的说明进行操作即可完成。