2

( EmacsWiki のwhitespace-mode)whitespace.elには、 という変数がありますwhitespace-display-mappings。この変数は、特定の特殊文字がさまざまなコンテキストでどのようにレンダリングされるかを決定します。環境に応じてさまざまなデフォルト値を持つことができますが、1 つのデフォルト値は次のとおりです。

'((space-mark   ?\     [?\u00B7]     [?.]) ; space - centered dot
  (space-mark   ?\xA0  [?\u00A4]     [?_]) ; hard space - currency
  (space-mark   ?\x8A0 [?\x8A4]      [?_]) ; hard space - currency
  (space-mark   ?\x920 [?\x924]      [?_]) ; hard space - currency
  (space-mark   ?\xE20 [?\xE24]      [?_]) ; hard space - currency
  (space-mark   ?\xF20 [?\xF24]      [?_]) ; hard space - currency
  (newline-mark ?\n    [?$ ?\n])    ; eol - dollar sign
  (tab-mark     ?\t    [?\u00BB ?\t] [?\\ ?\t])) ; tab - left quote mark

?\?\xA0?\nおよびのマッピングは?\t、それぞれ通常のスペース、改行なしスペース、改行、およびタブをマッピングするため、簡単です。

しかし、 、 、 の文字?\x8A0?\x9A0?\xE20です?\xF20Devanganari/<not assigned>それぞれ、Bengali/BENGALI LETTER TTHA、 、Thai/THAI CHARACTER PHO SAMPHAOを表しTibetan/TIBETAN DIGIT ZEROます。彼らがマッピングするキャラクターも神秘的です。デフォルトでは、Unicode ブロックの「後で」4 文字にマップされるだけで、意味がありません。

TIBETAN DIGIT ZERO文字は、他の種類の「特別な」文字を表す Emacs によって生成された歩哨である可能性がありますが、その場合、たとえば他の文字にマップすることは不可能であるため、意味がありません。

これらの文字とそれらがマップする文字は、実際には何を表しているのでしょうか?

4

1 に答える 1

3

このコードは、Emacs の文字の内部エンコーディングが Unicode ではなかった Emacs<23 用に書かれた可能性が最も高いです。したがって、これらの文字は実際にはさまざまな異なる NBSP でした (latin-1 用、latin-2 用など)。

于 2012-09-12T17:55:22.567 に答える