Spec-Zone.ru › Matplotlib 3.6

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:
            ...
классmatplotlib.dviread.Dvi(filename, dpi)[source]

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

Читатель файла dvi ("независимый от устройства"), созданного TeX.

Текущая реализация может только итерировать страницы в порядке и не пытается проверить постскрипт.

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

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

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

свойствоbaseline[source]
close()[source]

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

классmatplotlib.dviread.DviFont(scale, tfm, texname, vf)[source]

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

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

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

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

Параметры:
scalefloat

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

tfmTfm

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

texnamebytes

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

vfVf

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

Атрибуты:
texnamebytes
sizefloat

Размер шрифта в пунктах Adobe, преобразованный из немного меньших пунктов TeX.

widthslist

Ширина глифов в единицах пространства глифов, как правило, 1/1000 от размера точки.

size
texname
widths
классmatplotlib.dviread.PsFont(texname, psname, effects, encoding, filename)[source]

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

Создает новый экземпляр PsFont(texname, psname, effects, encoding, filename)

effects

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

encoding

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

filename

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

psname

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

texname

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

классmatplotlib.dviread.PsfontsMap(filename)[source]

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

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

Параметры:
filenamestr или путь

Примечания

По историческим причинам 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». Но пользователь может настроить эти файлы по-другому.

Примеры

>>> 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
classmatplotlib.dviread.Tfm(filename)[source]

Bases: object

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

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

Параметры:
filenamestr или путь
Атрибуты:
checksumint

Используется для проверки против файла dvi.

design_sizeint

Размер шрифта по умолчанию (неизвестные единицы)

width, height, depthdict

Размеры каждого символа, необходимо масштабировать с коэффициентом, указанным в файле dvi. Это словари, так как индексация может не начинаться с 0.

checksum
depth
design_size
height
width
classmatplotlib.dviread.Vf(filename)[source]

Bases: Dvi

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

Параметры:
filenamestr или путь

Примечания

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

Примеры

vf = Vf(filename)
glyph = vf[code]
glyph.text, glyph.boxes, glyph.width

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

matplotlib.dviread.find_tex_file(filename, format=<deprecated parameter>)[source]

Поиск файла в дереве texmf с помощью kpathsea.

Библиотека kpathsea, предоставляемая большинством существующих дистрибутивов TeX, как на Unix-подобных системах, так и на Windows (MikTeX), вызывается через долгоживущий процесс luatex, если luatex установлен, или через kpsewhich в противном случае.

Параметры:
filenamestr или путь
formatstr или bytes

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

Исключения:
FileNotFoundError

Если файл не найден.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/dviread.html

Spec-Zone.ru

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