Osakaフォント for Windows Part 6

このエントリーをはてなブックマークに追加
712名無し~3.EXE
・ビットマップのゴミの判別方法
まず、sbitgetを使って.bdfファイルを取り出します。
「BBX」の次に書いてある数字が各ビットマップの横幅になりますので、
この横幅からはみ出ている点はゴミです。
Win9x系は横幅を無視して表示しているようです。

他にも確認方法があるかもしれないので、一例として考えてください。

・「¥」と「/」の変換方法
>>670のような書き換えは、具体的に言えばcmapテーブルの書き換えをしています。
TTFファイルにはビットマップデータなどのフォントデータが埋め込まれていますが、
例えば、sbitgetなどで変換されたデータを見ると glyphID:0000 から順番に
番号が付けられています。この番号はフォントの番号ですが、内部的に管理するための
番号であって、どの文字のフォントかを示すためのものではありません。
そのために、cmapテーブルが存在し、このフォントの番号はこの文字に割り当てるという
情報が書いてあります。
つまり、「¥」の文字コードに対して、「/」のフォント番号が割り当てられていた
ものを「¥」のフォント番号に割り当てなおすという書き換えです。
713名無し~3.EXE:03/03/21 09:44 ID:mG9F0lE+
実際に調べるのは結構面倒だと思うので、簡単な方法を書きます。

665神のOsaka,Osaka-UIの「/」を「¥」にする方法
以下のフォントを持っている人に限定して書きます。
> Osaka864ttc.zipの場合。(変更済みフォントはここ)
> Osaka, Osaka-UI
> 00226B01: 7D → 5A
このファイルをバイナリエディタで開いて、00226B01 の±8バイトぐらいを
コピーします。(7D → 5Aの書き換えをする前の状態で)
次に665神のファイルを開き、コピーしていたデータを検索します。
見つかったら、その中心にある 7D を 5A に書き換えます。

cmapテーブルは意図的に変えなければ、そのまま引き継がれているはずなので、
場所を検索して書き換えればいいはずです。
714名無し~3.EXE:03/03/22 00:03 ID:b1YSEmUK
>>712-713
勝手に訂正しちゃいます。

×「/」  ○「\」