Xamarin.Mac/システムフォントを取得する(CGFont)

提供: MonoBook
ナビゲーションに移動 検索に移動

Macのシステムフォントを取得するにはNSFontクラスのSystemFontOfSizeメソッドを使用する。

一方、CoreGraphicsで低レベルな文字描画をする際に使うCGFontクラスにはシステムフォントを取得する手段がなく、NSFontでシステムフォントを取得し、そこからフォント名を取り出してCGFontを生成するという流れになる。CGFontは地味にNSViewを継承したカスタムビューを作る際には多用する代物である。 これに限らずmacOSは「手段はひとつ」ということが多い。

    var nsFont = NSFont.SystemFontOfSize(14);
    var cgFont = CGFont.CreateWithFontName(nsFont.FontName);