diff options
author | Jonas Smedegaard <dr@jones.dk> | 2016-07-14 10:05:27 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2016-07-14 10:05:27 +0200 |
commit | c55fdde6480008ef788a18a54515ec0fbf62d90e (patch) | |
tree | e5f6dab4e3c97d5c156bbe4d80d7edde6878e3bb | |
parent | 6d2476c02ca60563f7245e1eae11716220e64b85 (diff) |
Add page on fonts.
-rw-r--r-- | design/font.mdwn | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/design/font.mdwn b/design/font.mdwn new file mode 100644 index 0000000..025fff6 --- /dev/null +++ b/design/font.mdwn @@ -0,0 +1,124 @@ +# Notes on fonts + +Here are some notes on Free and high-quality typesetting of fonts. + +## Rendering + +### Console + + * Bitmap rendering to exact target (i.e. unscaled). + +### Screen + + * Fewer details like tiny twists in serifs. + * Low variation in thickness of stem. + * Less complexity. + +### print + + * Rich kerning. + +### formats + +For console use, +common font formats are PCF and BDF. + +For screen and print, +common font formats are Postscript type 1 and Truetype. +Both can be of high quality, both can fail for some applications. + +Opentype is a modern container for Truetype or Postscript font data, +and additional data. +Some applications treat Opentype like Truetype +(i.e. fail on Opentype-encoded Postscript fonts). +Some applications ignore or misinterpret some Opentype data, +including [localized name][] and [alphanumeric ID][]. + +[localized names]: + "some encodings of Noto Sans CJK contain 'locl' hints" + +[alphanumeric ID][]: https://tex.stackexchange.com/questions/89352 + "recent Gentium Plus uses alphanumeric identifiers, failing on XeTeX" + +## Naming + +### XLFD + +Xorg natively uses "X Logical Font Description" (XLFD) as naming scheme. + +Available fonts can be probed with `xlsfonts`, +and browsed interactively with `xfontsel`. + +### Freetype + +Freetype uses its own naming scheme. + +## Coverage + +## Style + +### Families and friends + +Print recommendations and web font stacks favoring Free alternatives. + +#### Slab serif + +Slab serif (a.k.a. square serif, Antique or Egyptienne) + +Charis SIL has full [Microtype][] support +:: Charis SIL, Bitstream Charter, Serif + * Universalis, Futura, Trebuchet MS, Arial, sans-serif + +## Application issues + +### LaTeX + +[Microtype][] + "Microtype is a LaTeX package to tune alignment of letters and words. + LaTeX engines PdfTeX, LuaTeX and XeTeX are all supported, but some + features only with PdfTeX, and only (without custom hinting) for a + few common fonts." + +### Scribus + +OpenType fonts without "kern" table +(CFF a.k.a. Postscript Type 2, and maybe also some SFNT fonts?) +were typeset without kerning support until 1.4.0.svn rev. 16365 +(i.e. before 2011-02-16). +Simple test: Check that characters overlap typeseetting string "AVATo". +Upstream bug: <http://bugs.scribus.net/view.php?id=7910> + +Maybe switching between fonts with same id/name +but different type (Type1/TrueType/Opentype-CFF/Opentype-SFNT) +confuses PDF export handling of fonts to embed. +Possible workaround is Preferences→Fonts→Defaults. + +Scribus PDF export supports no newer PDF version than 1.5, +which does support embedding Opentype fonts +(requires version 1.6+). + +## Font stacks + +/* Times New Roman-based stack */ +font-family: Cambria, "Hoefler Text", Utopia, "Liberation Serif", "Nimbus Roman No9 L Regular", Times, "Times New Roman", serif; + +/* Modern Georgia-based serif stack */ +font-family: Constantia, "Lucida Bright", Lucidabright, "Lucida Serif", Lucida, "DejaVu Serif", "Bitstream Vera Serif", "Liberation Serif", Georgia, serif; + +/* Traditional Garamond-based serif stack */ +font-family: "Palatino Linotype", Palatino, Palladio, "URW Palladio L", "Book Antiqua", Baskerville, "Bookman Old Style", "Bitstream Charter", "Nimbus Roman No9 L", Garamond, "Apple Garamond", "ITC Garamond Narrow", "New Century Schoolbook", "Century Schoolbook", "Century Schoolbook L", Georgia, serif; + +/* Helvetica/Arial-based sans serif stack */ +font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif; + +/* Verdana-based sans serif stack */ +font-family: Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", Verdana, "Verdana Ref", sans-serif; + +/* Trebuchet-based sans serif stack */ +font-family: "Segoe UI", Candara, "Bitstream Vera Sans", "DejaVu Sans", "Bitstream Vera Sans", "Trebuchet MS", Verdana, "Verdana Ref", sans-serif; + +/* Impact-based sans serif stack */ +font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans-serif; + +/* Monospace stack */ +font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace; |