[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:10310] Re: Draft 1 (Re: I18N Document)



岡@奈良先端です。

At Tue, 7 Sep 1999 22:14:02 +0900,
Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxx> wrote:
> 
> 久保田です。

> > >  * SHIFT-JIS (aka Microsoft Kanji Code)
> > >     - stateless
> > >     - 8bit
> > >     - ASCII, JIS X 0201, and JIS X 0208 can be expressed.
> > >     - The only Japanese code for Windows/Macintosh. This makes
> > >       SHIFT-JIS the most popular code in Japan.
> > 
> > UNIXでもSHIFT-JISを使っている(いた)ものもありますよね。
> > X68000などでも使ってたはずだし。ですので、“only”ではないです。

SONYのNEWS-OSとか。

> すみません、Win/Mac は SJIS "だけ" をサポートしている、という
> 意味にしたかったのです。(UNIX では標準がなく、どちらかというと
> EUC が好まれている、くらいであるのと対比させたい)。それから、
> ここでは UNIX だけを対象にしています。(Win/Mac を登場させたのは、
> 日本で最も広く使われている、ということを言うために引き合いに出した
> だけです)。

JISやSJIS(やUNICODE)は排除できるものではないですね。日本での
ICQクライアントの事実上の標準はSJISですし、Windows向きに焼か
れてしまったJolietなCD-ROMはUNICODEです。

> > きいた話でよくわからないのですが、EUCには3バイト文字があるらしい
> > のですが…えっと、0x8fで始まるやつですね。上の文章には含まれてないので
> > いいか。
> 
> 存在します。でも、日本人でさえ知らないようなコードですからね...
> とりあえず、EUC は日本語は 2 バイトだというのは間違った表現
> なので変えます。

以下のようになっています。

 * EUC コード日本語版 (EUC-JP)
   
   ASCII                : 0x00 〜 0x7f
   ss2                  : 0x8e
       次の1バイトで半角カナを表現(JIS X0201)
   ss3                  : 0x8f
       次の2バイトで外字(ユーザ定義文字)を表現
   漢字の頭1バイト      : ??? 0x80 〜 0x8d
       次の1バイトと合わせて使って漢字一文字
       (JIS X0208 の最上位ビットを1にしたもの)

てな感じです。


> > プログラムの内部で使われるコードはなんでもよいのですが、外部との
> > やりとりをするときには変換しなくちゃいけない…なんてのは範囲外の
> > 話かな。
> 
> Contents の 5 とかに入る予定です。wchar_t を使いましょう、
> という内容にしたいと思っています。そうすると、内部表現に
> かんする知識を一切使えないので、厳密な I18N ができます。
> でも、カラム数が必要となる場合はどうなるんだろう...
> このへんが、難しいところですね。カラム数って、規格には
> ないですから。(でも必要)。

きちんとI18N化できてなくて支障を来しているソフトウェアの例。
gettextです。msgmergeを使うと、しばしばEUCの日本語でさえ1バ
イト目と2バイト目の間で分断されてしまいます。wchar化すれば解
決します(が、コード全体を一掃しなければならない)。

--
岡 充 (Mitsuru Oka)
奈良先端科学技術大学院大学