ひさびさに文字とコンピューターの話。
 任天堂のスマホゲーム、ポケモンGoが日本でもロールアウトされた。
 毀誉褒貶あるが、ぼくは大ハマリにハマって楽しんでいる。
 他のゲームと違って家に閉じこもらなくていいのがいい。
 ただ、今まで家に閉じこもっていた人が大挙して街に繰り出してきているので、地域の住民や真面目な用事で街を歩いている人といろいろ軋轢が起こっている。
 せいぜい穏便に話し合って解決してもらいたい。

Poke-Walker
 ポケモンじたいは任天堂のポケットモンスターというゲームが元になっている。
 うそかまことか、pocket monsterだとアメリカ英語では男性器を表すスラングになるというので、略称のポケモンというので呼称している。
 これを、英語で書くとPokémonになる。

 2個めのeの上に、点がついている。
 これは学校の英語の時間には習わなかった文字だ。
 この点のことを、フランス語ではアクサン・テギュ、イタリア語ではアッチェント・アクート、スペイン語ではアセントという。

アキュート・アクセント - Wikipedia

 これはドイツ語のウムラウト(öの上の点)などとともに、分音記号またはダイアクリティカルマークと言うものの一種だ。
 文字の発音を変化させる。
 日本語の濁点や半濁点と似ている。
 どのように発音を変化させるかは、言語によって違う。

 この字、英語の本を読んでいてもチラチラ出てくる。
 地名や人名の他に、cliché(クリシェ、決まり文句のこと)などというフランス由来の言葉につけられる。
 だから英語国民に取ってはフランス語のようにeをéに変化させる、という機能になると思われる。
 ちなみにフランス語にはアクセント記号が他にもあり、反対方向のèがアクサン・グラーブで、山形のêがアクサン・シルコンフレックスである。

 フランス語でeという字をアクサンをつけずにそのまま書くと、あいまい母音になるか消えてしまう。
 ポケモンのことをパキモン、という風に発音しているアメリカ人をテレビでよく見かけた。
 そこで、エ音を強調するために、アクサン・テギュを付けているそうだ。
 clichéもclicheと書くと、英語国民はcache(キャッシュ。お金ではなくてコンピューターの一次記憶装置のこと)のcheと一緒でクリシュとかクリシと読んでしまうかもしれない。

 éは、アメリカ英語を使う文字コード系ASCIIには入っていない。
 (文字コード系とは文字をコンピューターの中で数字化する規則のこと。符号化文字集合と文字符号化スキームがあるがここでは同一視する)
 ASCIIは0x00〜0x7Fまでの128のコードポイント(文字符号位置)を持つ。
 これをヨーロッパ用に拡張したISO 8859-1には入っている。
 ISO 8859-1はASCIIのコードポイントに加えて0x80〜0xFF(右面)の128個を追加して、256個のコードポイントを持つ。
 ISO 8859-1のéは0xE9だ。

 ところがこの、0xE9というコードポイントは、日本で古来使われているShift_JISでは半角カナの領域になる。
 (ただし、半角カナとしては空き領域になる)
 これは、著作権記号の©(0xA9)が半角カナの「ゥ」とかぶるので、ヨーロッパのWebページを日本語設定で開くとゥに化けるという現象が、昔見られたのと同じである。
 だから、PC-9801やWindows 3.1JのようなShift_JISベースで日本語を扱うコンピューターでは、éという字が日本語と共存できなかったのである。

 だが、今はどのコンピューターも、世界中の文字を収録した文字コード、Unicodeが主流になっている。
 UnicodeでéはU+00E9で、いわゆる半角カナを収録したU+FF00〜U+FFEFと遠く離れていて、同時に使える。
 ちなみに著作権記号の©(U+00A9)と半角カナのゥ(U+FF69)も同時に使える。

 Windowsの「メモ帳」で「©éゥ」という文字列を入力してみよう。
 ここでは「Google日本語入力」を使ってみる。
 まず、©は「まるしー」と打って変換すればよい。

20160728marusi

 「[全]コピーライト<機種依存文字>」という注釈付きで©が入力される。

 次に問題のéを打つ。これは、Google日本語入力特有の便利ワザなのだが、「U+00E9」とUnicodeスカラー値(文字番号)を直接入力して変換する。

