[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2869] Re: Fullset EUC
Hidemi KAWAI さん、こんにちは。I.Tak. です。
Wed, 02 Jan 2002 08:17:34 -0000 の
[OSASK 2863] Re: Fullset EUC
に返信です。
> そこで、素朴な疑問をいくつか書かせてください。I.Tak.さんのルー
>チンでは、G0とG1とG3のベースしか指定できていません。G2のベースは
>指定できるようにしておかなくていいんですか?・・・いや、今はG2を
>使うのは日本語だけだから大丈夫だというのは分かるんですが、それは
>「フルセット」と呼ぶには少々甘いような気がしませんか?
むむ、そのとおりです。しまった……
> 僕の認識では、EUCというのは確かに「GLにG0、GRにG1を呼び出して
>おき、シングルシフトでGRにG2かG3を一文字だけ呼び出すという仕様」
>なんですが、一般的にはG0は94文字集合であるという保証はありません
>し、G1が94x94の文字集合であるという保証もありません。
G1はまさにそのとおりですが、G0は94^n集合だけだそうです。0x20の
空白が使えない、というのが主な理由になるようです。
また、シングルシフトはLとRを区別しないのが今の仕様だそうですが、
私の計算はGR専用です。むむう。
> したがって僕の考える一般的なEUCのデコーダーのオプションは、
>・G0、G1、G2、G3のベース
>・それぞれが、94(=128)、94x94、94x94x94、94x94x94x94のどの集合
> であるのかを指定するためのフラグのようなもの(まあ、さすがに
> 4バイト符号は使わないと思いますが・・・笑)。
はい、それで十分だと思います。ちなみに現在96^n (n>=2)集合はあ
りません。
ところで94(or 96)文字集合にはやっぱり128文字分の空間を与えるん
ですか。これってGL:GR=JIS X 0201みたいな特殊な場合にしか効かない
配置じゃありませんか?(これだけ最適化とは(^^;)
> これらは仕様であって、利用されないと思われるうちは、未実装であ
>ってかまいません。
現実に即した最適化というわけですね。
> たとえば、こんな仕様はどうでしょう?
> cmd(0x00ec), opt, len, ptr_src, ptr_dst, base0, base1, base2, base3
>ここでoptの下位16bitを0x0003にさせることにして、これはUniversal
>EUCを意味するということにします(0x0002はSimple EUC)。そして、
下位二ビットとは……いつかどこかの他人の空似(^^;;;
シンプルEUCが取り分けてあるのは最適化のためなんでしょうか?
確かにレジスタに余裕ができますけど。
下位二ビット=G2使用ビット:G3使用ビット
みたいな意味ではないのでしょうか。
>optの上位16bitに以下の意味を与えます。
> rrrrrrrrddccbbaa
> r:リザーブビット
> aa, bb, cc, dd:それぞれG0, G1, G2, G3が何バイト文字であるかを
> 表している。00は1バイト文字、01は2バイト文字、
> 10は3バイト文字。11はリザーブ。
上に出てきた94or96ビットが居ないなあ(^^;
>・・・こういう仕様であれば、僕はすぐに組み込みます(とりあえずdd
>ccbbaa == 01_00_01_00固定であっても)。ルーチンがSJISよりもはる
>かに大きくなったとしても、です。
メモリアクセスと分岐は若干増えますが、シフトJISよりは簡潔になると
思いますよ。
>> ちなみにKS C 5601は番号不足で1997年にKS X 1001になったそうです。
> KS C 5601の後ろの空きに文字を割り当てたのかな???
あ、これは JIS C → JIS X と同じ移転があったということです。
それから、Unicode2.0ではすでにハングルの全文字収録および移転ができて
いるそうです。完成形ハングルを20%しか含まない文字集合の韓国標準化には
反対があったとか、あちらでも問題は多いようで。
> ・・・とりあえず上の仕様にしてoptを0x00440003に限定すれば、I.T
>ak.さんのルーチンはほとんどそのまま使えそうです。それでよければ
>OSASK ver.2.1に組み込みましょうか?
せっかく一ヶ月もあるし、もっといじります。
------------------------------------------------------------
I.Tak. <msy !Atmark! catvmics.ne.jp>
http://home1.catvmics.ne.jp/~msy/takhome.htm