From: nakamori@rinfo.sumiden.co.jp (Hironobu Nakamori)
Real-Date: Mon, 8 Nov 93 17:57:00 +0900
Subject: [infotalk,00505] Japanese WAIS
Message-Id: <9311080857.AA01358@snoopy.rinfo.sumiden.co.jp>



中森@住友電工システムズ です。

どなたかWAISの日本語化されたもの(検索キーに日本語が
使えるもの)に関する情報(ソースまたはパッチ、ドキュメ
ント等)をお持ちの方がおられましたら御連絡下さい。

						以上。
---
  中森 弘修     ( nakamori@rinfo.sumiden.co.jp )
  住友電工システムズ(株)ソフトウェア開発センタ




From: Hitoaki Sakamoto <hitoaki@mahler.ntt.jp>
Real-Date: Mon, 08 Nov 1993 16:56:03 +0900
Subject: [infotalk,00504] Re: I18N char encoding for infosystems 
Message-Id: <9311080756.AA04050@mahler.ntt.jp>




>> えーと、以前、gopher や WWW 用の日本語コードは ISO-2022-JP (7bit JIS) が
>> いいと主張していた私ですが、ちょっと宗旨を改めました。日本語に関しては
>> EUC にしよう、という主旨です。

  既存のgopherでは、電子メール用には JISを選択しないと行けないわけです
が、それは別に変換をすればいいのかな。

  どちらかというと多言語化というよりも、地域化という気がします。

  で実は、最近8bitスルーだったり MIMEみたいなのを考えると、私は文字コー
ドは何でも良いような気がしてきました。そのかわりその文字コードが何もの
であるかの登録は必要なのですが。

坂本仁明


From: TAKADA Toshihiro (高田敏弘) <takada@seraph.ntt.jp>
Real-Date: Mon, 08 Nov 1993 16:47:16 +0900
Subject: [infotalk,00503] Re: I18N char encoding for infosystems 
Message-Id: <9311080747.AA13723@seraph.ntt.jp>


たかだです。

In <infotalk:00502> "Hitoaki Sakamoto <hitoaki@mahler.NTT>"-san writes:
> 補助漢字はどうするの?

JIS X 0201 right halfと補助漢字を考えると、現状の日本語EUCコンパチでは
なくなりますね。

現状はJIS X 0201 right halfと補助漢字はG2とG3(どっちがどっちか忘れた)
に指示してシングルシフトで呼び出すんですけど、先の案に従うと、

	"<ESC> - I"	JIS X 0201-1976をG1に指示.
	"<ESC> $ ) D"	JIS X 0212-1990をG1に指示.

となります。

========================================================================
NTT基礎研究所 情報科学研究部                                 高田敏弘
分散コンピューティング原理研究グループ              takada@nttlab.ntt.JP
========================================================================


From: Hitoaki Sakamoto <hitoaki@mahler.ntt.jp>
Real-Date: Mon, 08 Nov 1993 15:50:02 +0900
Subject: [infotalk,00502] Re: I18N char encoding for infosystems 
Message-Id: <9311080650.AA01907@mahler.ntt.jp>



補助漢字はどうするの?

坂本仁明



From: TAKADA Toshihiro (高田敏弘) <takada@seraph.ntt.jp>
Real-Date: Mon, 08 Nov 1993 15:48:04 +0900
Subject: [infotalk,00501] I18N char encoding for infosystems
Message-Id: <9311080648.AA13401@seraph.ntt.jp>


こんにちは、高田です。

えーと、以前、gopher や WWW 用の日本語コードは ISO-2022-JP (7bit JIS) が
いいと主張していた私ですが、ちょっと宗旨を改めました。日本語に関しては
EUC にしよう、という主旨です。

以下、提案を文書にしてみましたのでコメントを頂けると嬉しいです。ちょっと
長いですが、読んで貰えれば幸いです。

そいでは、いきます。

========================================================================
Gopher, World-Wide Webなどにおける, 多言語化を目指した8ビット環境エン
コーディング方法の提案

(Ver. 1993/11/08)
					by takada@seraph.ntt.jp


[1] はじめに

当初はUS-ASCII, ISO-8859-1のみで使われてきたGopher, World-Wide Web
(WWW)などのInformation Systemも, その急速な広がりと共に世界各国で使わ
れるようになった. ここで問題となるのが各国文字コードのエンコーディング
方法である. ここでは様々な文字コードを, *それなりに* 一つのシステム
内で使うことを目的としたエンコーディング方法を提案する. 


[2] 現状

