matplotlib.font_manager
#
プラットフォーム間でフォントを検索、管理、および使用するためのモジュール。
このモジュールは、バックエンドとプラットフォーム間で共有できる単一のFontManager
インスタンス を提供します。fontManager
この関数は、指定された
インスタンスfindfont
に一致するローカルまたはシステム フォント パス内の最適な TrueType (TTF) フォント ファイルを返します。FontProperties
はFontManager
、PostScript バックエンドで使用する Adobe Font Metrics (AFM) フォント ファイルも処理します。
このデザインは、W3C Cascading Style Sheet, Level 1 (CSS1) フォント仕様に基づいています。将来のバージョンでは、レベル 2 または 2.1 仕様が実装される可能性があります。
- クラス matplotlib.font_manager. FontManager ( size = None , weight = 'normal' ) [source] #
拠点:
object
インポート時に、
FontManager
シングルトン インスタンスは ttf および afm フォントのリストを作成し、それらのFontProperties
. このFontManager.findfont
メソッドは、最近傍検索を実行して、仕様に最もよく一致するフォントを見つけます。十分な一致が見つからない場合は、デフォルトのフォントが返されます。- addfont (パス) [ソース] #
パスでフォントのプロパティをキャッシュして、で使用できるようにし
FontManager
ます。フォントの種類は、パス サフィックスから推測されます。- パラメータ:
- path str または path-like
- プロパティ defaultFont #
- findfont ( prop , fontext = 'ttf' , directory = None , fallback_to_default = True , rebuild_if_missing = True ) [source] #
指定されたフォント プロパティに最もよく一致するフォントを見つけます。
- パラメータ:
- prop str または
FontProperties
検索するフォント プロパティ。これは 、 fontconfig パターンを
FontProperties
定義するオブジェクトまたは文字列の いずれかです。- fonttext {'ttf', 'afm'}、デフォルト: 'ttf'
フォントファイルの拡張子:
'ttf': TrueType および OpenType フォント (.ttf、.ttc、.otf)
「afm」: アドビ フォント メトリックス (.afm)
- ディレクトリstr、オプション
指定した場合、このディレクトリとそのサブディレクトリのみを検索します。
- fallback_to_defaultブール値
True の場合、最初のルックアップが完全に失敗した場合、デフォルトのフォント ファミリ (通常は「DejaVu Sans」または「Helvetica」) にフォールバックします。
- rebuild_if_missingブール
最初の一致が存在しないフォントを指していると思われる場合 (つまり、フォント キャッシュに古いエントリが含まれている場合)、フォント キャッシュを再構築して再度検索するかどうか。
- prop str または
- 戻り値:
- 力
最も一致するフォントのファイル名。
ノート
これにより、最近傍検索が実行されます。各フォントには、ターゲット フォント プロパティとの類似性スコアが与えられます。スコアが最も高い最初のフォントが返されます。特定のしきい値を下回る一致が見つからない場合は、デフォルトのフォント (通常は DejaVu Sans) が返されます。
結果はキャッシュされるため、後続のルックアップで O(n) 最近隣検索を実行する必要はありません。
フォント検出アルゴリズムの説明については、 W3C Cascading Style Sheet, Level 1のドキュメントを参照してください。
- score_family (家族,家族2 ) [ソース] #
family 内のフォント ファミリのリストとフォントファミリ名family2の間の一致スコアを返し ます。
リストの先頭で完全に一致すると、0.0 が返されます。
リストのさらに下にある一致は、0 から 1 の間で返されます。
一致しない場合は 1.0 が返されます。
- score_size ( size1 , size2 ) [ソース] #
size1とsize2の間の一致スコアを返します。
size2 (フォントファイルで指定されたサイズ) が「スケーラブル」の場合、任意のフォント サイズを生成できるため、この関数は常に 0.0 を返します。
それ以外の場合、結果はsize1と size2の間の絶対距離であり、通常のフォント サイズの範囲 (6pt ~ 72pt) が 0.0 ~ 1.0 になるように正規化されます。
- score_stretch ( Stretch1 , Stretch2 ) [ソース] #
Stretch1とStretch2の間の一致スコアを返します。
結果は、 stretch1とstretch2の CSS 数値の差の絶対値であり、0.0 と 1.0 の間で正規化されます。
- score_style ( style1 , style2 ) [ソース] #
style1とstyle2の一致スコアを返します。
完全一致は 0.0 を返します。
'italic' と 'oblique' の一致は 0.1 を返します。
一致しない場合は 1.0 が返されます。
- score_variant ( variant1 , variant2 ) [ソース] #
variant1とvariant2の一致スコアを返します。
完全一致の場合は 0.0 が返され、それ以外の場合は 1.0 が返されます。
- クラス matplotlib.font_manager. FontProperties ( family = None , style = None , variant = None , weight = None , Stretch = None , size = None , fname = None , math_fontfamily = None ) [source] #
拠点:
object
フォント プロパティを格納および操作するためのクラス。
フォント プロパティは、 W3C カスケード スタイル シート、レベル 1フォント仕様、および数学フォントのmath_fontfamilyで説明されている 6 つのプロパティです。
family: フォント名を優先順位の高い順に並べたリスト。項目には、「sans-serif」、「serif」、「cursive」、「fantasy」、または「monospace」のいずれかの一般的なフォント ファミリ名を含めることができます。その場合、使用される実際のフォントは、 での検索プロセス中に関連する rcParam から検索され
findfont
ます。デフォルト:rcParams["font.family"]
(デフォルト:['sans-serif']
)style: 'normal'、'italic'、または 'oblique' のいずれか。デフォルト:
rcParams["font.style"]
(デフォルト:'normal'
)バリアント: 「通常」または「小型」のいずれか。デフォルト:
rcParams["font.variant"]
(デフォルト:'normal'
)ストレッチ: 0 ~ 1000 の範囲の数値、または「超凝縮」、「超凝縮」、「凝縮」、「半圧縮」、「通常」、「半拡張」、「拡張」のいずれか「エクストラエキスパンド」または「ウルトラエキスパンド」。デフォルト:
rcParams["font.stretch"]
(デフォルト:'normal'
)weight: 0 から 1000 の範囲の数値、または「ultralight」、「light」、「normal」、「regular」、「book」、「medium」、「roman」、「semibold」、「demibold」のいずれか「デミ」、「ボールド」、「ヘビー」、「エクストラボールド」、「ブラック」。デフォルト:
rcParams["font.weight"]
(デフォルト:'normal'
)size: 'xx-small'、'x-small'、'small'、'medium'、'large'、'x-large'、'xx-large' の相対値、または絶対フォント サイズ。 10. デフォルト:
rcParams["font.size"]
(デフォルト:10.0
)math_fontfamily: 数学テキストのレンダリングに使用されるフォントのファミリ。サポートされている値は、「dejavusans」、「dejavuserif」、「cm」、「stix」、「stixsans」、および「custom」です。デフォルト:
rcParams["mathtext.fontset"]
(デフォルト:'dejavusans'
)
または、 fname kwargを使用して、フォント ファイルへの絶対パスを使用してフォントを指定することもできます。ただし、この場合、パスを (
pathlib.Path
ではなくとしてstr
) オブジェクトのフォントkwarg に渡す方が通常は簡単です。Text
フォント サイズの好ましい使用法は、絶対的なフォント サイズ (例: 12) ではなく、相対値 (例: 'large') を使用することです。この方法では、すべてのテキスト サイズを、フォント マネージャーのデフォルトのフォント サイズに基づいて大きくしたり小さくしたりできます。
このクラスは、指定された唯一の引数である場合、 fontconfig patternも受け入れます。このサポートは fontconfig に依存しません。ここで使用するパターン構文を借りているだけです。
Matplotlib の内部フォント マネージャーと fontconfig は異なるアルゴリズムを使用してフォントを検索するため、Matplotlib では同じパターンの結果が、fontconfig を使用する他のアプリケーションとは異なる場合があることに注意してください。
- get_family ( ) [ソース] #
個々のフォント ファミリ名または一般的なファミリ名のリストを返します。
フォント ファミリまたは汎用フォント ファミリ (一致するフォントを検索するときに、それぞれの rcParams から解決されます) を優先順に並べます。
- get_fontconfig_pattern ( ) [ソース] #
fontconfig のユーティリティで指定されたフォントを検索するのに適したfontconfig パターンを取得します。
fc-match
このサポートは fontconfig に依存しません。ここで使用するパターン構文を借りているだけです。
- get_math_fontfamily ( ) [ソース] #
数学テキストに使用されるフォント ファミリの名前を返します。
デフォルトのフォントは
rcParams["mathtext.fontset"]
(デフォルト:'dejavusans'
) です。
- get_stretch ( ) [ソース] #
フォントの伸縮または幅を返します。オプションは次のとおりです。「超凝縮」、「超凝縮」、「凝縮」、「半凝縮」、「通常」、「半拡張」、「拡張」、「超拡張」、「超拡張」 .
- get_weight ( ) [ソース] #
フォントの太さを設定します。オプション: 0 から 1000 の範囲の数値、または 'light'、'normal'、'regular'、'book'、'medium'、'roman'、'semibold'、'dembold'、'demi' のいずれか、「ボールド」、「ヘビー」、「エクストラボールド」、「ブラック」
- set_family (家族) [ソース] #
フォント ファミリーを変更します。「serif」、「sans-serif」、「cursive」、「fantasy」、「monospace」などの別名 (一般名は CSS 用語)、実際のフォント名、または実際のフォント名のリストのいずれかです。 .
rcParams["text.usetex"]
(デフォルト:False
) がの場合、実際のフォント名はサポートされませんTrue
。デフォルト:rcParams["font.family"]
(デフォルト:['sans-serif']
)
- set_fontconfig_pattern (パターン) [ソース] #
fontconfig パターンを解析してプロパティを設定します。
このサポートは fontconfig に依存しません。ここで使用するパターン構文を借りているだけです。
- set_math_fontfamily ( fontfamily ) [ソース] #
数学モードのテキストのフォント ファミリを設定します。
明示的に設定されていない場合、
rcParams["mathtext.fontset"]
(デフォルト:'dejavusans'
) が使用されます。- パラメータ:
- fontfamily str
フォントファミリーの名前。
利用可能なフォント ファミリーは、こちらの matplotlibrc.template ファイルで定義されています 。
こちらもご覧ください
- set_name (家族) [ソース] #
フォント ファミリーを変更します。「serif」、「sans-serif」、「cursive」、「fantasy」、「monospace」などの別名 (一般名は CSS 用語)、実際のフォント名、または実際のフォント名のリストのいずれかです。 .
rcParams["text.usetex"]
(デフォルト:False
) がの場合、実際のフォント名はサポートされませんTrue
。デフォルト:rcParams["font.family"]
(デフォルト:['sans-serif']
)
- set_size (サイズ) [ソース] #
フォントサイズを設定します。
- パラメータ:
- size float または {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, デフォルト:
rcParams["font.size"]
(デフォルト:10.0
) float の場合、ポイント単位のフォント サイズ。文字列値は、デフォルトのフォント サイズに対する相対的なサイズを示します。
- size float または {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, デフォルト:
- set_slant (スタイル) [ソース] #
フォント スタイルを設定します。
- パラメータ:
- スタイル{'normal', 'italic', 'oblique'}, デフォルト:
rcParams["font.style"]
(デフォルト:'normal'
)
- スタイル{'normal', 'italic', 'oblique'}, デフォルト:
- set_stretch (ストレッチ) [ソース] #
フォントの伸縮または幅を設定します。
- パラメータ:
- Stretch int または {'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded '}、デフォルト:
rcParams["font.stretch"]
(デフォルト:'normal'
) int の場合は、0 ~ 1000 の範囲である必要があります。
- Stretch int または {'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded '}、デフォルト:
- set_style (スタイル) [ソース] #
フォント スタイルを設定します。
- パラメータ:
- スタイル{'normal', 'italic', 'oblique'}, デフォルト:
rcParams["font.style"]
(デフォルト:'normal'
)
- スタイル{'normal', 'italic', 'oblique'}, デフォルト:
- set_variant (バリアント) [ソース] #
フォントバリアントを設定します。
- パラメータ:
- バリアント{'normal', 'small-caps'}, デフォルト:
rcParams["font.variant"]
(デフォルト:'normal'
)
- バリアント{'normal', 'small-caps'}, デフォルト:
- set_weight ( weight ) [ソース] #
フォントの太さを設定します。
- パラメータ:
- weight int または {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra bold', 'black'}, デフォルト:
rcParams["font.weight"]
(デフォルト:'normal'
) int の場合は、0 ~ 1000 の範囲である必要があります。
- weight int または {'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy ', 'extra bold', 'black'}, デフォルト:
- matplotlib.font_manager. afmFontProperty (フォントパス、フォント) [ソース] #
AFM フォント ファイルから情報を抽出します。
- パラメータ:
- フォントAFM
情報が抽出される AFM フォント ファイル。
- 戻り値:
FontEntry
抽出されたフォント プロパティ。
- matplotlib.font_manager. findSystemFonts ( fontpaths = None , fontext = 'ttf' ) [source] #
指定されたフォント パスでフォントを検索します。パスが指定されていない場合は、システム パスの標準セットと、fontconfig がインストールされていて使用可能な場合は fontconfig によって追跡されるフォントのリストが使用されます。TrueType フォントのリストがデフォルトで返され、オプションとして AFM フォントが返されます。
- matplotlib.font_manager. findfont ( prop , fontext = 'ttf' , directory = None , fallback_to_default = True , rebuild_if_missing = True ) [source] #
指定されたフォント プロパティに最もよく一致するフォントを見つけます。
- パラメータ:
- prop str または
FontProperties
検索するフォント プロパティ。これは 、 fontconfig パターンを
FontProperties
定義するオブジェクトまたは文字列の いずれかです。- fonttext {'ttf', 'afm'}、デフォルト: 'ttf'
フォントファイルの拡張子:
'ttf': TrueType および OpenType フォント (.ttf、.ttc、.otf)
「afm」: アドビ フォント メトリックス (.afm)
- ディレクトリstr、オプション
指定した場合、このディレクトリとそのサブディレクトリのみを検索します。
- fallback_to_defaultブール値
True の場合、最初のルックアップが完全に失敗した場合、デフォルトのフォント ファミリ (通常は「DejaVu Sans」または「Helvetica」) にフォールバックします。
- rebuild_if_missingブール
最初の一致が存在しないフォントを指していると思われる場合 (つまり、フォント キャッシュに古いエントリが含まれている場合)、フォント キャッシュを再構築して再度検索するかどうか。
- prop str または
- 戻り値:
- 力
最も一致するフォントのファイル名。
ノート
これにより、最近傍検索が実行されます。各フォントには、ターゲット フォント プロパティとの類似性スコアが与えられます。スコアが最も高い最初のフォントが返されます。特定のしきい値を下回る一致が見つからない場合は、デフォルトのフォント (通常は DejaVu Sans) が返されます。
結果はキャッシュされるため、後続のルックアップで O(n) 最近隣検索を実行する必要はありません。
フォント検出アルゴリズムの説明については、 W3C Cascading Style Sheet, Level 1のドキュメントを参照してください。
- matplotlib.font_manager. get_font ( font_filepaths , Hinting_factor = None ) [source] #
ft2font.FT2Font
ファイル パスのリストを指定してオブジェクトを取得します。- パラメータ:
- font_filepaths Iterable[文字列、パス、バイト]、文字列、パス、バイト
使用するフォント ファイルへの相対パスまたは絶対パス。
単一の文字列、バイト、または
pathlib.Path
の場合、そのエントリのみを含むリストとして扱われます。複数のファイルパスが渡された場合、返された FT2Font オブジェクトは、指定された順序でフォントをフォールバックして、必要なグリフを見つけます。
- 戻り値:
- matplotlib.font_manager. get_fontconfig_fonts ( fontext = 'ttf' ) [ソース] #
[非推奨] 指定された拡張子を持つことがわかっているフォント ファイル名を一覧表示します
fc-list
。ノート
バージョン 3.5 以降は非推奨です。
- matplotlib.font_manager. get_fontext_synonyms ( fontext ) [ソース] #
指定されたファイル拡張子fileextのシノニムであるファイル拡張子のリストを返します。
- matplotlib.font_manager. is_opentype_cff_font (ファイル名) [ソース] #
指定されたフォントが、OpenType ラッパーに埋め込まれた Postscript コンパクト フォント形式のフォントかどうかを返します。これらのフォントをサブセット化できない PostScript および PDF バックエンドで使用されます。
- matplotlib.font_manager. json_dump (データ,ファイル名) [ソース] #
データを JSON としてfilenameという名前のファイルにダンプします。
FontManager
こちらもご覧ください
ノート
Matplotlib データ パスの子であるファイル パス (通常、Matplotlib に同梱されているフォント) は、そのデータ パスに対して相対的に格納されます (virtualenv 全体で有効なままにするため)。
この関数は、出力ファイルを一時的にロックして、複数のプロセスが互いの出力を上書きしないようにします。
- matplotlib.font_manager. json_load (ファイル名) [ソース] #
filename
FontManager
という名前の JSON ファイルからa をロードします。こちらもご覧ください
- matplotlib.font_manager. list_fonts (ディレクトリ,拡張子) [ソース] #
ディレクトリの下で再帰的に見つかった、拡張子のいずれかに一致するすべてのフォントのリストを返します。
- matplotlib.font_manager. win32FontDirectory ( ) [ソース] #
Win32 のユーザー指定のフォント ディレクトリを返します。これはレジストリ キーから検索されます
\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts
キーが見つからない場合は、
%WINDIR%\Fonts
が返されます。