7 S) b) b q) X0 E6 v, U3 h可以同时打开两个需要进行替换和被替换的字体,一个一个字符的进行复制、粘贴的工作。显然这样比较费时、费力。可以用下一种方法 : r2 n/ Q# [5 r& j2 D6 T
, H8 c+ _) j) e' n$ u
Element 菜单下的 Merge fonts 直接导入进行合并。注意:如果 A 字体包含了 B 字体里的字符的话,最好是在 B 的基础上进行合并。例如我想用 tahoma 替换掉 simsun 里的相同部分。因为 simsun 已经包含了tahoma 里的字符,所以如果以 simsun 为基础合并 tahoma 的话,仍然会保留 simsun 原有的部分,而不是进行替换。应该打开 tahoma,然后合并 simsun - Q' |, L- V! X: y合并之前还要注意两个字体的 Em Size 是否相同,否则可能会导致字体大小不一、不成比例。一般规定 PostScript 字型是1000,truetype 字型用2的次方(常是2048或4096)。可以通过 Element 菜单下的 Font info 内的General 进行修改。Ascent、Descent、Underline position 和 Height 也最好能一样 2 K% [2 R, _; [+ S& e8 ?% T
如果你并不想完全替换为另一字体的话,也可以先删除你不想要的部分字符后再进行合并 8 q8 p/ z1 B# }2 B) M
9 t) k U3 {- @$ V$ A+ Z* J* g ! l4 Y2 |2 c$ E5 R7 y/ p9 F4 K6 }4 n' U2 t! L! K8 X- X t) K
修改字体,实现粗斜体: - d w5 Z+ D: A8 v
系统是根据字体的 Family 是否一样来判断两款不同的字体究竟是不是能够互相搭配的一套的。而字体名只是起一种标示、区别字体的作用的。所以修改 Family 就是将不同字体变为同种,实现相同显示要求的关键。而 Weight 则用来鉴别字体是粗体还是常规字体。 7 i, e2 W% l4 i; w- C
分别打开每个要修改的字体后,点击 Element 菜单下的 Font info 项,修改 Names 选项卡中的 Family Name 和 Weight。TTF Values 选项卡中的 Weight Class 也进行修改。还有 Panose 选项卡中的 Weight。以及 TTF Names 选项卡中的内容。这在下面的例子中会详细提到 5 l+ Q# P' A' A O/ z$ j 5 S [( i$ K4 F$ |) L制作斜体: ! r2 r- ]" q+ A1 \& ?& O
可以执行 Element 菜单下的 Transform 然后在新弹出的对话框中改变第二个选框内的内容为 Skew,然后调整其后的倾斜度数值即可。在把字型修改成斜体后,还需要执行Element->Add Extrema (因为倾斜字体之后,垂直切点会移位,所以要在新的垂直切点上加上新的曲线点) $ B- X& L* J* {4 d7 k% b# ]1 L: C
制作粗体: * f" L+ w9 {+ c. ?可以通过 Element 菜单下的 Expand Stroke 功能完成 ; j# ]0 E5 m" u7 m, ^/ Q) \* Y
可能是这个功能还处在开发阶段,并不完善的原因(也确实不完善,这在下面会详细提到)。所以这个选项是灰色的,不可选。但是可以用它的快捷键 ctrl+shift+e 直接调出调整的对话框 6 u$ W5 `- \: b! N
选中一个或全部字符,按下 ctrl+shift+e 调出 Expand Stroke 对话框。下面的 Stroke Width 就可以用来调整加粗的多少。加粗可以根据比划(Stroke)、Caligraphic、Ellipse 等不同方法进行,选择你喜欢或者效果好的一种进行加粗即可。如果加粗时你没有选择下面的 Remove Internal Contour 或 Remove External Contour 的话,加粗的效果就只是加一个边。选中 Remove Internal Contour(移除内部轮廓)或 Remove External Contour(移除外部轮廓) 其中之一就可以去掉这个“粗边”(两者不能同时选择),得到一个“粗体”字。由于字符的走向问题,即便是同一个字体,对于其中不同的字符也要使用不同的 Remove(移除)方法,否则效果会适得其反,不但未能加粗反而又变细了。但对不同字符使用不同的 Remove(移除)方法就会导致加粗字体时工作量过大,所以这个功能在目前不太切合实际 # _: }* p1 d; p6 s* D' Z. s' M. X
在笔者使用时这个功能只对部分矢量字体的英文等字母数字有效。对于中文矢量字符没有效果,对于点阵字也都无法看到效果。但是相信随着时间的推移,这个功能会不断的改进和完善,直到生成大家满意的效果 7 J- ^. f5 |! C* D0 ]* I+ g还可以通过 Element 菜单下的 Meta Font 功能完成因为同样不完善的原因,所以这个选项是灰色的,不可选。但是可以用它的快捷键 ctrl+shift+! 直接调出调整的对话框进行修改 ' v: W; V- s7 p5 A0 v% G
利用这个功能可以从基础样式自动产生粗体(或窄体、宽体等) 7 T, t3 b4 H! d# g
- D3 p5 L1 e' T4 w+ W" @' l' j
其它: ) C, p: ?+ b7 g
如果你有了同一字体的基本样式和粗体样式,而且每一个字体都有一样多的点和相同的顺序,你可以用 Element--Interpolate Font 指令来产生半粗体的样式 9 e9 W, w. J7 b1 F
创建或修改 TrueType 时要保证 Element--Font Info 菜单内的 General 选项卡内的 Quadratic Splines(二次曲线)选项为选中状态,并且 Em Size 为2的次方(常是2048或4096)这才是 TrueType 的标准做法 ( {0 }. C+ U7 t9 t6 [如果你打算让字体纵向排列时也能够有良好的间距,就需要保证 Element--Font Info 菜单内的 General 选项卡内的 Has Vertical 选项为选中状态。并且调整好下面的数值 9 {% u4 X) \# W, e$ l+ P K2 Q/ D* G m& ?1 u, ~# s& c! b1 c! `' ~- L8 I0 m$ O5 F
Fontforge 更详细的用法可以参看 http://fontforge.sourceforge.net/overview.html ) s$ w8 M V8 n$ ~
或者到 http://edt1023.sayya.org/fontforge/ 看繁体中文的翻译 $ q0 z9 s! P$ J4 S ' q5 g1 Z) b! b* z/ g' b* t ' f* f4 ^4 W2 p4 c* N5 L3 I! F9 E6 z( P4 L; K! [
! ~& O. d, W( _; h* G" v, L# C9 j5 \+ \6 {
+ w. N9 ^ r! Q. X, Q' ?因为具体修改字体过程写的过于啰嗦繁琐,而且上面已经简单叙述了方法,所以本想把它删除。但是对于我这种打字速度的人来说,实在是不容易。所以终究没能狠下心,仍然保留了这段啰嗦的过程,各位不想看也罢 / V0 u9 k3 b6 Z3 t( k' @ |) ^0 S0 d( s( J
我这里以方正圆体和 Bitstream Vera Sans 为例。用方正准圆作为“常规”字体显示,方正粗圆作为“粗体”显示。统一改为 Vera Sans YuanTi。“斜体”由“常规”字体生成,“粗斜体”由“粗体”生成。其中与 Bitstream Vera Sans 相同的部分全部进行替换 - A) S; N% I0 s. ?" U8 @- r. q, w没用中文名的原因是在不打 firefly( http://firefly.idv.tw/setfont-xft/ )补丁的情况下 linux 无法显示中文字体名 $ j1 i1 n: E4 M - w2 V) W" x4 p+ k4 i( s2 g9 ]5 G制作"常规"字体 9 n5 X, _: R! x0 J0 u
' i4 y& K h% z, h. x. U4 B& d9 Y+ c+ J, V
3 U% R' L' W* m% S& b
安装完成 fontforce 后,在终端里输入 fontforce 运行。在弹出的界面里载入方正准圆(fzy3k.ttf) + ?8 b" _3 M, ~6 b: P9 \) g & f1 I1 e& o/ g! U; R5 I( ^点击菜单栏的 Element--Font Info ' G( r! [# T3 x2 u' [/ g8 VFontname 改为 Vera Sans YuanTi_JT(这一步的修改将显示为 PostScript 名。右键--属性,Meta 信息就可看到) 6 o) C6 |/ J% |/ a" R
Family Name 改为 Vera Sans YuanTi " C9 R! M- e$ m
Name For Humans 改为 Vera Sans YuanTi(这一步不改也可以,但为了统一我还是改了) ( L7 c% i& ^/ F% MWeight 改为 Medium(MS 带的字体这里均为 Book,你不改也可以) 5 c& v0 F' j; T3 ?) q
关键是 Family Name 应该和你将用的"粗体"统一,名字可以任意。我用 Vera Sans YuanTi ; G! w& W. w) U9 G& U