Go 字体

未匹配的标注

本文为官方 Go Blog 的中文翻译,详见 翻译说明

Nigel Tao, Chuck Bigelow 以及 Rob Pike
2016 年 11 月 16 日

公告

golang.org/x/exp/shiny 上构建的实验性用户界面工具包包括多个文本元素, 但是测试它们有一个问题: 应使用哪种字体? 为了回答这个问题, 我们今天宣布了这一消息, 即发布了 WGL4 TrueType 系列字体. 这是由 Bigelow & Holmes 专为 Go 项目设计的.

这些字体称之为 Go (自然) 的字体家族包括以正常, 粗体和斜体显示的比例和固定宽度的面孔. 字体已经过测试以用于技术用途, 特别是编程. 顾名思义, Go 源代码以 Go 字体显示时看起来特别好, 标点符号之类的字符很容易区分, 并且运算符排列并保持一致:

Go 字体的最显着特征也许就是它们的许可证: 它们与 Go 项目的其他软件在相同的开源许可证下获得许可, 这是为高质量字体集提供的一种特殊的免费安排.

这是按比例隔开的示例...

以及等宽字体:

如何使用它们

如果只需要TTF文件, 请运行以下命令

git clone https://go.googlesource.com/image

并从随后的 image/font/gofont/ttfs 目录中复制它们. 如果要将 Go (字体) 与 Go (软件) 一起使用, 则每种字体由单独的包装提供. 要在程序中使用 Go Regular 字体, 请导入 golang.org/x/image/font/gofont/goregular, 然后输入:

font, err := truetype.Parse(goregular.TTF)

github.com/golang/freetype/truetype<... 软件包提供了 truetype.Parse 功能. 仍在进行工作, 以在 golang.org/x 下再次添加TrueType 程序包, 该程序包与 Go 项目的其余软件使用相同的开源许可证进行许可.

我们将留给您查找字体具有的其他一些不寻常的属性, 但是为了概述字体的设计, 我们请 Chuck Bigelow 提供一些背景信息. 这篇博客文章的其余部分是他的回应.

字体注释, 作者 Chuck Bigelow

Go 字体分为两组, 即成比例的 Sans-serif 和 Go Mono 的 Slab-serif.

Go 比例字体

无衬线字体

Go 比例字体是 sans-serif, 就像几种流行的屏幕显示字体一样. 有证据表明, 一些小尺寸和低分辨率的无衬线字体的表面比锯齿的对应字体更清晰, 而大尺寸时, 至少在无衬线和锯齿的表面, 清晰度没有明显差异. 对测试. 1

样式

Go sans-serif 字体在样式上是 "符合人文的" 而不是 "怪诞的". 这是历史上的区别, 而不是美学上的判断. 诸如 Helvetica 和 Arial 之类的广泛使用的 sans-serif 字体被称为怪诞字体, 因为 19 世纪早期的 sans-serif 字体被命名为 "Grotesque", 并且该名称变得通用.

像 Helvetica 这样的现代怪异字体的形状经过雕刻, 并具有平滑, 同化的形式.

人文主义的无衬线字体取材于人文主义的笔迹和意大利文艺复兴时期的早期字体, 并且仍然显示出笔迹书法的微妙痕迹. 有一些证据表明, 人文主义字体比怪诞字体更清晰. [2]

斜体

比例斜体与罗马字体具有相同的宽度度量. 斜体是罗马人的斜体, 但有一个明显的例外: 斜体小写字母 "a" 被重新设计为草书单层形式, 以与 bdgpq 套的碗形形状相协调, 其中直立形式也很好地适应了倾斜, 加上草书 "a" 会使斜体字看起来比简单倾斜的罗马字更生动. 一些印刷者认为, 倾斜的罗马无衬线斜体比真正的 "草书" 无斜体更可取, 部分原因在于历史和设计. [3]

X轴高度

字体的 x 轴高度是小写字母 "x" 相对于正文大小的高度. Go 字体的 x 轴高度占主体大小的53.0%, 比 Helvetica (52.3%) 或 Arial (51.9%) 的 x 轴高度大一些, 但是在正常阅读大小下, 这种差异通常并不明显. 印刷术者认为, 较大的 x 轴高度有助于在小尺寸和屏幕上提高可读性. 对 "打印尺寸" (特别是 x 轴高度) 和阅读的研究指出, 在屏幕上阅读和小尺寸的类型往往需要较大的 x 轴高度. [4]

