とつか町だより

アクセスカウンタ

zoom RSS 全角と半角

<<   作成日時 : 2007/09/01 23:26   >>

ブログ気持玉 0 / トラックバック 1 / コメント 12

日本語の文字コードを語る上で避けて通れないのが「全角」「半角」の問題だ。

ぼくが子どもの頃(1980年代前半?)、パソコンの画面というのは、32×16とか、80×25とかのマス目からできていて、文字はそのマス目の中に、1マス1文字ずつ埋められていくものだった。そして出せる文字はASCII文字とカタカナ(JIS X 0201)、それとベンダが独自に拡張したグラフィック文字(GRAPHキーを押しながら入力する)だけであった。

ホームユースのパソコンで漢字が本格的に扱えるようになったのは、1982年発売のPC-9801からではなかったかと思うが、パソコン少年だったぼくは、電器屋さんの店頭でPC-9801の画面に漢字が出るのを確認して感動した記憶がある。そして漢字は、これまでの文字と違って、1文字表示するのに画面上の2マスが使われていた。ここで使われていた文字コードがJIS X 0208である。

これがつまりは「全角」と「半角」のルーツなのだが、話がややこしいのは、ASCII文字(あるいはJIS X 0201)とJIS X 0208には同じ文字が重複して収録されていたことだ。パソコンで最も一般的に使われる日本語文字コードとなった「Shift_JIS」は、ASCII(あるいはJIS X 0201)とJIS X 0208を組み合わせて作られており、重複した文字は事実上、違う文字という認識が生じてしまった(「全角のA」と「半角のA」は違うという意識)。

Unicode時代となった今では、「全角」と「半角」を区別する意味はなくなっているはずなのだが、この2種類の文字の使い分けが続いているのが実情だと思う。ビジネス文書などを見ていても、狭いスペースに文章を押し込みたいときは、フォントを小さくするよりも、半角カナを使っているケースが多いような気がする。特に長ったらしいカタカナ用語が頻出する資料を作るなら半角カナは必須だ。

Unicodeでは、他の規格との互換性維持のため「Halfwidth and Fullwidth Forms」というブロックを設けて重複した文字を収録している。JIS系の文字コードとUnicodeとのマッピングにおいては、いわゆる全角英数字と半角カタカナを「Halfwidth and Fullwidth Forms」に対応させることになるが、以下のような問題点がある。

(1)ASCIIとJIS X 0201とで異なる文字が収録されているコード

0x5Cと0x7Eという2箇所のコードに割り当てられた文字がASCIIとJIS X 0201とで異なることから、厄介な問題が生じている。特に円記号問題(0x5CにASCIIではREVERSE SOLIDUS(バックスラッシュ)が、JIS X 0201ではYEN SIGN(円記号)が割り当てられていることから生ずる諸問題)は深刻で、もはやきちんとした解決は望めない状態。Windowsの実装では、Shift_JISの0x5CにはUnicodeのREVERSE SOLIDUS(U+005C)を対応させた上で、日本語フォントで表示するグリフを円記号にするというアクロバティックな方法が取られている。このため日本語フォントでは「半角のバックスラッシュ」は表示できない。バックスラッシュを表示させたければ、その部分だけ英字のフォントを使うか、「全角のバックスラッシュ」(U+FF3C:\)を使うしかない。

0x7Eについては、ASCIIではTILDE(チルダ)が、JIS X 0201ではOVERLINE(オーバーライン)が割り当てられている。ただしJIS X 0201には、オーバーラインの字形はチルダと同じ形でも許容されるとか書いてあってややこしい。今のパソコンでは、「半角のオーバーライン」というのは出しにくい(キーボードからは入力できない)。逆に昔のキーボードでは「(半角の)チルダ」をどうやって入力すればいいかわかりにくいケースがあったように記憶している。またUnicodeには「FULLWIDTH OVERLINE」がなく、代わりに「FULLWIDTH MACRON」がある。名前の誤りと捉えるべきかもしれないが、微妙。もともとマクロンとオーバーラインは見た目は同じで、アクセント記号として使うのがマクロンというだけのことだ。

(2)ASCIIにあってJIS X 0208にはない文字
波ダッシュ問題。TILDE(チルダ、~)はASCIIにはあるが、JIS X 0208には対応する文字がない。ないのだが、Windowsの実装では、JISの「波ダッシュ」(1区33点)をTILDEと同一視して、Unicodeの「FULLWIDTH TILDE」(U+FF5E)に対応させている。ところがUnicodeでは、JISの波ダッシュに対応する「WAVE DASH」(U+301C)が用意されているので、こちらに対応させるのが正しい。正しいのだが、何故かUnicodeの仕様書ではこの波ダッシュが上下逆に印刷されてしまっており、話がすっかりややこしくなってしまった。このU+301Cについては、Windowsの標準フォントでは、XPまでのバージョンではUnicodeの仕様書通り(上下逆)で作られていたが、VistaバージョンからはJISの仕様書通りに作られるようになった(つまり、「WAVE DASH」と「FULLWIDTH TILDE」の見た目は同じになった)。

