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

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
 
[[Mac]]のシステムフォントを取得するにはNSFontクラスのSystemFontOfSizeメソッドを使用する。
 
[[Mac]]のシステムフォントを取得するにはNSFontクラスのSystemFontOfSizeメソッドを使用する。
  
一方、[[CoreGraphcis]]で低レベルな文字描画をする際に使うCGFontクラスにはシステムフォントを取得する手段がなく、NSFontでシステムフォントを取得し、そこからフォント名を取り出してCGFontを生成するという流れになる。地味にNSViewを継承したカスタムビューを作る際には多用する代物である。
+
一方、[[CoreGraphics]]で低レベルな文字描画をする際に使うCGFontクラスにはシステムフォントを取得する手段がなく、NSFontでシステムフォントを取得し、そこからフォント名を取り出してCGFontを生成するという流れになる。CGFontは地味にNSViewを継承したカスタムビューを作る際には多用する代物である。
 
これに限らず[[macOS]]は「手段はひとつ」ということが多い。
 
これに限らず[[macOS]]は「手段はひとつ」ということが多い。
  
10行目: 10行目:
  
 
[[category: Xamarin.Mac]]
 
[[category: Xamarin.Mac]]
[[category: CoreGraphics]]
+
[[category: Core Graphics]]

2017年8月4日 (金) 09:21時点における最新版

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

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

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