Что такое формат файла PK?
Файл .pk - это сжатый растровый шрифт, используемый в экосистеме верстки TeX и LaTeX. PK означает «Packed» (упакованный), что указывает на схему кодирования длин серий (RLE), используемую для эффективного хранения монохромного растра каждого глифа. Формат был разработан Томасом Рокицки в 1985 году как более компактная замена выходному формату Metafont .GF (Generic Font).
Файлы .pk зависят от разрешения: для каждой комбинации гарнитуры и выходного DPI существует отдельный файл. Например, cmr10.300pk содержит шрифт Computer Modern Roman 10pt, растрированный с разрешением 300 dpi, а cmr10.600pk - тот же шрифт с разрешением 600 dpi. Современные дистрибутивы TeX, такие как TeX Live и MiKTeX, генерируют файлы .pk по запросу через mktexpk, когда для рендеринга DVI требуется шрифт, отсутствующий в кэше.
Файл начинается с двухбайтовой преамбулы (0xF7 0x59), за которой следуют метаданные о размере и DPI, а затем последовательность записей упакованных глифов. Каждая запись хранит код символа, ширину TFM, размеры ограничивающей рамки и сжатые с помощью RLE биты растра. Поле контрольной суммы связывает каждый глиф с соответствующим метрическим файлом .tfm.
Для современных рабочих процессов LaTeX на базе PDF предпочтительнее использовать шрифты OpenType и Type 1. Файлы .pk остаются актуальными для конвейеров рендеринга DVI-в-PostScript в TeX Live и MiKTeX.
Безопасность и защита
РИСК: LOWБинарные данные шрифта; не содержит скриптов или исполняемого контента. Безопасно открывать инструментами TeX.
Детали формата
в двух словахПрограммы, открывающие файлы PK
Технические подробности
глубокая спецификация| Магические байты | 0xF7 0x59 (идентификатор преамбулы; отличает PK от GF, который использует 0xF7 0x80) |
| Кодировка | Бинарная |
| Порядок байтов | Big-endian |
| Сжатие | Кодирование длин серий (RLE) монохромных растров глифов; оптимизация ограничивающей рамки |
| Глубина цвета | 1 бит на пиксель (только монохром) |
| Типичный размер файла | 10 КБ - 500 КБ на шрифт при одном разрешении |
| Кодирование разрешения | DPI закодирован в соглашении об именовании файлов (например, cmr10.300pk = 300 dpi, cmr10.600pk = 600 dpi) |
| Контрольная сумма | Поле контрольной суммы для каждого глифа, соответствующее сопутствующему метрическому файлу .tfm |
| MIME-тип | application/x-tex-pk |
| Связанные ОС | Linux, macOS, Windows, Unix |
| Кем генерируется | Metafont через утилиту gftopk или по запросу через mktexpk в TeX Live / MiKTeX |
| Происхождение формата | Томас Рокицки, 1985 |
| Роль в рабочем процессе DVI | Используется при рендеринге DVI-в-PostScript; в рабочих процессах TeX на базе PDF предпочтительны шрифты OpenType/Type 1 |
| Выпущен | 1985 (Tomas Rokicki, gftopk utility) |
| Последняя версия | format is stable since 1985; no version changes |
| Открыть стандартное | Да · без роялти |
| Спецификация | ctan.org |
Конвертации PK
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PK.