(3)ASCII(JIS X 0201)に一対一で対応するJIS X 0208の文字がないケース
QUOTATION MARK(")とAPOSTROPHE(')とHYPHEN-MINUS(-)については、一対一で対応するJIS X 0208の文字(「全角文字」)が存在しない。
JIS X 0208にあるのは「右ダブルクォーテーションマーク」や「左シングルクォーテーションマーク」など、もっと用途ごとに特化した記号である。
クォーテーションマークとアポストロフィーについては、見た目が違うのでまだ話が分かりやすいが、「ハイフンマイナス」と「負記号」は見た目では区別がつかず、記号の意味が違う(というか、ハイフンマイナスの方が使用範囲が広い)だけなので非常にややこしい。厳密に言えば、JISの「負記号」(1区61点)とASCIIの「HYPHEN-MINUS」は違う記号なので、全角・半角の区別をつける必要はなく、Unicodeで言えば「MINUS SIGN」(U+2212)に対応させるのが正しい。ただしWindowsの実装ではJISの「負記号」をUnicodeの「FULLWIDTH HYPHEN-MINUS」に対応させている。

(4)通常のShift_JISでは重複しないのに全角・半角の区別がある記号類
以下の4種類の記号は、ASCII(JIS X 0201)にはなくJIS X 0208と「IBM拡張文字」にだけ存在するので、全角・半角の区別は本来必要ない。ところがUnicodeには全角形のコードが用意されており、Windowsの実装でもこれらの記号は全角側に対応づけられている。
JIS X 0208Shift_JIS名称UnicodeUnicode
(Fullwidth)
1区81点0x8191セント記号(CENT SIGN)U+00A2(¢)U+FFE0(¢)
1区82点0x8192ポンド記号(POUND SIGN)U+00A3(£)U+FFE1(£)
2区44点0x81CA
0xEEF9
0xFA54
否定(NOT SIGN)U+00AC(¬)U+FFE2(¬)
なし0xEEFA
0xFA55
破断線(BROKEN BAR)U+00A6(¦)U+FFE4(U)
※「否定」は1983年JISで追加、「破断線」はJIS X 0213で追加。
こんな仕様になったのは、どうやら「IBM CP942/943」という文字コードと関係があるらしい。昔のIBMのパソコンの日本語キーボードには、「¢」や「£」や「¬」が印字されていた(ただしそのキーを押してもそれらの文字は出せなかった)が、この謎の回答も同じ線でつながっているようだ。
「U」だけが何だかよく分からないが、ぼくのパソコンのキーボード(NECの普通の日本語キーボード)の最上段一番右(Back Spaceキーの左)にはこの字が印字されている(ただし出力されるのは「|」)。そもそも「U」というのは、本来「|(VERTICAL BAR)」と同じ文字で、ラテン文字の大文字アイや小文字エル、アラビア数字の一と区別しやすくするために真ん中に切れ目を入れたものらしい。そんな出自と関係があるのだろうか。

参考URL:
従来の文字コードとUnicodeの対応に関する諸問題
JIS漢字とUCS (Unicode)の文字の対応・変換について

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
JIS X 0201――バックスラッシュと円マーク
JIS X 0201――バックスラッシュと円マーク【更新】デザインを一新し、参考サイトを追加 ...続きを見る
ぱふぅ家のホームページ
2017/02/17 12:06

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(12件)

内 容 ニックネーム/日時
I loved as much as you will receive carried out right here. The sketch is attractive, your authored subject matter stylish. nonetheless, you command get got an impatience over that you wish be delivering the following. unwell unquestionably come more formerly again since exactly the same nearly very often inside case you shield this hike. http://www.albinoblacksheep.com/share/?url=http://bunga-bunga-party.com/about-escort-agency/
Scottexile
2017/01/04 12:48
Сервис по подбору партнера на 1 ночь. Без смс и необходимости заполнять огромную анкету!!!
Огромное количество анкет девушек и парней из практически любого города планеты! Такого больше нету ни на 1 сайте.
http://goo.gl/1HxD7V
DaiterEr
2017/01/13 13:25
I really like what you guys are up too. This kind of clever work and exposure! Keep up the excellent works guys I’ve you guys to my phorumroll. http://wallinside.com/post-57430644-gigolo-milano-monza-brianza-pavia-sondrio-varese-gigolo-lombardia.html
Scottexile
2017/02/04 11:35
Cynthia > C’est la mme chose La piscine et Le rfectoire un soir et la piscine sous la pluie, en fait ? Ou pas? Ton utilisation de l’adjectif spcial me semble un peu perplexe. Tu n’es pas une fervente admiratrice de la prose d’Ogawa, j’ai l’impression… Je me trompe? Je ne sais pas si j’en deviendrai une. Pour le peu que j’ai lu d’elle, j’aime mieux le malaise que distille Joyce Carol Oates dans ses livres, pour le moment. Mais je ne sais pas si ces deux auteures sont comparables, au fond… aller https://foursquare.com/user/191662940/list/quand-la-discr%C3%A8te-%C3%A9tudiante-en-lettres-devient-un
DomenicBen
2017/03/08 15:35
ヒK矜蕘Z? ?裝頸 http://finhelp.cu.cc/ 矜I? ?B ?裝珞??? @? ?頏籵L ?頸褞?? 蓁? ??磊? 矜IA韃 ?裝頸 ?A褥?C褊?韜 褪 ? ?鞦? ?裝頸 碵褪 ?裝頸H A聰G鈞?, C?? 粽 糂襄 褞頸A鞨??Z? 褂蒟?? 矜I? 蒟?裘 ? JM?H褊Z? ??. ヒ裙?K?褊M 粢籵 ?瑟? 鈞?襌瑣, 粢蕈 ? ?琺韃 胛蕘 矜鈞? ?JG?? B?Z? ?J顆褥紆K ??I頏?? 籵?, ? ?褪C? 頷 ?葢韆褊? ?? 鈞糂裙萵 鞦J裹 璢褥鞣Z??. マJ頸? 韲褥?, 萵趺 褂褄? ? 矜I? C?珸琿?. ミ褊? ?韈竟? ?C蕣赳褪?, ??Q? ? 鈞瑾粲瑣? 韈糶籵? 褞? 蓼裹糺?. ト珮? ?G? 瑟褞韭瑙頷 蒟砒糺? 粨鈞? ?裝頸H ?JB?. ネ?-鈞 ?褥? @跖聰, 跫D ?I? 鞦J裹 鴒鞣D, J??? 蒟鴦糒? http://finhelp.cu.cc/ 鞦J裹 裝頸? I? ?BH??, ? finhelp.cu.cc ?裝頸 ?I?.

<a href="http://finhelp.cu.cc/potrebitel/kredit-s-18-let-po-pasportu.php">?裝? ? 18 ?褪 ?? ?瑰?A</a>
AveryTig
2017/06/15 10:48
マ葢韆褊韃 籵? 琺A! ミ瑰??? 籵? ?瑟? ?? 蓿肛 琺瑟!マJ? ?M胛 ?韃QA! ネ 鈞珮? ??.
ト?? 鈞?珸? ?鱠頸? 琺 ? @瑣頸褥 ?? ??Q瑕?. 琺: http://progoni-xrumer.ru
Ayudfghiuiifak
2017/06/19 03:23
マ鞣?! ?瑰Z? ? 籵? 琺!
ヌ璋褊頸?, ク? ?褞 矜銛 ?竟? ?J琺? ? ? ?璞褥?: <a href=http://inspacefilm.ru/>ヒ? ?K裝韋 2017 砒?瑣M</a>
http://inspacefilm.ru/luchshaya-fantastika-spisok-filmov/ <b> 2017 ?J琺? ?? 瓔Q瑰?? </b>
<a href=http://inspacefilm.ru/luchshaya-fantastika-spisok-filmov/> ヒ? 瓔Q瑰?? M粨I? 2017 </a>
<a href=http://inspacefilm.ru/multfilmy/> ヘA竟?? 2017 ?? ??齏?? </a> ヘA竟?? 2017 ?? ??齏??
http://inspacefilm.ru/newskino/6962-stala-izvestna-rol-moreny-bakkarin-v-dedpule.html <b> ム?? 韈粢 ?? フA褊? チ瑕?瑩竟 ? ォト?蔡蟒 </b>
<a href=http://inspacefilm.ru/uzhasy/1738-ohotniki-za-duhami-ghost-team-one-2013.html> ム?C褪 ホ韭? 鈞 蔘?? / Ghost Team One (2013) ?J琺? 砒?瑣M </a>
? ヌ蒟: http://inspacefilm.ru/uzhasy/12307-obitel-zla-resident-evil-2002.html
Richardcof
2017/12/12 15:35
Varicose veins are caused by a malfunction of the venous valves in the veins of the legs. When these eier.wahrheit.nl valves flunk they do not decently concluded the liberation of blood as it pumps to the excrescence and a predestined amount of blood flows dorsum behind down and begins to bags in the veins.
RichardVew
2017/12/14 21:43
[url=https://nvzmk.ru/metallokonstrukcii/mostovye-kran-balki/]Мостовые краны производство и изготовление[/url]
AndryRug
2017/12/29 03:16
My up to date entanglement scheme:
http://gilda.go.telrock.net
shereeoh16
2018/01/03 23:12
nice web site <a href=https://ccfullzshop.com>shop cvv</a> - cc shop, buy cc fullz
AndrewPreek
2018/03/03 00:00
no deposit bonus uk 2017
casino nsw
casino 36
online casino 888
no deposit bonus lucky creek
Joey
2018/07/17 00:20

コメントする help

ニックネーム
本 文
全角と半角 とつか町だより/BIGLOBEウェブリブログ
文字サイズ:       閉じる