趣百科

安卓手机字体替换教程

编辑:Simone 2024-10-18 13:28:40 610 阅读

安卓手机字体替换教程

本篇教程所采用的方法,即直接替换法。教程主要是针对所有的安卓设备。要求:机器已经获取了root权限。替换字体可能会导致系统异常,由于个人修改系统字体操作失误导致系统异常的,本人概不负责。替换字体前请务必备份一次原文件,防止由于误操作导致系统字体丢失。

替换前您还需要知道……

Android OS 字库位于:/system/fonts/目录下

Android OS Ver 1.5 ~ 3.0部分字体文件说明:

DroidSans.ttf系统默认英文、数字常规字体

DroidSans-Bold.ttf系统默认英文粗字体

DroidSansFallback.ttf系统默认中文字体

实际上,安卓系统版本在1.5 ~ 3.0的,如果需要更换中、英文两种字体,其实只要替换DroidSans.ttf 、DroidSansFallback.ttf 两个文件即可。切勿去替换英文字体DroidSans-Bold.ttf,因为这可能会导致你的设备不能正常开机。

Android OS Ver 4.0 ~ 4.4部分字体文件说明:

DroidSans.ttf(链接文件) -->(指向)Roboto-Regular.ttf(实际文件)

DroidSans-Bold.ttf(链接文件)-->(指向)Roboto-Bold.ttf(实际文件)

DroidSansFallback.ttf系统默认中文字体(未做出改变)

安卓系统版本在4.0 ~ 4.4的,如果需要更换中、英文两种字体,只需要替换Roboto-Regular.ttf、DroidSansFallback.ttf两个文件即可。经测试发现,若设备替换了英文字体Roboto-Bold.ttf,即使修改好了文件权限、所有者和用户组也照常不能正常开机。

这些新的Roboto英文字体是由Google发布的新一代操作系统Android4.0提供的,为了显示效果更加清晰美观,与整个界面系统完美融合。而之前的DroidSans.ttf 、DroidSans-Bold.ttf已经被替换为链接文件了,它们的目标路径分别指向Roboto-Regular.ttf和Roboto-Bold.ttf两个文件,虽然不知道这样做真正原因。但我猜想,Google创建链接文件的原因应该是为了保证兼容旧的Android版本系统程序,同时也是为了保证一些开发基于在安卓系统版本3.0以下的(包括3.0)平台下的的应用程序能够正确的调用系统字库。

具体步骤如下:

一、首先更改系统文件要Root机器,具体方法“因机而异”,大家可以在网上搜索适合自己的机型ROOT的方法。

二、下载字体包,在网上搜索关键字,找到自己喜欢的资源后下载即可,在手机端用安装字体管家下载字体也行。字体包分为“APK安装型”,“TTF替换型”两种。如果下载的为“APK安装型”,那么字体可以从安装包内提取。部分手机不需要获取Root也可以更改系统字体,比如:三星,可以用字体管家直接安装字体包替换。

三、安装Root Explorer,此软件是由Speed Software开发的,Root Explorer是一款高权限文件管理器,获取Root权限后对系统文件进行操作,正可谓手机ROOT后必备。

四、将字体包存放到手机SD卡内或存储设备内。安卓系统版本在1.5 ~ 3.0的只需替换DroidSans.ttf(英文) 、DroidSansFallback.ttf(中文)即可。安卓系统版本在4.0 ~ 5.0的只需要替换Roboto-Regular.ttf(英文)、 DroidSansFallback.ttf(中文)即可。然后字体按照你手机的系统的版本,更改对应的字体名称即可。注意,中、英文字体包不要搞混,否则替换字体后会导致字体出现乱码。一般英文字体包所占用的空间要比中文字体包小得多,这样就很好区分了。

五、将字体包重命名后,打开Root Explorer,找到路径/system/fonts,再把fonts目录内要替换的字体更换名称即可,不必要删除,避免到时候想要更换为原来的字体没辙了。可以任意命名,但在文件名称合法且不冲突的前提下。例:“DroidSans.ttf ”可以重命名为“DroidSans.ttf .bak”。

