前言

最近笔者安装了一个不错的软件MemoDroid,用来背单词。但使用过程中发现一个问题,MemoDroid使用XML作为单词的数据库,在现实方式里也有两种选择:1、直接文本显示;2、XML格式显示。直接文本显示无法设置字体的颜色,排版,背景颜色等,显示效果相对较差,而xml格式显示的可定制度较高,笔者偏好后一种显示方式。但这里却存在一个问题,MemoDroid在使用XML显示单词时,无法正确实现音标。

txt显示,音标显示正常

xml显示,音标显示不完整

笔者查了一些资料,发现Android自带的英文字体是不包含完整的音标显示的,在网页中的显示也会出错。

网页中的音标显示依然不正常

所以初步判定,应该是字体问题引起的,遂打算替换系统字体,以修正音标的显示问题。

一、软件准备

androidin论坛里有不少字体的刷机包,但大部分是中文字体(注:Android的中文字体也是不完整的,部分汉字显示会出错,故也建议进行刷新,方法后面会讲到),若自己制作刷机包的话需要给刷机包进行签名,总的来说比较麻烦。遂考虑通过替换的方式进行字体的更替,在搜索资料的过程中,发现了一款软件FontMgr,已实现了字体的替换功能。可在机锋论坛下载(点击进入下载页面)。下载后,直接安装到手机可即可,待用。

二 、字体准备

电脑上的大部分字体都可以直接用在android系统上,打开C:\windows\fonts,选择你喜欢的英文及中文字体,复制到SD卡上,把中文字体命名为zh.ttf,英文字体命名为en.ttf。笔者使用的中文字体是微软雅黑,英文字体是Segoe UI。

这里有一点需要注意,由于英文字体的大小,高度,宽度各不相同,差异比较大,所以并不是所有英文字体刷到android上都能正常显示的,有些字体过大或者过小会导致菜单显示不完整,甚至是文字乱码。

如Arial字体,刷新后,音标显示是正常了

但菜单显示出现了问题,文字有被图标覆盖的现象,这是由于字体高度问题导致的

这里笔者试验了10多中字体,最后选定了Segoe UI字体,此字体包含完整的音标,且在android中显示也比较正常。当然,用户也可以试验合适的字体,无非是多尝试几次,如果您发现更合适、更好看的字体,记得通知一下笔者。

三、字体刷新

准备工作都做完了,开始着手刷新字体了。

首先,打开FontMgr

FontMgr的主界面

FontMgr软件是需要Root权限的,如果在打开软件是出现授权画面,点击Always Allow即可。在刷新字体前,首先需要备份原有字体,点击左下角的备份按键即可。由于Android系统不提供多字体支持,所谓的安装字体,就是将我们准备的两个字体替换掉系统自带字体,故刷新前先记得最好备份,如果刷完后觉得不满意,可以点击右下角的恢复按键回复到初始状态。

备份完成后,即可点击安装按键开始刷新字体。

点击安装后,出现刷新字体的界面

点击安装按键后,出现字体选择界面,可以选择刷新中文还是英文字体,点击浏览按键,选择字体文件,选择完字体后,会显示字体所在的完整目录和字体名字。核对无误后,点击开始安装。安装成功后,会有中文及英文字体刷新成功的提示。最后重启手机后,即大功告成。

四、成果

刷新完微软雅黑字体和Segoe UI字体后,无论是音标还是菜单显示,都恢复正常了,网页中的显示问题也解决了。