言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Squeak の日本語にまつわる勉強

Squeak でプログラムを作っていて、未だにどうも日本語の扱いにくさに抵抗を感じていて。そのぼんやりとした不安の元を理解する為に多言語化にまつわる事を調べ始めている。単に勉強中だが、うまくまとめて、本当はこういう風にしたほうが良いんじゃないの?という事を言えるようになりたいと思っている。今の所の結論は、emacs の実装を元に勉強を進めようという事だ。

私のバックグラウンドだが、Squeak を使い始めてからまともに日本語のプログラムを書いてないのでそれ以前はと言うと euc-jp か unicode の決め打ちというシンプルで簡単な世界だった。それに対して、Squeak ではもう少し高度な事をやっている(http://www.is.titech.ac.jp/~ohshima/squeak/m17npaper/index.html)。一つの文字ごとにエンコーディングを与えていて、例えばある文字列の中で、どれが日本語でどれが中国語だという事を判別出来る。これは emacs mule の方式(http://www.m17n.org/mule/JAPANESE/tss96.html http://ht.sakura.ne.jp/~delmonta/emacs/27.html)に強く影響を受けている。

  • unicode の場合、文字を一つとってもその字の形を特定出来ない(いわゆる骨骨問題)。フォントと文字列で初めて特定できる。
  • エンコーディングを与える事によって文字が明確になる。反面、外部表現との変換が煩雑になる。

emacs の方式はさらに発展して http://www.kanji.zinbun.kyoto-u.ac.jp/projects/chise/ というのが進められている。これは、どうも言ってることが難しくてまだ良くわかってないが、これを Squeak でやるのも面白いかもしれない。