「Xamarin.Mac/システムフォントを取得する(CGFont)」の版間の差分

提供:MonoBook
imported>Administrator
ページの作成:「Xamarin.Mac/システムフォントを取得する(CGFont) Macのシステムフォントを取得するにはNSFontクラスのSystemFontOfSizeメソッドを使用す...」
 
imported>Administrator
編集の要約なし
1行目: 1行目:
Xamarin.Mac/システムフォントを取得する(CGFont)
[[Mac]]のシステムフォントを取得するにはNSFontクラスのSystemFontOfSizeメソッドを使用する。


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


<source lang="csharp">
<source lang="csharp">

2017年8月4日 (金) 08:58時点における版

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

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

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