返回正常中文阅读

想对这篇译文“指手画脚”吗?

您的参与将有助于译者提高译文的质量;同时,大家一起对问题的讨论也是最佳的学习方式。还等什么?请现在就注册登录译言,开始眉批!
大错 小错 不顺 建议

Font Creation Case Study: Joules

Always looking for typographic inspiration, I bought a cheap calligraphic pen set over the summer, convinced that my doodles with it would make some magical letterforms. A week and dozens of pages later, I was left without anything interesting or vaguely artistic. Then, one night, tired and despairing, and having run out of black ink, I plugged in a red cartridge, and sketched out the alphabet that would soon become the Joules family. I thought it might be interesting for some of you if I documented some of the font-creation process with this case-study.

Here’s one of the many pages I sketched that night:

Joules initial drawing

And a closeup:

Joules initial drawing, closeup

Here’s a super closeup of the capital A I wound up using.

Joules A closeup

From Sketch to Font

The process I used to create Joules from my sketches is the very same process I outlined in my previous articles on font creation. I scanned in the page, and here’s what it looks like in Photoshop after changing the scan into a black-and-white bitmap.

Joules A black-and-white

Notice how the rough spots in the original drawing come through in the bitmap image:

Joules A rough spots

Joules A black-and-white rough spots

I usually clean up the bitmap image before importing it into FontLab, but didn’t in this case. Here’s the first pass importing the bitmap into ScanFont:

Initial pass in ScanFont

And the ScanFont closeup:

A in ScanFont

I copied the new glyph and pasted it into the appropriate slot in FontLab. To give you a taste of what sort of tweaking goes on in FontLab, I’ve zoomed in here on the rough “A”. I selected a trouble spot:

Closeup in FontLab

And started the tweaking by deleting some offensive nodes:

Closeup in FontLab

One of the big things to balance when tweaking glyphs in FontLab is the temptation to smooth out all of the outlines versus the temptation to leave lots of rough spots to keep the font interesting. I’ve discovered the hard way that with handwriting fonts you don’t want to smooth out all the rough spots, as that begins to rob some of the handwritten feeling of the letters.

Composite Glyphs to the Rescue

One of the neat time-saving features of FontLab is automated character composition. In this case, I’ve created an “A”, and I’ve created a “grave”:

A plus Grave

And now I double-click on the cell for “A-Grave”…

A plus Grave double click

…and FontLab creates a composite glyph:

A plus Grave composite

At this point, if you edit the “A” or the “Grave”, the changes will be immediately reflected in the “A-Grave” composite.

Sidebearings

As mentioned in my previous article on font creation, setting good sidebearings is an important step. (For one thing, good sidebearings make for easier kerning!) For initially tweaking my glyphs, I generally set rough, small, positive sidebearings. My “y” sidebearings looked like this during my initial editing:

y sidebearings

The problem with these sidebearings can be illustrated by looking at the initial kerning setup for an “ay” pair:

a-y sidebearings with kerning

I could’ve just left the sidebearings as they were and kerned the “y” closer to the “a” (and, after that, kerned the “y” closer to every other character), but it’s much easier (and saner) to set a negative sidebearing for the left side of the “y”:

y negative sidebearings

Here’s what the initial kerning looks like with these better sidebearings:

a-y negative sidebearings with kerning

Kerning

Oh, the hours of fun I had kerning this font! I’ll spare you the boring details. But here’s one example of kerning at work. Before kerning:

A V pre kerning

And after kerning:

A V post kerning

Ligatures

I created a bunch of ligatures in Joules that one could manually select and apply in a typesetting project:

Joules ligatures

And here’s how I went about creating one of them. First of all, here’s how the “z” and “a” would normally sit next to each other:

z and a

I could have kerned the pair so that they overlapped in an aesthetically pleasing fashion, but the responsible thing to do was to create a “z-a” ligature. Step 1, create a blank glyph, and copy the “z” and the “a” into it:

z and a, pre-ligature

Step 2, cut the outlines so that they can be joined in the appropriate place:

z and a, pre-ligature...

Step 3, remove the excess:

z and a, pre-ligature...

Step 4, move the glyphs closer together:

z and a, pre-ligature...

Step 5, connect the dots:

z and a ligature

Intelligent Ligatures

One thing that didn’t make it into my first release of Joules is intelligent ligatures: a technology that I just recently learned how to create. (It means the end of TrueType fonts as we know them, as making intelligent ligatures requires you to use OpenType font technology.) I’ll spare you the details here, but it involves opening up a special OpenType panel in FontLab, and basically doing some scripting to make the ligature glyphs you’ve created come alive in ligature-aware software. It looks a little something like this:

Ligature definitions

Etcetera

Here’s the result, after all the tweaking and kerning:

Joules

I went on to make an italic version (really more of an oblique version, for you purists out there), and then bold, bold italic, and black. If anyone’s interested, I could detail some of what went into that process.

[Alec Julien is a web developer and amateur typographer living in Vermont, US. He dreams of someday living somewhere warm, and typesetting a novel.]

打造你自己的字体(III)实例研究:Joules

永远都在寻觅字体设计的灵感。夏天过后,我买了一套便宜的书法钢笔,说服自己,它会让我的鸡爬字产生脱胎换骨的变化。在浪费了一个星期和几打白纸之后,我还是没得到什么有趣的或是有稍微艺术气息的东西。最后,在一天晚上,疲倦而失望的我,在用完了黑色墨水之后,插入了一支红色的笔芯,然后写下了下面这一套字母表——之后它变成了我的 Joules字族。我想,如果我在这个案例研究中把它如何变成字体的过程写出来,大家也许会感兴趣。

下面是那天晚上我写下的好多张草图之一:
ilovetypography.com_Joules initial drawing_joules-sketch

