Spec-Zone.ru › Matplotlib 2.1

dviread

matplotlib.dviread

Модуль для чтения файлов dvi, созданных TeX. Несколько ограничений делают его не (в настоящее время) полезным как универсальный препроцессор dvi, но он в настоящее время используется ядром pdf для обработки текста usetex.

Интерфейс:

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:
            ...
class matplotlib.dviread.Box(x, y, height, width)

Базовое класс: tuple

Создает новый экземпляр Box(x, y, высота, ширина)

height

Псевдоним для поля номер 2

width

Псевдоним для поля номер 3

x

Псевдоним для поля номер 0

y

Псевдоним для поля номер 1

class matplotlib.dviread.DviFont(scale, tfm, texname, vf)

Базовые классы: object

Инкапсуляция шрифта, на который может ссылаться файл DVI.

Этот класс содержит имя шрифта TeX и размер, поддерживает сравнение и знает ширины глифов в тех же единицах, что и файл AFM. Также есть внутренние атрибуты (для использования dviread.py), которые не используются для сравнения.

Размер указан в пунктах Adobe (преобразованных из пунктов TeX).

Параметры:

scale : float

Коэффициент масштабирования шрифта от его естественного размера.

tfm : Tfm

Метрика шрифта TeX для этого шрифта

texname : байты

Имя шрифта, используемое внутри TeX и подобными программами, как строка ASCII-байтов. Обычно это сильно отличается от любых внешних имен шрифтов, и dviread.PsfontsMap может использоваться для поиска внешнего имени шрифта.

vf : Vf

Файл TeX «виртуального шрифта», или None, если этот шрифт не виртуальный.

Атрибуты

texname (байты)
size (float) Размер шрифта в пунктах Adobe, преобразованных из немного меньших пунктов TeX.
widths (список) Ширины глифов в единицах пространства глифов, обычно 1/1000-е части размера пункта.
size
texname
widths
class matplotlib.dviread.Encoding(filename)

Базовые классы: object

Разбирает файл *.enc, на который ссылается файл стиля psfonts.map. Формат, который понимает этот класс, представляет собой очень ограниченный подмножество PostScript.

Использование (подлежит изменению):

for name in Encoding(filename):
    whatever(name)
Параметры: filename : строка или строка байтов

Атрибуты

encoding (список) Список имен символов
encoding
class matplotlib.dviread.Page(text, boxes, height, width, descent)

Базовые классы: tuple

Создает новый экземпляр Page(текст, блоки, высота, ширина, спуск)

boxes

Псевдоним для поля номер 1

descent

Псевдоним для поля номер 4

height

Псевдоним для поля номер 2

text

Псевдоним для поля номер 0

width

Псевдоним для поля номер 3

matplotlib.dviread.PsFont

Псевдоним для Font

class matplotlib.dviread.PsfontsMap(filename)

Базовые классы: object

Файл в формате psfonts.map, сопоставляющий шрифты TeX со шрифтами PS.

Использование:

>>> 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
Параметры: filename : строка или строка байтов

Примечания

По историческим причинам TeX знает многие шрифты Type-1 по другим именам, чем внешний мир. (В частности, имена должны подходить под восемь символов.) Кроме того, собственные шрифты TeX — это не шрифты Type-1, а Metafont, который нетривиально преобразовать в PostScript, кроме как в виде растрового изображения. Хотя существуют высококачественные преобразования в формат Type-1, которые поставляются с современными дистрибутивами TeX, нам нужно знать, какие шрифты Type-1 являются аналогами каких собственных шрифтов. По этим причинам требуется сопоставление от внутренних имён шрифтов к файлам шрифтов.

Дерево texmf обычно включает файлы сопоставления, например, psfonts.map, pdftex.map, или dvipdfm.map. Файл psfonts.map используется dvips, pdftex.map — pdfTeX, и dvipdfm.map — dvipdfm. psfonts.map может избежать внедрения 35 шрифтов PostScript (т.е., не иметь имени файла для них, как в примере Times-Bold выше), в то время как файлы, связанные с pdf, возможно, избегают только шрифтов pdf «Base 14». Но пользователь может настроить эти файлы по-другому.

class matplotlib.dviread.Text(x, y, font, glyph, width)

Базовые классы: tuple

Создает новый экземпляр Text(x, y, шрифт, глиф, ширина)

font

Псевдоним для поля номер 2

glyph

Псевдоним для поля номер 3

width

Псевдоним для поля номер 4

x

Псевдоним для поля номер 0

y

Псевдоним для поля номер 1

class matplotlib.dviread.Tfm(filename)

Базовые классы: object

Файл метрики шрифта TeX.

Эта реализация охватывает только самое необходимое, нужное классу Dvi.

Параметры: filename : строка или строка байтов

