Click here to Close
 
打印

[教程] iPhone字体更换方法(英文中文同时生效)

iPhone字体更换方法(英文中文同时生效)

本来把算把本楼移到二楼,然后本楼来写最新的成果,结果发现图片和附件都不能移动,所以就懒得麻烦了,直接在二楼更新。

【3/31更新】:最新研究发现iPhone的字体调用规律,保证你随心所欲美化你的字体!详细请见二楼。

【引子】
      前两天的一帖[url=http://www.weiphone.com/thread-88744-1-1.html]《字体制作教程点我[/url]大家都表现出比较大的兴趣,甚感欣慰。其实也就是通过我给的方法自制自己喜欢的中文字体,替换iPhone里的同名文件即实现中文字体的DIY而已。

       但是我们发现这样做只能更换中文字体,英文字体还是会保持原来的样子,因此这两天对此进行了一点点研究,现在把研究共享出来,希望给大家一点点帮助。本来是想更新在[url=http://www.weiphone.com/thread-88744-1-1.html]《字体制作教程点我[/url]这里的,不过觉得现在研究的内容和字体的制作没有太大的关系,而且更新在原帖里会显得比较凌乱,因此重新开一帖,希望大家一如既往的支持。

       由于研究还在继续中,我随时会更新最新的成果。

【目前的成果】(以下内容1.1.2版测试有效,1.1.4有朋友说似乎不行,喜欢动手的朋友赶紧研究下啊,原理上肯定是一样的!)
      桌面(SpringBoard)首先会调用的英文字体是/System/Library/Fonts/Cache目录内的Helvetica.ttf、HelveticaBold.ttf这个字体文件如果这个字体被删除或损坏,则会调用arialuni.ttf,因此只需要找一个你自己喜欢的西文字体文件,按照[url=http://www.weiphone.com/thread-88744-1-1.html]《字体制作教程点我[/url]所述的方法进行更换,然后替换到iPhone里的/System/Library/Fonts/Cache里的同名文件Helvetica.ttf、HelveticaBold.ttf即可,我改好的字体文件的下载及更改后的效果如下:
      备忘录里的英文字体是MarkerFeltThin.ttf、MarkerFeltWide.ttf,也可以用同样的方法更换。



        我这里只是自己选了觉得和少女字体比较协调的英文字体,当然针对其他字体你完全可以自己制作自己字体,需要注意的是一定要选择英文字体来制作,否则会造成不必要的空间浪费和字体调用出现问题。我抽空会试验把Helvetica.ttf、HelveticaBold.ttf用CJK字体更换,而把那STHeiti.ttf、STXihei.ttf用西文字体替换或删除,说不定会一举搞定。





【研究过程】
      其实研究过程比得到结果更有趣呢,在这里贴出来供喜欢动手的朋友参考,大家参考和讨论。

      更换STHeiti.ttf和STXihei.ttf两个字体后,发现所有有中文的地方都会调用这两个字体,而所有有英文的字体都无动于衷。因此我想,iphone在调用字体时肯定首先从某个英文字体中进行匹配,iphone系统是采用Unicode编码(大部分中文邮件由于是采用ANSI编码所以会乱码),如果在优先的字体中没有找到编码,会在第二优先的字体(很可能是arialuni.ttf)中匹配,而STHeiti.ttf和STXihei.ttf这组字体是最优先有CJK字符(不懂的可以Baidu下)的字体。以上结论的证据如下:

1、我把STHeiti.ttf和STXihei.ttf两个字体用英文字体替换,结果所有的中文都会调用Cache目录里另外两个7m左右的字体,试验过程中忘记截图了,抱歉!
2、删除Cache目录里几个大字体文件,结果所有有中文的程序都不能进入。(还好没变砖,重新传上字体就ok了)。
3、根据以上两个试验的结果,我考虑如果把Cache目录里除4个比较大的字体文件之外所有的英文字体全部用一个空Glyph的字体替代的话,那么所有的文的都会去调用STHeiti.ttf和STXihei.ttf这两个字体吧,这样不就方便了许多啊!!兴奋,赶紧试验,但试验的结果比较失望,废了半天的劲修改了三十几个字体(还好有那位朋友的批处理文件,所以才不算太烦)替换后,机器功能没任何异常,但英文和数字都显示为□。分析原因,毕竟自己还是不懂字体,虽然删除了Glyph,但字体文件里的编码等都没有删除(不知道怎么删,55)。

4、没办法,只有一个字体一个字体往iphone里恢复,但因此也基本找到英文字体的调用。哈哈!!

【其他】
      我发现Fonts文件内的所有字体文件都没什么用,似乎都可以删除掉,这样可以节约出尽30M的空间,哈哈,根本就不需要移动什么c盘了!我还试验,慎重!慎重!

研究很辛苦的,终于有了点结果,大家多支持支持啊!



[ 本帖最后由 hao715 于 2008-3-31 14:58 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • L.Lawliet 人气 +1 大哥,帮个忙吧。。http://www.weiphone.com/ ... 2008-8-1 14:51
  • macres 人气 +5 感谢分享^_^ 2008-5-28 11:00
  • Nicholas we券 +8 原创内容 2008-4-21 12:05
  • Nicholas 人气 +8 原创内容 2008-4-21 12:05
  • Nicholas 经验 +18 原创内容 2008-4-21 12:05
  • marslove 人气 +3 可以改英文了。。。 2008-4-1 12:49
  • Lynn-yang 人气 +38 精品文章 2008-3-31 17:46
  • Lynn-yang 经验 +5 精品文章 2008-3-31 17:46
  • stny 人气 +2 原创内容 终于有人象研究n-gage一样研究iPh ... 2008-3-31 09:22
  • jefferson we券 +10 支持!我的就是英文的!!! 2008-3-31 08:17
  • jefferson 人气 +10 支持!我的就是英文的!!! 2008-3-31 08:17
  • jefferson 经验 +10 支持!我的就是英文的!!! 2008-3-31 08:17
  • jerry1111 人气 +3 支持楼主 2008-3-31 00:03
  • splashb2b 人气 +3 1.0.2的怎么弄阿 LZ帮帮忙吧 2008-3-30 23:53
  • hotsjf 人气 +3 lz是个爱研究的好筒子~ 2008-3-30 23:34
  • sew900i 人气 +1 只能加一分啊,鼓励鼓励,加油啊。。。 ... 2008-3-30 23:24
  • 5576249 人气 +3 精品文章 技术强贴啊!!!!狂支持 ... 2008-3-30 23:01
  • 2006 人气 +5 研究过程更有趣 2008-3-30 22:57

TOP

首先说明一下,我个人主要研究的是字体的制作方法,这么久我也就一直使用少女字体进行试验,不想自己做的字体可以去5576249兄的帖子里去下载或请求。

言归正传,经过多次试验,终于发现我1.1.2的iPhone操作系统字体调用的规律,具体如下:


根据以上调查结果,可以发现各个软件(包括SpringBoard)首先调用的几个字体,基本上都是到第三选择才会是STHeiti(包括中文字体),而如果STHeiti这个字体的字库足够大,那随后的小日本字体(两个otf字体文件)就肯定是鸡肋了,试试证明删除了也没有任何问题(我已经给咔喳了)。大家可以看看我现在的空间占用(没有做过瘦身的哦)




因此,只需要把Helvetica.ttf和HelveticaBold.ttf这两个字体更改为有CJK字库的大字体,就可以解决大部分软件的调用问题。为了节约空间,我把STHeiti.ttf和STXihei.ttf这两个字体替换为小的英文字体,结果发现Books、备忘录以及几个第三方软件会出现字符白框框。

此外,Fonts字体目录内的所有字体文件都没有用到,我现在已经全部删除了,需要注意的是CGFontCache.plist这个文件一定不能删除!!

总结一下我现在的做法如下:

1、为防止出现空间不足的警告,我先把Fonts目录内的所有ttf文件全部删除,保留CGFontCache.plist。删除Fonts/Cache目录里的两个otf字体文件,语言选择日文也没有问题。注意:请务必先备份你的Fonts文件夹!!!


2、制作Helvetica.ttf、HelveticaBold.ttf、STHeiti.ttf、STXihei.ttf这4个字体文件为包含CJK字符的大字体,替换Cache目录内的同名文件。如果你也喜欢少女体,又保证你是1.1.2版本,也可以在这里下载这4个字体:,STXihei,STHeiti




3、重启SpringBoard即可。


效果:


其他版本的原理保证都是一样的,但就是需要找到字体调用的规律,我自己不是1.1.4,短时间也没有升级的打算,所以请喜欢动手的朋友按照我1楼的方法进行测试下吧。

[ 本帖最后由 hao715 于 2008-3-31 15:31 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • 5576249 人气 +3 原创内容 严重期待中啊 2008-3-31 13:05

TOP

还在用1.02有没有1.02用的···

TOP

回复 3楼 的帖子

你可以参照我的方法进行试验啊,原理绝对是一样的,我不可能降回1.0.2的哦,请谅解!

TOP

支持啊!

TOP

谢谢LZ.
补充一下我所知道的。
1. arialuni.ttf 很大,但不能删除。删除后如果有程序需用,会出白苹果。似乎weDict用到。
2.两个日本字体文件HiraginoKakuGothicProNW6.otf 和 HiraginoKakuGothicProNW3.otf 也最好不删除。
  我不小心在设置”Asian Fonts" 点了日文,就白苹果了。
  
如果能把日文整个从iphone里删除,就没有这个问题。但我还不知道怎么做。

TOP

大力支持啊。。。期望更多配套英文字体,造福大众。

TOP

支持一下

TOP

引用:
原帖由 davidchang512 于 2008-3-30 23:00 发表
谢谢LZ.
补充一下我所知道的。
1. arialuni.ttf 很大,但不能删除。删除后如果有程序需用,会出白苹果。似乎weDict用到。
2.两个日本字体文件HiraginoKakuGothicProNW6.otf 和 HiraginoKakuGothicProNW3.otf 也最好不删 ...
嘿嘿,当然不能单纯的删除了啊,你可以用我更改字体的方法把这几个无用的大字体替换成很小的英文字体,到时就是调用的话顶多出现框框或乱码,肯定不会出现白苹果的。我这两天折腾了这么久都没白苹果过!

[ 本帖最后由 hao715 于 2008-3-30 23:08 编辑 ]

TOP

支持!!!!!!!!!!!!!!!!!!!!!!!

TOP