Hisashi Morita ([info]hisashim) wrote,
@ 2005-04-06 23:37:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
[i18n] 半角・全角の使い分け
半角・全角の使い分け
====================

欧文の単語やコードのシンボルを全角英数字で表記しているかどうかで、それを書いた人のコンピュータに関するスキルを測れるかどうか。この話題は不定期に繰り返し浮上してくる。

http://www.otsune.com/diary/2005/04/02.html#200504024
http://www.hirax.net/diaryweb/2005/04/03.html#200504033

個人的には、推測する材料のひとつでしかないと思う。僕も全角英数字を使ったメールや原稿を受け取るとちょっと身構えるけれども、それだけでは断定はしかねる。というのも、優秀な人で、英数字を全角で書く人が実際にいるので。

ただ個々人をとってみると優秀な人もいるけれども、統計的に見たら残念な状態の人のほうが多いことは確実だと思うので、書く側は勘違いされたくなければ適当に使い分けたほうが得だろう(正しいかどうかの問題ではなく損得の問題)。

これはIEやWordがデフォルトでプロポーショナルフォントを使うことも影響しているんじゃないかと思う。そういうアプリケーションしか使わないし、印刷もめったにしない人は、等幅フォントで表示させたり、印刷したりしたときの不恰好さには気付かないままだろう。

まあ字句なんかよりも情報の構造に気を遣ってくれたほうがよほどいい文章になるので、技術者のみなさんはパラグラフライティングの技術を身に付けてくださることを切にお願いする次第。

結局コンピュータ側の不備
------------------------

そもそもソフトウェアの出来が良ければ、半角や全角をユーザが意識する必要はない「はず」。見た目のバランスは出力系で指定すればいい「はず」。検索にしたって、全角半角を同一視するか区別するかを切り替えるスイッチを付ければいいだけの「はず」。文字集合やエンコーディングがうまく設計されていれば、ユーザも開発者も混乱しない「はず」。あくまで理論上は。

でも出来が良いソフトウェアは少ないから、今のところは人間がコンピュータ側に少し歩み寄ってあげる必要がある。コンピュータの本場が欧米であったり、欧米以外の言語圏(日本語圏を含む)が市場としてあまり重視されていないせいだろうか。i18nやらm17nを理解しているプログラマが、そもそもとても少ないと思う。だからしばらくの間は、理解のあるユーザなら、少しコンピュータ側に合わせてあげる必要がある。しばらくの間、たぶんあと50年から100年くらいは。

FYI: 使い分けのローカルルール
-----------------------------

文字の表記については、出版社から出版するならば編集部から指定があるはずなのでそれに従ったり従わなかったりして、指定がなければ自由にしていただければよろしいかと。

自分が担当する出版物では、次のような基本ルールを決めておいて、著者と相談しながらケースバイケースで手を加えて使っている(僕は編集について正規の教育を受けていないので、あくまで個人的なローカルルールであり、スタンダードなものではないことにご注意)。

* 大原則として、和文は全角、欧文は半角で記述する(例: 漢字とalnum, code, y = ax + b (x < c), hello())。

* プログラミング言語のコード・数式は原則として欧文として扱う。

* 和文の文末の句読点や、和文で囲まれた括弧など、和文中の約物は原則として全角(例: ()?!、。)。括弧内の語句が欧文であっても括弧は全角を使う(例: 国際化(internationalization: I18N)は重要)。
同様に、欧文の文末の句読点や、欧文で囲まれた括弧など、欧文中の約物は原則として半角(例: ()?!,.)。括弧内の語句が和文であっても括弧は半角を使う(例: I18N (国際化) is important)。

* 和文単語を列挙する場合は全角の点()、欧文単語を列挙する場合は半角カンマ(,)と半角スペースを使う。

* 以上のルールに照らしても迷うことがあったら、半角がある文字は半角を使う(ただしカタカナを除く)。

* 欧文と和文の間に半角スペースは入れない。レイアウト用のソフトウェア(いわゆるDTPソフト)で、欧文和文間のアキを指定できることが多いので(例: 和文の間にalnumが入っている場合、前後には半角spaceを入れない)。

なお、テンマルの場合に基づいて書いているけれど、カンピリを使うルールの場合はテンマル(、。)の代わりに全角のカンマ・ピリオドを使う(,.)。欧文の割合が多い文書では、カンピリのほうが読みやすい場合がある。

縦組みの場合はまた別のルールがあるはずなのでそれに従う。

このへんについて詳しく知りたい人には、野村保恵著『編集者の組版ルール基礎知識』(日本エディタースクール出版部, 2004)が参考になるかもしれない。

編集者の組版ルール基礎知識
野村保恵
http://www.amazon.co.jp/exec/obidos/ASIN/4888883386/

機械的な置換処理は難しい
------------------------

ちなみに文字を機械的に置き換えることは難しく、原則として著者が使い分けなければならない。文脈によって意味が変わるので。例えば(foo)はS式で(foo)は括弧書きだなんて、補足する情報がない限り機械には分からない。だから著者自身か、内容を理解している編集者が判断して使い分ける必要がある。

参考資料
--------

というわけで、日本語の情報処理は僕ら末端のユーザから見ると遺憾な状態なので、ソフトウェア技術者のみなさんにはより良いソフトウェアを作ってくださるよう切にお願いする次第。参考資料としては、僕が斜め読みしたなかではCJKVとI18N ハンドブックがおすすめ。

CJKV日中韓越情報処理
Ken Lunde, 小松 章, 逆井 克己
http://www.amazon.co.jp/exec/obidos/ASIN/4873111080/

国際化プログラミング―I18Nハンドブック
清兼 義弘, 末広 陽一
http://www.amazon.co.jp/exec/obidos/ASIN/4320029046/

このへんをきちんと押さえてる人って、ソフトウェア開発のプロフェッショナルでも案外少ないんじゃないかという気がする。どうだろ。



Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…