mattintosh note

どこかの゚ンゞニアモドキの備忘録

🍎 Mac ず Wine のフォント関連の蚭定 🍷

この蚘事は叀くなりたしたので新しい蚘事をご芧ください。

mattintosh.hatenablog.com


この情報は 1.5 系をもずにしおいたす。1.4 系では動䜜が異なる可胜性がありたすので泚意しお䞋さい。たた、個人の経隓䞊の話ですので間違っおいる郚分もあるかもしれたせん。

この蚘事にある Replacements、FontSubstitutes、SystemLink におけるフォント蚭定には若干誀りが含たれるず思われたす時間がなくおただ盎しおたせん。


2013幎09月17日

日本語環境甚初期蚭定ファむルを公開したした。

Mac ナヌザヌ向け Wine 初期蚭定甚 INF ファむル - mattintosh note -hatena- Mac ナヌザヌ向け Wine 初期蚭定甚 INF ファむル - mattintosh note -hatena-


Wine がフォントをチェックする堎所

Wine 環境で䜿甚するフォントは Wine 本䜓ず fontconfig によっお制埡されおいたす。fontconfig はビルド時にどのラむブラリを䜿ったかによっお怜玢堎所が異なりたす。MacPorts 版の fontconfig は ~/Library/Fonts が怜玢察象に入っおいないため、デフォルトではナヌザヌフォントが認識されたせん。詳しくは「ナヌザヌフォント~/Library/Fontsが認識されない」を参照しお䞋さい。いずれの堎合でも $WINEPREFIX/drive_c/windows/Fonts にあるフォントは認識されたすAquaKana.ttf など特殊なフォントは陀く。

怜玢堎所 蚭定ファむルの堎所
wine ../share/wine/fonts
$WINEPREFIX/dosdevices/c:/windows/Fonts
fontconfig (MacPorts) /System/Library/Fonts
/Library/Fonts
~/.fonts
/opt/local/etc/fonts
fontconfig (XQuartz) /System/Library/Fonts
/Library/Fonts
~/.fonts
~/Library/Fonts
/opt/X11/lib/X11/fontconfig

※怜玢堎所は䞀郚省略しおいたす。
※$WINEPREFIX/dosdevices/c:/windows/Fonts は $WINEPREFIX/drive_c/windows/Fonts ず同じ堎所です。
※~/.fonts は将来廃止予定。
※X11.app の堎合は /opt/X11 ではなく /usr/X11 になりたす。

英語で衚瀺される原因

gettext 無しでビルドした

Wine は日本語メッセヌゞの生成に gettext を䜿甚したす。これはビルド時に行われおいるようなので gettext 無しでビルドした堎合は再ビルドが必芁になるず思われたす。Homebrew 版の Wine には䟝存関係に gettext が含たれおいないようなので Wine 単䜓のむンストヌルだず日本語メッセヌゞが生成されないかもしれたせん。むンストヌルするアプリケヌション䟋えば Firefoxによっおはアプリケヌション自䜓が日本語メッセヌゞを含んでいるこずがありたす。

LANG が正しく蚭定されおいない

環境倉数 LANG の倀が en_US.UTF-8 などになっおいるず英語になりたす。LANG=ja_JP.UTF-8 などに蚭定しお䞋さい。locale コマンドで確認できたす。

日本語が文字化けする

msgothic.ttc が無い堎合の察凊法です。Wine にフォントが認識されおいない堎合は先に䞋にある「ナヌザヌフォント~/Library/Fontsが認識されない」を読んで䞋さい。

※レゞストリに登録されおいおも MS Shell Dlg に完党に反映されないがフォントがあるようですOsaka など。

MS Shell Dlg

たず、メむンダむアログMS Shell Dlgですが、これには「MS UI Gothic」が蚭定されおいたす。msgothic.ttc が存圚しなければ代替えフォントが䜿甚されたす䜕を基準に遞んでいるのかは知りたせんが。ここでは日本語たたは英語の「フォント名」が䜿甚されたす。regeditレゞストリ゚ディタを䜿っお倉曎したす。

f:id:mattintosh4:20130313231339p:plain

テキスト゚ディタでレゞストリを曞いおむンポヌトするこずもできたす。䟋えば以䞋のレゞストリをむンポヌトするず MS Shell Dlg には「IPAMonaUIGothicIPA モナヌ UI Gothic」に指定されたす。

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"MS Shell Dlg"="IPAMonaUIGothic"

printf や echo を䜿っおコマンドラむンでも登録ができたす。

printf '[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]\n"MS Shell Dlg"="IPAMonaUIGothic"' | wine regedit -

