[Android]从头到尾教你制作发音且字体显示正常的Ankidroid(Anki)词库
本文使用的ankidroid版本是0.6,以制作英语词库为例。
本文解决的问题:
1、android系统手机上音标字体显示缺口的解决,完美修正音标;
2、如何让anki在手机上发音以及语音库相对位置的实现;
3、如何导入自己的词库到ankidroid或anki;
首先是音标字体文件:
一般从金山词霸(09版)或有道词典导出的生词本都是通用的音标格式了。但是,该死的安卓系统,居然不支持显示通用的音标字体!!像blunt[ blʌnt ] 中的"ʌ"就显示为“口”。我在《ankidroid暂时不支持(某些)音标显示,附解决办法》一文里提到了两种解决办法:ankidroid下一版本要支持自定义字体;还有另一个优秀的记忆软件anymemo已经可以支持自定义字体。这两种方法都不能根本上解决音标显示问题,比如在其他软件中(词典软件等)显示音标字体也会经常出现缺口。最好的办法就是直接替换掉系统字体!
刚才骂了安卓系统,现在又不得夸奖一下。安卓系统由于开源带来的强大的自定义性,修改字体是十分简单的。两种方法:一种手动替换;另一种使用软件“字体管理器”。前提是手机已经root。
小知识:Android系统字体结构(字体在systom/font文件夹下):
DroidSans.ttf 系统默认英文字体
DroidSansFallback.ttf 系统默认中文字体
第一种方法需要自己动手,其实也比较简单,网上一搜一堆教程。【新手美化】Android字体替换攻略
第二种方法就更简单了。建议先备份一下系统字体。将字体文件复制到SD卡根目录下,把中文字体命名为zh.ttf,英文字体命名为en.ttf(都已大小写)。这里我使用Segoe UI这个字体,选择字体后点击安装即可,你会看到屏幕的字体变成乱码了,此时重启手机即可。
图片:字体管理器和最后我制作好的词库,发音设置在答案栏
这里提供一下字体管理器和Segoe UI字体文件下载:http://u.115.com/file/aq7t806r#
搞定了android的字体显示,接下来说说语音库和词库的制作。
语音库的相对路径:
把voice语音库文件夹放到AnkiDroid文件夹下,在电脑端导入词库时,声音列格式(不管在问题栏还是答案栏),写成[sound:../voice/a/abuse.mp3] 这种格式。
如果使用PC端的anki,可以使用[sound:file:///e:/a/abuse.mp3]这种绝对路径,但是在安卓手机上,我试了几次没有成功,可能是SD内存卡的映射地址没设置对吧。
anki词库的制作和导入:
anki支持多种格式的导入,最简单的还是“问题+TAB+答案”这种格式的txt文本。
以金山词霸09版的生词本为例。首先可以使用词库转换精灵对生词本进行格式预处理。格式预处理出来是“单词+TAB+音标+TAB+解释”,anki不支持两个TAB制表符的导入(其实是第二个制表符后面的内容会归划为词库的“标签属性栏”,也就是上面预处理的文本的“解释”一栏不会出现在anki的答案栏中)。这就要使用正则表达式来去掉多余的TAB制表符了。
简单举个例子:
fume fju:m n.烟雾, 气味 vi.愤怒, 大怒, 发怒冒烟 vt.用烟熏
比如想替换掉音标后面的制表符,并且加入anki的发音规则。可以分成两部来做,其实一步也可以。
查找:(?<1>^.*\t.*)\t
替换:\1
查找:^(?<1>\w)\w*
替换:\0[sound:../voice/\1/\0.mp3]
很简单的一个正则表达式应用,推荐大家都学习一下正则表达式,对于词库的制作会很有好处,例如可以把qa文件也都转换成anki可以导入的格式等等。
关于词库导入到ankidroid:ankidroid是不支持手机端导入txt文本的,也就是要先在PC端制作好词库好(制作成.anki格式)然后导入到手机中。电脑端导入后生成的词库在C:\Users\你的用户名\Documents\Anki文件夹下面。
电脑端制作好的.anki文件放到手机SD卡中的ankidroid文件夹中。严重注意:必须同时在该文件夹下建立一个.media同名文件夹。比如你的词库名字是“gre词汇.anki”,那么你就建立一个“gre词汇.media”文件夹。不建立该文件夹的话,anki找不到语音库的位置导致无法发音,切记!
好了,这样就完全搞定了ankidroid的所有问题,赶紧进入学习之旅吧!:)
原创文章,转载请注明出处:
文章来源:古意人
链接地址:http://www.guyiren.com/archives/739