matplotlib.font_manager#

プラットフォーム間でフォントを検索、管理、および使用するためのモジュール。

このモジュールは、バックエンドとプラットフォーム間で共有できる単一のFontManagerインスタンス を提供します。fontManagerこの関数は、指定された インスタンスfindfont に一致するローカルまたはシステム フォント パス内の最適な TrueType (TTF) フォント ファイルを返します。FontPropertiesFontManager、PostScript バックエンドで使用する Adob​​e 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ブール

最初の一致が存在しないフォントを指していると思われる場合 (つまり、フォント キャッシュに古いエントリが含まれている場合)、フォント キャッシュを再構築して再度検索するかどうか。

戻り値:

最も一致するフォントのファイル名。

ノート

これにより、最近傍検索が実行されます。各フォントには、ターゲット フォント プロパティとの類似性スコアが与えられます。スコアが最も高い最初のフォントが返されます。特定のしきい値を下回る一致が見つからない場合は、デフォルトのフォント (通常は DejaVu Sans) が返されます。

結果はキャッシュされるため、後続のルックアップで O(n) 最近隣検索を実行する必要はありません。

フォント検出アルゴリズムの説明については、 W3C Cascading Style Sheet, Level 1のドキュメントを参照してください。

static get_default_size ( ) [ソース] #

デフォルトのフォント サイズを返します。

get_default_weight ( ) [ソース] #

デフォルトのフォントの太さを返します。

get_font_names ( ) [ソース] #

利用可能なフォントのリストを返します。

score_family (家族,家族2 ) [ソース] #

family 内のフォント ファミリのリストとフォントファミリfamily2の間の一致スコアを返し ます。

リストの先頭で完全に一致すると、0.0 が返されます。

リストのさらに下にある一致は、0 から 1 の間で返されます。

一致しない場合は 1.0 が返されます。

score_size ( size1 , size2 ) [ソース] #

size1size2の間の一致スコアを返します。

size2 (フォントファイルで指定されたサイズ) が「スケーラブル」の場合、任意のフォント サイズを生成できるため、この関数は常に 0.0 を返します。

それ以外の場合、結果はsize1size2の間の絶対距離であり、通常のフォント サイズの範囲 (6pt ~ 72pt) が 0.0 ~ 1.0 になるように正規化されます。

score_stretch ( Stretch1 , Stretch2 ) [ソース] #

Stretch1Stretch2の間の一致スコアを返します。

結果は、 stretch1stretch2の CSS 数値の差の絶対値であり、0.0 と 1.0 の間で正規化されます。

score_style ( style1 , style2 ) [ソース] #

style1style2の一致スコアを返します。

完全一致は 0.0 を返します。

'italic' と 'oblique' の一致は 0.1 を返します。

一致しない場合は 1.0 が返されます。

score_variant ( variant1 , variant2 ) [ソース] #

variant1variant2の一致スコアを返します。

完全一致の場合は 0.0 が返され、それ以外の場合は 1.0 が返されます。

score_weight ( weight1 , weight2 ) [ソース] #

weight1weight2の間の一致スコアを返します。

weight1 と weight 2 の両方が文字列として指定され、同じ値を持つ場合、結果は 0.0 になります。

それ以外の場合、結果は CSS のweight1weight2の数値の差の絶対値であり、0.05 から 1.0 の間で正規化されます。

set_default_weight ( weight ) [ソース] #

デフォルトのフォントの太さを設定します。初期値は「ノーマル」です。

クラス 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_file ( ) [ソース] #

関連するフォントのファイル名を返します。

get_fontconfig_pattern ( ) [ソース] #

fontconfig のユーティリティで指定されたフォントを検索するのに適したfontconfig パターンを取得します。fc-match

このサポートは fontconfig に依存しません。ここで使用するパターン構文を借りているだけです。

get_math_fontfamily ( ) [ソース] #

数学テキストに使用されるフォント ファミリの名前を返します。

デフォルトのフォントはrcParams["mathtext.fontset"](デフォルト: 'dejavusans') です。

get_name ( ) [ソース] #

フォント プロパティに最も一致するフォントの名前を返します。

get_size ( ) [ソース] #

フォントサイズを返します。

get_size_in_points ( ) [ソース] #

フォントサイズを返します。

get_slant ( ) [ソース] #

フォント スタイルを返します。値は、'normal'、'italic'、または 'oblique' です。

get_stretch ( ) [ソース] #

フォントの伸縮または幅を返します。オプションは次のとおりです。「超凝縮」、「超凝縮」、「凝縮」、「半凝縮」、「通常」、「半拡張」、「拡張」、「超拡張」、「超拡張」 .

get_style ( ) [ソース] #

フォント スタイルを返します。値は、'normal'、'italic'、または 'oblique' です。