Атрибуты

checksum (целое число) Используется для проверки с файлом dvi.
design_size (целое число) Размер дизайна шрифта (неизвестные единицы)
width, height, depth (словарь) Размеры каждого символа, которые необходимо масштабировать на коэффициент, указанный в файле dvi. Это словари, потому что индексация может не начинаться с 0.
checksum
depth
design_size
height
width
class matplotlib.dviread.Vf(filename)

Базовые классы: matplotlib.dviread.Dvi

Виртуальный шрифт (*.vf-файл), содержащий подпрограммы для файлов dvi.

Использование:

vf = Vf(filename)
glyph = vf[code]
glyph.text, glyph.boxes, glyph.width
Параметры: filename : строка или строка байтов

Примечания

Формат виртуального шрифта является производным от dvi: http://mirrors.ctan.org/info/knuth/virtual-fonts Этот класс использует некоторую часть механизма класса Dvi, но заменяет цикл _read и механизм обработки.

END_OF_DOCUMENT_MARKER
matplotlib.dviread.find_tex_file(filename, format=None)

Найти файл в дереве texmf.

Вызывает kpsewhich, который является интерфейсом к библиотеке kpathsea [R22]. Большинство существующих дистрибутивов TeX на системах Unix-подобного типа используют kpathsea. Он также доступен в составе MikTeX, популярного дистрибутива для Windows.

Параметры:

filename : строка или байтовая строка

format : строка или байтовая строка

Используется как значение параметра --format для kpsewhich. Может быть, например, ‘tfm’ или ‘vf’ для ограничения поиска на этом типе файлов.

Ссылки

[R22] (1, 2) Документация Kpathsea Библиотека, частью которой является kpsewhich.
matplotlib.dviread.ord(x)
class matplotlib.dviread.Dvi(filename, dpi)

Базы: object

Чтец для файла dvi («независимый от устройства»), созданного TeX. Текущая реализация может только перебирать страницы в порядке следования и даже не пытается проверить постскрипт.

Этот класс может использоваться как менеджер контекста для закрытия базового файла при выходе. Страницы можно читать с помощью итерации. Вот излишне упрощённый способ извлечения текста без попытки определения пробелов:

>>> with matplotlib.dviread.Dvi('input.dvi', 72) as dvi:
>>>     for page in dvi:
>>>         print ''.join(unichr(t.glyph) for t in page.text)

Прочитать данные из файла с именем filename и преобразовать внутренние единицы TeX в единицы dpi на дюйм. dpi только задаёт единицы и не ограничивает разрешение. Используйте None, чтобы вернуть внутренние единицы TeX.

close()

Закрыть базовый файл, если он открыт.

dispatch = functools.partial(<function _dispatch>, [<function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char_immediate>, <function Dvi._set_char>, <function Dvi._set_char>, <function Dvi._set_char>, <function Dvi._set_char>, <function Dvi._set_rule>, <function Dvi._put_char>, <function Dvi._put_char>, <function Dvi._put_char>, <function Dvi._put_char>, <function Dvi._put_rule>, <function Dvi._nop>, <function Dvi._bop>, <function Dvi._eop>, <function Dvi._push>, <function Dvi._pop>, <function Dvi._right>, <function Dvi._right>, <function Dvi._right>, <function Dvi._right>, <function Dvi._right_w>, <function Dvi._right_w>, <function Dvi._right_w>, <function Dvi._right_w>, <function Dvi._right_w>, <function Dvi._right_x>, <function Dvi._right_x>, <function Dvi._right_x>, <function Dvi._right_x>, <function Dvi._right_x>, <function Dvi._down>, <function Dvi._down>, <function Dvi._down>, <function Dvi._down>, <function Dvi._down_y>, <function Dvi._down_y>, <function Dvi._down_y>, <function Dvi._down_y>, <function Dvi._down_y>, <function Dvi._down_z>, <function Dvi._down_z>, <function Dvi._down_z>, <function Dvi._down_z>, <function Dvi._down_z>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num_immediate>, <function Dvi._fnt_num>, <function Dvi._fnt_num>, <function Dvi._fnt_num>, <function Dvi._fnt_num>, <function Dvi._xxx>, <function Dvi._xxx>, <function Dvi._xxx>, <function Dvi._xxx>, <function Dvi._fnt_def>, <function Dvi._fnt_def>, <function Dvi._fnt_def>, <function Dvi._fnt_def>, <function Dvi._pre>, <function Dvi._post>, <function Dvi._post_post>, <function Dvi._malformed>, <function Dvi._malformed>, <function Dvi._malformed>, <function Dvi._malformed>, <function Dvi._malformed>, <function Dvi._malformed>])

© 2012–2017 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
http://matplotlib.org/2.1.0/api/dviread.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API