在法语中,印刷排版要求在各种地方使用狭窄的不间断空格(U+202F)(“Comme ça !”)。
显然,Windows上的所有浏览器都无法支持它们,并且它们都会显示奇怪的字符。这在大多数Mac OS X和Linux上的浏览器上都可以正常工作。
有人知道如何使Windows浏览器正确呈现它吗?
(我认为这是Windows的错误,而不是浏览器的错误,因为只要不在Windows上,Firefox和Safari都支持它。)
在法语中,印刷排版要求在各种地方使用狭窄的不间断空格(U+202F)(“Comme ça !”)。
显然,Windows上的所有浏览器都无法支持它们,并且它们都会显示奇怪的字符。这在大多数Mac OS X和Linux上的浏览器上都可以正常工作。
有人知道如何使Windows浏览器正确呈现它吗?
(我认为这是Windows的错误,而不是浏览器的错误,因为只要不在Windows上,Firefox和Safari都支持它。)
 
(U+2009)仍然会断开,我更愿意使用以下代码来解决断行问题:<span style="white-space:nowrap"> </span>
为什么呢?
因为法语的fine实际上使用的是一个几乎固定的宽度,在六分之一至四分之一的cadratin(标准空格为0.5 ca.时,约为 0.166 到 0.25 ca.)。选择宽度取决于给定字体中定义的字形已有的方法。
字体被制作成调整其细小间距(U+2009)的宽度:如果这些字体是由法国印刷家制作的(用于渲染法语),则单词中字母之间的空隙比设计用于英语的字体要窄:这是因为与等效的英语文本(例如印刷版圣经)相比,法语文本通常包含更多字母,为了避免增加印刷页面的数量,在法语字体中的字形略微变窄并且间距减小;为了弥补此缩小,法式的fine被增大。 (经常说U+2009是cadratin的五分之一,即0.2 ca,但这是错误的,因为这个值只是一个合理的中间值,在字体中应根据其设计实际调整)。
在英语和英语印刷术中,字符之间的间隙已足够大,可以证明在大多数double标点符号附近的文本中不需要使用细小空格。但是,如果用英语印刷术(其中字符之间的间距较大)渲染法语,则fine应该更窄,并且应该减小到1/6的cadratin。
因此,是的,U+2009(SGML存储库中的 
)略微可调节,具体取决于字体。
此外,它可能部分合理化(当使用完全合理化时,其中不仅通常的单词之间的空格宽度增加,而且所有字符之间的间距和普通或“细小”空格之间的所有间隙的宽度也增加(但是其他quad空格不应调整宽度:它们真的是固定的)。
当您呈现已经预先计算页面布局(具有已知字体和精确度量)的文档时,细小空格(U+2009)已经是您想要的内容(因为您不必担心断行问题)。
不幸的是,Unicode“忘记”在换行属性中为这些quad空格U+2000..U+2006(以及细小空格U+2009)分配不断行的特性。
Unicode的纠正方法(仅适用于纯文本文件)是添加另一个字符,即U+202F(NARROW NON-BREAKING SPACE),在Unicode 5.1中加入该字符,后来为该字符引用命名为SGML符号名称“nnbsp”(但将此命名字符实体映射到U+202F并非任何HTML或XML标准的一部分,因此除非您的文档在其嵌入式DTD中明确定义了它,否则也不应使用此命名实体!) 
),并且具有使用法国排版度量制作的法语文本进行呈现时的正确宽度,或者用于呈现使用英语排版度量制作的英语文本,此应该是在狭窄不间断空格不可用时使用的正确回退!<span style="white-space:nowrap"> </span>例如,您可以将此序列保存在可重用的模板中,例如在MediaWiki中将其命名为
Template:nnbsp
,以在您的页面中作为{{nnbsp}}
进行转录。请注意,最好仍然将细间隔符号符号化地引用为 
,而不是强制使用像 
这样的精确Unicode代码点:命名实体可以由渲染器重新映射,或根据用户偏好映射到另一个工作空格。<code>
部分中允许设置背景颜色外,其他地方不允许设置,如此处使用等宽字体):
Exemple de « fine » insécable française correctement codée !
没有<code>
容器的相同内容不会显示背景颜色,但它确实使用常规比例字体,以便细间隔符号实际上被呈现为细间隔:
Exemple de « fine » insécable française ; correctement codée !
使用 
(通常在大多数字体中不受支持的NNBSP,但这可能最终适用于您当前的浏览器和系统上安装的字体,例如DejaVu Sans)的示例:
Exemple de « fine » insécable française ; correctement codée !
使用 
(CADRATIN的六分之一,可能有效,但对于您的字体来说可能太窄,并且可能不显示不间断行属性)的示例:
Exemple de « fine » insécable française ; correctement codée ! (嗯...不太行)
(几乎总是太大)的示例:
Exemple de « fine » insécable française ; correctement codée ! (呃...不太行) 
,这些“hack”不再需要了 :-) 
?最糟糕的黑客攻击:
<span style="margin:-0.08em"> </span>
你可以这样做,但并不理想。
<span style="font-size:50%;"> </span>