【節分】Vim + DirectWrite版(rev. c)の人柱【春節】

DirectWrite 使って Vim のフォント描画を綺麗にする実験(rev.c)をやっています。

例によって最新のパッチでビルドしなおしました。実験にご協力いただけるはこちらからダウンロードしてください。

設定方法 (Ricty Diminishedの場合):

:set enc=utf-8
:set gfn=Ricty_Diminished:h12:cSHIFTJIS
:set renderingoptions=type:directx

発動条件のうちenc=utf-8 であることは前回までと同じなのですが、今回からは renderingoptions (短縮名:renopt) に変わっています。詳細は後述してあるので利用時には一読ください。

制限事項や使用上の注意

  • Vista以降でないとDirectWriteは利用できません。
  • いきなり描画が乱れる可能性があります。そうなったらたぶんもう直らないのでVimを再起動してください。
  • 落ちる可能性が0ではありません。充分注意して利用してください。

不具合報告や要望、(ドキュメンテーションなどの)協力などありましたら github の方まで連絡いただけると非常に助かります。

 

renderingoptions/renopt の使い方

以下では renopt の使い方を具体的に見て行きましょう。

DirectWriteをオンにするには次のようにします。

:set renopt=type:directx

オフにするにはこうしてください。

:set renopt=

レンダリングパラメータも設定できるようになりました。

:set renopt=type:directx,mode:5
:set renopt=type:directx,gamma:2.2,mode:3

renopt のパラメータの正式な書式はこうなっています。

type:directx(,{name}:{value})*

設定可能なパラメータは以下の5個です。

name正式な名前有効な値
gammagammafloat1.0-2.2 (maybe)
contrastenhancedContrastfloat(unknown)
levelclearTypeLevelfloat(unknown)
geompixelGeometryint0-2
moderenderingModeint0-6

各パラメータの意味詳細はこの辺(1)この辺(2)を見てください。パラメータの順序は関係ありません。省略したパラメータについてはデフォルトのものが使われます。