Vad är filformatet MF?
.mf är en källkodsfil i klartext skriven i programmeringsspråket Metafont, skapat av Donald E. Knuth som en del av typsättningssystemet TeX. Istället för att beskriva glyfer som fasta konturer definierar en .mf-fil bokstavsformer programmatiskt med hjälp av penndrag, kurvor och parametriska ekvationer - vilket gör att en enda källfil kan generera typsnitt i valfri upplösning eller optisk storlek genom att justera variabler.
För att skapa ett användbart resultat kompileras en .mf-fil av kommandoradsprogrammet mf (som ingår i distributioner som TeX Live och MiKTeX). Kompilatorn tar källkoden tillsammans med en lägesinställning (t.ex. ljfour för en LaserJet i 600 dpi) och skapar två filer:
- En .TFM-metrikfil som TeX läser för teckenbredder, höjder och kerning.
- En .GF- eller .PK-bitmappsfil som innehåller rastrerade glyfer i målupplösningen.
Filerna är ASCII-text utan magic bytes eller binära huvuden. Typiska instruktioner inkluderar mode_setup;, beginchar(...);, pickup pen; och endchar;, och programmet avslutas med end. Det tillhörande formatet MetaPost (.mp) utökade senare Metafont-språket för generell vektorgrafik.
Metafont används fortfarande aktivt eftersom typsnittsfamiljerna Computer Modern och AMS - standardtypsnitten i TeX och LaTeX - distribueras som .mf-källkod. Redigering kräver kunskap om språket Metafont; alla textredigerare kan öppna filerna, även om dedikerade TeX-redigerare som TeXstudio erbjuder syntaxmarkering.
Säkerhet & trygghet
RISK: LOWEn Metafont .mf-fil är klartext och innehåller ingen exekverbar maskinkod, så den är säker att läsa. Kompilering kör den betrodda «mf»-tolken från en TeX-distribution. Den enda risken för förväxling är att missta den för en JAR MANIFEST.MF; båda är ofarlig text, men de tillhör helt olika verktygskedjor.
Formatdetaljer
i ett nötskal- Java/JAR MANIFEST.MF - Inuti en JAR är META-INF/MANIFEST.MF ett manifest i klartext (Main-Class, versioner) - den troliga källan till databasens tagg «Sun Microsystems».
- Maven / build metadata .mf - Vissa Java-verktyg och OSGi-bundles levererar manifestfragment med filändelsen .mf; nyckel-värdepar i klartext.
Program som öppnar MF-filer
Tekniska detaljer
djup specifikation| Formattyp | Källkodsprogram i klartext för Metafont-språket; definierar typsnittsglyfer som program, inte fasta konturer |
| Teckenkodning | ASCII; inga flerbajts-tecken i själva Metafont-språket; filer öppnas utan konvertering i valfri textredigerare |
| Magic bytes / signatur | Ingen - inget binärt huvud; identifieras genom filändelsen `.mf` och inledande Metafont-nyckelord som `mode_setup;` |
| MIME-typ | `text/plain`; `application/x-metafont` används informellt av vissa TeX-verktyg |
| Kompilator | Programmet `mf`, anropas som `mf '\mode=localfont; input fontnamn'`; ingår i TeX Live, MiKTeX och MacTeX |
| Kompileringsresultat | En `.tfm`-metrikfil (teckenbredder, höjder, kerning för TeX) och en `.gf`- eller `.pk`-bitmapp i vald enhetsupplösning |
| Upplösning / lägesparameter | Målenhet och DPI väljs vid kompilering via ett lägesnamn (t.ex. `ljfour` = 600 dpi LaserJet); ändring av läget återskapar bitmappen |
| Parametrisk designmodell | Glyfformer definierade av penndrag och numeriska variabler; justering av en parameter (t.ex. `stem#`) skalar om alla beroende glyfer konsekvent |
| Ekvationslösning | Metafont-tolken löser system av linjära ekvationer simultant för att positionera punkter - former anges som villkor, inte absoluta koordinater |
| Kontrollsummaparning | Kompilatorn `mf` bäddar in en kontrollsumma i den tillhörande `.tfm`-filen som binder den till den genererade bitmappen; själva `.mf`-källkoden bär ingen kontrollsumma |
| Färgstöd | Endast monokrom (1-bit) - Metafont rastrerar glyfer som svartvita bitmappar; inget stöd för gråskala eller färg |
| Typisk filstorlek | Några KB till tiotals KB; en komplett typsnittsfamilj består av dussintals `.mf`-filer som delar en gemensam basfil |
| Basbibliotek för makron | Computer Modern använder basfilerna `plain.mf` och `cm`; valfri `.mf`-källkod kan använda `input` för att ärva definitioner från delade makrofiler |
| Aktivt användningsområde | Typsnittsfamiljerna Computer Modern och AMS (standardtypsnitt för TeX och LaTeX) distribueras som `.mf`-källkod och kompileras vid behov av TeX-distributioner |
| Efterföljande format | MetaPost (`.mp`) utökade Metafont-språket för att producera skalbar PostScript/SVG-vektorutdata istället för bitmappar |
| Släppt | 1979 (Metafont); rewritten Metafont84 (1984) |
| Senaste version | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.tug.org |
MF-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om MF-filer.