Co to jest format pliku MF?
.mf to plik źródłowy w formacie tekstowym napisany w języku programowania Metafont, stworzonym przez Donalda E. Knutha jako część systemu składu TeX. Zamiast opisywać glify jako stałe obrysy, plik .mf definiuje kształty liter programowo, używając pociągnięć pióra, krzywych i równań parametrycznych - co pozwala jednemu plikowi źródłowemu generować fonty w dowolnej rozdzielczości lub rozmiarze optycznym poprzez dostosowanie zmiennych.
Aby uzyskać użyteczny wynik, plik .mf jest kompilowany przez program wiersza poleceń mf (zawarty w dystrybucjach takich jak TeX Live i MiKTeX). Kompilator pobiera źródło wraz ze specyfikacją trybu (np. ljfour dla drukarki LaserJet w 600 dpi) i generuje dwa pliki wynikowe:
- Plik metryczny .TFM, który TeX odczytuje w celu uzyskania szerokości, wysokości i kerningu znaków.
- Plik mapy bitowej .GF lub .PK zawierający zrastrowane glify w docelowej rozdzielczości.
Pliki te są tekstem ASCII bez bajtów magicznych czy nagłówka binarnego. Typowe instrukcje obejmują mode_setup;, beginchar(...);, pickup pen; oraz endchar;, a program kończy się słowem end. Pokrewny format MetaPost (.mp) rozszerzył później język Metafont o obsługę ogólnej grafiki wektorowej.
Metafont pozostaje w aktywnym użyciu, ponieważ rodziny krojów Computer Modern i AMS - domyślne fonty systemów TeX i LaTeX - są dystrybuowane jako źródła .mf. Edycja wymaga znajomości języka Metafont; pliki może otworzyć dowolny edytor tekstu, choć dedykowane edytory TeX, takie jak TeXstudio, zapewniają kolorowanie składni.
Bezpieczeństwo
RYZYKO: LOWPlik Metafont .mf jest zwykłym tekstem i nie zawiera wykonywalnego kodu maszynowego, więc jego odczyt jest bezpieczny. Kompilacja uruchamia zaufany interpreter „mf” z dystrybucji TeX. Jedynym ryzykiem pomyłki jest pomylenie go z plikiem JAR MANIFEST.MF; oba są nieszkodliwym tekstem, ale należą do zupełnie innych ekosystemów narzędziowych.
Szczegóły formatu
w pigułce- Java/JAR MANIFEST.MF - Wewnątrz pliku JAR, META-INF/MANIFEST.MF to tekstowy manifest (Main-Class, wersje) - prawdopodobne źródło tagu dewelopera „Sun Microsystems” w bazach danych.
- Maven / metadane budowania .mf - Niektóre narzędzia Java i pakiety OSGi dostarczają fragmenty manifestów z rozszerzeniem .mf; są to pary klucz:wartość w formacie tekstowym.
Programy otwierające pliki MF
Szczegóły techniczne
specyfikacja| Typ formatu | Program źródłowy w języku Metafont (tekstowy); definiuje glify fontów jako programy, a nie stałe obrysy |
| Kodowanie znaków | ASCII; brak znaków wielobajtowych w samym języku Metafont; pliki otwierają się bez konwersji w dowolnym edytorze tekstu |
| Magiczne bajty / sygnatura | Brak - brak binarnego nagłówka; identyfikowany przez rozszerzenie `.mf` i początkowe słowa kluczowe Metafont, takie jak `mode_setup;` |
| Typ MIME | `text/plain`; `application/x-metafont` używany nieformalnie przez niektóre narzędzia TeX |
| Kompilator | Program `mf`, wywoływany jako `mf '\mode=localfont; input nazwa_fontu'`; zawarty w TeX Live, MiKTeX i MacTeX |
| Wyniki kompilacji | Plik metryczny `.tfm` (szerokości, wysokości, kerning dla TeX) oraz mapa bitowa `.gf` lub `.pk` w wybranej rozdzielczości urządzenia |
| Parametr rozdzielczości / trybu | Urządzenie docelowe i DPI wybierane w czasie kompilacji poprzez nazwę trybu (np. `ljfour` = 600 dpi LaserJet); zmiana trybu regeneruje mapę bitową |
| Parametryczny model projektowania | Kształty glifów definiowane przez pociągnięcia pióra i zmienne numeryczne; dostosowanie jednego parametru (np. `stem#`) spójnie przeskalowuje wszystkie zależne glify |
| Rozwiązywanie więzów | Interpreter Metafont rozwiązuje układy równań liniowych jednocześnie, aby wypozycjonować punkty - kształty są określane jako więzy, a nie bezwzględne współrzędne |
| Parowanie sum kontrolnych | Kompilator `mf` osadza sumę kontrolną w towarzyszącym pliku `.tfm`, wiążąc go z wygenerowaną mapą bitową; samo źródło `.mf` nie posiada sumy kontrolnej |
| Obsługa kolorów | Tylko monochromatyczne (1-bitowe) - Metafont rastruje glify jako czarno-białe mapy bitowe; brak skali szarości czy koloru |
| Typowy rozmiar pliku | Od kilku do kilkudziesięciu KB; kompletna rodzina krojów składa się z dziesiątek plików `.mf` współdzielących wspólny plik bazowy |
| Bazowa biblioteka makr | Computer Modern używa plików bazowych `plain.mf` i `cm`; każde źródło `.mf` może importować (`input`) współdzielone pliki makr, aby dziedziczyć definicje |
| Aktywny przypadek użycia | Rodziny krojów Computer Modern i AMS (domyślne fonty TeX i LaTeX) są dystrybuowane jako źródła `.mf` i kompilowane na żądanie przez dystrybucje TeX |
| Następca formatu | MetaPost (`.mp`) rozszerzył język Metafont, aby generować skalowalne wyniki wektorowe PostScript/SVG zamiast map bitowych |
| Wydano | 1979 (Metafont); rewritten Metafont84 (1984) |
| Najnowsza wersja | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.tug.org |
Konwersje MF
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki MF.