1

Pages.app (または TextEdit.app) のようなポップアップ ボタンを作成したいと考えています。そのメニューは、フォント ファミリのフィルター処理されたリストです。

から利用可能なフォント ファミリー名の配列を取得できます[NSFontManager availableFontFamilies]が、これは Pages のポップアップ メニューよりもはるかに多くのフォント ファミリーを提供します。

一方、 から正しくフィルター処理されたフォント記述子のセットと思われるものを取得できますが[NSFontCollection fontCollectionWithName:NSFontCollectionUser]、これにはファミリーの各メンバー (斜体、太字など) も含まれます。ポップアップに各メンバーを含めたくありません。姓のみを含めます。

フィルタリングされたのセットが必要です。

フォント記述子の属性辞書 ( ) から取得NSFontManagerした名前の値[myFontDescriptor fontAttributes][NSFontNameAttribute]はそうではありません。そのため、文字列の値に基づいて 2 つのグループの単純な共通集合を作成することはできません。同じものに異なる名前が付けられている可能性があります。

4

2 に答える 2