特写:
ilovetypography.com_Joules initial drawing, closeup_abc

 
超级特写:我迫不及待想使用的一个大写A。
ilovetypography.com_Joules A closeup_a
从草图到字体

从草图创建Joules字体的过程,一如我之前的 两篇文章中所写的,我将草图扫描输入,下面是扫描稿在Photoshop里面转为黑白位图模式之后的样子。
ilovetypography.com_Joules A black-and-white_a-bw
注意原稿位图中包含的粗糙杂点:
ilovetypography.com_Joules A rough spots_a-closeup

ilovetypography.com_Joules A black-and-white rough spots_a-closeup-bw

通常,我会把这些位图处理干净之后才导入Fontlab,但这次例外。下面是第一个步骤,将位图导入ScanFont:
ilovetypography.com_Initial pass in ScanFont_a-scanfont

ScanFont中的一个特写:
ilovetypography.com_A in ScanFont_a-scanfont-closeup

我把这个新字符复制到FontLab中的正确位置。为了给你体验一下在FontLab中是如何进行调整的,下面放大显示了导入进来的粗糙的A。我选择了一个有问题的部分。
ilovetypography.com_Closeup in FontLab_a-fl-closeup-select

然后开始删去那些令人不快的节点:
ilovetypography.com_Closeup in FontLab_a-fl-closeup-select-p
FontLab中调节字符的时候,我们必须在两种诱惑中做一个平衡:一方面要使得轮廓尽量的平滑,另一方面,又应该尽可能的留下一些粗糙的节点,以保留字体的趣味。我发觉,对书法字体而言,不应该平滑掉所有的粗糙节点,在某种程度上,那等于剥夺了它们书法的感觉。

救人危难的字符合成

FontLab的一个便捷之处,是它可以自动的合成字符。本例中我先创建了一个A,然后又建了一个“重音符”:
ilovetypography.com_A plus Grave_a-plus-grave

然后我双击这个“A-重音符”的小格…
ilovetypography.com_A plus Grave double click_a-plus-grave-dblclick

FontLab就创建了一个合成字符:
ilovetypography.com_A plus Grave composite_a-grave-grey
这时候,如果你编辑这个A或者那个重音符,变化会立即的自动更新到那个合成的“A重音符”上。

 
侧架

我前面几篇关于字体设计的文章中也提到了,设置合适的侧架是一个重要的步骤。(一个原因是,恰当的侧架会让字距调整变得简单!)先为字符做粗调,我粗略设置了一个很小的、正的侧架。在初始编辑时,这个y的侧架显示如下:
ilovetypography.com_y sidebearings_y-pos-sb
 
这样设置会有什么问题,在初始字距设置中看a和y的配对就能看出来了。
ilovetypography.com_a-y sidebearings with kerning_ay-pos-sb

其实我可以保留这个y的侧架不变,然后在字距配对调整中,调节y靠近a,然后依此类推,在每一个字距配对中都调节y靠近其他的字符。但很明显,为这个y的左侧设置一个负的侧架的做法要更简单,也更明智:
ilovetypography.com_y negative sidebearings_y-neg-sb

下面就是改进后的留白设置在默认字距调整情况下的样子:
ilovetypography.com_a-y negative sidebearings with kerning_ay-neg-sb
 
 
Kerning 字距调整

天,为这个字体设置字距花了我几个小时的时间!其中的烦人细节…我还是放过你好了。但这里还有另外一个字距调整的实例。在调整前是这样的:
ilovetypography.com_A V pre kerning_A-V-pre-kern

调节后:
ilovetypography.com_A V post kerning_A-V-post-kern
 
Ligatures 连字
 
我在Joules中创建了相当数量的连字,使用者在排版时可以手动选择应用它们。
ilovetypography.com_Joules ligatures_ligs

下面举一个实例说说我是如何创建这些连字的。首先,我们先来看看这个z和a原始的连排效果。
ilovetypography.com_z and a_z-a

其实我可以在字距配对的时候让它们以一种时髦的方式漂亮的重叠在一起,但更负责的做法还是做一个z-a的连字。第一步,创建一个空白字符,然后把z和a复制进来:
ilovetypography.com_z and a, pre-ligature_za-nonlig

第二步,切开它们的轮廓,让它们能在合适的位置结合:
ilovetypography.com_z and a, pre-ligature..._za-lig-making-1
第三步,删除多余的部分:
ilovetypography.com_z and a, pre-ligature..._za-lig-making-2
第四步,移动字符让它们靠近:
ilovetypography.com_z and a, pre-ligature..._za-lig-making-3
第五步,连接节点:
ilovetypography.com_z and a ligature_za-lig-making-4
智能连字

Joules的第一个版本中并没有包含智能连字:这种技术是我最近才学会的。(这意味着TrueType字体的末日,因为智能连字技术必须在OpenType字体中才能实现。)其中的细节我就不唠叨了,但可以告诉你的是,需要在Fontlab中打开一个特殊的OpenType面板,并且通常还要写一些脚本,这样才能在一些能够识别连字的软件中激活你所创建的连字。大体上看起来是这个样子:
ilovetypography.com_Ligature definitions_open-ligs-def

 
完成
这就是经过了无数次修整和字距调整之后的最终结果:
ilovetypography.com_Joules_joules-page

我后来又接着给它做了一个意大利体的版本(好吧,其实更象是一个斜体,你们这些吹毛求疵的家伙),然后是一个粗体、粗意大利体,然后是大黑体。如果还有人感兴趣,我可以继续说说其中的细节。

[Alec Julien居住于美国佛蒙特州,是一个网络开发人员和业余字体设计师。他的梦想是有一天能搬到一个温暖的地方,为一部小说做排版。]

欢迎访问译言网。在这里,您可以。。。

阅读
发现
翻译