2008/12/30(火) [n年前の日記]
#1 [prog] コピーライト文字の入力方法でハマる
あちらから送られてきたJavaソース中にコピーライト文字があって、それが文字化けをしてしまうため、検証用に別途テキストファイルを作成して…というところでハマってしまった。
まず、MS-IME上からの入力方法が判らない。WordやExcelを使った場合は _「(c)」と打ち込んだりすると件の文字になってくれる らしいが…。検索しまくったところ、「コピーライト」「ちょさくけん」「しー」と打ち込むと変換候補に出てくるらしい。あるいは、IMEパッドかの一覧から選ぶとか。
しかし今度は、エディタ上 ―― xyzzy や NTEmacs、サクラエディタ上で件の文字を出せないことに気づく。MS-IMEの変換候補にはリストアップされている・変換確定するまでは表示されているのだけど。Enterを押して確定した瞬間、単なる「c」の文字になってしまう。Webページ上から件の文字を探してきてコピー&ペーストしてみても、単なる「c」になる。うーん。
あちらさんではエディタに秀丸を使ってたことを思い出し、試しに秀丸をインストール・試用してみたり。emacs文化に触れてからというもの、たとえ試用であっても、秀丸はインストールすらしたくなかったんだけどなあ…。さておき、秀丸上では件の文字が入力できてしまった。うぐぐぐ。これは、特定エディタでのみ入力できる特殊な文字を使ってるということなのだろうか。
秀丸上に表示されたソレをコピーして、xyzzy に貼り付けてみたところ、その方法なら挿入することができたように見えた、が、保存すると単なる「c」になってしまう。SJISで保存されたファイルだから、件のUnicode文字は保存はできない、ということだろうけど…。ん? 変だな? するとあちらさんのソースでは何故その文字が残ってるのか。ソースはSJISファイルのはずなのに。
よくよく見てみると、あちらさんの送ってきたソース中のコピーライト文字は全角だが、こちらで秀丸に打ち込んだコピーライト文字は半角。どうやら自分、今まで違う文字を入力しようと試行錯誤していた模様。というか、あちらさんのソース中にあるコピーライト文字は、MS-IME上で「しー」で出した変換候補リストの、どの文字とも違っていて首を捻る。
そこではたと気がついた。コレはiアプリ用の固有文字、Windows上では外字として扱われている文字ではないのか。…当たりだった。外字中のコピーライト文字だった。SJISで 0xF9D6。DoJaエミュレータをインストールした際に一緒に設定される外字フォントのソレが使われていた。だからSJISでファイル保存しても文字が残っていたのか。
まず、MS-IME上からの入力方法が判らない。WordやExcelを使った場合は _「(c)」と打ち込んだりすると件の文字になってくれる らしいが…。検索しまくったところ、「コピーライト」「ちょさくけん」「しー」と打ち込むと変換候補に出てくるらしい。あるいは、IMEパッドかの一覧から選ぶとか。
しかし今度は、エディタ上 ―― xyzzy や NTEmacs、サクラエディタ上で件の文字を出せないことに気づく。MS-IMEの変換候補にはリストアップされている・変換確定するまでは表示されているのだけど。Enterを押して確定した瞬間、単なる「c」の文字になってしまう。Webページ上から件の文字を探してきてコピー&ペーストしてみても、単なる「c」になる。うーん。
あちらさんではエディタに秀丸を使ってたことを思い出し、試しに秀丸をインストール・試用してみたり。emacs文化に触れてからというもの、たとえ試用であっても、秀丸はインストールすらしたくなかったんだけどなあ…。さておき、秀丸上では件の文字が入力できてしまった。うぐぐぐ。これは、特定エディタでのみ入力できる特殊な文字を使ってるということなのだろうか。
秀丸上に表示されたソレをコピーして、xyzzy に貼り付けてみたところ、その方法なら挿入することができたように見えた、が、保存すると単なる「c」になってしまう。SJISで保存されたファイルだから、件のUnicode文字は保存はできない、ということだろうけど…。ん? 変だな? するとあちらさんのソースでは何故その文字が残ってるのか。ソースはSJISファイルのはずなのに。
よくよく見てみると、あちらさんの送ってきたソース中のコピーライト文字は全角だが、こちらで秀丸に打ち込んだコピーライト文字は半角。どうやら自分、今まで違う文字を入力しようと試行錯誤していた模様。というか、あちらさんのソース中にあるコピーライト文字は、MS-IME上で「しー」で出した変換候補リストの、どの文字とも違っていて首を捻る。
そこではたと気がついた。コレはiアプリ用の固有文字、Windows上では外字として扱われている文字ではないのか。…当たりだった。外字中のコピーライト文字だった。SJISで 0xF9D6。DoJaエミュレータをインストールした際に一緒に設定される外字フォントのソレが使われていた。だからSJISでファイル保存しても文字が残っていたのか。
[ ツッコむ ]
以上です。