Gopher, World-Wide Web等は, ほとんどのシステムが8ビット透過を実現して
おり, それを用いたエンコーディングが主流となっている. 以下実例を挙げる. 
(その他の利用例をご存知の方は, 高田まで教えて頂けると嬉しいです.)

	・フランス / フランス語 / ISO-8859-1
	  <http://zenon.inria.fr:8003/accueil-fra.html>
	・フィンランド / フィンランド語 / ISO-8859-1
	  <http://www.funet.fi/>
	・ギリシャ / ギリシャ語 / ISO-8859-7
	  <gopher://pythia.csi.forth.gr:70/00/Welcome>
	・イスラエル / ヘブライ語 / ISO-8859-8
	  <gopher://VM.BIU.AC.IL:70/11/Bar-Ilan%20information%20%28Hebrew%29>
	・韓国 / 韓国語 / KSC 5601-1987 in EUC-KR
	  <gopher://halla.dacom.co.kr:70/00/DACOM>
	・台湾 / 中国語 / CNS 11643 in Big5/ETen (???)
	  <gopher://gopher.sw.ccu.edu.tw:70/11gopher_root%3a%5b_cmenu%5d>
	・中国 / 中国語 / GB 2312-1980 in GB encoding
	  <ftp://ribm00.rhic.bnl.gov/pub/outgoing/deng/chinese.html>
	・日本 / 日本語 / JIS X 0208-1983 in {ISO-2022-JP,EUC-JP,Shift-JIS}
	  <http://www.ntt.jp/japan/note-on-JP/sample-jis.txt>
	  <http://www.ntt.jp/japan/note-on-JP/sample-euc.txt>
	  <http://www.ntt.jp/japan/note-on-JP/sample-sjis.txt>


[3] 提案

上に示したように, Information Systemの多言語化は既に始まっている. これ
らの現状からなるべく移行が容易なエンコーディングを考える. それを以下に
示す. (一部文章をMuleのdoc/ISO2022.jpから借りました.)

------------------------------------------------------------------------
"ISO-2022-8" (仮称)

ISO 2022の8単位符号系(8ビット環境)に基づくエンコーディング. G0とG1のみ
を使用する. G2とG3は使用しない. 

常にG0がGLに, G1がGRに呼び出(invoke)された状態で使用する. ロッキング・
シフトやシングル・シフトは使用しない. 

デフォールトではG0にASCII (ANSI X3.4-1986)が, G1にラテン1補助文字(ISO
8859-1 right half)が指示(designate)されている. 

G0に指示できるのはASCIIのみ(※1). G1にISO 8859-1 right half以外の文字
集合を指示する場合は
	ESC [I] I <F>
という形のエスケープ・シーケンスで行う([I] は, 複数連続する可能性のあ
る'I'の意味). 

ここで'I'は中間文字(intermediate characters)である. 中間文字の意味は, 
	$ [0x24]: 多バイト文字集合を表す(94×94或は96×96)
	) [0x29]: G1に終端文字が<F>であるような94文字集合を指示する
	- [0x2D]: G1に終端文字が<F>であるような96文字集合を指示する
となる. 

以下に指示の例を挙げる. 
	"<ESC> - G"	ISO 8859-7をG1に指示. 例えばギリシャ語. 
	"<ESC> - H"	ISO 8859-8をG1に指示. 例えばヘブライ語. 
	"<ESC> $ ) C"	KSC 5601-1987をG1に指示. 例えば韓国語. 
	"<ESC> $ ) B"	GB 2312-1980をG1に指示. 例えば中国語(中文). 
	"<ESC> $ ) A"	JIS X 0208-1983をG1に指示. 例えば日本語. 
	"<ESC> - A"	ISO 8859-1をG1に指示. 例えばフランス語. 

これらの指示を表すエスケープ・シーケンスは, その文字集合を使用する際に
一回のみ使用すればよい. すなわち, 例えば改行する毎に指示をし直す必要は
ない(※2). 

ASCIIと日本語漢字のみを含む文書の例を以下に示す(実際にはJIS X 0208の部
分はEUCにてエンコーディングされる). 

	<ESC>$)BISO2022の8ビット単位系に基づくエンコーディングの記述.
	ここでもう一度エスケープシーケンスを入れる必要はない. 

またASCII, ISO 8859-1 right half, 日本語漢字が混在する文書の例を以下に
示す(上と同様に, 実際にはJIS X 0208の部分はEUCにてエンコーディングされ, 
"small o with circumflex accent" の部分は 0xe4 になる). 
	                                           _
	<ESC>$)B"お"の長母音のローマ字表記は<ESC>-Ao<ESC>$)Bと書く.

