Ответ 1
Хммм... нет. Если единственная проблема заключается в том, что  
(U + 2009) все еще ломается, я предпочту использовать:
<span style="white-space:nowrap"> </span>
чтобы исправить нарушение. Почему?
-
Поскольку французский fine эффективно использует почти фиксированную ширину от одной шестой до одной четверти кадратина (от 0,166 до 0,25 ca., когда стандартное пространство составляет 0,5 ca. ) Выбор ширины зависит от подхода, уже присутствующего в глифах, определенных в данном шрифте.
-
Шрифты сделаны для регулировки ширины их тонкого пространства (U + 2009): если эти шрифты были сделаны французскими типографиями (для рендеринга по-французски), approche (или пробелы между буквы на словах) уже, чем в шрифтах, предназначенных для английского языка: это потому, что французские тексты обычно содержат больше букв, чем эквивалентные английские тексты (например, печатная Библия), и чтобы не увеличивать количество печатных страниц, глифы во французских шрифтах были немного более узкий и с уменьшенным подходом; для компенсации этого сокращения французский тонкий был увеличен по размеру. (Часто говорят, что U + 2009 составляет одну пятую часть кадратина, то есть 0,2 ca., но это неправильно, так как это значение является просто разумным медианным значением, которое должно эффективно корректироваться в шрифтах в соответствии с их дизайном).
-
На английском языке с английской типографикой межсимвольные пробелы уже достаточно велики, чтобы оправдать тот факт, что в текстах, близких к знакам препинания double, не используется тонкое пространство. Однако, если французский шрифт с использованием шрифта, использующего английскую типографику (который имеет большие межсимвольные пробелы), fine должен быть уже и должен быть уменьшен до 1/6-го кадратина.
-
Итак, U + 2009 (
 
в репозитории SGML) слегка настраивается в зависимости от шрифтов. -
Кроме того, это может быть частично оправдано (когда используется полное обоснование, где не только обычные межсловные пространства имеют свою ширину, но и все промежутки между символами и нормальные или "штрафные" пространства ( но другие квадраты не должны корректировать ширину: они действительно исправлены).
Когда вы создаете документ, формат страницы которого уже предварительно вычислен (с известными шрифтами и с точными метриками), тонкое пространство (U + 2009) уже то, что вы хотите (потому что вам не придется беспокоиться о нарушении поведение.
К сожалению, Unicode забыл присвоить этим квадратам U + 2000..U + 2006 (и к тонкому пространству U + 2009) неразрывное поведение в свойствах разрыва строки.
Единственный способ для Unicode исправить его (только для текстовых документов) - это добавить еще один символ, а именно U + 202F (NARROW NON-BREAKING SPACE) в Unicode 5.1, которому позже было присвоено символическое имя SGML "nnbsp" для ссылок на символы (но сопоставление этого именованного символьного объекта с U + 202F не является частью какого-либо стандарта HTML или XML, поэтому этот именованный объект также не должен использоваться, если только ваш документ не определяет его явно во встроенном DTD! )
Но, к сожалению, большинство браузеров забыло применить это дополнение и почему оно было необходимо: они предполагают, что символ должен быть в шрифтах, но это явно не так.
ВСЕ браузеры СЛЕДУЕТ рассматривать U + 202F как неразрывные (это уже так, даже если они не знают символ в своей внутренней копии UCD).
Однако браузеры НЕ ДОЛЖНЫ зависеть от того, что U + 202F определяется шрифтом, вместо этого они должны предоставлять резервную копию U + 2009 (THIN SPACE) при его рендеринге, каждый раз, когда U + 202F не отображается в текущий шрифт, но U + 2009 отображается одним шрифтом (обычно это относится ко многим шрифтам).
Итак, это проблема в средствах визуализации HTML (т.е. в браузерах); Я также думаю, что это больше, чем просто проблема с шрифтами, это действительно ОШИБКА браузеров (а не ошибка или ограничение в шрифтах), если они не предоставляют таких резервов для пробелов. Конечно, все новые шрифты должны отображать U + 202F в тот же символ, что и U + 2009.
Учитывая, что тонкое пространство (U + 2009 или  
) очень хорошо поддерживается во многих шрифтах и имеет правильную ширину для рендеринга французских текстов с шрифтами, выполненными с французскими типографскими метриками, или для рендеринга английских текстов, сделанных с Английские типографские метрики, это действительно должно быть правильным резервным, чтобы использовать каждый раз, когда узкое неразрывное пространство недоступно!
Вы можете идеально подражать желаемому поведению U + 202F в HTML, просто используя U + 2009 и делая его неразрывным, используя CSS "white-space: nowrap". Это всегда будет лучше, чем изменение размера шрифта, чтобы отобразить псевдопостоянство (потому что это неверно со многими шрифтами, для которых это все равно будет слишком большим, а также потому, что это не работает так, как ожидалось, в частях текста, имеют цветные фоны: изменение размера шрифта изменяет высоту строки).
Поэтому, пожалуйста, используйте этот код в своих HTML или SVG-документах (сохраняйте U + 202F только для текстовых документов):
<span style="white-space:nowrap"> </span>
Вы можете сохранить эту последовательность в шаблоне многократного использования, который вы можете назвать Template:nnbsp
в MediaWiki, например, для того, чтобы перевести его на свои страницы как {{nnbsp}}
.
Обратите внимание, что по-прежнему предпочтительнее ссылаться на тонкое пространство как  
, а не на то, чтобы точно указать код кода Юникода, например  
: именованный объект может быть переназначен визуализатором или в соответствии с предпочтениями пользователя другому рабочему пробел.
Обратите внимание, что MS-word действительно использует U + 2009, а не U + 202F для представления собственного fine. Это правильно, учитывая, что документы Word имеют предварительно вычисленный макет, и при условии, что MS-Word обеспечивает локальное устранение неполадок при вычислении макета страницы. Документы Word не являются текстовыми документами.
- Например, при использовании цветов фона, чтобы показать, что высота строки не изменяется, но, к сожалению, этот сайт не позволяет устанавливать цвета фона, кроме разделов
<code>
, например здесь, в которых используются моноширинные шрифты):
Exemple de « fine » insécable française correctement codée !
- Тот же без контейнер
<code>
не отображает цвет фона, но он использует обычные пропорциональные шрифты, так что тонкое пространство эффективно отображается как тонкое:
Пример "& thinsp; fine & thinsp;" inseccable française & thinsp;; исправление codée & thinsp;!
- Пример использования
 
(NNBSP, который обычно не поддерживается в большинстве шрифтов, но в конечном итоге это может работать с вашим текущим браузером и шрифтами, установленными в вашей системе, например DejaVu Sans):
Exemple de " fine " insécable française ; correctement codée !
- Пример использования
 
(ШЕСТЬ САДРАТИНА, может работать, но может быть слишком узким для ваших шрифтов и не может показывать свойство, не разбивающееся):
Exemple de " fine " insécable française ; correctement codée ! (hmmm... not really)
- Пример использования
(который почти всегда слишком велик):
Пример " fine " inseccable française ; исправление codée ! (хм... не реально)