Wat is het PK-bestandsformaat?
Een .pk bestand is een gecomprimeerd bitmaplettertype dat wordt gebruikt in het TeX en LaTeX ecosysteem. PK staat voor „Packed”, wat verwijst naar het run-length encoding-schema dat wordt gebruikt om de monochrome bitmap van elke glyph efficiënt op te slaan. Het formaat is in 1985 ontworpen door Tomas Rokicki als een compactere vervanging voor de .GF (Generic Font) uitvoer van Metafont.
.pk bestanden zijn resolutie-afhankelijk: er bestaat een apart bestand voor elke combinatie van lettertype en uitvoer-DPI. Bijvoorbeeld, cmr10.300pk bevat het Computer Modern Roman 10pt lettertype gerasterd op 300 dpi, terwijl cmr10.600pk hetzelfde lettertype op 600 dpi is. Moderne TeX-distributies zoals TeX Live en MiKTeX genereren .pk bestanden op aanvraag via mktexpk wanneer DVI-rendering een lettertype vereist dat nog niet in de cache staat.
Het bestand begint met een preambule van twee bytes (0xF7 0x59) gevolgd door metadata over de ontwerpgrootte en DPI, en vervolgens een reeks verpakte glyph-records. Elk record slaat de karaktercode, TFM-breedte, afmetingen van het begrenzingskader en RLE-gecomprimeerde bitmap-bits op. Een checksum-veld koppelt elke glyph aan het bijbehorende .tfm metriekbestand.
Voor moderne op PDF gebaseerde LaTeX-workflows hebben OpenType en Type 1 lettertypen de voorkeur. .pk bestanden blijven relevant voor DVI-naar-PostScript rendering-pijplijnen in TeX Live en MiKTeX.
Beveiliging & veiligheid
RISICO: LOWBinaire lettertypegegevens; geen scripting of uitvoerbare inhoud. Veilig om te openen met TeX-tools.
Formaatdetails
in een notendopProgramma's die PK-bestanden openen
Technische details
diepe specificaties| Magic bytes | 0xF7 0x59 (preambule-identificatie; onderscheidt PK van GF dat 0xF7 0x80 gebruikt) |
| Codering | Binair |
| Byte-volgorde | Big-endian |
| Compressie | Run-length encoding (RLE) van monochrome glyph-bitmaps; optimalisatie van begrenzingskaders |
| Kleurdiepte | 1 bpp (alleen monochroom) |
| Typische bestandsgrootte | 10 KB - 500 KB per lettertype op één resolutie |
| Resolutie-codering | DPI gecodeerd in de bestandsnaamconventie (bijv. cmr10.300pk = 300 dpi, cmr10.600pk = 600 dpi) |
| Checksum | Checksum-veld per glyph dat overeenkomt met het bijbehorende .tfm metriekbestand |
| MIME-type | application/x-tex-pk |
| Bijbehorend OS | Linux, macOS, Windows, Unix |
| Gegenereerd door | Metafont via gftopk-hulpprogramma, of op aanvraag door mktexpk in TeX Live / MiKTeX |
| Oorsprong formaat | Tomas Rokicki, 1985 |
| Rol in DVI-workflow | Gebruikt bij DVI-naar-PostScript rendering; PDF-gebaseerde TeX-workflows geven de voorkeur aan OpenType/Type 1 lettertypen |
| Uitgebracht | 1985 (Tomas Rokicki, gftopk utility) |
| Laatste versie | format is stable since 1985; no version changes |
| Open standaard | Ja · royaltyvrij |
| Specificatie | ctan.org |
PK conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PK-bestanden.