------------------------------------------------------------------------


[4] 本手法の長所

Bilingual文書の場合は, 現在各言語で使われているエンコーディングとほぼ
等しいものとなる(ISO-2022-JPを除く). 唯一違う点は, ファイルの先頭に指
示を表すエスケープ・シーケンスが入ることだけである. この点は以下のよう
に解決できるのではないか?

例えばディスク中に保存される文書はエスケープ・シーケンスが無いものとし, 
Gopher Server や HTTP Server がその文書を送信する際に先頭にエスケープ・
シーケンスを挿入するようにする. こうすれば文書の編集などは従来のエディ
タなどを用いたままで出来る. 

また文書の受信時は, 最初から自分が使用している以外の言語を読む気がなけ
ればエスケープ・シーケンスを落してしまえば良い. また, エスケープ・シー
ケンスが入ったまま放っておいても, 文書の先頭にわずかなゴミが入るだけで, 
さほど問題ないのではないか(※3). 


[5] 指示の省略とHTTPプロトコル

Bilingual文章をやりとりする者の間でG1に指示される文字集合に関する合意
が取れている場合は, 指示を表すエスケープ・シーケンスを省略しても良いこ
ととする. ただしその場合, 合意が取れていない者との間ではその文章は正し
く伝わらず, ISO 8859-1 right halfを用いて書かれた文書として取り扱われ
ることを了承しなくてはならない. 

またHTTP 1.0プロトコルのContent-Type:ヘッダにおけるcharsetパラメタを用
いて(※4), bilingual文書のエスケープ・シーケンスを省略することも可能と
する. すなわちASCIIと日本語漢字のみを含む場合, 

	Content-Type: text/html; charset=JIS_X0208-1983

	Escape Sequenceを省略して書ける. 

という記述が可能になる(各文字集合とcharset名との対応付けは, 別途議論が
必要). 

上記の, 合意に基づく, あるいは, charsetパラメタの使用によるエスケープ・
シーケンスの省略は, bilingual文書の時のみ有効とする(※5). 


[6] その他

World-Wide Webの場合, HTTP 1.0プロトコルには使用言語を表すLanguage:ヘッ
ダが規定されている. クライアント・プログラムの助けとするため, ここで述
べたエンコーディング法と, このLanguage:ヘッダを併用することを推奨する. 


[7] 未解決な点

(※1) 「G0に指示できるのはASCIIのみ」という制限は必要か否か. 当初 ISO-
      2022-JPでエンコーディングされたHTML文書の際に問題となった, ASCII
      以外の文字集合に現れる "<" (SGML関係者は"stray less-than"と呼ぶ
      らしい)の問題などを避けるためにも, この制限はあった方が良いよう
      な気もするが...

(※2) 「改行する毎にエスケープ・シーケンスによる指示をし直す必要はない」
      という条件で本当に大丈夫か. Bilingual文書なら問題はないが, multi-
      lingual文書の場合は問題になると思われる. 

(※3) 行頭のエスケープ・シーケンスが理解できない場合, 本当に「単なるゴ
      ミ」で済まされるのか. クライアントの動作がおかしくなったりしない
      か. 

(※4) GopherプロトコルにはHTTPプロトコルのcharsetパラメタに相当する機
      能はあるのか. Gopher+プロトコルのviewLanguageは意味が異なるため, 
      必要ならばGopherプロトコルに文字セットを表示する何らかの拡張を提
      案する必要がある. 

(※5) 「エスケープ・シーケンスの省略は, bilingual文書の時のみ有効とす
      る」という制限は意味があるか. Multilingual文書を扱おうと思ったら, 
      どの道きちんとエスケープ・シーケンスの処理をしなければいけないの
      で, 省略が出来る必要は余りないと思われるのだが. 

その他, HTML文書の中でエスケープ・シーケンスの代わりにHTMLのコマンドを
使って指示を行なうことを可能にすべきかどうかも, また別の問題である. 例
えば以下のような記述を認めるかどうか.
	                    _
	<CHARSET ISO-8859-1>o</CHARSET><CHARSET JIS-X-0208>は
	「お」の長母音を表す</CHARSET>

あと, 特に書いておくと, この方法はいわゆるISO-2022-JPとは全く互換性が
ない. これはそもそも日本において受け入れられるだろうか. しかし, いわゆ
る日本語EUCからはその他の言語と同程度の変更であるので, 許容して欲しい
と思うのだが.

(以上)

========================================================================
NTT基礎研究所 情報科学研究部                                 高田敏弘
分散コンピューティング原理研究グループ              takada@nttlab.ntt.JP
========================================================================