get_variant ( ) [ソース] #

フォントバリアントを返します。値は次のとおりです。「通常」または「小型キャップ」。

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_file (ファイル) [ソース] #

使用するフォントファイルのファイル名を設定します。この場合、他のすべてのプロパティは無視されます。

set_fontconfig_pattern (パターン) [ソース] #

fontconfig パターンを解析してプロパティを設定します。

このサポートは fontconfig に依存しません。ここで使用するパターン構文を借りているだけです。

set_math_fontfamily ( fontfamily ) [ソース] #

数学モードのテキストのフォント ファミリを設定します。

明示的に設定されていない場合、rcParams["mathtext.fontset"](デフォルト: 'dejavusans') が使用されます。

パラメータ:
fontfamily str

フォントファミリーの名前。

利用可能なフォント ファミリーは、こちらの matplotlibrc.template ファイルで定義されています 。

こちらもご覧ください

text.Text.get_math_fontfamily
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 の場合、ポイント単位のフォント サイズ。文字列値は、デフォルトのフォント サイズに対する相対的なサイズを示します。

set_slant (スタイル) [ソース] #

フォント スタイルを設定します。

パラメータ:
スタイル{'normal', 'italic', 'oblique'}, デフォルト: rcParams["font.style"](デフォルト: 'normal')
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 の範囲である必要があります。

set_style (スタイル) [ソース] #

フォント スタイルを設定します。

パラメータ:
スタイル{'normal', 'italic', 'oblique'}, デフォルト: rcParams["font.style"](デフォルト: 'normal')
set_variant (バリアント) [ソース] #

フォントバリアントを設定します。

パラメータ:
バリアント{'normal', 'small-caps'}, デフォルト: rcParams["font.variant"](デフォルト: 'normal')
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 の範囲である必要があります。

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ブール

最初の一致が存在しないフォントを指していると思われる場合 (つまり、フォント キャッシュに古いエントリが含まれている場合)、フォント キャッシュを再構築して再度検索するかどうか。

戻り値:

最も一致するフォントのファイル名。

ノート

これにより、最近傍検索が実行されます。各フォントには、ターゲット フォント プロパティとの類似性スコアが与えられます。スコアが最も高い最初のフォントが返されます。特定のしきい値を下回る一致が見つからない場合は、デフォルトのフォント (通常は 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 オブジェクトは、指定された順序でフォントをフォールバックして、必要なグリフを見つけます。

戻り値:
ft2font.FT2Font
matplotlib.font_manager. get_font_names ( ) [ソース] #

利用可能なフォントのリストを返します。

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

こちらもご覧ください

json_load

ノート

Matplotlib データ パスの子であるファイル パス (通常、Matplotlib に同梱されているフォント) は、そのデータ パスに対して相対的に格納されます (virtualenv 全体で有効なままにするため)。

この関数は、出力ファイルを一時的にロックして、複数のプロセスが互いの出力を上書きしないようにします。

matplotlib.font_manager. json_load (ファイル名) [ソース] #

filenameFontManagerという名前の JSON ファイルからa をロードします。

こちらもご覧ください

json_dump
matplotlib.font_manager. list_fonts (ディレクトリ,拡張子) [ソース] #

ディレクトリの下で再帰的に見つかった、拡張子のいずれかに一致するすべてのフォントのリストを返します。

matplotlib.font_manager. ttfFontProperty (フォント) [ソース] #

TrueType フォント ファイルから情報を抽出します。

パラメータ:
フォントFT2Font

情報が抽出される TrueType フォント ファイル。

戻り値:
FontEntry

抽出されたフォント プロパティ。

matplotlib.font_manager. win32FontDirectory ( ) [ソース] #

Win32 のユーザー指定のフォント ディレクトリを返します。これはレジストリ キーから検索されます

\\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Fonts

キーが見つからない場合は、%WINDIR%\Fontsが返されます。

matplotlib.font_manager. win32InstalledFonts ( directory = None , fontext = 'ttf' ) [source] #

[非推奨] 指定されたフォント ディレクトリでフォントを検索するか、指定されていない場合はシステム ディレクトリを使用します。さらに、インストールされているユーザー フォントが検索されます。TrueType フォント ファイル名のリストがデフォルトで返されます。fontext == 'afm' の場合は AFM フォントが返されます。

ノート

バージョン 3.5 以降は非推奨です。

クラス matplotlib.font_manager. FontEntry ( fname : str = '' , name : str = '' , style : str = 'normal' , variant : str = 'normal' , weight : str = 'normal' , stretch : str = 'normal' , size : str = '中' ) #

Font プロパティを格納するためのクラス。

これは、フォント ルックアップ ディクショナリに入力するときに使用されます。