mattintosh note

どこかのエンジニアモドキの備忘録

Wine のフォント設定(小夏&さざなみ、とちょっとだけヒラギノ)

VirtualBoxWindows XP のデータと見比べて inf を修正。

ゲーム側からだと何のフォントを使ってるかいまいちよくわからない。ということで AMP Font Viewer。

AMP Font Viewer

どのフォントがどのファイルにリンクしているかよくわかります。

色々直すにあたってデフォルトの値を再確認。

WindowsHelvetica を持っていないので Arial を使うようにしているけど Mac なのでこれは Helvetica に変更できる。逆に Mac は Lucida Sans Unicode を持っていないので Lucida Grande を使うようにする。もしかしたら Lucida Console も必要かもしれない(Windows XPブルースクリーンのフォント)。

確認してみたところ Tahoma は Wine が生成したものではなく OS に内蔵している方を読んでいるので share/wine/fonts/{tahoma,tahomabd}.ttf はなくてもよい。あと、symbol.ttf と wingding.ttf も OS にあるはずなのでなくてもいいと思う(システムにもともとあったのか自分で追加したのかよく覚えてないけど)。

レジストリキーの役割をざっと書いておくと、

SystemLink

文字補完用。欧文フォントは和文を持っていないのでこれで追加する。主に補完が必要なのは Microsoft Sans Serif、Tahoma。Verdana は無くてもいいと思うんだけどとあるインストーラーが Verdana 指定でフォント呼び出して豆腐化したのでこれも補完しておく。

Helvetica を Arial から Helvetica に変更したのでこれも多分補完が必要(Arial は Arial Unicode MS を持っているが Helvetica は持っていないので)。

Lucida Sans UnicodeWindows XP 上で MS UI Gothic で補完されている。

ここはファミリー名ではなくフォント名で登録する。通常は複数文字列値での登録になっているけど単独文字列値でも登録ができる。

FontSubstitutes

エイリアス用(?)かな。「これに該当するフォントを〜」という呼び出しがあったときにどのフォントを使うか(CSS の sans-serif とか monospace みたいなもの)。なのでここは存在しない名前が呼ばれることもある(MS Shell Dlg というフォントは無い)。縦書用の "@name" は当然 Wine 環境には設定されていないのでここで設定しておく。いつ役に立つのかは知らないけど。Windows XP でもいくつか設定されていた。

Lucida Sans Unicode が呼ばれた場合に Lucida Grande を呼ぶようにしておく(Replacements で Lucida Grande を使って Lucida Sans Unicode を作ってもいいかも)。

Helvetica の行は wine.inf の途中に記述があるのでそこを編集してもいいし、後から上書きしてもいい。

Replacements

存在しないフォントを作成する場所。msgothic.ttc や msmincho.ttc が無い場合にここで他のフォントを MS フォントとして登録することができる。ゴシックと明朝はそれぞれ英名と和名があった方がいいと思う(縦書は和名しかいらないはず)。例えば "Sans" や "Serif" といったフォントは無いけど、ここで任意のフォントを使って作成することもできる。


で、新しく登録した。

(inf ファイル用なのでレジストリエディタで出力したのとはちょっと書式が違う。これを wine.inf に適用した場合は BOM 付きの UTF-8 で保存する必要がある。)

[Fonts]
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink,"Helvetica",,"Konatu.ttf"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink,"Lucida Grande",,"Konatu.ttf"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink,"Microsoft Sans Serif",,"Konatu.ttf"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink,"Tahoma",,"Konatu.ttf"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink,"Verdana",,"Konatu.ttf"

HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"@MS Shell Dlg",,"@MS UI Gothic"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"@標準ゴシック",,"@MS ゴシック"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"@標準明朝",,"@MS 明朝"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"Helvetica",,"Helvetica"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"Lucida Sans Unicode",,"Lucida Grande"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"MS Sans Serif",,"MS ゴシック"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"MS Serif",,"MS 明朝"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"ゴシック",,"MS ゴシック"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"ゴシック",,"MS ゴシック"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"標準ゴシック",,"MS ゴシック"
HKLM,Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes,"標準明朝",,"MS 明朝"

HKCU,Software\Wine\Fonts\Replacements,"@MS UI Gothic",,"@小夏"
HKCU,Software\Wine\Fonts\Replacements,"@MS ゴシック",,"@小夏"
HKCU,Software\Wine\Fonts\Replacements,"@MS Pゴシック",,"@小夏"
HKCU,Software\Wine\Fonts\Replacements,"@MS 明朝",,"@ヒラギノ明朝 Pro W3"
HKCU,Software\Wine\Fonts\Replacements,"@MS P明朝",,"@ヒラギノ明朝 Pro W3"
HKCU,Software\Wine\Fonts\Replacements,"MS UI Gothic",,"小夏"
HKCU,Software\Wine\Fonts\Replacements,"MS Gothic",,"小夏 等幅"
HKCU,Software\Wine\Fonts\Replacements,"MS PGothic",,"小夏"
HKCU,Software\Wine\Fonts\Replacements,"MS Mincho",,"さざなみ明朝"
HKCU,Software\Wine\Fonts\Replacements,"MS PMincho",,"さざなみ明朝"
HKCU,Software\Wine\Fonts\Replacements,"MS ゴシック",,"小夏 等幅"
HKCU,Software\Wine\Fonts\Replacements,"MS Pゴシック",,"小夏"
HKCU,Software\Wine\Fonts\Replacements,"MS 明朝",,"さざなみ明朝"
HKCU,Software\Wine\Fonts\Replacements,"MS P明朝",,"さざなみ明朝"

さざなみフォントの縦書がないっぽいのでそこだけヒラギノ明朝を使用。

悩んだのが MS SerifMS Sans Serif。TTF だと思ってたらビットマップでした…。これをきちんと処理しておかないとツクール 2000 のゲームでフォントが汚くなる。これは opensnoop で追ってみたら Arial Unicode MS、Hiragino Sans GB W3 …といった感じでフォントを探していくようです。


OS X 10.6.8 / Wine 1.5.31