DIN 易读性标准

最新的德国 DIN 1450 易读性标准推荐了几种字体易读性功能, 包括区分字母形状以减少混淆. Go 字体通过小心区分零与大写 O 来符合 1450 标准. 大写字母I (眼睛) 和小写字母 l (ell) 的数字1; 大写字母 S 中的数字 5; b d p q 的碗形遵循清晰的文艺复兴时期手写体的自然不对称性, 有助于区分以减少混乱. [5]

宽度

Go 比例字体有3种粗细: 正常, 中等以及粗体. 普通宽度足够坚固, 可以在背光屏幕上保持清晰度, 而背光屏幕通常会侵蚀字母的特征和厚度. 中等宽度的笔杆厚度是普通笔杆厚度的 1.25 倍, 以使明亮的屏幕上的字体更坚固, 或者适合喜欢坚固字体的用户. 粗体的茎粗为标准粗体的 1.5 倍, 粗体足以与常规体重区分开. 这些 Go 字体的 CSS 数字权重分别为 400, 500 和 600. 尽管 CSS 指定 "粗体" 为 700 权重, 将 600 指定为 Semibold 或 Demibold, 但 Go 数值权重与词根粗细比的实际变化匹配: 正常:中等 = 400:500; 正常:粗体 = 400:600. 粗体名称与 "粗体" 的使用相匹配, 这是普通字体通常对应的粗体. 在 [6] 中对茎粗, 重量名称和 CSS 编号之间关系的更多讨论.

WGL4 字符集

WGL4 字符集最初由 Microsoft 开发, 经常用作非正式的标准字符集. WGL4 包括西欧和东欧拉丁字符以及现代希腊语和西里尔字母, 以及其他符号, 签名和图形字符, 总共共有 650 个字符. Go WGL4 字体可用于撰写各种语言. [7]

与 Arial 和 Helvetica 的度量标准兼容性

Go sans-serif 字体与标准 Helvetica 或 Arial 字符几乎在度量上兼容. Go 中设置的文本几乎与 Helvetica 或 Arial 中的文本 (相同大小) 占据相同的空间, 但是 Go 因其人文主义风格而具有不同的外观和纹理. 一些具有 DIN 易读性的 Go 字母比 Helvetica 或 Arial 中的相应字母宽, 因此, 在 Go 中设置的某些文本可能会占用更多空间.

Go Mono 字体

等距

Go Mono 字体是等距的 - 每个字母与其他字母的宽度相同. 自从计算开始以来, 等宽字体就一直用于编程中, 并且由于打字机间距的规律性使文本在行和列中对齐而一直被广泛使用, 这种样式在公元前 5 世纪的希腊铭文中也可以找到. (古希腊人没有打字机或电脑键盘, 但他们确实有出色的数学家以及对字母形成对称感的对称性和图案感.)

平板衬线

Go Mono 字体具有平板形状的衬线, 使它们具有坚固的外观.

样式

Go Mono 的基本字母形状像 Go sans-serif 字体一样, 有人文主义的痕迹, 但是 monospacing 和平板衬线倾向于掩盖历史和文体上的联系.

斜体

Go Mono Italics 是罗马人的斜版, 但斜体小写字母 "a" 被重新设计为草书单层形式, 以与 b d g p q 的碗形保持一致. 草书的 "a" 使斜体比简单的倾斜罗马字更生动. 与许多 sans-serif 字体一样, 可以认为倾斜的罗马 slab-serifs 字体比真正的 "cursive" 斜体更易读.

x 轴高度

Go Mono 字体的 x 轴高度与 Go sans-serif 字体相同, 占主体大小的 53%. Go Mono 看起来比 Courier 大 18%, 后者的 X 轴高度为机身大小的 45%. 但是 Go Mono 具有与 Courier 相同的宽度, 因此可以在不损失每行字符经济性的情况下获得更大的外观.

DIN 易读性标准

Go Mono 字体通过将零与大写 O 区别开来符合 DIN 1450 标准. 大写字母 I(眼睛) 和小写字母l(ell) 的数字 1; 大写字母 S 中的数字 5; b d p q 的碗形遵循清晰的文艺复兴时期手写体的自然不对称性, 有助于区分并减少混乱.

