もったいないので、うpしてみる。
ただ、お蔵入りしていたあけあって毒入りです。うわはははh ヽ(;´Д`)ノ
-----------------------
前回、「firefox EUCが最低」という記事において、ちょっとタイトルが下品だったこともあり、
各方面からお叱りのお言葉を頂いた。
深く反省したい。
ところで、ネットでいくつかご意見を拾ってみると、どうもIEがJIS X 212(補助漢字)を
サポートしていないのが規格違反、Firefoxを責めるのは筋違い。という意見を持つ方が結構いらっしゃるみたい。
IEがEUC-JPのWebページの表示・送受信にCP51932というEUC-JPとは似て非なる文字コードを使っている事はたしかで、
そこに弁解の余地はないのだが、昔はみんなJIS X 212なんか使わないのがマナーだ。とか言われていたのに今はクライアントソフトの欠陥扱いなのね(n'ω'`)
時代は変わるなぁ。
さてさて、そんなこんなでモヤモヤしたものを抱えているうちに、Web検索で、MySQLのMLの過去ログ公開ページにてEUC-JPでは補助漢字はオプショナルという意見をみかけたので(おお、よく見たら、これって森山さんの投稿なのね)
ちょいと定義を調べてみました。
興味のある人は以下のリンクと前後のスレッド文章を適当にあさってみてくださいな。
つ http://www.mysql.gr.jp/mysqlml/mysql/msg/12389
まず、IANAのcharset registryのEUC-JPの定義はこちら
ソース http://www.iana.org/assignments/character-sets
Name: Extended_UNIX_Code_Packed_Format_for_Japanese
MIBenum: 18
Source: Standardized by OSF, UNIX International, and UNIX Systems
Laboratories Pacific. Uses ISO 2022 rules to select
code set 0: JIS Roman (a single 7-bit byte set)
code set 1: JIS X0208-1990 (a double 8-bit byte set)
restricted to A0-FF in both bytes
code set 2: Half Width Katakana (a single 7-bit byte set)
requiring SS2 as the character prefix
code set 3: JIS X0212-1990 (a double 7-bit byte set)
restricted to A0-FF in both bytes
requiring SS3 as the character prefix
Alias: csEUCPkdFmtJapanese
Alias: EUC-JP (preferred MIME name)
これを見ると残念ながら、RFCでも国や標準団体の決めたデジュール・スタンダードでもないので、規格番号とかがなく、「いわゆるEUC-JP」というちょっと悲しいポインタになっていることがわかる。
いちおうUIとかOSFとかいう文字はあるので、
僕が聞いたことがある説の中で一番トンデモな「EUC-JPとはJIS X 213 EUCの事である!」
という説は却下していいと思うが、それ以上は業界の暗黙の合意に頼っているのが現状である。
ところで、これ、将来MSやJIS委員会が自分のスペックの片隅にOSFとかUNIX Internationalとか
いう文字をいれたら「うちのEUCこそはEUC-JPの正式な定義である」と名乗れるんですかね。
# いやいや、もちろん冗談ですぞヽ(;´Д`)ノ
でも、まあ、業界内のだいたいの合意というものはあるようで、
UNIX SYSTEM V リリース 4 日本語環境共通規約 第1版
1992/7/10 初版発行
ISBN: 4-8101-8359-7
トッパン
または
UI-OSF 日本語環境実装規約
Version 1.1
1993 年5 月21 日
UI-OSF Japanese Localization Group
を典拠にあげる人が多かった。
んで、まずは「UNIX SYSTEM V リリース 4 日本語環境共通規約 第1版」のほうを
めくってみると(今持ってる人は少ないと思うが)
P11
2.1.2 日本語文字セットに関する共通規約
ここでは各プラットフォームメーカがサポートすべき文字セットについて述べます
(1) サポートを必須とする文字セット
各プラットフォームメーカは以下の文字セットのサポートを必須とします。なお、ここで「文字セットのサポート」とは:
- 日本語を扱うプログラムは以下の文字セットを日本語として正しく処理できること。
- 入出力装置が日本語を扱える場合、以下の文字セットの入力や表示、印刷が可能なこと
を示します。
・ ASCII
・ JIS X 208-1990
ただし以下の点に注意が必要です
(中略)
(2) サポートを推奨する文字セット
以下の文字セットはサポートを推奨しますが、これは必須ではありません(レベル2です)。
・ JIS X 201-1976 カタカナ
以下の文字セットは現在サポートを義務付けませんが、将来的にはサポートが必要となるでしょう。
・ JIS X 0212-1990 補助漢字
となっており、なるほど、たしかにJIS X 201カタカナとJIS X 212は必須じゃないね。
次はUI-OSF 日本語環境実装規約を見てみる。こっちはWebでPDFが公開されている。
教えてくださった沼田先生に感謝。
附属書D (参考) 応用プログラム開発者向けのガイド
D.1.1 共通日本語文字集合日本語文字集合としては,次に示す文字集合が共通に使用できます。
(1) ISO 646 IRV (ASCII) 又はJIS X 0201 ローマ字用7 単位符号
(2) JIS X 0208 情報交換用漢字符号
D.1.2 多くの実装で使用できる日本語文字集合
次に示す文字集合は,この実装規約が提供を推奨しているものです。ただし,提供を義務付けられてはいませんので,この文字集合が使えない実装もあります。特に,シフトJIS を使用する場合,C1 制御文字及びJIS X 0212 情報交換用漢字符号{補助漢字は使用できません。
(1) JIS X 0201 片仮名用図形キャラクタ
(2) ISO 6429 が規定するC1 制御文字
(3) JIS X 0212 情報交換用漢字符号{補助漢字
となっており、やはりJIS X 201 や JIS X 212は必須じゃないとされている。
ただし、前述のトッパン本とはややニュアンスが異なるようである。
ただ、この規格書、どうもよく分からないのが、付属C,D全体
(ようするにこの辺で引用しているあたりの章全体)が「参考」情報とされており、
規格本体からはずされてしまっている。
規格と関係ないところで、実装が必須かどうかを定義するってそれ一体何の意味があるのよ?!
と疑問に思わなくも無いが、
出典[UI-OSF-USLP 共同技術資料:日本語EUC の定義と解説(1991 年12 月12 日)]
という一文があったので、もしかしたら、出典は別にあってこっちはタダの引用だよん。
という意思表示のつもりだったのかもしれない。
ただ、この[UI-OSF-USLP 共同技術資料:日本語EUC の定義と解説(1991 年12 月12 日)]という
規格書はいまや完全に入手不可能なので、何が書いてあったのか全然分からない。
まとめると
・EUC-JPの明確な定義はある
・しかし、それはRFCやISOの規格にはなっていない
・JIS X 201(半角カタカナ)と JIS X 212(補助漢字)は必須ではないと書いてある
・しかしながら、書いてある本から察するにどう考えても適用範囲はいわゆるUNIXに限られそう
・んじゃ、UI-OSFに入っていないOSはどう解釈すべきかというと・・・・
世間にまったく合意がないように思える
・たぶん、MSは自分は適用範囲外だから、ルールを逸脱して好き勝手やっても問題ない。
と思って、今のあやしげなIE上のEUC-JPの実装になっていると思われ
・でも、Web上での世間の声を聞いていると、逆に、EUC-JPの文字セット定義は
IANAのcharset registry定義で「定義」されていて、「必須じゃない」という文章が
適用範囲外なので、WindowsはUnixと異なり補助漢字実装必須なんだ。
IEが補助漢字実装しないの許せーーんヽ(;´Д`)ノ
とでも、思っているとしか思えない、IEの補助漢字未実装を責める声多数
うーむ、一体何がここまで混乱を招いた原因なんですかね?
なんとなく、EUC-JPの典拠規格が手に入りにく杉。というのが根本的に問題な気がするけど・・・
あと、つくづく思ったのは昔とは補助漢字の位置づけが変わったな。ということ。
昔は、んなもん使えるマシンの方が少なかったのでネットワーク上でんなもん使うやつがおバカという共通認識があったと思うのですよ。
それがUnicodeの普及によってJIS X 212が使えるマシンのほうが多数派になっちゃったから、規定がいいかげんなEUC-JPは色々運用に不都合が出てきている気がする。
やはり、いっそのことEUCは捨てて、みんなでUTF-8に移行するしかないんかね?
#携帯サイト問題(携帯電話はUnicodeをサポート事が多い)は残るけど
・・・時代は変わった!
![どっちなのさ?](https://livedoor.blogimg.jp/kosaki55tea/imgs/9/b/9b55ba47.jpg)
どっちなのさ?! ランキング!
コメント
コメント一覧 (10)
今時の携帯ならUTF-8くらい余裕でサポートできそうだけどパケ代増えるのが嫌なのかなぁ。
ラフなコンセンサスと動くコードというパラダイムにいる我々は、動いて何ぼのコードにこそ価値を見出したいと思う。
↑意味不明な主張。
作り手の事情ちゃうかな?
ブラウザメーカ>
んなもん、実装しても1円にもならん。
端末メーカ>
これ以上ROMサイズ増やすな(#゚Д゚)ゴルァ!!
でも、フルブラウザがあたりまえになってきているから、携帯サイトと一般サイトが両方見れる統合ブラウザが一般的になれば自動的に解決する気もする。
ああ、どこかで聞いたストーリーだなぁ。ニヤニヤ
hyoshiokさん>
うーん、心情的には同意しつつも、今の文字コードの混乱って、色々な人が「善意で」色々な方法で、亜種文字コードやら、亜種変換テーブルなんかを量産したあかつき、って感じがするので、なんとも言えんですなぁ。。
まさにビグザムが量産したあかつきには!!って感じ??
↑ さらに意味不明
…の部分は,引用じゃなくて,問題の資料そのものです.
PDFファイルの82ページ~88ページ(印刷されているページ番号で77~83)は,
「日本語EUCの定義と解説」の全文転載です.
書いてあったことそのものですよ.
「参考」なのは,この規約での規定ではないから.
本来は「引用規格・業界標準」で名前を指定してあるのでここに転載する必要はないけれど,
当時ですら入手が容易とは言いかねる状況だったので,全文転載することになっただけ.
で,あの規約は何を規定しているか,というと(日本語EUC関連だけでいうと)
(1) eucJP といったら,あの,G3に補助漢字の入ったやつのことよ
(2) eucJP のロケールは用意してね
(3) ja_JP というロケールのデフォルト・コードセットは eucJP ね
(4) iconv でコードセット変換は用意してね
…というところだけ.フォントの実装については適用範囲外ということで,規定がない.
この当時はMS-DOSを使ったPCをダム端末として使っていることも多かったし,
補助漢字フォントをもった端末も少なかったので,
その範囲で使えるぶんだけを必須にしているのです.
おおお、出張ありがとうございます。
やっぱりEUC-JPは出自からして、「いんたあねっと」社会に適用しがたい業をかかえているのですなぁ
いや、出自は違うか。当時としてはリーズナブルだったのだから。
その後、放置プレイをしすぎたのが問題か・・・ヽ(;´д`)ノ
そうそう、放置プレイといえば・・・
http://www.geocities.co.jp/SiliconValley-Oakland/2682/
でMMRの放置プレイが責められていました。
当時はフォントについて完全なコントロールができるとは
誰も思っていなかったことでしょう.
だから,みんなフォント周りの話になると腰がひけてくる.
Microsoftでさえ,フォントがコントロールできるようになったのは
Windows 3.1 からだし.
あ,Apple は別だったかもしれないけれど,
あそこはあそこで定見がないし.
distributed localeみたいなものを誰かが(HPとDECあたりか)提案していたような記憶があります。1994年前後。
や、だからどーだという話ではないんですが。
結局CP932を使うというのが平和な世界なのでしょうか?
だがしかし、ShiftJISとCP932の違いをメリケンに説明するの面倒だからUTF-8 に移行しよーぜー。と提案してみるテスト
みんなで渡れば怖くないないЩ(°▽°)Щ
<a href= http://www.angelfire.com/aoyobu/2.html >am</a>
http://www.angelfire.com/aoyobu/1.html
革命の日々
<a href= http://www.x-retro-x.com/menu5.mv >Chat Realms</a>
http://www.seatowers.it
革命の日々