20160728i-

 これは便利だ。全Unicodeがこれで入力できるのである。

 最後にゥだ。
 これも文字番号でも行けるけど、「う」と入力してCtrl+Oでもいい。

20160728u

 このCtrl+Oで半角変換というのが、OLの人でもあまり知らない人が多くてびっくりだ。
 ちなみに、

 *Ctrl+U 全角ひらがな変換
 *Ctrl+I 全角カナ変換
 *Ctrl+O 半角変換(英字、カナとも)
 *Ctrl+P 全角英字変換

なので明日からお仕事にお役立てください。あまり規則性はないけれども、並んでいるからすぐ覚えるだろう。

 ©éウと打ち込んだところで、保存する。
 ファイル=>保存を選択して、名前を「test-utf8.txt」、文字コードを「UTF-8」にして保存してみる。

20160728u8save

 すると、test-utf8.txtというテキストファイルができて、「©éウ」という字が入って保存される。

20160728u8text

 これはまあ当たり前だ。
 問題は、このファイルを昔ながらのShift_JISで保存してみたところである。
 ファイル=>名前をつけて保存を選択して、名前を「test-sjis.txt」、文字コードを「ANSI」にして保存してみる。

20160728ansi

 Shift_JISのことを歴史的にMicrosoftのメモ帳ではANSIと名づけている。
 こんなこと覚えても何の自慢にもならないのだが、とりあえずANSIにしてください。
 (ANSIはアメリカの規格機関の名前で、JISともShift_JISとも何の関係もない)

 すると怒られる。

20160728error

 このファイルには、ANSIテキスト ファイル(Shift_JISのテキスト ファイルのこと。こういう言い方をするのはMSのメモ帳だけ)に出来ない字が入っています、と言われる。強行突破で「はい」と答える。

20160728are

 この時点では別に変化はない。表示できないはずの©、éが、ゥと共存している。
 いったん閉じて、またメモ帳で開く。

20160728fallback

 すると、©がc(小文字のシー、ASCIIの0x63)に、éがe(小文字のイー、ASCIIの0x65)に勝手に変化している。
 つまり、ANSI(くどいが、世間一般で言うShift_JISのこと)で使える、©っぽい、またはéっぽい字に、妥協して変換してくれているのである。
 これはメモ帳というアプリの独自の気の使い方で、文字コード系に定義されていない文字コードが入力されたときにどのような字になるのか(空白になるのか、削除されるのか、文字化けするのか、〓(下駄記号)を出すのか、おとうふ記号を出すのか)はアプリによってさまざまだ。

 話が長くなったが、Pokémonのéという字が日本語と共存できるようになったのはUnicodeあればこそで、ひと昔前のShift_JISパソコンでは入力できなかったことになる。

 なお、MS-IMEでéを入力するには、「00え9」(日本語モードで00e9)と打って「F5」を押せばいいと思われる。
 ぼくはMS-IMEを削除してしまったのでテスト出来ません。スミマセン。
 なお16進数でE9は10進数で233というのを覚えていれば、Altキーを押してテンキーで233と入力し、Altキーを放すとéというワザもあったのだが、手元にテンキー付きのキーボードがないので入力できない。これもスマン。

 Macはどうするか。
 英字モードでoptionを押しながらeキーを押下してoptionキーを放すと、アクサン・テギュだけが入力されるから、その後にeキーをもう一度入力して「e」を入力するとéになる。
 へぇー。
 でもぼくはEmacsでoptionキーをMetaにしているのでこれが使えない。

 やっぱGoogle日本語入力がぼくには使いやすい。
 eにアキュートだからイーキューでU+00E9と覚える。
 ちなみにU+2000Bだと辰吉丈一郎の丈の正しい字らしい点付きの𠀋が出てくる。
 ボクサーだからBと覚える。

 ちなみにUnicodeでéは、英字のéに合成用のアクサン・テギュ´を連続して書くというやり方もある。
 そうするとUnicodeのU+0065(e)とU+0301(結合可能な´)という2文字でéを表すやりかたになる。
 パという字をハと゜に分けるようなものである。
 この件についてはそのうちまた書く。
 さっきのMacでoptionを押しながら、というやり方ではU+0065 U+0301になるのかと思っていたが、普通にU+00E9になるようだ。

 iPhoneでは、英字キーボードでeを長押しすると、いろんなダイアクリティカルマークがついたeが出てくる。

dia2016-07-28 22 57 55

 今日はこんなところで。