揪出好看的“字”

时间:2022-09-23 09:22:06

有没有经常看到一些Flash或者PDF文档中用到了很好看的字体想找却又找不到?这篇文章将告诉你如何搞定它们。

>> 字与字的缘分 “字”的本意不是“字” 古今字、通假字、异体字的辨析 粉笔字上的粉笔字 “册”字与“典”字的来历 “立”字与“并”字的来历 “分”字与“班”字的来历 八字“真言” 揪出系统死机的“幕后黑手” “酷”字的感悟 多好的字 “从”字的理解 丰子恺的“读”字 “钱”字的写法 吃字的猫咪 医生的字 “十”字的美 字的断想 “半”字的趣味 “也”字的妙用 海洋里的字 常见问题解答 当前所在位置:l

快车代码:CF0811SZDM04

SWF篇

网上的资源比较多,无论免费或收费的字体都能找出一大把,如果知道字体的名字没准也能搜出来。

Sothink SWF Decompiler是一款不错的SWF资源反编译软件,首先将目标Flash文件保存到本地计算机上(一般都是在网页上的吧),可以使用迅雷的流媒体探测功能或者通过查看HTML源文件等方式找出。

在SWF Decompiler中打开该SWF,展开右侧“资源”面板下的“字体”目录,这里列出了Flash中所有使用的字体,点击其中任意一项,左侧预览窗格中便会出现这款字体的字符表。找到自己中意的字体后,在下方的“标签信息”面板中,“Font Name”项后的值便是该字体的名称了(见图1)。

图1

对于一些商业或者特地定制的字体,网上不一定能找得到,对此,我们只能用狠手段了――从Flash中导出字体。

一般SWF文件内部嵌入的字体是一个子集,Flash中用到了该字体的多少个字符,SWF中便会嵌入多少个字符的矢量图形(有可能略多一些)。还有一些Flash中用到了动态文本框,而该文本框所使用的特殊字体则会完整地嵌入SWF文件中。大家应该都知道,一款字体所包含的字符越多当然越好,谁也不希望使用一个缺字的字体。

因此,我们首先通过上面的方法查看SWF中所包含的字符数量,找到合适的SWF后,便要请出下一位SWF反编译大师了,他就是Action Script Viewer。

在Action Script Viewer中打开准备好的SWF,对于Flash编译版本高于8的SWF文件Action Script Viewer会报错,不过一般不要紧。打开后,点击菜单栏“文件提取部件保存所有字体为TTF”,然后在新窗口中选择一个保存目录,软件很快会提示操作完成并自动弹出该目录,里面便是这个SWF中包含的所有字体文件了。

PDF篇

对于PDF文件而言找出它里面使用的字体信息相对而言简单许多,Adobe自家的Adobe Reader就可以完成。在Adobe Reader中打开PDF,点击菜单栏“文件属性”,切换至“字体”选项卡,一份非常清楚的字体列表便呈现在我们眼前了(见图2)。

图2

如果要从PDF中导出字体,我们还是要用前面的方法在Adobe Reader中查看“字体”选项卡。在字体名称下方的“类型”处,总共会有“Type 1”与“TrueType”两大类,至于它的作用,我们稍后再说。而字体名称后面,会有一个括号注明“已嵌入”或“已嵌入子集”。之前提到过,Flash中嵌入的字体一般是子集,PDF也同样,“已嵌入”表示该字体所包含的字符是全的,至于后者就不用我再解释了吧。所以我们可以以此来找到包含全字符字体的PDF,不过很可惜,这样的PDF比较罕见。

此外还要注意一点,在Adobe Reader标题栏的文件名后面,如果标有“已加密”的括号,我们还需要进行一个额外的步骤:解密。解密PDF可以使用PDF Password Remover,这个软件操作极其简单,将待解密的PDF文件拖入其中并选择保存位置即可。

下面就要开始大家最为期待的导出字体了,这次使用一款FontForge,因为编译环境是Linux,所以在Windows上配置不是很方便,大家可以使用我制作的集成包进行安装。

运行FontForge(以英文版为例),“Open”(打开)对话框中,我们首先在“Filter”(过滤)后面的菜单中选择“Extract from PDF”(从PDF中提取),然后在上方的窗格中找到PDF。需要注意的是,该软件对中文支持还不是很完善,中文名的目录会显示乱码并且无法正常打开,所以请确保目标PDF所在的目录没有中文名称(见图3)。

图3

点击“OK”按钮后,有可能会出现一个小窗口提示“PDF is not in a know format”(PDF格式未知),这应该是PDF没有解密引起的,但你如果已经做了上面的步骤,那我也没有办法了……在正常情况下,此时会显示一份列表,其中便是PDF中包含的字体了。对于字符不完整的字体,其名称前面会有一个加号与6位大写英文字母,而嵌入了完整字体的则不会出现这些字母。

选择其中一个点击“OK”按钮打开便进入FontForge主界面了,它其实就是一张编码表,所以我们可以很清楚地看到该字体缺少哪些字符。对于国人来说,英文字体最常用到的无非就是大小写字母、数字外加一些基本符号,但是如果连这些都凑不全的话,可以找一些其他拥有相同字体的PDF试试(其实还有一些方法不过那就涉及到字体制作的问题了,内容比较多……)。选好合适的字体,便只剩最后一步了:生成字体。

点击菜单栏“FileGenerate Fonts”(文件生成字体),首先选择保存位置及文件名,接着在文件名一栏下方,有两个下拉菜单。点击左侧的一个,如果之前在Adobe Reader中看到字体类型为“TrueType”的,便直接选择菜单中的“TrueType”,显示为“Type 1”的,则选择“OpenType(CFF)”,最后取消掉下方“Validate Before Saving”(保存前使其有效)前面的黄色小方块,点击“Save”(保存)即可。

最后还是要提醒大家一下,通过这些方法所得到的字体,仅仅是保持了字体内部矢量图形以及部分属性值的不变,但是丢失了Hiting、PostScript等重要的内容,其质量和原版字体是没法比的。写这篇文章,仅仅是告诉字体爱好者与设计师们一些小窍门,希望大家可以用得到。

上一篇:可乐也能让本本解暑降温 下一篇:别让移动硬盘盘符随风逝去