試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Wine上のフォントについての設定

(2009/9/19)この記事の内容は追記の繰り返しなどでまとまりが悪いため、まとめドキュメント(モバイル版ページ)の各セクションにまとめ直している。また、${WINEPREFIX}/user.regなどを直接書き換えるのは推奨できず、レジストリエディタ向けの.regファイルを適用したほうが望ましい。
(2014/3/25)IPAモナーフォントを自動的にインストールし、フォント置換の設定も自動的に行うためのファイルをまとめドキュメントの「IPAモナーフォントインストール用verbファイル」で公開した(要winetricks)。

  1. ユーザインターフェース用フォントの変更
  2. アンチエイリアシングの設定
  3. 存在しないフォントの置換(IPAモナーフォントを使用)
  4. Windows版Picasaでの文字化け対策(追記)
  5. Windowsインストーラの文字化け対策(追記)
  6. 置換で対処できない豆腐化け対策(追記)

ユーザインターフェース用フォントの変更

Wine上のアプリケーションで表示されるユーザインターフェースのフォントは、winecfgで設定できるかのようにも見えるのだが、ここからの設定は未実装なのか、ボタンがあっても押せたためしがない。

(2007/8/12)バージョン0.9.43では、ここからのフォント設定ができるが、指定できる項目は限られるため、この記事のシンボリックリンクやフォント置換に関してのことは役に立つ。
(2007/9/10)下で書いている、フォントのC:\WINDOWS\Fontsへの移動を行わなくても、後述のフォント置換で任意のフォントにできる上、「MS UI Gothic」に対する置換設定のほうが優先される点に注意。


しかも、手元の環境では、日本語の表示が一部記号に化けてしまう。

そこで、C:\WINDOWS\Fontsに相当する、空のディレクトリ(${WINEPREFIX}/dosdevices/c:/windows/Fonts/)の中にフォントへのリンクを張ってみる。使用するフォントは、IPAモナーUIゴシックがおすすめ。下の例は、Gentoo Linuxで${WINEPREFIX}とCドライブの場所がデフォルトの場合。

$ ln -s /usr/share/fonts/ipamonafont/ipagui-mona.ttf ~/.wine/drive_c/windows/fonts/

これで、ユーザインターフェースのフォントがIPAモナーUIゴシックになる。

(2007/6/30)C:\WINDOWS\Fontsには、ユーザインターフェース用のフォント以外を入れないように注意する。ここにフォント(もしくはフォントへのリンク)を配置しなくても、アプリケーションからはフォントが見えている。

関連URL:

アンチエイリアシングの設定

アンチエイリアシングはデフォルトで有効になっているが、もし無効にしたい場合は、レジストリファイルに以下の設定を書く。個人的には、無効にすると汚く見えるため、有効のほうが好み。
ファイル名: ${WINEPREFIX}/user.reg

[Software\\Wine\\X11 Driver]
"ClientSideAntiAliasWithCore"="N"
"ClientSideAntiAliasWithRender"="N"

アンチエイリアシングを切ると、ぼそぼそな文字になっている。

(2008/6/20)Wineのバージョン0.9.47から、フォントに埋め込みビットマップがある場合にそちらが優先されるようになっている。「Wineのバージョンによりフォントのアンチエイリアシングが一部無効になる件と、フォント編集による対処方法について」を参照。
(2008/6/25)更に、バージョン1.0.7以上のIPAモナーフォントを使用している場合は「バージョン1.0.7以上のIPAモナーフォントとWine上のアンチエイリアシングについて」も参照。

存在しないフォントの置換(IPAモナーフォントを使用)

以下のフォント置換を行う設定。フォント名に日本語や全角英数を含む場合、その部分はUnicodeのコードポイント*1で書くことになっているようだ。(例:「M」は0xff2d、「S」は0xff33となり、記述としては「MS」=>「\xff2d\xff33」となっている)*2
(2008/5/26)日本語をフォント名に含むとき、GNOME文字マップよりも簡単にコードを調べる方法が分かった。「日本語を名前に含むフォントをWineのフォント置換に使用するための変換をPythonで行う」を参照。
(2009/9/19)このコードを調べて${WINEPREFIX}/user.regなどを書き換える代わりに、CP932(WindowsShift_JIS)のエンコーディングで直接日本語のフォント名を記述した.regファイルを作成してレジストリエディタで取り込むほうが楽。まとめドキュメントのセクションの例を参照。

IPAモナーフォントをMS系のフォント名に置換する際の対応表
MS系フォント名対応するIPAモナー系フォント名
MS ゴシックIPA モナー ゴシック
MS PゴシックIPA モナー Pゴシック
MS 明朝IPA モナー 明朝
MS P明朝IPA モナー P明朝
MS UI GothicIPA モナー UIゴシック

ファイル名: ${WINEPREFIX}/user.reg

[Software\\Wine\\Fonts\\Replacements]
"MS Gothic"="IPA \x30e2\x30ca\x30fc \x30b4\x30b7\x30c3\x30af"
"MS Mincho"="IPA \x30e2\x30ca\x30fc \x660e\x671d"
"MS PGothic"="IPA \x30e2\x30ca\x30fc P\x30b4\x30b7\x30c3\x30af"
"MS PMincho"="IPA \x30e2\x30ca\x30fc P\x660e\x671d"
"MS UI Gothic"="IPA \x30e2\x30ca\x30fc UI\x30b4\x30b7\x30c3\x30af"
"\xff2d\xff33 \x30b4\x30b7\x30c3\x30af"="IPA \x30e2\x30ca\x30fc \x30b4\x30b7\x30c3\x30af"
"\xff2d\xff33 \x660e\x671d"="IPA \x30e2\x30ca\x30fc \x660e\x671d"
"\xff2d\xff33 \xff30\x30b4\x30b7\x30c3\x30af"="IPA \x30e2\x30ca\x30fc P\x30b4\x30b7\x30c3\x30af"
"\xff2d\xff33 \xff30\x660e\x671d"="IPA \x30e2\x30ca\x30fc P\x660e\x671d"

メモ帳のフォント選択ダイアログで動作確認。

(2007/9/10)「MS UI Gothic」以外は、システム設定の${WINEPREFIX}/system.reg内の「Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes」以下に書いても置換はできる。ただし、そのフォント名は、フォント選択ダイアログには出てこないようだ。
(2008/6/20)IPAモナーフォントがディストリのパッケージになっていない*3場合、フォントをWineから見つけられるようにするため、ダウンロード後[ホームディレクトリ]/.fonts/などに入れておく。

WindowsPicasaでの文字化け対策(追記)

(2007/7/18)フォルダの登録や右上の検索窓の文字化けを解消するための設定。
ファイル名: ${WINEPREFIX}/system.reg

[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]
"Tahoma"="MS UI Gothic"


Windowsインストーラの文字化け対策(追記)

(2007/9/10)詳しくは「依然として残るフォント化けについて検証/対処」を参照。
ファイル名: ${WINEPREFIX}/system.reg

[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]
"MS Sans Serif"="MS UI Gothic"

置換で対処できない豆腐化け対策(追記)

(2009/12/24)詳しくは「Wine上のopenBVEなどの文字化け(豆腐状態)を回避する強引な方法とWine上のフォントに関する追加メモ」を参照。

使用したバージョン:

  • Wine 0.9.38 - 1.0
  • Picasa 2.7.0 Build 36.6000,0

*1:どの文字かを表す番号で「u+[番号]」の[番号]の部分

*2:調べるのには、GNOME文字マップ(gucharmap)での「検索」が便利

*3:Ubuntuローカライズド版とGentooではパッケージになっている