Comment 9 for bug 36977

Revision history for this message
verdy_p (verdy-p) wrote :

Nicolas : all those non-breaking spaces (fines) around punctuations should be narrow, including those after "«" and before "»" which are not different from those before ";:!?".

What is true is the THINSP should never be used in texts, because it is breaking, even if most fonts do not define any mapping for NNBSP, but only for THINSP (the main reason being that the breaking/non-breaking property difference is NEVER handled by fonts themselves but by always by plain text renderers and layout engines for rich text renderers.

The same is true for the unneeded mapping of NBSP (U+000A0) : fonts can just define the mapping to the standard ASCII SPACE (U+0020), and renderers will use the same glyph for representing boths. Why ? Simply because fonts are not true programs, and can't perform any layout. All what fonts define is a table of glyphs to map for a selected subset of the UCS (if he UCS encoding is used in that font).

Fonts also don't have any mapping for controls (except the special format controls needed to control the joining behavior of ligatures within GSUB / GDEF substitution rules, where ZWJ and ZWNJ may be given specific roles without defining any glyph by themselves, and possibly also CGJ which is completely transparent in fonts and is used for blocking the canonical relative reordering of combining diacritics), so they dont map anything for line-breaking CR or LF, or for TAB : if they do it, they just map them to the same glyph as the normal SPACE.