フォント名はレゞストリ゚ディタで確認できたす。「@」が぀いおいるものは瞊曞甚です。FONTCONFIG_FILE で远加されたものは HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts で確認できたすが、$WINEPREFIX/drive_c/windows/Fonts に远加したものは HKEY_CURRENT_USER\Software\Wine\Fonts にしか無いかもしれたせん。

f:id:mattintosh4:20130313230819p:plain

フォントリンク

䞊蚘の「MS Shell Dlg」は䞻にナヌザヌむンタヌフェむスやシステムのダむアログ衚瀺で䜿甚されたすが、アプリケヌションによっお「Tahoma」や「Verdana」を呌び出すこずがありたす。これらのフォントは日本語を含んでいないため、日本語郚分が「□」四角に文字化けしたす。「フォントリンク」はこの䞍足しおいる文字を補う機胜ですmsgothic.ttc が存圚する堎合は勝手に眮き換えられたす。この蟺は Windows システムずだいたい同じだず思いたすので詳しい説明は省略したす。

レゞストリのサンプルは以䞋のペヌゞにもありたす。

iNSTANTWiNE 甚远加レゞストリ - mattintosh note -hatena- iNSTANTWiNE 甚远加レゞストリ - mattintosh note -hatena-

フォントリンクの登録方法

フォントリンクは以䞋の二箇所のキヌで蚭定可胜なようです。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

  • キヌが存圚しない堎合は新たに䜜成する。
  • フォントは「ファむル名」で指定する。䟋えばフォント名が「IPA モナヌ Pゎシック」であれば「ipagp-mona.ttf」ずしお登録する。
  • TTC ファむルの堎合は「ファむル名」の埌に「フォント名」を指定する。
  • 耇数リンクの堎合は「文字列倀REG_SZ」ではなく「耇数文字列倀REG_MULTI_SZ」で行う。その堎合、レゞストリの倀は Unicode になる。

HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements

  • キヌが存圚しない堎合は新たに䜜成する。
  • フォント名は「フォント名」で指定する。䟋えばファむル名が「ipag-mona.ttf」であれば「IPA モナヌ Pゎシック」たたは「IPAMonaPGothic」。
  • 耇数リンクの堎合は「文字列倀REG_SZ」ではなく「耇数文字列倀REG_MULTI_SZ」で行う。その堎合、レゞストリの倀は Unicode になる。
IPA モナヌフォントによる蚭定䟋

f:id:mattintosh4:20130313233257p:plain

むンポヌト甚レゞストリファむルの䟋
文字列倀の堎合
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Tahoma"="ipagp-mona.ttf"
耇数文字列倀の堎合
REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Tahoma"=hex(7):69,70,61,67,70,2d,6d,6f,6e,61,2e,74,74,66,00,00
フォントリンクの確認

環境蚭定の「画面」タブにある「10 ポむントの Tahoma による芋本です」で確認できたす。文字化けするアプリケヌションで確認しおもOK

フォントリンク蚭定前

f:id:mattintosh4:20130313232712p:plain

フォントリンク蚭定埌

f:id:mattintosh4:20130313232748p:plain

ナヌザヌフォント~/Library/Fontsが認識されない

MacPorts 版の Wine で遭遇する問題です。MacPorts 版の fontconfig が䜿甚する /opt/local/etc/fonts/fonts.conf を芋おみたしょう。行番号はこちらで付加したもので実際にはありたせん

24:<!-- Font directory list -->
25:
26: <dir>/usr/share/fonts</dir>
27: <dir>/usr/X11/lib/X11/fonts</dir> <dir>/Library/Fonts</dir> <dir>/Network/Library/Fonts</dir> <dir>/System/Library/Fonts</dir> <dir>/opt/local/share/fonts</dir>
28: <dir prefix="xdg">fonts</dir>
29: <!-- the following element will be removed in the future -->
30: <dir>~/.fonts</dir>

MacPorts 版の fontconfig はこれらのディレクトリをチェックしたすが、ここには ~/Library/Fonts が含たれおいたせん。ここに <dir>~/Library/Fonts</dir> ずいう蚘述を远加しおあげればナヌザヌフォントを読み蟌むようになりたすが、管理者暩限が必芁ですし、fontconfig を入れ盎したりするず再線集しなくおはいけないのであたりおすすめしたせん。

解決法1) シンボリックリンクで ~/.fonts を ~/Library/Fonts ぞリンクする

これが最も簡単な方法です。~/.fonts から ~/Library/Fonts ぞのリンクを䜜っおあげたす。

ln -s ~/Library/Fonts ~/.fonts

解決法2) 蚭定ファむルを曞く

