字体修改基础图文教程

上传人:油条 文档编号:37031679 上传时间:2018-04-06 格式:PDF 页数:24 大小:5.94MB
返回 下载 相关 举报
字体修改基础图文教程_第1页
第1页 / 共24页
字体修改基础图文教程_第2页
第2页 / 共24页
字体修改基础图文教程_第3页
第3页 / 共24页
字体修改基础图文教程_第4页
第4页 / 共24页
字体修改基础图文教程_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《字体修改基础图文教程》由会员分享,可在线阅读,更多相关《字体修改基础图文教程(24页珍藏版)》请在金锄头文库上搜索。

1、1 by Kelvin 1 基础知识介绍 首先说一点题外话, 这份字体教程说了许久, 一直没有拿出来, 实在不好意思, 在此向各位道歉。因为还没有写完,就已连载的形式慢慢发出来,前几部分为了照顾新手写得比较啰嗦,后面我会写的简洁一些。下面进入正文。 要学会修改字体,我们必须要对字体有一定的了解,我希望首先在这里很快把一些字体结构的基础知识都在这里解释一下,为了方便新手理解,我认为使用比较形象的比喻结合相关术语来说明比较好,由于我们主要使用 FontCreator 来修改字体,下文中的术语将以 FontCreator 为准。 首先,让我们把每个字体想象成一座大厦,这座大厦有他的名字等信息,我们可

2、以通过这些信息来找到这个字体。而我们所需要显示在屏幕上的每个字符相当于就是住在这座大厦每个房间的人, 这就是我们修改的主要目标了。这时你也许会想到:一个字体拥有几万个房间,我们怎么知道要找的人在哪个房间呢? 就我们接触最多的 TrueType(.ttf)字体来说,它使用的的是 Unicode 编码,它为每种语言中的每个字符设定了统一而且唯一的二进制编码, 也就是说我们大厦中的每一个房间都有一个统一而且唯一的二进制的房间号码,另外,我们还要同时保证,该房间号码所对应的人必须是正确的,否则我们找到的人就不是我们想要找的人, 显示出来的字符也就不是我们想要显示的字符。“统一而且唯一”的意思就是无论哪

3、个系统都是按照这个编码去寻找字符,并且每一个编码只可能出现一次。 2 这下大家应该比较清楚了吧,我们要让一个字体正常并且正确的显示,首先要保证字体结构是完整正确的,其次我们还有每个字符以及同他相对应的编码是正确的。当然这只是最基本的条件,实际上具体的情况可能复杂很多。 下图是一个完整的 Unicode 编码表,我们所能用到的 99.9%的字符都属于其中的 BMP(基本多文种平面 Basic Multilingual Plane),也就是 0000-FFFF 之中。 更进一步,在这 0000-FFFF 中的字符根据语言或者符号的用途分成了不同的区块(Block),同一个语种的字符以及同一种用途的

4、符号的编码都是连在一起的。 比如说基本拉丁字母 (Basic Latin)就在字体的最开头,Unicode 编码从 0000 至 007F;箭头符号(Arrows)的编码则是从 2190 至21FF,等等。下载这个文本文件(Link),你可以看到所有区块的顺序、编码以及对应的用途或语言。 进入 Wikibooks 的这个页面(Link),你可以查看到每个编码所对应的字符。 3 2 常用软件介绍 2.1 High-Logic FontCreator Professional Edition 这应该是用的比较多的一款字体创建、修改软件,虽说不够专业,但是足够我们日常使用了。目前最新版本 5.6,有

5、汉化版,不过推荐使用英文版。 英文版下载(6.29MB) :UuShare | BrsBox | Box 汉化版下载(6.71MB) :UuShare | BrsBox | Box 2.2 High-Logic MainType 与 FontCreator 是同一家公司的产品,很好用的字体管理软件,而且可以辅助我们更方便地修改字体,用到时我再详细介绍。目前最新版本 2.1.1 下载(3.71MB) :UuShare | BrsBox | Box 2.3 FontForge Linux 上的一款开源字体编辑软件, 据说功能和专业的 FontLab 相媲美, 虽然在 Windows 也可以运行,但

