matplotlib.afm
注意
このモジュールは内部と見なされます。
その使用は推奨されておらず、将来のバージョンで削除される予定です。
Adobe Font Metrics ファイルへの Python インターフェイス。
他の多くの Python 実装が存在し、これよりも完全である可能性がありますが、それらは次のいずれかであったため、それらを使用しないことが決定されました。
著作権で保護されているか、非 BSD 互換ライセンスを使用している
依存関係が多すぎて、独立したライブラリが必要でした
必要以上のことをしたので、必要なものだけを取得する方法を理解するよりも、書き直す方が簡単でした。
非常に使いやすく、外部依存関係はありません。
>>> import matplotlib as mpl
>>> from pathlib import Path
>>> afm_path = Path(mpl.get_data_path(), 'fonts', 'afm', 'ptmr8a.afm')
>>>
>>> from matplotlib.afm import AFM
>>> with afm_path.open('rb') as fh:
... afm = AFM(fh)
>>> afm.string_width_height('What the heck?')
(6220.0, 694)
>>> afm.get_fontname()
'Times-Roman'
>>> afm.get_kern_dist('A', 'f')
0
>>> afm.get_kern_dist('A', 'y')
-92.0
>>> afm.get_bbox_char('!')
[130, -9, 238, 676]
Adobe Font Metrics File Format Specification と同様に、すべての寸法は、使用されているフォントの倍率 (ポイント サイズ) の 1/1000 の単位で示されます。
-
クラス matplotlib._afm. AFM ( fh ) [ソース]
拠点:object
ファイル オブジェクトfhで AFM ファイルを解析します。
-
プロパティ family_name
'Times' などのフォント ファミリ名。
-
get_angle ( ) [ソース]
fontangle を float として返します。
-
get_bbox_char ( c , isord = False ) [ソース]
-
get_capheight ( ) [ソース]
キャップの高さを float として返します。
-
get_familyname ( ) [ソース]
'Times' などのフォント ファミリ名を返します。
-
get_fontname ( ) [ソース]
'Times-Roman' などのフォント名を返します。
-
get_fullname ( ) [ソース]
'Times-Roman' などのフォントの完全な名前を返します。
-
get_height_char ( c , isord = False ) [ソース]
文字cのバウンディング ボックス (インク) の高さを取得します(スペースは 0)。
-
get_horizontal_stem_width ( ) [ソース]
標準の水平ステム幅を float として返すか、AFM ファイルで指定されていない場合はNoneを返します。
-
get_kern_dist ( c1 , c2 ) [ソース]
文字c1とc2のカーニング ペアの距離 (おそらく 0) を返します。
-
get_kern_dist_from_name ( name1 , name2 ) [ソース]
文字name1とname2のカーニング ペア距離 (おそらく 0) を返し
ます。
-
get_name_char ( c , isord = False ) [ソース]
文字の名前を取得します。つまり、';' 「セミコロン」です。
-
get_str_bbox ( s ) [ソース]
文字列境界ボックスを返します。
-
get_str_bbox_and_descent ( s ) [ソース]
文字列境界ボックスと最大降下を返します。
-
get_underline_thickness ( ) [ソース]
下線の太さを float で返します。
-
get_vertical_stem_width ( ) [ソース]
AFM ファイルで指定されていない場合は、標準の垂直ステム幅を float として返すか、Noneを返します。
-
get_weight ( ) [ソース]
'Bold' や 'Roman' などのフォントの太さを返します。
-
get_width_char ( c , isord = False ) [ソース]
文字メトリック WX フィールドから文字の幅を取得します。
-
get_width_from_char_name (名前) [ソース]
type1文字名から文字幅を取得します。
-
get_xheight ( ) [ソース]
xheight を float として返します。
-
プロパティ postscript_name
-
string_width_height ( s ) [ソース]
文字列の幅 (カーニングを含む) と文字列の高さを ( w , h ) タプルとして返します。
-
クラス matplotlib._afm. CharMetrics (幅、名前、 bbox ) [ソース]
拠点:tuple
1 つのキャラクターのキャラクター メトリックを表します。
ノート
フィールドは現在、AFM 標準で定義されている文字メトリック情報のサブセットのみを記述しています。
CharMetrics (幅、名前、bbox) の新しいインスタンスを作成します
-
bbox
タプルとしての文字 (B) の bbox ( llx、lly、urx、ury )。
-
名前
キャラクター名(N)。
-
幅
文字幅 (WX)。
-
クラス matplotlib._afm. CompositePart ( name , dx , dy ) [ソース]
拠点:tuple
複合文字の複合要素に関する情報を表します。
CompositePart(name, dx, dy) の新しいインスタンスを作成します
-
dx
原点からのパーツの x 変位。
-
ダイ
原点からのパーツの y 変位。
-
名前
部位の名前、例えば「acute」。