关键词:原本|手写体|背景|信息|我用|我对

一次让字体样式看上去更像手写体的试着

  • 浏览: 6

一次让字体样式看上去更像手写体的试着

实际上我对这一试验的結果并并不是非常令人满意,但我还是想共享一下,由于摆布字体样式是件比较简单和有意思的事。并且有些人问我怎么做,我告诉她我能写一篇博闻来介绍一下 :smiley:

背景:原本的手写体

先交待一些背景信息:我有一个自己的手写字体,我已经在我的电子期刊中应用了很多年了。我用一个叫 iFontMaker 的让人开心的程序运行制做了它。她们在网址上自恃为“你能在 5 分鐘内仅用手指头就能制做出你的手工制作字体样式”。依据我的工作经验,“5 分鐘”的一部分较为精确 —— 我或许花了大量的時间,例如 15 分鐘。我对“仅用手指头”的叫法持猜疑心态 —— 我用的是 Apple Pencil,它的精准度要好很多。可是,应用该程序运行制做你的字迹的 TTF 字体样式是很容易的,假如你恰巧早已拥有 Apple Pencil 和 iPad,我觉得这是一个趣味的方法,我只花了 7.99 美金。

下边是我的字体的模样。左侧的“CONNECT”文本就是我的具体字迹,右侧的文章段落是字体样式。实际上有 2 种字体样式 —— 有一种是一般字体样式,一种是笔写的“等宽”字体样式。

总体目标:在字体样式上做大量的标识符转变

在上面的截屏中,很显著能够看得出它是一种字体样式,而不是具体的字迹。如果你有两个同样的英文字母邻近时,就最非常容易看出去,例如“HTTP”。

因此我觉得,应用一些 OpenType 的作用,以某类方法为这一字体样式引进大量的转变,例如或许2个 “T” 能够是不一样的。但是我也不知道该怎么做!

来源于 Tristan Hume 的想法:应用 OpenType!

随后我还在 5 月的 !!Con 2020 上看到了 Tristan Hume 的这一演说:有关应用 OpenType 根据独特的字体样式将分号插进到大的数据中。他的演说和博闻都非常好,因此这里有一堆连接 —— 下边当场演试或许是更快见到他的成效的方法。

一个当场演试: Numderline 检测网络文章:将分号插进到大的数据的每个部位:OpenType 探险交谈:!!Con 2020 - 应用字体样式塑形,把分号插进到大的数据的每个部位!GitHub 储存库: https://github.com/trishume/numderline/blob/master/patcher.py

理论依据:OpenType 容许你依据前后文更换标识符

我一开始对 OpenType 究竟是什么十分疑惑。现阶段我依然不甚了然,但我明白到你能撰写极为简易的 OpenType 标准来更改字体样式的外型,并且你乃至不用真实掌握字体样式。

下边是一个标准实例:

sub a' b by other_a;

这儿 sub a' b by other_a; 的意思是:假如一个 a 字型是在一个 b 以前,那麼更换 a 为字型 other_a。

因此这代表着我能让 ab 和 ac 在字体样式中出現不一样的字型。这并不象手写体那般任意,但它的确引进了一点转变。

OpenType 参照文本文档:太棒了

我寻找的最好是的 OpenType 文本文档是这一 OpenType™ 特点文档标准 材料。里边有很多你能做的很帅的事儿的事例,例如用一个连字更换 “ffi”。

怎样运用这种标准:fonttools

为字体添加新的 OpenType 标准是超非常容易的。有一个 Python 库叫 fonttools,这 5 行编码会把放到 rules.fea 中的 OpenType 标准目录运用到字体文件 input.ttf 中。

from fontTools.ttLib import TTFontfrom fontTools.feaLib.builder import addOpenTypeFeaturesft_font = TTFont('input.ttf')addOpenTypeFeatures(ft_font, 'rules.fea', tables=['GSUB'])ft_font.save('output.ttf')

fontTools 还出示了好多个名叫 ttx 和 fonttools 的命令行工具。ttx 能够将 TTF 字体转换为 XML 文档,这一件事很有效,由于我觉得重命名我的字体中的一些字型,但我对字体样式一无所知。因此我只是将我的字体变换为 XML 文档,应用 sed 重新命名字型,随后再度应用 ttx 将 XML 文件格式转换回 ttf。

fonttools merge 能够让我将我的 3 个手写字体合拼成 1 个,那样我也在 1 个文档中获得了我需要的全部字型。

编码

我将我的极草率的编码放到一个叫 font-mixer 的储存裤里。它大约有 33 行编码,我觉得它尽人皆知。

結果

下边是旧字体样式和新字体样式的样品。我不会觉得新字体样式的“觉得”更像手写体 —— 有大量的转变,但還是不如具体的手写体文本。

我认为略微有点儿难以置信,它本来還是一种字体样式,但它却要装作成并不是字体样式:

而它是具体笔写的一样的文本的样版:

假如我还在制做此外 2 种手写字体的情况下,把原先的字体样式混和在一起,再细心一点,很有可能实际效果会更好。

加上 OpenType 标准那么非常容易,真酷!

这儿最要我喜悦的是,加上 OpenType 标准来更改字体样式的工作方式是这般的非常容易,例如你能非常容易地作出一个“the”英语单词一直被“teh”替代的字体样式。

但是我还是不清楚怎样作出更真实的手写字体:)。现在我仍在用旧的哪个字体样式,我对它很令人满意。

猜你喜欢