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:
object
Um 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:
object
Encapsulamento 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;
PsfontsMap
pode 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:
tuple
Crie 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:
object
Um 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.map
por pdfTeX edvipdfm.map
por dvipdfm .psfonts.map
pode 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:
object
Um 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:
Dvi
Uma 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,
Dvi
mas substitui o_read
mecanismo 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
--format
opçã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.