読者です 読者をやめる 読者になる 読者になる

続 wchar_t はいつできたか

http://d.hatena.ne.jp/nurse/20090308http://d.hatena.ne.jp/nurse/20090309#1236538767 の続きです。
経緯を熊谷さんがコメントで書いてくださいました。ありがとうございます。

というわけで詳細を詰めるわけです。nkf のメンテナの一人である河野さんが保管してくださっていた fj.kanji のログを眺めていたら、JAE ですでに wchar_t が用いられていたことが発覚。

Posted: Tue Jul 7 18:47:44 1987


ええと、不勉強なのでlong charという内部コードは知らない
のですが、JAEで使っているwchar_t型と基本的には同じなので
しょうか。ちなみにwchar_tは、

typedef unsigned short wchar_t;

で定義される16ビットの内部コードで、EUC(AT&T)コードの
漢字の1バイト目を上位8ビットに、2バイト目を下位8ビットに割当
てて、2バイトの漢字を16ビットのコード1つで表します。(CSK
の日本語UNIX[SJIS版もEUC版も]もこの方法を使っています)

http://www.ie.u-ryukyu.ac.jp/~kono/fj/fj.kanji/112.html

これで、ほぼ AT&T UNIX Pacific が作った& Japanese Application Release 1.0 が初出で確定かな? (先述の通り Release 2.0 は 1987 年 9 月のはずなので、この記事は 2.0 より前。つまり、1.0 のはず。

私の知っている限りでは以下のようなものがあります.
間違っていたら follow してください.
1. 日本語 UNIX 諮問委員会
処理コードの type
long char (16 bit)
ライブラリ
ASCII のものに l をつけたもの
lstrlen, getlc, getls など

この仕様で, NEC, 東芝 (AS-3000, 但し入出力用の関数なし) などが
実現しています.

2. AT& T の仕様
処理コードの type
typedef unsigned short int wchar_t;
ライブラリ
ASCII のものに w をつけたもの
wstrlen, getwc, getws など
3. ANSI
処理コードの type
letter_t
残念ながら詳しいことは分かりません.

4. CSK の JNIX (内部 16 形式)
処理コードの type
typedef unsigned short int kanzi;
(file コードを 1 文字 16 bit にしたもの)
ライブラリ
ASCII のものに k をつけたもの
kstrlen, kgetc, kgets など

http://www.ie.u-ryukyu.ac.jp/~kono/fj/fj.kanji/131.html