たまりば

  パソコン・インターネット パソコン・インターネット  三鷹市 三鷹市

MSPゴシック半濁点パッチ
2009年08月01日 18:48

ビビンバについて思うことがある。
비빔밥1
どうだろうか。物凄く見にくいと思う。
MSPゴシックは半濁点が小さすぎるのだ。
そこで、フォントを改造してみた。

ここで参考になるのが、MSPゴシック9ptの半角「2」が変な形に変わった件だ。
MSPゴシックの2左 : 新、右 : 旧
ちなみにこの元凶は2ではなく「.」(ピリオド)のように思える。
こうして見ると分かるが、

「.」を右に1ドットずらしたために2にくっつくようになり、2の方を削ったように見える。
ただ、そもそもなぜ「.」を右にずらそうと思ったのかは謎だ。あえて言えばI、X、Rの右にくっつかなくなったくらいか。
さて閑話休題。この改悪は当時かなり騒がれていたが、そんな中この2などのデザインを書きかえるパッチが公開された。
作ったのは2ちゃんねるの「2のフォントがおかしい件について part1」の73氏らしい。以下に引用する。
GDIの脆弱性修正と一緒に、ついでにフォント入れてみたら
物凄い文字に置き換えられてマジ頭にきたのでパッチ作ってみた

修正内容は、MS Pゴシック 9pt と、MS UIゴシック 9pt の、
・ 半角カッコ「()」のビットパターンと配置位置を従来の状態へ復元
・ 半角ピリオド「.」の配置位置を以下同
・ 半角数字「2」のビットパターンを以下同
半角カタカナの「ケ」の文字幅変更については改善だと思うので放置 (AAとかはズレると思うけど)

FILENAME msgoth04.ttc
0006BE98: 00 01
0006BEA0: 24 22
0006BEA1: 48 44
0006BEA2: 80 00
0006BEAD: 49 4A
0006BEAE: 4A 50
0006BEDC: 01 00
0006BF17: 10 11
0006BF18: 88 11
0006BF19: 88 10
0006BF1A: 78 F8
00070609: 00 01
00070611: 24 22
00070612: 48 44
00070613: 80 00
0007061E: 49 4A
0007061F: 4A 50
0007064D: 01 00
00070688: 10 11
00070689: 88 11
0007068A: 88 10
0007068B: 78 F8
というわけで、これを参考にしてttf(ttc)ファイル(のビットマップ部分)の構造が少し分かるようになった。
文字ごとに1ドット1ビットで単純なビットパターンが並んでいるだけのようだ。
このビットパターンを書きかえれば簡単にデザインを変えられる。
噂によるとチェックサム的なものが付いているらしいが、別に気にしなくてもいいらしい。

そうしてできたのがこれだ。
MSPゴシック半濁点比較
8pxから17pxまでの半濁点を大きく改造した。
これで冒頭のビビンバもこの通り。
비빔밥2

折角なのでパッチを作ってみた。[MSGoth_HVPatch.zip]
(HVはHalf Voiced Sound Mark=半濁点の意。のつもりだったけどSemi-Voicedの方が一般的だったみたい。でも今更名前変えるのめんどいからそのままでいいや)
半濁点を大きくしたほか、上記73氏のパッチでは書き換えていない10pxと11pxの「2」および「.」、さらに目についた文字を適当に書き換えてある。
使いたい人は自己責任でどうぞ。とりあえずバックアップはとっておいた方がいいと思う。
パッチ作成にはWDiffを使った。

なお、最初はバイナリエディタを使って手作業で書き換えていたが、面倒になったので途中から適当なプログラムを作っている。
「TTF(TTC)ファイルの指定した場所から読んでBMPに吐くプログラム」と、「そのBMPを読んでTTF(TTC)ファイルに書き戻すプログラム」だ。
こちらは人に見せるような作りをしていないのでとりあえず公開しない。欲しい人が居たらコメント欄にでも書いてください。

-----
('09.12/09)
続編公開。


  • Post time : 2009年08月01日 18:48│Comments(0)
    URL欄を実験的に消してる間に廃止されてしまいました。まあいいか。
     
    <ご注意>
    書き込まれた内容は公開され、ブログの持ち主だけが削除できます。
    削除
    MSPゴシック半濁点パッチ
      コメント(0)