ClearTypeを有効にしたフォントを生成する

Windows Mobile 6.5.3になって、フォントオブジェクトを生成するCreateFontIndirect関数がNotSupportedExceptionを返すようになってしまいました。

もしかしてWM6.5.3でCreateFontIndirect関数がサポートされなくなったのかな?それにしても同じ機種でも端末によって例外の吐いたり吐かなかったりするのがよく判らないや。

Microsoft.WindowsCE.Forms名前空間にLogFontクラスがあるので、これとFontクラスのFromLogFontメソッドを使ってもClearType有効のフォントを生成することが出来ます。

C#

Microsoft.WindowsCE.Forms.LogFont lf = new Microsoft.WindowsCE.Forms.LogFont();
 
// フォント名の指定
lf.FaceName = "Tahoma";
 
// フォントのサイズ
lf.Height = 24;
 
// ClearTypeを有効に
lf.Quality = Microsoft.WindowsCE.Forms.LogFontQuality.ClearType;
 
Font font = Font.FromLogFont(lf);