matplotlib.afm
注意力
这个模块被认为是内部的。
它的使用已被弃用,并将在未来的版本中删除。
Adobe字体度量文件的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 文件格式规范一样,所有尺寸均以所使用字体的比例因子(磅值)的 1/1000 为单位给出。
-
类 matplotlib._afm。AFM ( fh ) [来源]
基地:object
解析文件对象fh中的 AFM 文件。
-
属性 family_name
字体系列名称,例如“Times”。
-
get_angle ( ) [来源]
将字体角度返回为浮点数。
-
get_bbox_char ( c , isord = False ) [来源]
-
get_capheight ( ) [来源]
将上限高度作为浮点数返回。
-
get_familyname ( ) [来源]
返回字体系列名称,例如“Times”。
-
get_fontname ( ) [来源]
返回字体名称,例如“Times-Roman”。
-
get_fullname ( ) [来源]
返回字体全名,例如“Times-Roman”。
-
get_height_char ( c , isord = False ) [来源]
获取字符c的边界框(墨迹)高度(空格为 0)。
-
get_horizontal_stem_width ( ) [来源]
将标准水平茎宽度返回为浮点数,如果 AFM 文件中未指定,则返回无。
-
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 ( ) [来源]
将下划线粗细返回为浮点数。
-
get_vertical_stem_width ( ) [来源]
将标准垂直茎宽度返回为浮点数,如果 AFM 文件中未指定,则返回无。
-
get_weight ( ) [来源]
返回字体粗细,例如“Bold”或“Roman”。
-
get_width_char ( c , isord = False ) [来源]
从字符度量 WX 字段中获取字符的宽度。
-
get_width_from_char_name ( name ) [来源]
从 type1 字符名称中获取字符的宽度。
-
get_xheight ( ) [来源]
将 xheight 返回为浮点数。
-
属性 postscript_name
-
string_width_height ( s ) [来源]
将字符串宽度(包括字距调整)和字符串高度作为 ( w , h ) 元组返回。
-
类 matplotlib._afm。CharMetrics ( width , name , bbox ) [source]
基地:tuple
表示单个字符的字符度量。
笔记
这些字段目前仅描述 AFM 标准中定义的字符度量信息的子集。
创建 CharMetrics(width, name, bbox) 的新实例
-
盒子
字符 (B) 的 bbox 作为元组 ( llx , lly , urx , ury )。
-
名字
角色名称 (N)。
-
宽度
字符宽度 (WX)。
-
类 matplotlib._afm。CompositePart ( name , dx , dy ) [来源]
基地:tuple
表示有关复合字符的复合元素的信息。
创建 CompositePart(name, dx, dy) 的新实例
-
dx
零件从原点的 x 位移。
-
dy
零件从原点的 y 位移。
-
名字
零件名称,例如“acute”。