2009-10-26 36 views
1

在为PDF,HTML和其他文档编写解释器时,我们需要处理各种空格字符和其他非打印字符。 ANSI的定义很明确,但在实践中可能会找到多少其他的?一个典型的例子是在ISO10646集群(我认为):通常使用多少个非打印字符?

          en space 
         em space 
         thin space 
‌ ‌  ‌ ‌ zero width non-joiner 
‍ ‍  ‍ ‍ zero width joiner 
‎ ‎  ‎ ‎ left-to-right mark 
‏ ‏  ‏ ‏ right-to-left mark 

(对于字符不出现以上显而易见的原因!)。

回答

2

的Unicode会和我们在一起,在增加数量,很长一段时间。如果HTML或XML文档是以UTF-8编码的Unicode编写的,那么您应该期望出现任何和所有这些。

在Unicode中(Unicode字符数据库)以下码点被定义为空白:

U+0009–U+000D (control characters, containing Tab, CR and LF) 
U+0020 SPACE 
U+0085 NEL (control character next line) 
U+00A0 NBSP (NO-BREAK SPACE) 
U+1680 OGHAM SPACE MARK 
U+180E MONGOLIAN VOWEL SEPARATOR 
U+2000–U+200A (different sorts of spaces) 
U+2028 LS (LINE SEPARATOR) 
U+2029 PS (PARAGRAPH SEPARATOR) 
U+202F NNBSP (NARROW NO-BREAK SPACE) 
U+205F MMSP (MEDIUM MATHEMATICAL SPACE) 
U+3000 IDEOGRAPHIC SPACE 
+0

@Michael谢谢 - 很有用。不与我列出的那些重叠。 – 2009-10-26 21:48:02

1

在开发世界有至少一个以上(最常见的Web开发中使用)

  // non-breaking space 

但是你来设计世界越多,你看到各种空间/隐形字符。出版软件通常有

  • 空间 - 常规SPACE
  • 半角空格
  • 全角空格
  • 狭窄的空间
  • 头发空间
  • 非换空间
  • 非打破固定的宽度空间
  • 第六空间
  • 季度空间
  • 第三空间
  • 标点符号空间
  • 冲洗空间
  • 数字空间
  • ...
+0

是,0XA0;见http://en.wikipedia.org/wiki/Non-breaking_space – 2009-10-26 21:46:12

+0

@罗伯特你可以请列出数字? – 2009-10-26 21:49:06

+0

#fail。我刚写下了我在InDesign中看到的那些。我不确定它们是否都是实际的UNICODE标准。抱歉。有些是相当设计导向的(如冲洗空间),也许只存在于软件中。 – 2009-10-26 22:43:50