6、是操作习惯有些不同,也不太稳定。但是在某些功能上比 FontCreator 方便很多,所以我将它配合 FontCreator 一起使用。这里提供的版本直接安装以后就可以使用,中文版版本很老,就不提供了。 下载(7.38MB) :UuShare | BrsBox | Box 2.4 Unicode 编码转换工具 可以将您输入的字符转换为 Unicode 编码,这样你就可以快速定位该字符进行修改。有两款,其中一款支持双向转换。 下载(221KB) :UuShare | BrsBox | Box 4 2.5 字体组件 这是我从各个字体中搜刮出来的,按照相应的顺序及语种或类别放在了单独的字体文件中,包

7、含了 BMP 范围内我所能找到的所以字形。因为当初整理这些符号花了很大的功夫,如果你是用了该文件修改字体并公开发布的话,希望能署上本人名字或留下我的网站地址,谢谢。 下载(6.66MB) :UuShare | BrsBox | Box 5 3 替换字体的英文字母及数字 接下来我们就正式开始字体的修改,我将采用实例的形式编写本教程,首先我们从最简单的替换数字及字母开始,我们以制作准圆 NeoSans 为例。其实这部分很简单,就是复制粘贴而已,只需要注意一点,就是每个字形要复制到对应的编码下,要不然就会出现显示错误。通俗的说,就是要把新的字形放对房间。 Tip:我建议每次修改字体之前,都确保字体中

8、的字符是按 Unicode 编码(也就是文章开头所说的房间号)的顺序排列,这样一方面方便修改,另一方面可以大大减少修改中出现错误。在本例中,如果原字体与替换所用的字体排列顺序不一致的话,直接复制粘贴就会出现错误。具体操作方法为选择菜单栏 Font Sort Glyphs,然后选择第一项,点击 OK,这个过程需要比较长的时间。 更简便的方法是使用 FontForge 将字体另存一遍即可, 同样可以达到该目的。 需注意 FontForge打开字体的路径为 cygdrive盘符目录文件,且文件名及目录名必须为英文,保存字体使用 File 菜单下的 Generate Fonts,而不是 Save。 6

9、 首先用 FontCreator 打开两个字体,在任意位置点击右键,选择 Caption Microsoft Mappings,这样在每个字符上面就会显示它对应的 Unicode 编码,方便以后的修改过程。如果你的电脑配置比较低,使用 Visible,可以大幅提高软件速度。 我们常用的数字及字母就在字体最开头的 Basic Latin 区块中,一般的字体都会完整包含这个区块中的 94 个字符,也就是从“!”(0021)至“”(007E)。在 NeoSans 窗口中,点击第一个7 字符“!”,然后按住 Shift 键点击最后一个字符“”,选中这 94 个字符,你可以在状态栏上看到“94 glyp

10、hs selected”,然后选择右键菜单 Copy(复制),或使用快捷键 Ctrl + C。 切换到准圆字体窗口,用同样方法选中这部分字符,并且确认字体的该部分也是完整的 94 个字符,任意位置点击右键菜单 Paste,或使用快捷键 Ctrl + V,这样准圆中的这部分字符就替换成NeoSans 的了,当然你所选择的英文包含更多符号的话,你也可以按以上方法替换,只要 Unicode编码对应正确就行了。最后保存该字体。 8 4 少量连续符号或文字的添加 今天将介绍少量连续符号或文字的添加,该操作使用 FontCreator 比较方便,下面我以给方正准圆添加 Nokia 特殊符号为例,说明操作方

