Spec-Zone.ru › Matplotlib 3.5

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 ("device-independent"), создаваемого 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.

Этот класс содержит texname и размер шрифта, поддерживает сравнение и знает ширины глифов в тех же единицах, что и файл 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 «Базовая 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.

Параметры
filenameстрока или объект пути
Атрибуты
checksumцелое число

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

design_sizeцелое число

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

width, height, depthсловарь

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

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

Bases: matplotlib.dviread.Dvi

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

Параметры
filenameстрока или объект пути

Примечания

Формат виртуального шрифта — это производная от 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.

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

Если файл не найден, возвращается пустая строка.

Параметры
filenameстрока или объект пути
formatстрока или байты

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

Ссылки

1

Документация Kpathsea. Библиотека, частью которой является kpsewhich.

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

Spec-Zone.ru

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