名前: ttk 日時: 2007-08-22 00:14:44 IPアドレス: 61.210.211.*
>>49170 > 逆変換の JIS系 → Unicode は実装依存になってるでしょうが、 > pTeX で使う限りは、内部でもう一度 JIS に戻すことになるので、 > 影響ないだろうということだったと思います。 再度の説明になりますが、お付き合い下さい。 現状のptexencでは、 Unicode → JIS系 の変換は、多対一の吸収で対応 JIS系 → Unicode の変換は、実装依存 (コンパイル時、iconvを用いるか、gdの表を用いるかで異なる) この仕様は、pTeX + UTF-8 では全然問題にはならない # pTeXでUTF-8で使っている場合にも、例えば、 # 「UTF-8でファイルのコードを統一しているとき、 # 何らかの処理をした後のUTF-8のファイルを内部SJISのエディターで # 編集する」などというケースがあれば、 # 実装依存の影響を受ける可能性があるでしょう。 # こういうケースは稀で、考慮する必要はないでしょうし、 # むしろ、MacではMac OSの表、WindowsではCP932の表といった形で # 実装依存の方がいいくらいかも。 > upTeX になぜ JIS との変換が必要になるのか >>49109 >>49112 に述べたように、\jis, \euc, \sjis, \kuten プリミティヴと ファイル入力(出力のJIS系は原則非対応)のサポートをしています。 この場面で JIS系 → Unicode の変換が必要になります。 過去の資産をなるべく生かすために用意しています。 現状 \jis などの結果にばらつきが出てしまう点が気になっています。 「JIS系 → Unicode」は、一対多の変換になってしまうので、 100%満足に八方が丸く収まる形サポートするのは不可能です。 しかし、実装依存になっていることで不確定要素(文字化け等)を 増やす結果になってしまうことは避けたいと思っています。 > 私の提案は、upTeX の入出力は全部 Unicode で統一して、 > 外部ファイルの文字コード変換はフィルタ経由にしましょう、 > というのだった気がしてきました。 この方法だと \jis などはサポートできず捨てることになりますね。 > JIS -> Unicode がどう変換されるかはフィルタに任せて、 > upTeX では責任を持たないことにするということです。 > # これが実装依存、なんですかね。 外部のツール(フィルターを含む)で変換した場合のことまで 責任を持つことは考えていません。 (JISから変換したものか、Unicodeで書き下ろしたものかは判断仕様が無い) > どうしても固定した変換表を持つということでしたら、 > Cのソース中に巨大なテーブルを持つのはアレなので、 > CMap のように、外部ファイルに書き出す形式をお勧めしたいです。 # 外部ファイルの方が有利な理由がよくわからないですが gdの表が大きすぎるというのであれば、iconvでも構わないのです。 今やろうと思っているのは、 is_internalUPTEX のときに、 JIS系 → Unicode の一対多の変換のばらつきの出ているところだけ テーブルを使う、というやり方です。 これとiconvを併用すれば、巨大なテーブルも不要です。 いかがでしょうか。 ひょっとしたら私の書き方が悪くて ご機嫌を損ねたのでしたらどうもすみません>土村さん
この書き込みへの返事: