¿Qué es el formato de archivo MF?
.mf es un archivo de código fuente en texto plano escrito en el lenguaje de programación Metafont, creado por Donald E. Knuth como parte del sistema de composición tipográfica TeX. En lugar de describir los glifos como contornos fijos, un archivo .mf define las formas de las letras mediante programación usando trazos de pluma, curvas y ecuaciones paramétricas, lo que permite que un solo archivo fuente genere fuentes a cualquier resolución o tamaño óptico ajustando variables.
Para producir un resultado utilizable, un archivo .mf es compilado por el programa de línea de comandos mf (incluido en distribuciones como TeX Live y MiKTeX). El compilador toma el código fuente junto con una especificación de modo (por ejemplo, ljfour para una LaserJet a 600 dpi) y produce dos salidas:
- Un archivo de métricas .TFM que TeX lee para obtener anchos, alturas y interletrados (kerns) de los caracteres.
- Un archivo de mapa de bits .GF o .PK que contiene los glifos rasterizados a la resolución de destino.
Los archivos son texto ASCII sin magic bytes ni encabezado binario. Las sentencias típicas incluyen mode_setup;, beginchar(...);, pickup pen; y endchar;, finalizando el programa con end. El formato complementario MetaPost (.mp) extendió posteriormente el lenguaje de Metafont para gráficos vectoriales generales.
Metafont sigue en uso activo porque las familias de tipos de letra Computer Modern y AMS -las fuentes predeterminadas de TeX y LaTeX- se distribuyen como código fuente .mf. Su edición requiere conocimientos del lenguaje Metafont; cualquier editor de texto plano puede abrir los archivos, aunque los editores de TeX dedicados como TeXstudio proporcionan reconocimiento de sintaxis.
Seguridad y protección
RIESGO: LOWUn archivo .mf de Metafont es texto plano y no contiene código de máquina ejecutable, por lo que su lectura es segura. La compilación ejecuta el intérprete «mf» de confianza de una distribución de TeX. El único riesgo de confusión es confundirlo con un MANIFEST.MF de JAR; ambos son texto inofensivo, pero pertenecen a cadenas de herramientas totalmente diferentes.
Detalles del formato
en pocas palabras- Java/JAR MANIFEST.MF - Dentro de un JAR, META-INF/MANIFEST.MF es un manifiesto de texto plano (Main-Class, versiones), la fuente probable de la etiqueta de desarrollador «Sun Microsystems» en la base de datos.
- Maven / metadatos de construcción .mf - Algunas herramientas de Java y paquetes OSGi incluyen fragmentos de manifiesto con la extensión .mf; pares clave:valor en texto plano.
Programas que abren archivos MF
Detalles técnicos
especificación profunda| Tipo de formato | Programa fuente en lenguaje Metafont de texto plano; define glifos de fuente como programas, no como contornos fijos |
| Codificación de caracteres | ASCII; sin caracteres multibyte en el propio lenguaje Metafont; los archivos se abren sin conversión en cualquier editor de texto plano |
| Magic bytes / firma | Ninguno - sin encabezado binario; identificado por la extensión `.mf` y palabras clave iniciales de Metafont como `mode_setup;` |
| Tipo MIME | `text/plain`; `application/x-metafont` usado informalmente por algunas herramientas de TeX |
| Compilador | Programa `mf`, invocado como `mf '\mode=localfont; input nombre_fuente'`; incluido en TeX Live, MiKTeX y MacTeX |
| Salidas de compilación | Un archivo de métricas `.tfm` (anchos, alturas, kerns de caracteres para TeX) y un mapa de bits `.gf` o `.pk` a la resolución del dispositivo elegido |
| Parámetro de resolución / modo | Dispositivo de destino y DPI elegidos en el momento de la compilación mediante un nombre de modo (ej. `ljfour` = 600 dpi LaserJet); cambiar el modo regenera el mapa de bits |
| Modelo de diseño paramétrico | Formas de glifos definidas por trazos de pluma y variables numéricas; ajustar un parámetro (ej. `stem#`) reescala de forma consistente todos los glifos dependientes |
| Resolución de restricciones | El intérprete de Metafont resuelve sistemas de ecuaciones lineales simultáneamente para posicionar puntos; las formas se declaran como restricciones, no como coordenadas absolutas |
| Emparejamiento por suma de comprobación | El compilador `mf` incrusta una suma de comprobación en el archivo `.tfm` complementario vinculándolo al mapa de bits generado; el código fuente `.mf` en sí no lleva suma de comprobación |
| Soporte de color | Solo monocromo (1 bit) - Metafont rasteriza glifos como mapas de bits en blanco y negro; sin salida en escala de grises o color |
| Tamaño de archivo típico | De unos pocos KB a decenas de KB; una familia tipográfica completa consta de docenas de archivos `.mf` que comparten un archivo base común |
| Biblioteca de macros base | Computer Modern utiliza los archivos base `plain.mf` y `cm`; cualquier fuente `.mf` puede usar `input` para incluir archivos de macros compartidos y heredar definiciones |
| Caso de uso activo | Las familias tipográficas Computer Modern y AMS (fuentes predeterminadas de TeX y LaTeX) se distribuyen como código fuente `.mf` y se compilan bajo demanda por las distribuciones de TeX |
| Formato sucesor | MetaPost (`.mp`) extendió el lenguaje Metafont para producir una salida vectorial escalable en PostScript/SVG en lugar de mapas de bits |
| Lanzado | 1979 (Metafont); rewritten Metafont84 (1984) |
| Última versión | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.tug.org |
Conversiones de MF
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos MF.