タイトルMac OS XでJISキーボードを使うと、\とバックスラッシュは区別されるカテゴリー開発情報, Mac OS X
作成日2000/10/27 11:34:13作成者新居雅行
Mac OS Xを使う時のキーボード入力の際に、特にプログラマは注意をしなければならない点があることを、Jeditで知られる株式会社まつもとの松本慧氏より情報をいただいた。C/C++にしても、AppleScriptにしても、あるいはPerlにしても、「\」記号の入力をすることが多い。もちろん、英語フォント的にはバックスラッシュであるが、日本語フォント上では\として記述するのが基本だし、プログラミングの解説書などでも昔はバックスラッシュとして記述していた時代もあるけど、今では\で示すのが一般的だと思われる。
しかしながら、Mac OS Xでキーボードメニューで「U.S.」を選択している場合、つまり、アメリカ国旗のアイコンがメニューバーに見えている場合に「\」キーを打ち込むと、半角カナの「エ」(0xB4?が入力されてしまう。キーボードメニューで「ことえり」を選んで、半角直接入力モードにすると「\」キーで「\」(0x5C)が入力される。Jedit4やCodeWarrior6で見られる現象だが、Mac OS X付属のエディタTextEditではそうならない。つまり、Carbonアプリケーションで発生する問題であるということが言えるのではないかと思われる
文字列中で\のつもりで書いていても、異なるコードが入ってしまうと、ソ?ス上のみかけと実際は異なってしまう。Osakaの場合には「エ」と見えるので分かるが、たとえば、MonacoやHelveticaフォントで表示している場合に問題が発生する。そのときに、キーボードメニューを「U.S.」にして「\」キーを押すと、「\」が入力されるが、そのときには、0x5Cのコードではなく、0xB4のコードのキャラクタが入るというわけだ。だから、ソース上の "\r" も意味は違ってしまう。英語フォントだからバックスラッシュになるのが当たり前と言ってしまえばそれまでだが、間違えやすいポイントである。なお、JISキーボードではキーボードメニューが「U.S.」のときにバックスラッシュを入力するにはoption+\とする。キーボードメニューで「ことえり」を選択して、「\」キーで入力するということであればとりあえずは問題は出ないだろう。いずれにしても、\記号には要注意であることは確かなようだ。
関連リンク