六、先将RE管理器上的挂载为只读按钮点击为挂载为读写后,再把之前准备好的字体复制并粘贴到路径\system\fonts内,不然无法粘贴。

七、粘贴到Fonts目录后,请务必记得更改字体的文件权限为rw--r--r--,否则会导致字体乱码。可参照Fonts目录内其他系统字体文件的权限设置(详情请往下看)。更改完成确认无误后,再重启手机即可。

Android字库权限:

Linux文件系统里的文件都是有权限的,且与Windows文件系统里的权限概念有一些区别。三个权限者,Owner, Group, World(Other),每人都有三项权限,分别是 Read(r), Write(w) 和 Execute(x) 。其中代表Read的数字为4,代表Write的数字为2,代表Execute的数字为1,这样就可以用1-7的自然数还表示不同的权限。比如R+W就是6,R+W+X就是7,R+X就是5,等等。三个权限者分别排列,就有了755,777等这样的代表权限组合的数字。

以上字库的权限的权限都必须是rw--r--r--,这样替换字库后才会运行正常。一般在我们替换字库前需要用root explorer查看被替换字库文件的权限,替换后用chmod命令修改权限,这样显示才会正常。

关于Android lib文件:

有些字库不仅需要替换字库文件,还需要修改lib文件,比方说阿拉伯语,替换字库后虽然可以显示,但是阿拉伯语显示的却是确实假的,因为字库的组合顺序不正确。

安卓 Android 5.0 & 5.1 (Lollipop)系统字体替换教程

TTF字体直接替换法

简体中文:

需要替换DroidSansFallback.ttf(Google 在 Android 5.0 为了更好地实现多重字重和样式,推出了 NotoSansHans 字体,要仍然考虑到程序的字体调用的兼容性因此不能删除它这就是保留它的原因)和 NotoSansHans-Regular.otf(有些 ROM 默认没有此字体,如果没有的话也无妨,默认就好。而NotoSansHans-Regular.otf的优先级应该要比DroidSansFallback.ttf 高,所以一般开发平台在 Android 5.0 以上的程序默认是优先调用它的,如果没有,则再调用老的。注:ttf格式和otf通用,但是替换法请务必保持扩展名为.otf格式。即使是ttf的字体,也可以改成otf。另外请记得修改文件权限)。

同理:如果设备使用的是中国台湾、香港等地区的语言。(未实验)繁体中文:需要替换 DroidSansFallback.ttf 和 NotoSansHant-Regular.otf。当然,如果设备使用的是其他国家的语言:日本语言:需要替换 NotoSansJP-Regular.otf 和 MTLmr3m.ttf。韩国语言:需要替换NotoSansKR-Regular.otf和 NanumGothic.ttf。

英文字体:

英文字体是所有国家或地区的设备语言通用的字体。对于在安卓 4.4 的版本确实只需要替换 Roboto-Regular.ttf 就够用了。但是在安卓5.0替换后,可以发现系统 UI 界面程序名称仍然为默认英文字体,因此还需要替换 RobotoCondensed-Regular.ttf 才可以实现。

部分字体名称对应说明:

默认数字英文 Roboto-Regular(常规)/Blod(粗体)/Lighgt(细体)/Italic(斜体)/ItalicLight(斜体细体)Black(黑体)/BoldItalic(黑斜体)。锁屏时间字体 Roboto-Thin/Roboto-ThinItalic和 状态栏时间字体:Roboto-Medium/Roboto-MediumItalic。

字体文件替换技巧:

如果需要将大量字体进行替换,为了防止系统出现异常。可提前先将原字体文件全部备份到SD卡并创建文件夹(提前创建好),然后将下载好的字体全部拷贝到system\文件夹内(任意文件夹名,提前创建好),统一修改好权限,然后直接覆盖到system\fonts内(注意操作完成之后,正在使用的文件管理器可能会出现暂时闪退的问题),重启手机。注:经测试在安卓system\fonts字体库内有些字体文件替换后可能会导致个别应用程序无法打开的情况,考虑到系统的稳定性,个人认为没有必要将其外的字体替换。因为目前这样就已经够用了,再替换,单从系统操作界面上,也无法察觉和大面积替换有什么不同。

