No. 205/622 Index Prev Next
Path: titcca!flab!ichikawa
From: ichikawa@flab.flab.fujitsu.JUNET (I.Ichikawa)
Newsgroups: fj.kanji
Subject: hankaku-kana to zenkaku-kana convertor
Message-ID: < 2102@flab.flab.fujitsu.JUNET>
Date: 24 Nov 87 03:21:54 GMT
Reply-To: ichikawa@flab.flab.fujitsu.JUNET (I.Ichikawa)
Distribution: fj
Organization: Fujitsu Laboratories Ltd., Kawasaki, Japan
Lines: 49
NKF改造(高速化)をしている(某Q門氏と競って)のですが、その副作用として(
どんな作用だろ?)コード系が判明している時に、半角カナを全角にしてしまう
フィルタが一夜にしてでけてしまいました。(実は二日:-)
でもって、せめてその一部だけでも投稿しようというのですが、
1)いる人いますか。
カナを見るのにかなり手を抜いています。
つまり、変換テーブルを簡単にするため、0xa0-0xdfしかサポートしていません。
(あれ、これでいいんじゃなかったっけ?知っている人いたらよろしく) それに、
0x3fと& をとると、0xa0-0xb0-0xc0-0xd0は、0x20-0x30-0x00-0x10となるのです。
こうすると、テーブルを0xc0-0xdf,0xa0-0xbfとして並べておけば、いいという
ことになります。(これは、JISとSJISでの8ビット目が立っている場合です、EUC
では、0x8eの後の1バイトを0x3fと& をとって行います。また、コード系共通に、
0x0eと0x0fで挟まれた、0x20-0x5fも、0x3fと& をとって、行います。)
ううむ、ほとんどヒント〇出し。これがわかると、テーブルは、簡単に作れるは
ずです。(コード表と首っぴきならば、1時間でできます)ちなみにテーブル引い
て変換するのは簡単ですが、ややこしいのは、2バイトコードの場合に、特にSJI
Sで、2バイト目とまちがわないようにすることと、JISでの漢字へのシフトの処
理と、各コードでのカナのシフトをうまく処理することです。まあ、そのうちソ
ースを投稿しますが。(いつのことかは、判らないので、至急、必要な方は個人
的に)
そのために、ここで質問です。
はたして、半角カナを使う(あるいは、使ってしまう)人は、
0xe0-0xfeを使うのでしょうか?この領域は、パソコンなんぞでは、グラフィック
キャラクタなんぞがあったり、" 村" 、" 町" 、" 人" 、" 時" 、" 分" 、" 秒" なんぞを使
用できたりするわけです。いったい、この領域を使用しているのでしょうか。
使用していると、このテーブルでは済まないことになるし、だいいち、この領域
は、わりと勝手に各社が使用しているから、どうすればいいかわからない。
そりから、0x0e, 0x25, 0x0fの列が、JISとSJISでは0xa5と等価であるというの
や、EUCでは0x8e, 0xa5であるというのは、これでいいですよね。
というわけで、 1)こうしたフィルタいりますか?
2)0xe0-0xfeは、(0x0e後の0x60-0x7eといってもいいし、
EUCでの0x8e後の0xe0-0xfeといってもいい)使わないか?
3)SI,SOはこれでいいか?
ということです。
−−− その他、JIS用rot47フィルタ、SJIS用rot47アルゴリズム、
JISSJISの計算量を減らした変換、確定後の高速変換、
フィルタのパイプライニング、などなどの技術が派生し
てきてはいるのです。まあ、そのへんも、そのうち。
(い)
Next
Continue < 173@falcon.mtl.u-tokyo.JUNET>
< 274@icot32.icot.JUNET>
< 275@icot32.icot.JUNET>
< 103@soumd4.soum.JUNET>
< 755@cskvax.csk.JUNET>
< 2138@flab.flab.fujitsu.JUNET>
< 766@cskvax.csk.JUNET>
< 1213@srava.sra.JUNET>