宋体替换制作教程

上传人:ldj****22 文档编号:45618727 上传时间:2018-06-18 格式:PDF 页数:43 大小:1.70MB
返回 下载 相关 举报
宋体替换制作教程_第1页
第1页 / 共43页
宋体替换制作教程_第2页
第2页 / 共43页
宋体替换制作教程_第3页
第3页 / 共43页
宋体替换制作教程_第4页
第4页 / 共43页
宋体替换制作教程_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《宋体替换制作教程》由会员分享,可在线阅读,更多相关《宋体替换制作教程(43页珍藏版)》请在金锄头文库上搜索。

1、字体制作教程字体制作教程 点阵点阵/ /衬线衬线/hitting/hitting . 1 等宽字体等宽字体 . 4 字体替换调整方案字体替换调整方案 . 6 点阵的操作点阵的操作 . 14 给等宽无点阵字体添加点阵给等宽无点阵字体添加点阵 . 16 替换宋体制作教程(无点阵版)替换宋体制作教程(无点阵版) . 18 添加字模添加字模& &批量调整字模批量调整字模 . 33 点阵点阵/ /衬线衬线/hitting/hitting 什么是点阵/衬线/hintting 信息/cleantpye 为什么没 GDI+好看 -by lietxia 2008.11.16 = = = =几种带有 hintti

2、ng 信息.完整支持中文的字体= = 不要觉得雅黑的 hintting 很差.我试了下.自动生成的更差 上面自动.下面雅黑 等宽字体等宽字体 什么是等宽字体?等宽字体有什么特点 -by lietxia 2008.11.16 图片已被缩小,单击此图片观看效果最佳 等宽字体就是一个中文的宽度等于 2 个英文的宽度. 原新宋体就是等宽字体. 微软雅黑就是一个不等宽字体. -缺点- 第 1 个是等宽字体. 第 2 个是不等宽字体微软雅黑 第 3 个是原新宋体 等宽字体有些字模显得非常拥挤.有些显得太空虚.而且数字 0 和大写 O 不好区分. -优点- 做修改宋体的话. 由于和原宋体的字模宽度一样.任何

3、地方的长度不会改变. 所以用 word 处理文档的时候.文本既不多.也不少.正合适. 其他各个地方都一样 等宽字体的点阵很容易找到.简.繁.日.韩.均有等宽字体的点阵可以来用. 不像不等宽字体.宽度很难找到相似的.而且加点阵后.如果点阵宽度和矢量轮廓不一致.就会让字模变窄/变宽. =等宽字体英文一般都不怎么好看.不过还是有比较好看的= 字体替换字体替换调整调整方方案案 字体替换解决方案 -by 碧海潮声 2007.11.16 字体下载修正为:http:/ 首先要明白一点:任何方案都不可能是完美的,即使是微软原始的字体,也不可避免出现兼容性问题。我们的目标不是制作一种完美的字体解决方案,而是在现

4、有的条件下让字体尽可能地完善。本文并无贬低其他解决方案的意思,如果文字有任何冒犯之处,敬请谅解。按照问题的严重级别,列出了替换 SIMSUN.TTC需要引起注意的几点: 1) 是否因替换字体后引发死机或软件字符映射错误 微软原生的字体首先是符合中国国家标准(GB2312、GBK)的,否则不会允许在中国销售。因此,我们一般使用的软件用到的字符集一般都会满足 GB2312 或 GBK 的标准。现在出现的较多的丽黑改宋体替换后死机、软件不能运行等问题与此关系最大。因为丽黑原本就不是在大陆销售的字体,尽管显示效果不错(对不起,许多人认为它很 Perfect,我只是说它 good,因为我不大喜欢满屏都是

5、很粗的字体) ,因兼容标准的问题,我不会使用它。爱好丽黑的朋友需要在美丽与稳定之间作出权衡。我推荐使用“微软雅黑”来替换系统的宋体,不是说其他字体不如雅黑,但一个值得肯定的原因是:雅黑是除了原生宋体外兼容性最好的字体了 2) 是否撑大对话框且对话框信息是否显示完整 设计得好的软件不会因为字体撑大对话框而导致信息显示不完整,例如 Windows 的一系列对话框,在替换字体后尽管对话框被撑大,但其中的信息是完整的,不想某些低劣的界面设计(例如众所周知的 QQ) ,换一个字体,就出现按钮不见了或按钮与文本框“干涉”的现象。可悲的是,我们中国人使用的最多的软件就是这个 QQ,所以我们不得不为了一个糟糕

6、的设计绞尽脑汁去调整我们的字体。 一直以来,使用雅黑修改的宋体导致 QQ 对话框信息不完整是一个顽疾。宋体单位尺寸为 256,雅黑设计为 2048。一般来说,如果雅黑的各项参数正好是宋体的 8 倍(2048/256) ,则对话框不会被撑大。不幸的是,我们看到的雅黑是一种比宋体扁的字体,它的各项参数严重偏离了这个比值。许多人以为是雅黑的行距比宋体大,这是不对的,恰恰相反,如下图所示,上面的是宋体的参数,下面的是雅黑的,宋体的行距为 36,雅黑为 0,可见调整行距是一条错误的路。 字体设计时,都有一条“基线”,其纵坐标为“0”,字体的高度就是基线之上的值与基线之下的值之和。在比较两者的过程中,可以

