aboutsummaryrefslogtreecommitdiff
path: root/content/go-fonts.article
diff options
context:
space:
mode:
Diffstat (limited to 'content/go-fonts.article')
-rw-r--r--content/go-fonts.article65
1 files changed, 33 insertions, 32 deletions
diff --git a/content/go-fonts.article b/content/go-fonts.article
index f5e0aca..9af33a2 100644
--- a/content/go-fonts.article
+++ b/content/go-fonts.article
@@ -1,5 +1,6 @@
-Go fonts
+# Go fonts
16 Nov 2016
+Summary: The experimental user interface toolkit being built at [`golang.org/x/exp/shiny`](https://godoc.org/golang.org/x/exp/shiny) includes several text elements, but there is a problem with testing them: What font should be used? Answering this question led us to today's announcement, the release of a family of high-quality [WGL4](https://en.wikipedia.org/wiki/Windows_Glyph_List_4) TrueType fonts, created by the [Bigelow & Holmes](http://bigelowandholmes.typepad.com/) type foundry specifically for the Go project.
Nigel Tao
@@ -7,15 +8,15 @@ Chuck Bigelow
Rob Pike
-* An Announcement
+## An Announcement
The experimental user interface toolkit being built at
-[[https://godoc.org/golang.org/x/exp/shiny][`golang.org/x/exp/shiny`]]
+[`golang.org/x/exp/shiny`](https://godoc.org/golang.org/x/exp/shiny)
includes several text elements, but there is a problem with testing them:
What font should be used?
Answering this question led us to today's announcement,
-the release of a family of high-quality [[https://en.wikipedia.org/wiki/Windows_Glyph_List_4][WGL4]] TrueType fonts,
-created by the [[http://bigelowandholmes.typepad.com/][Bigelow & Holmes]] type foundry specifically for the Go project.
+the release of a family of high-quality [WGL4](https://en.wikipedia.org/wiki/Windows_Glyph_List_4) TrueType fonts,
+created by the [Bigelow & Holmes](http://bigelowandholmes.typepad.com/) type foundry specifically for the Go project.
The font family, called Go (naturally), includes proportional- and fixed-width faces in normal,
bold, and italic renderings.
@@ -37,7 +38,7 @@ and monospaced fonts:
.image go-fonts/go-mono.png _ 600
-* How to use them
+## How to use them
If you just want the TTF files, run
@@ -49,8 +50,8 @@ To use the Go Regular font in a program, import `golang.org/x/image/font/gofont/
font, err := truetype.Parse(goregular.TTF)
-The [[https://godoc.org/github.com/golang/freetype/truetype][`github.com/golang/freetype/truetype`]]
-package provides the [[https://godoc.org/github.com/golang/freetype/truetype#Parse][`truetype.Parse`]] function today.
+The [`github.com/golang/freetype/truetype`](https://godoc.org/github.com/golang/freetype/truetype)
+package provides the [`truetype.Parse`](https://godoc.org/github.com/golang/freetype/truetype#Parse) function today.
There is also work underway to add a TrueType package under `golang.org/x`
again licensed under the same open source license as the rest of the Go project's software.
@@ -58,14 +59,14 @@ We leave it to you to find some of the other unusual properties the fonts have,
but for an overview of the fonts' design we asked Chuck Bigelow to provide some background.
The remainder of this blog post is his response.
-* Notes on the fonts, by Chuck Bigelow
+## Notes on the fonts, by Chuck Bigelow
The Go fonts are divided into two sets, Go proportional, which is
sans-serif, and Go Mono, which is slab-serif.
-* Go proportional fonts
+## Go proportional fonts
-** Sans-serif
+### Sans-serif
Go proportional fonts are sans-serif, like several popular fonts
for screen displays. There is some evidence that some sans-serif
@@ -75,7 +76,7 @@ there is not a significant difference in legibility between sans and
seriffed faces, at least in the pair tested. [1] (The bracketed numbers
refer to the references listed at the end of this article.)
-** Style
+### Style
Go sans-serif fonts are "humanist" rather than "grotesque" in
style. This is an historical distinction, not an aesthetic judgment.
@@ -91,7 +92,7 @@ and early fonts of the Italian Renaissance and still show subtle
traces of pen-written calligraphy. There is some evidence that
humanist fonts are more legible than grotesque fonts. [2]
-** Italics
+### Italics
Go proportional italics have the same width metrics as the roman
fonts. Go italics are oblique versions of the romans, with one
@@ -105,7 +106,7 @@ Italics, in part because of history and design. [3]
.image go-fonts/abdgpq-proportional.png
-** The x-height
+### The x-height
The x-height of a typeface is the height of the lowercase 'x' relative
to the body size. The x-height of Go fonts is 53.0% of body size, a
@@ -116,7 +117,7 @@ legibility in small sizes and on screens. A study of "print size"
(particularly x-height) and reading noted that types for reading on
screens and for small sizes tend to have large x-heights. [4]
-** DIN Legibility Standard
+### DIN Legibility Standard
The recent German DIN 1450 legibility standard recommends
several features for font legibility, including differentiation of
@@ -127,7 +128,7 @@ capital S; and numeral 8 from capital B. The shapes of bowls of
b d p q follow the natural asymmetries of legible Renaissance
handwriting, aiding differentiation to reduce confusion. [5]
-** Weights
+### Weights
The Go proportional fonts come in three weights: Normal, Medium,
and Bold. The Normal weight is strong enough that it maintains
@@ -145,7 +146,7 @@ weight name matches the use of “Bold” as the usual corresponding
bold weight of a normal font. More discussion of the relationship of
stem thicknesses, weight names, and CSS numbering is in [6].
-** WGL4 character set
+### WGL4 character set
The WGL4 character set, originally developed by Microsoft, is often
used as an informal standard character set. WGL4 includes Western
@@ -154,7 +155,7 @@ Cyrillic, with additional symbols, signs, and graphical characters,
totalling more than 650 characters in all. The Go WGL4 fonts can
be used to compose a wide range of languages. [7]
-** Metric compatibility with Arial and Helvetica
+### Metric compatibility with Arial and Helvetica
The Go sans-serif fonts are nearly metrically compatible with
standard Helvetica or Arial characters. Texts set in Go occupy
@@ -164,9 +165,9 @@ humanist style. Some Go letters with DIN legibility features are
wider than corresponding letters in Helvetica or Arial, so some
texts set in Go may take slightly more space.
-* Go Mono fonts
+## Go Mono fonts
-** Monospaced
+### Monospaced
Go Mono fonts are monospaced—each letter has the same width as
the other letters. Monospaced fonts have been used in programming
@@ -177,18 +178,18 @@ rows, a style also found in Greek inscriptions of the 5th century BC.
but they did have great mathematicians and a great sense of symmetry
and pattern that shaped their alphabet.)
-** Slab-serif
+### Slab-serif
The Go Mono fonts have slab-shaped serifs, giving them a sturdy
appearance.
-** Style
+### Style
The underlying letter shapes of Go Mono are, like the Go sans-serif fonts,
derived from humanist handwriting, but the monospacing and slab serifs
tend to obscure the historical and stylistic connections.
-** Italics
+### Italics
Go Mono Italics are oblique versions of the romans, with the exception
that the italic lowercase 'a' is redesigned as a cursive single-story form
@@ -199,7 +200,7 @@ be more legible than truly "cursive" italics.
.image go-fonts/abdgpq-mono.png
-** The x-height
+### The x-height
Go Mono fonts have the same x-height as Go sans-serif fonts, 53% of
the body size. Go Mono looks almost 18% bigger than Courier, which
@@ -207,7 +208,7 @@ has an x-height 45% of body size. Yet Go Mono has the same width
as Courier, so the bigger look is gained with no loss of economy in
characters per line.
-** DIN Legibility Standard
+### DIN Legibility Standard
Go Mono fonts conform to the DIN 1450 standard by differentiating
zero from capital O; numeral 1 from capital I (eye) and lowercase l (ell);
@@ -215,7 +216,7 @@ numeral 5 from capital S; and numeral 8 from capital B. The shapes of
bowls of b d p q follow the natural asymmetries of legible Renaissance
handwriting, aiding differentiation and reducing confusion.
-** Weights
+### Weights
Go Mono fonts have two weights: Normal and Bold. The normal weight
stem is the same as in Go Normal and thus maintains clarity on backlit
@@ -226,7 +227,7 @@ Because the letter width of monospaced bold is identical to the width of
monospaced normal, the bold Mono appears slightly bolder than the
proportional Go Bold, as more black pixels are put into the same area.)
-** Metric compatibility with popular monospaced fonts
+### Metric compatibility with popular monospaced fonts
Go Mono is metrically compatible with Courier and other monospaced
fonts that match the "Pica" typewriter type widths of 10 characters per
@@ -234,7 +235,7 @@ linear inch at 12 point. At 10 point, Go Mono fonts set 12 characters
per inch. The TrueType fonts are scalable, of course, so Go Mono can
be set at any size.
-** WGL4 character set
+### WGL4 character set
The Go Mono fonts offer the WGL4 character set often used as an
informal standard character set. WGL4 includes Western and Eastern
@@ -242,7 +243,7 @@ European Latin characters plus Modern Greek and Cyrillic, with
additional symbols, signs, and graphical characters. The 650+ characters
of the Go WGL4 sets can be used for a wide range of languages.
-* References
+## References
[1] Morris, R. A., Aquilante, K., Yager, D., & Bigelow, C.
(2002, May). P‐13: Serifs Slow RSVP Reading at Very Small Sizes,
@@ -286,12 +287,12 @@ Shona, Slovak, Slovenian, Soga, Somali, Spanish, Swahili, Swedish,
Swiss German, Taita, Teso, Turkish, Turkmen, Upper Sorbian, Vunjo,
Walser, Welsh, Zulu
-* Jabberwocky in Go Regular
+## Jabberwocky in Go Regular
-From [[https://en.wikipedia.org/wiki/Jabberwocky]]:
+From [en.wikipedia.org/wiki/Jabberwocky](https://en.wikipedia.org/wiki/Jabberwocky):
.image go-fonts/go-font-jabberwocky.png _ 500
-There is no Greek version listed. Instead, a pangram from [[http://clagnut.com/blog/2380/#Greek]]:
+There is no Greek version listed. Instead, a pangram from [clagnut.com/blog/2380/#Greek](http://clagnut.com/blog/2380/#Greek):
.image go-fonts/go-font-greek.png _ 530