2015-06-27 17:48 GMT+02:00 Marcel Schneider <charupd...@orange.fr>: > On Fri, Jun 26, Richard Wordingham <richard.wording...@ntlworld.com> > wrote: > > > On Fri, 26 Jun 2015 12:48:39 +0200 (CEST) Marcel Schneider < > charupd...@orange.fr> wrote: > >> To do traditional French typography on the PC, a justifying no-break > >> space is needed along with the colon, because this punctuation must > >> be placed in the middle between the word it belongs to and the > >> following word. According to the Standard, page 799 (ยง 23.2), such a > >> space is obtained by bracketing a white space with word joiners: > >> U+2060 U+0020 U+2060. To make this colon readily available on > >> keyboard, I should therefore program the sequence: {VK_OEM_2 /*T34 > >> B09*/ ,3 ,0x2060 ,' > >> ' ,0x2060 ,':' ,NONE ,NONE ,NONE ,NONE ,NONE ,NONE ,NONE ,NONE ,NONE > ,NONE ,NONE ,NONE } > > For readability, I strongly recommend 0x0020 over ' ' in this context. > > I pasted the line from the C source, where all ASCII characters, including > 0x20, are written in clear. To ensure readibility, I inserted a line break > before this line. This line break must have been deleted. I don't write > 0x0020 in C when it's not necessary. However I take notice of your > recommendation. > > > What is the behavioural difference between <U+2060, U+0020, U+2060> and > U+00A0? > > The difference appears in word processing, where justification works with > U+0020, while all other spaces, including U+00A0, are not justified. >
This is untrue, U+00A0 is not a fixed-width space and it remains justifiable as well. However it has a default width (when not justified) which is too large for the "fine" we want (its width and justificabiality is exactly like the regular SPACE U+0020, the only difference beting that it is normally not breakabke before or after it). That's why there's NNBSP U+202F whose default width when not justified is narrower (about one half the regular 0.5em SPACE, or one third in English typography, i.e. between 1/6 and 1/4 em: the NNBSP glyph should be sized by default to about 1/5em (0.2em) to work with both conventions, unless the language can be determined. The "hairy space" is even thinner (about 0.1em, or nearly 1px in CSS sizes with default font sizes used in HTML of 13pt at 96 logical dpi; on hiDPI displays or in zoomed in modes working at higher physical resolutions, the 96 logical dpi of CSS will map to dppx equal to several times the logical dpi, and there will be more than 1 physical pixel: the CSS pixel unit is a logical one and the 13pt default font map to about 17.3 logical pixels, and the hairy space is then about 1/17 the em square width, but it is generally rounded up to 1/10 em; the exact metric depends on several rendering factors and visual hints, but it should be the minimum distince that separates two dots and make them visibly and contrastedly separated, without bluring, it is about the same distance that separates the dot above the vertical stem of a "i") NNBSP however will normally not be justified, its width remains constant when NBSP will be expanded like other spaces. This also makes NBSP not suitable for French punctuations and group separators, as it could be really too large (just like the regular SPACE). As group separators, some are arguing that this space should be replaced by the punctuation space (to match the same width as the comma used as the decimal separator in French). But traditionally, the metal typographs just did not make this discriminination only introduced on computers dur to legacy softwares.