7、发现宋体为 220+36=256,而雅黑为 2167+536=2703!但在研究过程中发现,所有的中文字符和大部分的英文字母都在-3682208 这个范围之内。一个雅黑字体设计有 2703 高,但真正有信息的部分仍然是 2048, 其他的就是空白部分。 此时我们明白, 为什么雅黑看上去“行距”比宋体大,本质上的原因是字符上下的空白比宋体多而已。 因此只需要简单的把图中的2167改成2208=1760, -536改成-368=288 即可实现对话框纵向不撑大。 为了保险起见, 我在其他页面的数字也参考了宋体按比例来调整。 是否此时一切问题都解决了?答案是否定的!眼睛告诉我们,雅黑比宋体要扁,也就

8、是在横向上,雅黑的宽度也不是宋体的 8 倍。如上图所示,右边的文字信息与边框的距离明显有些大。但横向的调整我没有找到方法,希望能得到高手的指点。幸运的是,我们那个该死的 QQ 对话框已经正常了。 改造到了这一步还没有完成,前面提到“大部分”的英文字母在这个区间内,但仍然有“漏网之鱼”。典型的几个字母:g、j、p、q、y、就会超出下部边界(-288) ,导致使用这些字母的文本出现“斩脚”现象。我的做法是固定上边界,将下边界拖动到-288 附近。此时,改造的大部分工作就完成了。 3) 在使用系统固有的英文字体时,是否出现汉字或英文字母过大或过小的现象 上面改造的雅黑,填上原生宋体的信息,就成了我的

9、“雅黑改宋体”了。以前我一直不想用雅黑做界面字体的最重要的原因就是:雅黑的英文字母号称也是“Segoe UI”,但比起真正的 Segoe UI 来说,差距就太大了,让我看着极不舒服。我们知道 Windows 系统有一种“字体链接”的技术:就是在使用英文字体时,如果遇到这种字体中没有的字符,就会到注册表相应的位置去找它链接的字体。因此,我们看到许多主题使用Tahoma 字体,但实质上 Tahoma 是不包含中文信息的,我们只要打开注册表编辑器,浏览到这个位置HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontLinkSys

10、temLink,会发现一个 Tahoma 的链接,它的第一行为 SimSun.TTC,意思就是遇到中文时,它默认到 SIMSUN.TTC 文件里去找,如果没有发现这个字,再到第二行的字体里去找话题扯远了,如果我们把第一行改成没有修改过的微软雅黑,会出现汉字极小而英文很大的现象,但使用上面修改过的雅黑后,一切都正常了,雅黑的汉字与 Tahoma 的英文能完美的配起来。 毕竟,使用 Tahoma 有些怪(个人爱好不同) ,因为 Tahoma 的英文字母与雅黑的英文字母风格不一致,所以最佳方案是使用 Segoe UI,然后仿造 Tahoma 创建一条注册表信息,这样,英文字母为Segoe UI,中文

11、为雅黑,如果遇上某些软件固定了字体为“宋体”,那么显示的也是雅黑的英文字母,与 Segoe UI 风格仍然是一致的。 很多人提出一个问题,就是替换掉原生宋体之后,因为修改了字符的纵向区间,会导致中文行间过于紧密,如下图所示: 此时我们就需要发挥字体链接的威力了,修改格式菜单里的字体为 Segoe UI,再看看下图的效果: 可以看到,字符行距已经被拉开了,这正是我们需要的结果。 4) 对拥有自己单独字体映射的软件是否显示正常 有一些软件有自己单独的字体配置,也就是他们并不使用 Windows 主题中指定的字体,例如 JAVA 的 GUI程序、比特精灵等,这个时候就可能需要在上面提到的字体链接中进

12、行配置了,例如,比特精灵使用的是TAHOMA,不论界面字体怎么更改,其始终为TAHOMA,如果在字体链接中没有 TAHOMA(一般都有,这个是 Windows 默认的) ,就会出现乱码。其实,这点在使用 GDI+的 FreeType 进行渲染时可以得到验证,如果不在字体替换中指定“TAHOMA=SIMSUN”,比特精灵的界面就变得其丑无比。如果不使用 FreeType,只使用 GDI+默认的渲染引擎,这些都没有问题。 5) CMD 窗口中的中文是否显示正常 很多字体替换方案只是简单的将修改后的“宋体”复制一份,然后改名为“新宋体”,接着就使用 MAKETTC 合并成一个 SIMSUN.TTC

13、文件,这在一般情况下是没有问题的。但我做了多年的程序员,总喜欢打开 CMD 窗口进行一些操作,使用这样的字体往往出现中文显示混乱的问题。关键的原因在于,原来的宋体和新宋体带有点阵字体,CMD 窗口只能使用这种字体,因此,不能简单的合并。比较安全的做法有两个:一是以前我做的 NSIMSUN.TTC,将其中的“宋体”改为“宋体_GB2312”,然后与新宋体合并,这样只需在 CMD 的属性窗口里配置字体为“新宋体”就可以了;另外一种需要些技巧:既然我们已经使用了改造的宋体,也复制了一份新宋体,并合并了 SIMSUN.TTC 文件,那么可不可以让 CMD 窗口使用其他字体呢?答案是可以,但需要在注册表里动点手脚。首先把新宋体改名为“新宋体_GB2312”,用 MAKETTC 生

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号