11、法。 实际上,你可以利用以下方法,将教程(2)提供的 Components.zip 中的任意一个字体组件添加到您的字体中。我修改的字体基本上都是不带韩文的,如果你需要显示韩文的话,通过以下方法就可以实现了。 首先打开 Nokia 符号组件及准圆字体,全选所有字符(Ctrl+A),可以看到状态栏上显示总共有 19 个字符, 同时记住这 19 个字符的编码是从 F800 至 F812。 然后使用 Ctrl+C 复制这些字符 (也可以使用右键菜单或工具栏按钮)。 切换至准圆字体, 找到上述 19 个字符应在的位置, 在该字体应该就是图中所示的 E864 及 F92C之间。在选中所处位置之后那个字符(

12、F92C)的情况下,选择菜单 Insert Glyphs。 9 弹出 Insert Glyphs 对话框,在上面 Insert 后的字符框中输入要添加的字形数,下面使用默认的第三项,点击 OK。这一步的意思就是在 F92C 这个字符之前加入 19 个空字形,也就是在这里加入了 19 个房间。 这是程序会自动选中这9个空字符, 我们选择菜单Edit Paste Special, 或者按快捷键Ctrl+E。 10 弹出 Paste Special 对话框, 将 Glyphs Mappings 及 Glyphs PostScript 选中, 然后点击 OK。 这时我们可以看到字符的添加已经成功了。有

13、的同学经常问我,添加的字符为什么不能显示,是因为在上一步没有使用 Paste Special,而只是用了普通的粘贴,普通粘贴是不会将字符编码一起粘贴过来的,相当于这些房间没有房间号,所以造成了无法显示。 11 最后保存该字体即可。 12 5 大量非连续符号或文字的添加 在本教程第二部分提供的字体组件中,有一个 Components.ttf,这个字体文件包含了除中文和韩文以外其余的所有一万一千余个符号及文字,方便大家进行一次性添加,由于原字体与Components.ttf 必定会有一部分重叠,我们所需要补充的字形肯定不是连在一起的。 另外,如果你要修改的字体中文部分不完整的话,为了能显示所有中文

14、,你有可能需要使用相似的字体将中文部分补充完整,这时你需要补充的中文字符肯定也不是连续在一起的。 在以上两种情况中,我们就不能按照教程第四部分简单的进行添加了,这一部分我们就以利用Components.ttf 补充准圆的符号文字为例,分别说明使用 FontCreator 及 FontForge(推荐)的操作方法。 5.1 使用 FontCreator 进行添加 首先我们打开两个字体,将 Components.ttf 中的字形全选,复制。 接着,我们在准圆字体末尾添加 11411 个空字形,注意下面选择第二项“After last glyph” (没有选中字形的话默认为该项)。 选择菜单 Edi

15、t Paste Special,或者按快捷键 Ctrl+E,弹出 Paste Special 对话框,同样将Glyphs Mappings 选中。 13 由于我们复制的字形中与准圆有重复的,也就是存在相同的映射关系,所以这里注意一下对话框下面的 Mappings 部分,三个选项都会粘贴所有的字形,但是第一项 Keep same mappings 表示只建立原字体字体中不存在的映射,已存在的映射则保持不变,而第二项 Overrule same mapping及第三项 Add mappings 表示已存在的映射也会被替换为所粘贴的映射。 *注:官方的帮助文件中对第二项及第三项的说明是不同的,但我在

16、实际使用时感觉两项所达到的效果完全一样,如果有误请指正,下面是帮助文件中的说明:Keep same mappings adds new mappings to the glyphs. Mappings that already exist will be reassigned to the pasted glyph(s) when the Overrule same mapping option is selected. You can also choose to add mappings. Add mappings adds all mappings. When mappings are already available, they will be reassigned to the pasted glyph(s)。 在这个例子中,我们当然希望只为不存在的字形添加映射,而保留原有字形的映射,所以选择第一项 Keep same mappings,然后点击 OK。 稍等片刻后,我们就可以看到,对于原字体已存在的字形就没有建

展开阅读全文
相关资源
相关搜索

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

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