关于部分安卓设备替换时钟字体后,锁屏时钟字体仍然没有任何改变的情况:

针对出现的这一问题的原因,广义上上来讲就是安卓系统碎片化的原因。狭义上来讲,可能就是部分手机ROM的定制厂商,设计了只属于自家设备的时钟字体,从而并没有去调用系统内部提供的锁屏时钟字体库,导致的这一情况。解决方法的有:反编译时钟或SystemUI APK手动修改时钟字体相关配置。或使用基于Xposed框架的系统美化软件,优点是不需要经过修改APK就可以修改系统锁屏时钟字体,达到美化系统的目的。

关于字体质量(乱码)的问题:

我们所找的字体包一般只有一个ttf的中文字体文件。那如果寻找不到相同的英文字体怎么办?实际上只要把中文字体拷贝一遍然后再命名为Roboto-Regular.ttf 一般来讲就可以使用了。但是如果中文字体很大的话(10M以上)。如若不想浪费空间。中文字体可以以链接的方式创建一个命名为 Roboto-Regular.ttf 的英文字体,替换也可以解决这一问题。但是,直接这么做的话,将中文字体直接作为英文字体,替换后出现了乱码怎么办?这一般不是字体库不全的因素导致的。经实践,如果单独替换中文字体后没有出现乱码等情况(操作正确,且权限已修改)。而是只替换英文字体后之后才出现的。可以考虑的原因是英文(或原中文)字体太臃肿,或者是英文(或原中文)字体编码跟中文字体编码冲突导致的问题了。当然,这只是一个假设。我的解决方法是:这需要手工修改字体文件,使用字体修改软件如:Font Creator,手动删除多余的中文字体。然后,还可以再适当的再优化一下:删除英文字体库下中文等平台的无用信息等。手工删改庞大的中文字库可能会出现机器卡死的情况。建议在内存充足的环境下进行。具体怎么操作,请自行查阅相关资料,这里就不再赘述。

核心提要(基本字体更换):

中文字体需要替换:DroidSansFallback.ttf(中文字体文件),NotoSansHans-Regular.otf(注:有些 ROM 默认没有此字体,没有但也无妨。)

英文字体需要替换:Roboto-Regular.ttf(英文字体文件)RobotoCondensed-Regular.ttf(主要DroidSansFallback作用在系统UI界面应用程序英文部分名称)

fonts.xml与fallback_fonts.xml文件修改法

可以参照知乎网友提供的教程(具体需要修改哪些字体最好参照手动替换法):

链接:http://www.zhihu.com/question/26202765

如果还有什么不懂的话可以参照本人提供的安卓4.4以下设备的字体详细替换教程l至于选哪种方法取决于大家,依据个人情况,喜好而论吧。教程结束。

补充:记得当天我是为了凑上元宵节,特地赶时间加紧整理出来的一篇——就牵强叫做“安卓实践技术贴”吧!太深层次的技术谈不上,但确实也是本人煞费苦心,经过实践综合的操作,才得出来的一个结果。这样做的危险性就是,改字体一但系统出现问题不能使用,你每次就再得麻烦自己重新去刷机了,然后再继续一步步的证实你的言论是否成立,如果成立,假若后续又得出更为合理的解释,那么又得推翻之前的假说。这样做可能是一次,两次,三次……,然后你又得重新接受你新的理论,抛弃之前那些在大脑里所接受的东西,直到后面实践所得的现象,无法用更为有力的说法去解释为止。整理这篇“实践贴”目的有两个,一是,为了方便自己以后忘记了再遇到这个问题,回头看看文章能迅速反应过来。而是为了方便大家已经遇到了这个问题的人,免得再花大量的时间与精力在去做这些事情。避免重复性的操作,节省你的时间,去做你认为更有价值的东西。反正大家要达到的目的都是一样的。只要大家支持,我就有动力去做,我无所谓。

安卓 Android 5.0 & 5.1 (Lollipop)系统效果图:

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/life/24113.html

相关推荐