×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

サイトトップまとめドキュメントWineフォント ≫ Wine上のフォントにおけるアンチエイリアシング

Wine上のフォントにおけるアンチエイリアシング

Wineのバージョンが1.5.18以上でかつFontconfigのサポートが有効でビルドされている場合、デスクトップ環境によっては外観のフォントのアンチエイリアシング設定、もしくはFontconfigのユーザ設定ファイル内の項目rgbaによってアンチエイリアシングされるかどうかが決まる。

デスクトップ環境によっては、Fontconfigサポート有りでバージョン1.5.18以上のWineで一部のプログラムのみに対してのみアンチエイリアシングを無効にしたい場合、専用のFontconfigのユーザ設定ファイルを用意して実行時に環境変数FONTCONFIG_FILEにその場所を指定することで無効化できることがある。

例8 Wineでアンチエイリアシングを無効にするFontconfig設定ファイルの例

[任意]ファイル名: fonts.conf.noaa

<?xml version='1.0'?>
<fontconfig>
 <match target="font">
  <edit mode="assign" name="rgba">
   <const>none</const>
  </edit>
 </match>
 <dir>~/.fonts</dir>
 <cachedir>/var/cache/fontconfig</cachedir>
 <cachedir prefix="xdg">fontconfig</cachedir>
</fontconfig>

例9 Wineでアンチエイリアシングを無効にするFontconfig設定ファイルの指定例

$ FONTCONFIG_FILE=[Fontconfig設定ファイルの場所] WINEPREFIX=[Wine環境の場所] wine [Windowsアプリケーションの場所]

1.5.17以下のバージョンでは、下の条件を1つでも満たすとフォントのアンチエイリアシングが行われない。

フォントのアンチエイリアシングが無効になる条件(バージョン1.5.17以下)

  • レジストリHKEY_CURRENT_USER\Software\Wine\X11 Driver\ClientSideAntiAliasWithRenderが存在[6]し、かつ値がN

  • Wineのバージョンが0.9.47以上で、かつ埋め込みビットマップを含んだフォント(例:IPAモナー系フォント)を使用している

  • IPAモナーフォントのバージョン1.0.7以上を使用している

  • Wineのバージョンが1.1.12以上で、かつx86_32のfreetypeライブラリがサブピクセルレンダリングサポート(FT_CONFIG_OPTION_SUBPIXEL_RENDERING)なしでビルドされている

  • Wineのバージョンが1.1.12以上1.1.44以下で、かつサブピクセルレンダリングを有効にするレジストリ設定が行われていない

  • Wineのバージョンが1.2以上で、かつGUI環境(デスクトップ環境など)におけるフォントアンチエイリアシング設定が無効になっている

  • Wineのバージョンが1.5.13以上1.5.16以下で、かつクライアントサイドレンダリングが無効化されていない

IPAモナーフォントをアンチエイリアシング付きで使用したい場合はバージョン1.0.5のフォントから埋め込みビットマップを抜いたものを用意して元のフォントに同名で上書きするのがおすすめ。その場合でもWineのバージョンが1.1.12以上だとfreetypeライブラリの影響も受けるので簡単にはいかず、別途レジストリ設定も必要。

freetypeのサブピクセルレンダリングサポートが無効な場合は、freetypeのソースを入手後、これを有効にしてビルドする。

バージョン1.0.7以上のIPAモナーフォントをアンチエイリアシング付きで使用したい場合はFontForgeでフォントを開いて情報のGrid FittingからNo Anti-Aliasの記述をAnti-Aliasに変更して保存し、元のフォントと置き換える。

バージョン0.9.47以上のWineで埋め込みビットマップのあるフォントを用いてアンチエイリアシングを有効にしたい場合はgdi32.dll.soのソースを修正して元のファイルと置き換える。

例10 Wineで埋め込みビットマップを優先しないようにするための修正(Wineのソースツリー最上位にて実行)

$ sed -i -e 's/ && format != WINE_GGO_GRAY16_BITMAP//' -e 's/ || format ==  WINE_GGO_GRAY16_BITMAP//' dlls/gdi32/freetype.c

バージョンが1.5.13から1.5.16までのWineでクライアントサイドレンダリングを無効にするには、下のレジストリを適用する。

例11 クライアントサイドレンダリングを無効化するレジストリ例

[任意]ファイル名: disable-client-side-rendering.reg

REGEDIT4

[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideGraphics"="N"

Wineのフォントサブピクセルレンダリング

Wineのバージョン1.1.12以上で対応するが、バージョン1.1.44以下では別途レジストリ設定が必要。

バージョン1.2以上ではGNU/Linuxのデスクトップ上のアンチエイリアシング設定(サブピクセルの並びの設定を含む)[7]が用いられるようになっており、各デスクトップ環境のGUI設定ツールなどで設定を変更できる。設定はユーザごとにFontconfigのユーザ設定ファイルに保存される。

サブピクセルレンダリングに関するレジストリ設定(バージョン1.1.12 - 1.1.44)

例12 サブピクセルレンダリングを有効にするレジストリ設定例(バージョン1.1.12 - 1.1.44)

[任意]ファイル名: subpixel.reg

REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:000003e8
"FontSmoothingOrientation"=dword:00000001

表4 FontSmoothingOrientationの値

液晶ディスプレイのサブピクセルの並び
RGB(赤緑青)dword:00000001
BGR(青緑赤)dword:00000000

winetricksによるアンチエイリアシング方式設定(バージョン1.1.12 - 1.1.44)

バージョン1.1.12 - 1.1.44のWineではwinetricksを用いるとwinetricks実行時の環境変数WINEPREFIXWine環境に対して以下のパッケージにより設定が簡単に行える。

表5 winetricksのフォントアンチエイリアシング設定パッケージ

パッケージ名設定内容
fontsmooth-rgbサブピクセルレンダリング/RGB(赤緑青)
fontsmooth-bgrサブピクセルレンダリング/BGR(青緑赤)
fontsmooth-grayグレイスケールによる従来型アンチエイリアシング
fontsmooth-disableアンチエイリアシング無効

関連セクション



[6] 初期設定では存在しない

[7] fontconfigの設定