Show page source of ambiguous_widthまとめ #106726

= ambiguous width のリソース等 =
ambiguous widthについては、[http://www.unicode.org]にある、
East Asian Width Technical Report #11 (http://www.unicode.org/reports/tr11-5/)
に説明がある。

Unicode文字には6つの種類がある。
Ambiguous, Full Width, Half Width, Narrow, Wide, Not East Asian Neutral

テーブルの定義は
http://www.unicode.org/Public/6.0.0/ucd/EastAsianWidth.txt

ここでAがambiguous,FがFull Width,HがHalf Width,NaがNallow,WがWide,NがNot。


また、http://www.m17n.org/mlarchive/mule-ja/200905/msg00009.html からの
スレッドでも問題になっていて、LC_CTYPEで変更するのは危険と。
ncursesが端末と通信して幅を決められればベターというアイデアが出ている。

ただし、00A2のように、Nでも実際の表示が2バイト幅のものもある。

これも便利
http://www.utf8-chartable.de/

unisetは
http://www.cl.cam.ac.uk/~mgk25/unicode.html

== slang のパッチ ==
http://mailman.jedsoft.org/pipermail/slang-users-l/2008/000630.html にs-langへの
パッチがある。ただメインストリームには含まれていない。

にある。
= 実際の表示 =
どうなるかについては、
http://gihyo.jp/admin/serial/01/charcode/0007 に記述がある。
== 画面例 ==

FreeBSD9.3側でxterm/mltermを起動し、openSUSE 42.2 側で表示をした場合の例

{{{ html
<span style="border 2px;">
<table border="1">
<tr><th>番号</th><th colspan="2">muttrcのcjk_width</th><th colspan="2">LC_CTYPE</th><th colspan="2">terminal</th><th>文字化け</th></tr>
<tr><td></td><td align="center">ON</td><td align="center">OFF</td><td>UTF-8オリジナル</td><td>UTF-8改造</td><td>xterm</td><td>mlterm</td><td></td></tr>
<tr><td>1</td><td align="center">〇</td><td></td><td align="center">〇</td><td></td><td align="center">〇</td><td></td><td>Xフォントが1バイト系</td></tr>
<tr><td>2</td><td align="center">〇</td><td></td><td align="center">〇</td><td></td><td></td><td align="center">〇</td><td>ないがフォントが1バイト系</td></tr>
<tr><td>3</td><td align="center">〇</td><td></td><td></td><td align="center">〇</td><td align="center">〇</td><td></td><td>なし</td></tr>
<tr><td>4</td><td align="center">〇</td><td></td><td></td><td align="center">〇</td><td></td><td align="center">〇</td><td>ないがフォントが1バイト系</td></tr>
<tr><td>5</td><td></td><td align="center">〇</td><td align="center">〇</td><td></td><td align="center">〇</td><td></td><td>Xフォントが1バイト系</td></tr>
<tr><td>6</td><td></td><td align="center">〇</td><td align="center">〇</td><td></td><td></td><td align="center">〇</td><td>Xフォントが1バイト系</td></tr>
<tr><td>7</td><td></td><td align="center">〇</td><td></td><td align="center">〇</td><td align="center">〇</td><td></td><td>文字化けする</td></tr>
<tr><td>8</td><td></td><td align="center">〇</td><td></td><td align="center">〇</td><td></td><td align="center">〇</td><td>Xフォントが1バイト系</td></tr>
</table>
}}}

番号1に対する画像
[[Embed(pettern-A.png)]]

番号2,4に対する画像
[[Embed(pettern-B.png)]]

番号3に対する画像
[[Embed(pettern-C.png, float=checked)]]

番号5に対する画像
[[Embed(pettern-D.png, float=checked)]]

番号6,8に対する画像
[[Embed(pettern-E.png, float=checked)]]

番号7に対する画像
[[Embed(pettern-F.png, float=checked)]]