Re: JISコードのページ? ( No.5 ) |
- 日時: 2004/04/08 07:41
- 名前: sekino <sekino@mtb.biglobe.ne.jp>
- おはようございます
で、いったい何時まで起きていらっしゃるのですか? 新学期でしょう? ![](http://www5f.biglobe.ne.jp/~T-Pilot/BBS/img/smile04.gif)
少しだけ手直ししました
なにをやっているかを簡単に
WinDrawChars、WinPaintCharsなどなどの、 画面にChars(つまり文字列)を描画するためのAPI関数をオーバリッドしています 1.EUCコードであることを前提に文字列をスキャンして、 ShiftJISコードが出現したらEUCコードじゃない 出現しなかったらEUCコードだと判断します 2.EUCコードだと判断したら、一時的な格納領域を確保して、 もとの文字列をShiftJISコードに変換したものを格納 3.OSの関数に渡す文字列を、変換後の文字列に挿げ替えて文字列描画 4.一時的に確保した領域を開放しておわり
文字コードの判断は、 0x80から0xA0の間の文字コードが出現したらShiftJIS 出現しなかったらEUCとしています 完璧に判断できるわけではありませんが、 この範囲の文字コードは、大概のShiftJISでかかれた文字列には出現します (全角ひらがなはこの範囲に該当しますので、確立は結構高いようです)
既知の不具合 半角カナのみの文字列はEUCと判断してしまいます
書き込みは未サポートです 多分、WebPROそのものにパッチを当てないと駄目だと思います
今は、使い勝手向上のために EUCコードの判定を行うかどうかを切り替えるDAを書いています
ところで、 EUCコードが文字化けするブラウザ、 他にあったら教えてください アプリケーション依存にすることも考えられますので
WebBrowserとXiinoはOKですよね
|
|