matplotlib.afm#

Atenção

Este módulo é considerado interno.

Seu uso está obsoleto e será removido em uma versão futura.

Uma interface python para Adobe Font Metrics Files.

Embora existam várias outras implementações do Python e possam ser mais completas do que essa, foi decidido não acompanhá-las porque elas eram:

  1. protegido por direitos autorais ou usado uma licença não compatível com BSD

  2. tinha muitas dependências e era necessária uma biblioteca independente

  3. fazia mais do que o necessário e era mais fácil escrever de novo do que descobrir como obter exatamente o que era necessário.

É muito fácil de usar e não tem dependências externas:

>>> 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]

Como na especificação de formato de arquivo Adobe Font Metrics, todas as dimensões são dadas em unidades de 1/1000 do fator de escala (tamanho do ponto) da fonte que está sendo usada.

classe matplotlib._afm. AFM ( fh ) [fonte] #

Bases:object

Analise o arquivo AFM no objeto de arquivo fh .

propriedade family_name #

O nome da família da fonte, por exemplo, 'Times'.

get_angle ( ) [fonte] #

Retorne o fontangle como float.

get_bbox_char ( c , isord = False ) [fonte] #
get_capheight ( ) [fonte] #

Retorne a altura da tampa como flutuante.

get_familyname ( ) [fonte] #

Retorna o nome da família da fonte, por exemplo, 'Times'.

get_fontname ( ) [fonte] #

Retorna o nome da fonte, por exemplo, 'Times-Roman'.

get_fullname ( ) [fonte] #

Retorna o nome completo da fonte, por exemplo, 'Times-Roman'.

get_height_char ( c , isord = False ) [fonte] #

Obtenha a altura da caixa delimitadora (tinta) do caractere c (o espaço é 0).

get_horizontal_stem_width ( ) [fonte] #

Retorna a largura da haste horizontal padrão como flutuante ou Nenhum se não for especificado no arquivo AFM.

get_kern_dist ( c1 , c2 ) [fonte] #

Retorna a distância do par de kerning (possivelmente 0) para os caracteres c1 e c2 .

get_kern_dist_from_name ( name1 , name2 ) [source] #

Retorna a distância do par de kerning (possivelmente 0) para os caracteres name1 e name2 .

get_name_char ( c , isord = False ) [fonte] #

Obtenha o nome do caractere, ou seja, ';' é 'ponto e vírgula'.

get_str_bbox ( s ) [fonte] #

Retorne a caixa delimitadora da string.

get_str_bbox_and_descent ( s ) [fonte] #

Retorne a caixa delimitadora da string e a descida máxima.

get_underline_thickness ( ) [fonte] #

Retorne a espessura do sublinhado como float.

get_vertical_stem_width ( ) [fonte] #

Retorna a largura da haste vertical padrão como flutuante ou Nenhum se não for especificado no arquivo AFM.

get_weight ( ) [fonte] #

Retorna o peso da fonte, por exemplo, 'Bold' ou 'Roman'.

get_width_char ( c , isord = False ) [fonte] #

Obtenha a largura do caractere no campo WX da métrica do caractere.

get_width_from_char_name ( nome ) [fonte] #

Obtenha a largura do caractere de um nome de caractere type1.

get_xheight ( ) [fonte] #

Retorne o xheight como float.

propriedade postscript_name #
string_width_height ( s ) [fonte] #

Retorna a largura da string (incluindo kerning) e a altura da string como uma tupla ( w , h ).

classe matplotlib._afm. CharMetrics ( largura , nome , bbox ) [fonte] #

Bases:tuple

Representa as métricas de um único caractere.

Notas

Atualmente, os campos descrevem apenas um subconjunto de informações de métricas de caracteres definidas no padrão AFM.

Crie uma nova instância de CharMetrics(width, name, bbox)

bbox #

A bbox do caractere (B) como uma tupla ( llx , lly , urx , ury ).

nome #

O nome do personagem (N).

largura #

A largura do caractere (WX).

classe matplotlib._afm. CompositePart ( nome , dx , dy ) [fonte] #

Bases:tuple

Representa as informações em um elemento composto de um char composto.

Crie uma nova instância de CompositePart(name, dx, dy)

dx #

x-deslocamento da peça desde a origem.

dy #

y-deslocamento da peça desde a origem.

nome #

Nome da parte, por exemplo, 'aguda'.