Wat is het MF-bestandsformaat?
.mf is een bronbestand in platte tekst geschreven in de programmeertaal Metafont, gecreëerd door Donald E. Knuth als onderdeel van het TeX-zetwerk-systeem. In plaats van glyphs te beschrijven als vaste contouren, definieert een .mf-bestand lettervormen programmatisch met behulp van penstreken, curven en parametrische vergelijkingen - waardoor een enkel bronbestand lettertypen kan genereren op elke resolutie of optische grootte door variabelen aan te passen.
Om bruikbare uitvoer te produceren, wordt een .mf-bestand gecompileerd door het mf opdrachtregelprogramma (inbegrepen in distributies zoals TeX Live en MiKTeX). De compiler neemt de bron samen met een modus-specificatie (bijv. ljfour voor een LaserJet op 600 dpi) en produceert twee uitvoerbestanden:
- Een .TFM metrisch bestand dat TeX leest voor tekenbreedtes, hoogtes en spatiëring (kerns).
- Een .GF of .PK bitmapbestand dat de gerasterde glyphs op de doelresolutie bevat.
De bestanden zijn ASCII-tekst zonder magic bytes of binaire header. Typische instructies zijn onder meer mode_setup;, beginchar(...);, pickup pen; en endchar;, waarbij het programma eindigt met end. Het bijbehorende formaat MetaPost (.mp) heeft later de taal van Metafont uitgebreid voor algemene vectorafbeeldingen.
Metafont blijft in actief gebruik omdat de Computer Modern en AMS lettertypefamilies - de standaardlettertypen van TeX en LaTeX - worden gedistribueerd als .mf-bronbestanden. Bewerken vereist kennis van de Metafont-taal; elke tekstverwerker kan de bestanden openen, hoewel speciale TeX-editors zoals TeXstudio syntaxisherkenning bieden.
Beveiliging & veiligheid
RISICO: LOWEen Metafont .mf is platte tekst en bevat geen uitvoerbare machinecode, dus het lezen ervan is veilig. Compileren voert de vertrouwde „mf”-interpreter uit een TeX-distributie uit. Het enige risico op verwarring is het aanzien voor een JAR MANIFEST.MF; beide zijn onschadelijke tekst, maar ze behoren tot volledig verschillende toolchains.
Formaatdetails
in een notendop- Java/JAR MANIFEST.MF - Binnen een JAR is META-INF/MANIFEST.MF een manifest in platte tekst (Main-Class, versies) - de waarschijnlijke bron van de „Sun Microsystems” ontwikkelaarstag in de database.
- Maven / build metadata .mf - Sommige Java-tooling en OSGi-bundles leveren manifest-fragmenten met een .mf-extensie; sleutel:waarde-paren in platte tekst.
Programma's die MF-bestanden openen
Technische details
diepe specificaties| Formaattype | Bronprogramma in platte tekst (Metafont-taal); definieert lettertype-glyphs als programma's, niet als vaste contouren |
| Tekencodering | ASCII; geen multi-byte tekens in de Metafont-taal zelf; bestanden openen zonder conversie in elke tekstverwerker |
| Magic bytes / handtekening | Geen - geen binaire header; geïdentificeerd door de `.mf`-extensie en leidende Metafont-trefwoorden zoals `mode_setup;` |
| MIME-type | `text/plain`; `application/x-metafont` wordt informeel gebruikt door sommige TeX-tools |
| Compiler | `mf`-programma, aangeroepen als `mf '\mode=localfont; input fontnaam'`; inbegrepen in TeX Live, MiKTeX en MacTeX |
| Compilatie-uitvoer | Een `.tfm` metrisch bestand (tekenbreedtes, hoogtes, kerns voor TeX) and een `.gf` of `.pk` bitmap op de gekozen apparaatresolutie |
| Resolutie / modusparameter | Doelapparaat en DPI gekozen tijdens compilatie via een modusnaam (bijv. `ljfour` = 600 dpi LaserJet); het wijzigen van de modus regenereert de bitmap |
| Parametrisch ontwerpmodel | Glyph-vormen gedefinieerd door penstreken en numerieke variabelen; het aanpassen van één parameter (bijv. `stem#`) herschaalt consistent alle afhankelijke glyphs |
| Oplossen van beperkingen | De Metafont-interpreter lost stelsels lineaire vergelijkingen gelijktijdig op om punten te positioneren - vormen worden opgegeven als beperkingen (constraints), niet als absolute coördinaten |
| Checksum-koppeling | De `mf`-compiler sluit een checksum in het bijbehorende `.tfm`-bestand in die het bindt aan de gegenereerde bitmap; de `.mf`-bron zelf bevat geen checksum |
| Kleurondersteuning | Alleen monochroom (1-bit) - Metafont rastert glyphs als zwart-wit bitmaps; geen grijswaarden of kleuruitvoer |
| Typische bestandsgrootte | Enkele KB tot tientallen KB; een complete lettertypefamilie bestaat uit tientallen `.mf`-bestanden die een gemeenschappelijk basisbestand delen |
| Basis macro-bibliotheek | Computer Modern gebruikt `plain.mf` en `cm` basisbestanden; elke `.mf`-bron kan gedeelde macrobestanden via `input` overnemen |
| Actieve use-case | Computer Modern en AMS lettertypefamilies (standaard TeX en LaTeX lettertypen) worden gedistribueerd als `.mf`-bron en op aanvraag gecompileerd door TeX-distributies |
| Opvolgend formaat | MetaPost (`.mp`) breidde de Metafont-taal uit om schaalbare PostScript/SVG vectoruitvoer te produceren in plaats van bitmaps |
| Uitgebracht | 1979 (Metafont); rewritten Metafont84 (1984) |
| Laatste versie | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.tug.org |
MF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over MF-bestanden.