ことの起こりは...
ということで、普段使っているマイナスについて調べてみました。
プログラム TestMinus.java
Microsoft Windows XP Professional 上で
かな漢字変換{(IME スタンダード 2003)する際、
キーボードのマイナスを押したときに表示される候補のうちの全角のもの(4種)をデータにしました。
比較の基準としてプラスを採用しました。こちらは変換の候補は全角と半角1文字ずつでシンプルなものです。
テキストの左からプラス、[全]マイナス、[全]ダッシュ、[全]ハイフン、[全]長音の順。
半角のマイナスは対象外です。
念のため入力ファイルをダンプしてみましょう。
[全]ハイフンが
815D
(字形については次表)に符号化されています。
コードをEUCにしたデータも用意しました。
実行結果は、
Shift_JIS と
EUC-JP
のいずれも下記のようになります。
ラベルの文字は表示されますが、マイナスとダッシュはDOS画面に ? が表示されます。
DOS画面の出力をリダイレクトしてダンプをとってみます。
まとめてみましょう。
表2
MSEの呼称 | 字形 | 入力 | 内部コード | 出力 |
[全]プラス | + | 817B |
FF0B | 817B |
[全]マイナス | − | 817C |
2212 | 3F |
[全]ダッシュ | ― | 815C |
2014 | 3F |
[全]ハイフン | ‐ | 815D |
2010 | 815D |
[全]長音 | ー | 815B |
30FC | 815B |
出力は表1どおりで問題はなさそうです。
ここで腰をすえて、JIS漢字字典
でマイナスに「弁似」している文字をリストアップしました。
表3の2から10の9個です。
11番目は表1からの引き写しです。
Windows Codepage 932
と
Windows 932_81
を参照すると、Windows のコードページ 932 では Shift_JIS X'817C' と Unicode U+FF0D とが対応することがわかります。
表3
| 字形 | 名称注1 |
区点注2 |
GL注3 |
GR注4 |
Shift_JIS |
UCS |
ASCII | 注6 |
1 |
+ | 正符号、加算記号 |
1-60 |
215C |
A1DC |
817B |
002B |
2B |
|
2 |
− | 負符号、減算記号 |
1-61 |
215D |
A1DD |
817C |
2212 |
|
|
3 |
― | ダッシュ(全角) |
1-29 |
213D |
A1BD |
815C |
2014 |
|
|
4 |
‐ | ハイフン、マイナス |
1-2-17 |
2231 |
A2B1 |
81AF |
002D |
2D |
|
5 |
ー | 長音記号 |
1-28 |
213C |
A1BC |
815B |
30FC |
B0 |
|
6 |
‐ | ハイフン(四分) |
1-30 |
213E |
A1BE |
815D |
2010 |
|
|
7 |
- | 二分ダーシ、ダッシュ(二分) |
1-3-92 |
237C |
A3FC |
829C |
2013 |
|
|
8 |
─ | 横細線素片 |
8-01 |
2821 |
A8A1 |
849F |
2500 |
|
|
9 |
━ | 横太線素片 |
8-12 |
282C |
A8AC |
84AA |
2501 |
|
|
10 |
- | ソフトハイフン注5 |
1-09-09 |
2929 |
A9A9 |
8548 |
00AD |
AD |
|
11 |
− | |
|
|
|
817C |
FF0D |
|
|
注1
JIS X 0213:2000 で定める日本語通用名称
注2
区点または面区点番号。
区点番号は JIS X 0208:1997 に収録されている文字、
面区点番号は JIS X 0213:2000 に収録されている文字であることを示します。
文字集合については
講義録8.5に簡単な解説があります。
注3
GL領域用符号。ISO-2022-JP で採用しています。
講義録8.6に簡単な解説があります。
注4
GR領域用符号。EUC-JP で採用しています。
注5
ソフトハイフンは、
行末に現れたときにハイフン(または似た字形の文字)を表示し、
それ以外の場所では非表示となります。
JIS X 0213 では常にハイフンとして表示することを許容しています。
注6
The Unicode character Code Charts By Script
から字形を拾いました。クリックすると別ウィンドウで(ちょっとだけ)拡大されます。
このほかにも
Unicode の
General Panctuation
には、
u+2011(NON-BREAKING HYPHEN)
、
u+2012(FUGURE DASH)
、
u2015(HORIZONTAL BAR)
がならんでいます。