2007年12月20日

[openoffice:10825] Re: OOo2.3.1 on Linuxで江戸勘定流フォントが未認識

はとちゃん@小江戸らぐです。

Toraさん、凄すぎます。
ここまで、ご丁寧に調査していただき感激しました。

DF勘亭流縁取W9というフォントは、ちゃんとすべて表示されています。
著作権者がダイナウェアなので、件の勘亭流とはどうかなという一抹
の不安がありますが、まずは宛名職人の勘亭流を確認してみます。


tora - Takamichi Akiyama さんは書きました:
> はとちゃん@小江戸らぐさん
>
> おこんばんわ。おはようございます。
>
> とりあえず、フォントファイル側の言語を表すコードについては、
> 以下のようなコマンドで、修正するような実験ができました。
>
> perl -pe 'BEGIN{$/=undef;binmode(ARGV)} \
> s/(\x00\x03)(\x00\x02)(\x04\x11)(\x00.)/$1\x00\x01$3$4/g; \
> s/(\x00\x01)(\x00\x00)(\x04\x11)(\x00.)/\x00\x03\x00\x02$3$4/g' \
> EDOKAN.TTC > jikken.ttc
>
> 以下の name テーブルの数値について、上記のコマンドで以下のように修正
>
> 0003 0002 0411 ... (Microsoft, SJIS, 日本語) という誤った数値を
> 0003 0001 0411 ... (Microsoft, ユニコード, 日本語) へ修正
>
> 0001 0000 0411 ... (Macintosh, Roman, そんな値ない) という誤った数値を
> 0003 0002 0411 ... (Microsoft, ShiftJIS, 日本語) へ修正
>
>>> 'name' テーブル
>>> http://www.microsoft.com/typography/otspec/name.htm
>>>
>>> 0000 0010 00c6
>>> 0001 0000 0411 0000 003a 0000
>>> 0001 0000 0411 0001 000a 003a
>>> 0001 0000 0411 0002 0007 0044
>>> 0001 0000 0411 0003 000a 004b
>>> 0001 0000 0411 0004 000a 0055
>>> 0001 0000 0411 0005 0004 005f
>>> 0001 0000 0411 0006 000c 0063
>>> 0001 0000 0411 0007 003c 006f
>>> 0003 0002 0411 0000 0074 00ab
>>> 0003 0002 0411 0001 000a 011f
>>> 0003 0002 0411 0002 000e 0129
>>> 0003 0002 0411 0003 000a 0137
>>> 0003 0002 0411 0004 000a 0141
>>> 0003 0002 0411 0005 0008 014b
>>> 0003 0002 0411 0006 0018 0153
>>> 0003 0002 0411 0007 0062 016b
>
> 上記の修正実験で生成された jikken.ttc は、OpenOffice.org の spadmin で
> 認識されるようになりました。
>
> とっ、ところが、OpenOffice.org に spadmin でそのフォントを登録すると、
> ツールバー上のフォント名のプルダウンメニューには「江戸勘亭流」が表示
> されるようになりましたが、プルダウンメニューを押して表示されるプレビュー
> 表示の部分は文字が表示されません。
>
> さらに、本文中で、「江戸勘亭流」を設定しても、英語の半角文字については
> 江戸勘亭流の様になった文字で表示されますが、日本語などの全角文字については、
> 文字が蒸発して消えてしまいます。
>
> EDOKAN.TTC の 'cmap' Character To Glyph Index Mapping Table の部分を
> 調べてみると、文字コードが ShiftJIS になっています。
> http://www.microsoft.com/typography/otspec/cmap.htm
>
> OpenOffice.org 2.3 のソースコードを調べてみると、cmap の文字コードが
> ユニコードの時は受け付けるけど、Shift JIS などのユニコード以外の時は
> 受け付けないようになっています。
>
> もう少し詳しく言うと、ShiftJISや中国の文字コードなども認識し、内部で
> 文字コード変換するためのコードまでも書いてあります。が、そのコードが
> 実行される前に return 文がわざと入れてあります。開発作業途中なのか、
> それとも、何かしらの不具合に遭遇してしまい、速攻対処のために、return
> 文つっこんで、ユニコード以外は動作しないようにしておいてあるのか、
> というような雰囲気です。
>
> このファイルです。
> http://gsl.openoffice.org/source/browse/gsl/vcl/source/glyphs/gcach_ftyp.cxx
>
> 最近、いじっていますね。まさに、↓ここらへんです。
> http://gsl.openoffice.org/source/browse/gsl/vcl/source/glyphs/gcach_ftyp.cxx?r1=1.146&r2=1.147
>
> で、そこらへんをちょこっと編集して ShiftJIS も受け付けるようにしてみたところ、
> 「挿入」「記号と特殊文字」には、正しく、持っている文字(漢字)などが
> 表示されるようになりました。しかしながら、その文字のグリフは、代替されて
> しまって Kochi Mincho が使われてしまわれました。
>
> 「江戸勘亭流」を持っていて、ずばりそのフォント名を指定しているのに、
> 内部では、そのフォント名もしくは、そのフォント名に対応するファイル内に
> 文字のグリフを発見できないのか、などの何かしらの理由によって、代替の
> Kochi Mincho が使われてしまっています。
>
> 気になるのは、EDOKAN.TTC には 'cmap' テーブルが2つあって、1つは、
> 文字コードが英語の256文字用、そして、二つ目がShiftJISの256掛ける256文字用
> となっているので、もしかしたら、OpenOffice.orgが英語の256文字用のほうを
> 先に見てしまって、結果的に、半角文字は「江戸勘亭流」で表示されるけど、
> 全角文字は、消失してしまう。ということになるのかもしれません。
>
> そこらへんについては、時間ができたら、調べてみようと思います。
>
> まあ、どこまで古いフォントファイルや誤った設定がなされているフォントファイルを
> OpenOffice.org でサポートしてあげればいいのかなぁ。ってところです。
> 今時のフォントファイルは、'cmap' テーブルの文字コードはユニコードって
> のが多いようです。
>
> Windows 日本語版が、文字コード部分が誤っていても、無視し、たぶん ShiftJISか
> ユニコードか、と内部で文字コードの自動判別などおせっかいなことを自動的に
> やって、とにかく文字化けさせずに正しく表示させる。
> というような振る舞い。一長一短がありますよね。
>
> 例えば Windows 98se の頃では使えていたフォントファイルが Windows なんたらでは、
> 厳格にチェックするようになったので、使えなくなりました。というような
> ことにもしもなっていたとしたら、Windows なんたらへ移行しにくくなりますから。
>
> まあ、それが裏目に出てしまって、ベンダーさんが修正を怠っている。っていう
> ことにもなるわけでして。。。
>
> Linux関連では、標準的な仕様がある場合は、その仕様に厳格に準拠するソフトが
> 多いような感じがします。それはそれで正しいことだと思います。
> でも、その厳格さが裏目にでてしまって、Windows から Linux へ移行するときの
> 障壁の1つにも成りかねないとも言えるのかもしれません。
>
> てなところで。。。
>
> Tora


【MLコミュホームページ http://www.freeml.com/openoffice

--[PR]------------------------------------------------------------------
口臭・体臭・便臭などのニオイでお悩みの方にオススメ!噂の消臭サプリ!
  ◆ 【 爽臭革命 】2,940円(税込/たっぷり90粒入) ◆
  ◆  2袋以上送料無料!1袋の場合は送料100円    ◆
モニターでは92%もの方が実感したという驚きの結果も出ている人気商品!
http://ad.freeml.com/cgi-bin/sa.cgi?id=aUefy
------------------------------------------------------------------[PR]--
■GMO INTERNET GROUP■ GMO INTERNET www.gmo.jp

投稿者 xml-rpc : 2007年12月20日 11:26
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67805
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。