matplotlib.dviread#
Um módulo para leitura de arquivos dvi produzidos pelo TeX. Várias limitações tornam isso (atualmente) não útil como um pré-processador dvi de uso geral, mas é usado atualmente pelo backend pdf para processar texto usetex.
Interface:
with Dvi(filename, 72) as dvi:
# iterate over pages:
for page in dvi:
w, h, d = page.width, page.height, page.descent
for x, y, font, glyph, width in page.text:
fontname = font.texname
pointsize = font.size
...
for x, y, height, width in page.boxes:
...
- classe matplotlib.dviread. Dvi ( nome do arquivo , dpi ) [fonte] #
Bases:
objectUm leitor para um arquivo dvi ("independente do dispositivo"), produzido pela TeX.
A implementação atual só pode iterar pelas páginas em ordem e nem mesmo tenta verificar o postâmbulo.
Essa classe pode ser usada como um gerenciador de contexto para fechar o arquivo subjacente na saída. As páginas podem ser lidas por meio de iteração. Aqui está uma maneira excessivamente simples de extrair texto sem tentar detectar espaços em branco:
>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi: ... for page in dvi: ... print(''.join(chr(t.glyph) for t in page.text))
Leia os dados do arquivo chamado filename e converta as unidades internas do TeX em unidades de dpi por polegada. dpi apenas define as unidades e não limita a resolução. Use None para retornar as unidades internas do TeX.
- classe matplotlib.dviread. DviFont ( scale , tfm , texname , vf ) [fonte] #
Bases:
objectEncapsulamento de uma fonte à qual um arquivo DVI pode se referir.
Essa classe contém o texname e o tamanho de uma fonte, oferece suporte à comparação e conhece as larguras dos glifos nas mesmas unidades do arquivo AFM. Existem também atributos internos (para uso por dviread.py) que não são usados para comparação.
O tamanho está em pontos Adobe (convertidos de pontos TeX).
- Parâmetros :
- flutuador de escala
Fator pelo qual a fonte é dimensionada a partir de seu tamanho natural.
- tfm tfm
Métricas de fonte TeX para esta fonte
- bytes de nome tex
Nome da fonte usada internamente pelo TeX e amigos, como um bytestring ASCII. Isso geralmente é muito diferente de qualquer nome de fonte externa;
PsfontsMappode ser usado para encontrar o nome externo da fonte.- vf vf
Um arquivo TeX de "fonte virtual" ou None se essa fonte não for virtual.
- Atributos :
- bytes de nome tex
- tamanho flutuante
Tamanho da fonte em pontos Adobe, convertido a partir dos pontos TeX ligeiramente menores.
- lista de larguras
Larguras de glifos em unidades de espaço de glifo, geralmente 1/1000 do tamanho do ponto.
- tamanho #
- texname #
- larguras #
- classe matplotlib.dviread. PsFont ( texname , psname , efeitos , codificação , filename ) [fonte] #
Bases:
tupleCrie uma nova instância de PsFont (texname, psname, efeitos, codificação, nome do arquivo)
- efeitos #
Alias para o campo número 2
- codificação #
Alias para o campo número 3
- nome do arquivo #
Alias para o campo número 4
- psname #
Alias para o campo número 1
- texname #
Alias para o campo número 0
- classe matplotlib.dviread. PsfontsMap ( nome do arquivo ) [fonte] #
Bases:
objectUm arquivo formatado psfonts.map, mapeando fontes TeX para fontes PS.
- Parâmetros :
- filename str ou path-like
Notas
Por razões históricas, o TeX conhece muitas fontes Type-1 com nomes diferentes do mundo exterior. (Por um lado, os nomes precisam caber em oito caracteres.) Além disso, as fontes nativas do TeX não são Type-1, mas Metafont, que não é trivial de converter para PostScript, exceto como um bitmap. Embora existam conversões de alta qualidade para o formato Type-1 e sejam fornecidas com distribuições TeX modernas, precisamos saber quais fontes Type-1 são equivalentes a quais fontes nativas. Por esses motivos, é necessário um mapeamento de nomes de fontes internas para nomes de arquivos de fontes.
Uma árvore texmf normalmente inclui arquivos de mapeamento chamados, por exemplo
psfonts.map,pdftex.map, oudvipdfm.map. O arquivopsfonts.mapé usado por dvips ,pdftex.mappor pdfTeX edvipdfm.mappor dvipdfm .psfonts.mappode evitar incorporar as 35 fontes PostScript (ou seja, não ter nenhum nome de arquivo para elas, como no exemplo Times-Bold acima), enquanto os arquivos relacionados a pdf talvez apenas evitem as fontes pdf "Base 14". Mas o usuário pode ter configurado esses arquivos de forma diferente.Exemplos
>>> map = PsfontsMap(find_tex_file('pdftex.map')) >>> entry = map[b'ptmbo8r'] >>> entry.texname b'ptmbo8r' >>> entry.psname b'Times-Bold' >>> entry.encoding '/usr/local/texlive/2008/texmf-dist/fonts/enc/dvips/base/8r.enc' >>> entry.effects {'slant': 0.16700000000000001} >>> entry.filename
- classe matplotlib.dviread. Tfm ( nome do arquivo ) [fonte] #
Bases:
objectUm arquivo TeX Font Metric.
Essa implementação cobre apenas o mínimo necessário para a classe Dvi.
- Parâmetros :
- filename str ou path-like
- Atributos :
- checksum int
Usado para verificar o arquivo dvi.
- design_size int
Tamanho do design da fonte (unidades desconhecidas)
- largura, altura, profundidade dict
As dimensões de cada caractere precisam ser dimensionadas pelo fator especificado no arquivo dvi. Estes são dicts porque a indexação pode não começar de 0.
- soma de verificação #
- profundidade #
- design_size #
- altura #
- largura #
- classe matplotlib.dviread. Vf ( nome do arquivo ) [fonte] #
Bases:
DviUma fonte virtual (arquivo *.vf) contendo sub-rotinas para arquivos dvi.
- Parâmetros :
- filename str ou path-like
Notas
O formato de fonte virtual é um derivado de dvi: http://mirrors.ctan.org/info/knuth/virtual-fonts Esta classe reutiliza algumas das máquinas de,
Dvimas substitui o_readmecanismo de loop e dispatch.Exemplos
vf = Vf(filename) glyph = vf[code] glyph.text, glyph.boxes, glyph.width
Leia os dados do arquivo chamado filename e converta as unidades internas do TeX em unidades de dpi por polegada. dpi apenas define as unidades e não limita a resolução. Use None para retornar as unidades internas do TeX.
- matplotlib.dviread. find_tex_file ( filename , format=< parâmetro obsoleto> ) [source] #
Encontre um arquivo na árvore texmf usando kpathsea .
A biblioteca kpathsea, fornecida pela maioria das distribuições existentes do TeX, tanto em sistemas semelhantes ao Unix quanto no Windows (MikTeX), é chamada por meio de um processo luatex de longa duração se o luatex estiver instalado ou via kpse, caso contrário.
- Parâmetros :
- filename str ou path-like
- formato str ou bytes
Usado como o valor da
--formatopção para kpsewhich . Pode ser, por exemplo, 'tfm' ou 'vf' para limitar a pesquisa a esse tipo de arquivo. Descontinuada.
- Aumentos :
- FileNotFoundError
Se o arquivo não for encontrado.