Qu'est-ce que le format de fichier MF ?
.mf est un fichier source en texte brut écrit dans le langage de programmation Metafont, créé par Donald E. Knuth dans le cadre du système de composition TeX. Plutôt que de décrire les glyphes comme des contours fixes, un fichier .mf définit les formes des lettres de manière programmatique à l'aide de traits de plume, de courbes et d'équations paramétriques - permettant à un seul fichier source de générer des polices à n'importe quelle résolution ou taille optique en ajustant des variables.
Pour produire un résultat utilisable, un fichier .mf est compilé par le programme en ligne de commande mf (inclus dans les distributions telles que TeX Live et MiKTeX). Le compilateur prend la source ainsi qu'une spécification de mode (par exemple, ljfour pour une LaserJet à 600 dpi) et produit deux sorties :
- Un fichier métrique .TFM que TeX lit pour les largeurs, hauteurs et approches (kerns) des caractères.
- Un fichier bitmap .GF ou .PK contenant les glyphes rastérisés à la résolution cible.
Les fichiers sont en texte ASCII sans magic bytes ni en-tête binaire. Les instructions typiques incluent mode_setup;, beginchar(...);, pickup pen; et endchar;, terminant le programme par end. Le format compagnon MetaPost (.mp) a ensuite étendu le langage de Metafont pour les graphiques vectoriels généraux.
Metafont reste activement utilisé car les familles de polices Computer Modern et AMS - les polices par défaut de TeX et LaTeX - sont distribuées sous forme de source .mf. L'édition nécessite une connaissance du langage Metafont ; n'importe quel éditeur de texte brut peut ouvrir les fichiers, bien que des éditeurs TeX dédiés tels que TeXstudio offrent une reconnaissance de la syntaxe.
Sécurité et sûreté
RISQUE : LOWUn fichier .mf Metafont est du texte brut et ne contient aucun code machine exécutable, sa lecture est donc sûre. La compilation exécute l'interpréteur de confiance « mf » d'une distribution TeX. Le seul risque de confusion est de le prendre pour un MANIFEST.MF de JAR ; les deux sont des textes inoffensifs, mais ils appartiennent à des chaînes d'outils totalement différentes.
Détails du format
en bref- Java/JAR MANIFEST.MF - À l'intérieur d'un JAR, META-INF/MANIFEST.MF est un manifeste en texte brut (Main-Class, versions) - la source probable du tag développeur « Sun Microsystems » de la base de données.
- Maven / métadonnées de build .mf - Certains outils Java et bundles OSGi livrent des fragments de manifeste avec une extension .mf ; paires clé:valeur en texte brut.
Programmes qui ouvrent les fichiers MF
Détails techniques
spécifications approfondies| Type de format | Programme source en langage Metafont en texte brut ; définit les glyphes de police comme des programmes, pas des contours fixes |
| Encodage des caractères | ASCII ; pas de caractères multi-octets dans le langage Metafont lui-même ; les fichiers s'ouvrent sans conversion dans n'importe quel éditeur de texte brut |
| Magic bytes / signature | Aucun - pas d'en-tête binaire ; identifié par l'extension `.mf` et les mots-clés Metafont initiaux tels que `mode_setup;` |
| Type MIME | `text/plain` ; `application/x-metafont` utilisé de manière informelle par certains outils TeX |
| Compilateur | Programme `mf`, invoqué par `mf '\mode=localfont; input nompolice'` ; inclus dans TeX Live, MiKTeX et MacTeX |
| Sorties de compilation | Un fichier métrique `.tfm` (largeurs, hauteurs, approches pour TeX) et un bitmap `.gf` ou `.pk` à la résolution de l'appareil choisie |
| Paramètre de résolution / mode | Appareil cible et DPI choisis au moment de la compilation via un nom de mode (ex: `ljfour` = LaserJet 600 dpi) ; changer le mode régénère le bitmap |
| Modèle de conception paramétrique | Formes de glyphes définies par des traits de plume et des variables numériques ; l'ajustement d'un paramètre (ex: `stem#`) redimensionne uniformément tous les glyphes dépendants |
| Résolution de contraintes | L'interpréteur Metafont résout des systèmes d'équations linéaires simultanément pour positionner les points - les formes sont énoncées comme des contraintes, pas des coordonnées absolues |
| Appariement par somme de contrôle | Le compilateur `mf` intègre une somme de contrôle dans le fichier `.tfm` compagnon le liant au bitmap généré ; la source `.mf` elle-même ne porte pas de somme de contrôle |
| Support des couleurs | Monochrome (1-bit) uniquement - Metafont rastérise les glyphes en bitmaps noir et blanc ; pas de sortie en niveaux de gris ou en couleur |
| Taille typique de fichier | De quelques Ko à des dizaines de Ko ; une famille de polices complète se compose de dizaines de fichiers `.mf` partageant un fichier de base commun |
| Bibliothèque de macros de base | Computer Modern utilise les fichiers de base `plain.mf` et `cm` ; toute source `.mf` peut appeler (`input`) des fichiers de macros partagés pour hériter des définitions |
| Cas d'utilisation actif | Les familles de polices Computer Modern et AMS (polices par défaut de TeX et LaTeX) sont distribuées sous forme de source `.mf` et compilées à la demande par les distributions TeX |
| Format successeur | MetaPost (`.mp`) a étendu le langage Metafont pour produire une sortie vectorielle PostScript/SVG évolutive au lieu de bitmaps |
| Publié | 1979 (Metafont); rewritten Metafont84 (1984) |
| Dernière version | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.tug.org |
Conversions MF
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers MF.