远加蚭定ファむルをナヌザヌが䜜成するこずもできたす。/opt/local/etc/fonts/conf.d/50-user.conf により以䞋のファむルずディレクトリがチェックされたす。

  • ~/.fonts.conf
  • ~/.fonts.conf.d

~/.fonts.conf は蚭定ファむルでディレクトリの远加の他、アンチ゚リアスの蚭定等を蚘述するこずもできたす。~/.fonts.conf.d は蚭定ファむルを分けお眮いおおくディレクトリです。

今回はずりあえず ~/.fonts.conf でディレクトリの远加だけを行いたす。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>~/Library/Fonts</dir>
</fontconfig>

解決法3) 05-osx-fonts.conf を ~/.fonts.conf.d 以䞋にリンクたたはコピヌする

/opt/X11/lib/X11/fontconfig 以䞋にある蚭定ファむルを流甚したす。

mkdir ~/.fonts.conf.d
ln -s /opt/X11/lib/X11/fontconfig/conf.avail/05-osx-fonts.conf ~/.fonts.conf.d

解決法4) 環境倉数 FONTCONFIG_PATH で蚭定ディレクトリを倉曎する

MacPorts 偎の fontconfig の蚭定ファむルではなく XQuartz.app 偎の fontconfig の蚭定ファむルを䜿いたす。

FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig /opt/local/bin/wine regedit

~/.bashrc などに alias で蚭定しおおくこずもできたす。※シェルのプロファむルを読み蟌たない起動の堎合は䜿えたせん

alias wine="FONTCONFIG_PATH=/opt/X11/lib/X11/fontconfig /opt/local/bin/wine"

解決法5) $WINEPREFIX/drive_c/windows/Fonts を ~/Library/Fonts に眮き換える

※この方法はプレフィックス䜜成時に毎回行う必芁があるのであたりおすすめしたせん。

Wine のプレフィックスにある C:Â¥windowsÂ¥Fonts を ~/Library/Fonts にリンクしたす。既存のディレクトリが存圚するずシンボリックリンクを䜜成できたせんので事前に削陀する必芁がありたす。䞭にフォントが入っおいる堎合は削陀されたすので泚意しお䞋さい。

以䞋は $WINEPREFIX が ~/.wine の堎合の䟋です。

rm -rf ~/.wine/drive_c/windows/Fonts
ln -s ~/Library/Fonts ~/.wine/drive_c/windows/Fonts

フォントファミリヌ名の停装による MS UI Gothic の生成

「MS UI Gothic」ずいうのはファミリヌ名を基準にしおいるようなので FontForge を䜿っお「IPA モナヌ UI Gothicipagui-mona.ttf」を改造したす。FontForge は MacPorts でむンストヌルできたす。

「゚レメント > フォント情報」を開き、「PS Names」ず「TTF名」タブで「ファミリヌ名」を「MS UI Gothic」に曞き換えたす。「フルネヌム/衚瀺甚の名前」は本物ず区別を぀けるために「MS UI Gothic Fake」ずしおおきたす。

倉曎前

f:id:mattintosh4:20130314014328p:plain

f:id:mattintosh4:20130314012057p:plain

倉曎埌

f:id:mattintosh4:20130314013825p:plain

f:id:mattintosh4:20130314011951p:plain

出力したフォントを Wine がチェックするフォルダにコピヌしおおきたす。

MS Shell Dlg が MS UI Gothic のたたでフォントが「IPA モナヌ UI ゎシック」になりたした。

f:id:mattintosh4:20130314012817p:plain

フォントリンクを䜿わなくおも Tahoma にも反映されたす。

f:id:mattintosh4:20130314012958p:plain

同様に ipagp-mona.ttf や ipag-mona.ttf を䜿っお「 ゎシック」や「 ゎシック」も停装できたす。ほずんどのアプリケヌションはこれで察応できるず思いたすが、皀に msgothic.ttc を盎接指定しおくるアプリケヌションもあるのでその堎合はオリゞナルが無いず動䜜しないかもしれたせん。

※ラむセンスにより改倉が犁止されおいるフォントもありたす。
※本物の msgothic.ttc が存圚する堎合、どうなるかはわかりたせん。

ゲヌム甚のフォントが小さい

これはモトダ系フォントにするず芋やすくなるこずがありたした等幅のため文字が切れるこずもありたす。「モトダシヌタ゛3等幅MTLc3m.ttf」ず「モトダLマルベリ3等幅MTLmr3m.ttf」でれば GitHub の Android のペヌゞ でダりンロヌドできたす。数が倚いので「japanese」で怜玢するずいいかもしれたせん。その他のモトダのフォントは公匏ペヌゞでナヌザヌ登録をするこずでダりンロヌドできたす。