About spaces

mauro sacchetto
mauro sacchetto Posts: 374
edited 12:31PM in Font Technology
I need clarification on spaces, which are of different types.
In the official OpenType specification, a quarter of an em is considered the average word space: https://learn.microsoft.com/en-us/typography/develop/character-design-standards/whitespace 
However, in practice I notice unclear choices. For example, in AGaramond Regular (12pt) the situation is as follows:
U+0020: 250 pt
U+00A0=: 250 pt
U+2000: 1000 pt
U+2001: 1000 pt
U+2003: 1000 pt.
In this case, the width is standardized; the en quad is identical to the em quad, etc.
In Garamond Premiere, standardization is absolute; indeed, all spaces from U+2000 to U+200A are set to 1000 pt, including the zero-width ones.
U-0020 (egual to U+00A0) are 200pt in EBGaramond, 250pt in AGaramond and a mysterious 199pt in GaramondPremiere.
What choices do you think are correct?
Thanks
m

Tagged:

Answers

  • John Hudson
    John Hudson Posts: 3,819
    edited 3:28PM
    These are the widths I use for various Unicode space characters (presuming a 1000 UPM grid):
    U+2000 EN QUAD = 500
    U+2001 EM QUAD = 1000
    U+2002 EN SPACE = 500
    U+2003 EM SPACE = 1000
    U+2004 THREE-PER-EM SPACE = 334 (or 333; I prefer to double the U+2006 width)
    U+2005 FOUR-PER-EM SPACE = 250
    U+2006 SIX-PER-EM SPACE = 167
    U+2007 FIGURE SPACE = width of tabular numerals
    U+205F MEDIUM MATHEMATICAL SPACE = 222
    U+2008 PUNCTUATION SPACE = width of /period (in my fonts, also /comma, /semicolon/ colon)
    U+2009 THIN SPACE = 125
    U+200A HAIR SPACE = 63
    U+202F NARROW NO-BREAK SPACE = 125
    U+200B ZERO WIDTH SPACE = 0

    The regular word space (U+0020 and U+00A0) should be design-specific, and relates to the rhythm of the glyphs. So its width flexes with the width of the text style from condensed to expanded, and also changes relative to weight reflecting larger or smaller internal counters.
  • mauro sacchetto
    mauro sacchetto Posts: 374
    edited 4:02PM
    Thanks for the pointers; I’ll double-check the settings I applied to my font.
    Actually, following the standards (as outlined in the link above), there doesn't seem to be much room for creative choices.
    A question: why U+200A HAIR SPACE = 63?
    I’m still puzzled by what I found when looking at the settings of other fonts: the rationale behind them now escapes me...

  • John Hudson
    John Hudson Posts: 3,819
    There’s a general question about spaces in text: should these be drawn as glyphs, or as calculated advances? Some software may ignore glyph widths for all but the basic word space characters, and apply its own definitions of standard widths. A lot of fonts do not include extensive spacing character support, so if those characters occur in text software may opt to handle them as as calculated advances.
    Some of the settings you documented in the Adobe Garamonds look like bugs, but it may be that these have not been spotted in use because Adobe apps provide different methods to insert spaces, and the font en and em space glyphs might not actually be used.
  • Erik
    Erik Posts: 36
    In the official OpenType specification, a quarter of an em is considered the average word space: https://learn.microsoft.com/en-us/typography/develop/character-design-standards/whitespace
    Actually, following the standards (as outlined in the link above), there doesn't seem to be much room for creative choices.
    Is the page you linked to part of the actual OpenType specification?  Itʼs on the same Web site, to be sure.  In any case, here is a more accurate summary of what the page says about word‐space widths:
    • U+0020 SPACE and U+00A0 NO-BREAK SPACE (identical to one another) — general guidelines: range ⅕ em – ½ em; in an “average width font” approximately ¼ em; in a “wide width font” approximately ⅓ em
    • U+2000 EN QUAD and U+2002 EN SPACE ― ½ em
    • U+2001 EM QUAD and U+2003 EM SPACE ― 1 em
    • U+2004 THREE-PER-EM SPACE ― ⅓ em
    • U+2005 FOUR-PER-EM SPACE ― ¼ em
    • U+2006 SIX-PER-EM SPACE ― ⅙ em
    • U+2007 FIGURE SPACE ― standard: advance width of figures (or of figure zero, specifically)
    • U+2008 PUNCTUATION SPACE ― standard: advance width of U+002E FULL STOP and U+002C COMMA
    • U+2009 THIN SPACE ― standard: ⅕ em; but language‐dependent, w/​standard of ⅛ em in French
    • U+200A HAIR SPACE — thinnest space in font, standard: ⅒ em – 1⁄16 em
    So, while for several word spaces Microsoft gives precise widths in relation to the em, for others (including SPACE itself) it gives some wiggle room.
  • mauro sacchetto
    mauro sacchetto Posts: 374
    Yes, that’s the page.
    In any case, thanks for the information!