
Я пишу приложение OpenGL на основе Python, которое будет отображать текст и математику на экране. Эти текстовые элементы будут представлены в виде текстурированных квадратов. Однако у меня возникли проблемы с размерами шрифтов в текстурах: они больше, чем должны быть в конечном итоге.
Чтобы сгенерировать текстовые и математические текстурные изображения, которые будут отображены на этих четырехугольниках, я делаю следующее:
- Я генерирую
pdf
файл из источника latex с помощьюpdflatex
. Команда, используемая на этом этапе:$ pdflatex sample.tex
- Я генерирую
png
файл изображения изpdf
с помощью Imagemagickconvert
. Вот текущая командная строка, используемая на этом этапе:$ convert -set units PixelsPerInch -density 112 sample.pdf -quality 100 sample.png
Затем файл png
генерируется, и я могу успешно отобразить его на квадратах. Однако я заметил, что размер шрифта файла png
не соответствует размеру шрифта pdf
. Чтобы проверить это, я отрисовал ту же строку-образец на: pdf (с pdflatex
); документе Libreoffice; и на png
файле изображения (сгенерированном с convert
применением к pdf
). Вот что я получил:
Самое верхнее предложение было извлечено из pdf
. Предложение в середине было сгенерировано Libreoffice. Предложение внизу (большее) было извлечено из файла, png
сгенерированного с pdf
помощью convert
. Для двух первых примеров я использовал 10pt
шрифт Computer Modern.
Результаты от pdf
и Libreoffice почти идентичны (Libreoffice на самом деле немного короче). Я ожидал получить что-то очень похожее с файлом png
( -density
опция convert
была установлена на 112, чтобы соответствовать экрану моего компьютера). Однако эта строка намного больше, чем две другие.
У меня такие вопросы: можно ли преобразовать pdf
файл в png
так, чтобы размер шрифта остался прежним? Если да, то как?
Ниже представлен файл-образец Latex, который я использовал для теста выше:
\documentclass[10pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{lmodern}
\begin{document}
\pagecolor{white}
This is a test... 0123456789
\end{document}
Заранее спасибо!