宽度

Go Mono 字体有两种粗细: 普通和粗体. 正常宽度的杆与Go 正常中的杆相同, 因此可以在背光屏幕上保持清晰度, 这会侵蚀字母特征和杆的厚度. 粗体茎粗度是正常宽度的 1.5 倍, 因此, 粗体 Mono 具有与粗体比例成比例的茎粗. 由于等距粗体的字母宽度与等距普通宽度相同, 因此, 在相同区域中放置更多的黑色像素时, 粗体 Mono 会比 Go Bold 稍粗一些.)

与流行的等宽字体的度量标准兼容性

Go Mono 与 Courier 和其他等宽字体在度量上兼容, 这些字体与 "Pica" 打字机键入的宽度在 12 点为每线性英寸 10 个字符. Go Mono 字体在 10 点设置为每英寸 12 个字符. 当然, TrueType 字体是可缩放的, 因此可以将 Go Mono 设置为任何大小.

WGL4 字符集

Go Mono 字体提供 WGL4 字符集, 通常用作非正式标准字符集. WGL4 包含西欧和东欧拉丁字符以及现代希腊语和西里尔字母, 以及其他符号, 符号和图形字符. Go WGL4 字符集的 650 多个字符可用于多种语言.

引用

[1] Morris, R. A., Aquilante, K., Yager, D., & Bigelow, C. (2002, May). P‐13: Serifs Slow RSVP Reading at Very Small Sizes, but Don't Matter at Larger Sizes. In SID Symposium Digest of Technical Papers (Vol. 33, No. 1, pp. 244-247). Blackwell Publishing Ltd.

[2] Bryan Reimer et al. (2014) “Assessing the impact of typeface design in a text-rich automotive user interface”, Ergonomics, 57:11, 1643-1658. www.tandfonline.com/doi/abs/10.1080...

[3] Adrian Frutiger - Typefaces: The Complete Works. H. Osterer and P. Stamm, editors. Birkhäuser, Basel, 2009, page 257.

[4] Legge, G. E., & Bigelow, C. A. (2011). Does print size matter for reading? A review of findings from vision science and typography. Journal of Vision, 11(5), 8-8. jov.arvojournals.org/article.aspx?a...

[5] Charles Bigelow. "Oh, oh, zero!" TUGboat, Volume 34 (2013), No. 2. tug.org/TUGboat/tb34-2/tb107bigelo... tug.org/TUGboat/tb34-2/tb107bigelo...

[6] "Lucida Basic Font Weights" Bigelow & Holmes. lucidafonts.com/pages/facts

[7] WGL4 language coverage: Afrikaans, Albanian, Asu, Basque, Belarusian, Bemba, Bena, Bosnian, Bulgarian, Catalan, Chiga, Colognian, Cornish, Croatian, Czech, Danish, Embu, English, Esperanto, Estonian, Faroese, Filipino, Finnish, French, Friulian, Galician, Ganda, German, Greek, Gusii, Hungarian, Icelandic, Inari Sami, Indonesian, Irish, Italian, Jola-Fonyi, Kabuverdianu, Kalaallisut, Kalenjin, Kamba, Kikuyu, Kinyarwanda, Latvian, Lithuanian, Lower Sorbian, Luo, Luxembourgish, Luyia, Macedonian, Machame, Makhuwa-Meetto, Makonde, Malagasy, Malay, Maltese, Manx, Meru, Morisyen, North Ndebele, Northern Sami, Norwegian Bokmål, Norwegian Nynorsk, Nyankole, Oromo, Polish, Portuguese, Romanian, Romansh, Rombo, Rundi, Russian, Rwa, Samburu, Sango, Sangu, Scottish Gaelic, Sena, Serbian, Shambala, Shona, Slovak, Slovenian, Soga, Somali, Spanish, Swahili, Swedish, Swiss German, Taita, Teso, Turkish, Turkmen, Upper Sorbian, Vunjo, Walser, Welsh, Zulu

Jabberwocky in Go Regular

源自 en.wikipedia.org/wiki/Jabberwocky:

没有列出希腊文版本. 相反, 源自 clagnut.com/blog/2380/#Greek:

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/go-blog/go-font...

译文地址:https://learnku.com/docs/go-blog/go-font...

上一篇 下一篇
Summer
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~