O que é o formato de ficheiro MF?
.mf é um arquivo de origem em texto simples escrito na linguagem de programação Metafont, criado por Donald E. Knuth como parte do sistema de composição tipográfica TeX. Em vez de descrever glifos como contornos fixos, um arquivo .mf define formas de letras programaticamente usando traços de caneta, curvas e equações paramétricas - permitindo que um único arquivo de origem gere fontes em qualquer resolução ou tamanho óptico ajustando variáveis.
Para produzir um resultado utilizável, um arquivo .mf é compilado pelo programa de linha de comando mf (incluído em distribuições como TeX Live e MiKTeX). O compilador recebe a origem junto com uma especificação de modo (ex: ljfour para uma LaserJet a 600 dpi) e produz dois resultados:
- Um arquivo métrico .TFM que o TeX lê para larguras, alturas e ajustes de kerning de caracteres.
- Um arquivo de bitmap .GF ou .PK contendo glifos rasterizados na resolução de destino.
Os arquivos são texto ASCII sem magic bytes ou cabeçalho binário. Instruções típicas incluem mode_setup;, beginchar(...);, pickup pen; e endchar;, encerrando o programa com end. O formato complementar MetaPost (.mp) posteriormente estendeu a linguagem do Metafont para gráficos vetoriais gerais.
O Metafont continua em uso ativo porque as famílias de tipos Computer Modern e AMS - as fontes padrão do TeX e LaTeX - são distribuídas como código-fonte .mf. A edição requer conhecimento da linguagem Metafont; qualquer editor de texto simples pode abrir os arquivos, embora editores TeX dedicados, como o TeXstudio, ofereçam reconhecimento de sintaxe.
Segurança e proteção
RISCO: LOWUm .mf do Metafont é texto simples e não contém código de máquina executável, portanto a leitura é segura. A compilação executa o intérprete «mf» confiável de uma distribuição TeX. O único risco de confusão é confundi-lo com um MANIFEST.MF de JAR; ambos são textos inofensivos, mas pertencem a cadeias de ferramentas inteiramente diferentes.
Detalhes do formato
em resumo- Java/JAR MANIFEST.MF - Dentro de um JAR, META-INF/MANIFEST.MF é um manifesto em texto simples (Main-Class, versões) - a provável fonte da tag de desenvolvedor «Sun Microsystems» do banco de dados.
- Maven / metadados de build .mf - Algumas ferramentas Java e pacotes OSGi enviam fragmentos de manifesto com a extensão .mf; pares chave:valor em texto simples.
Programas que abrem arquivos MF
Detalhes técnicos
especificação profunda| Tipo de formato | Programa de origem em linguagem Metafont de texto simples; define glifos de fonte como programas, não contornos fixos |
| Codificação de caracteres | ASCII; sem caracteres multi-byte na linguagem Metafont propriamente dita; arquivos abrem sem conversão em qualquer editor de texto simples |
| Magic bytes / assinatura | Nenhum - sem cabeçalho binário; identificado pela extensão `.mf` e palavras-chave iniciais do Metafont como `mode_setup;` |
| Tipo MIME | `text/plain`; `application/x-metafont` usado informalmente por algumas ferramentas TeX |
| Compilador | Programa `mf`, invocado como `mf '\mode=localfont; input fontname'`; incluído no TeX Live, MiKTeX e MacTeX |
| Resultados da compilação | Um arquivo métrico `.tfm` (larguras, alturas e kerning de caracteres para TeX) e um bitmap `.gf` ou `.pk` na resolução do dispositivo escolhido |
| Parâmetro de resolução / modo | Dispositivo de destino e DPI escolhidos no momento da compilação via um nome de modo (ex: `ljfour` = 600 dpi LaserJet); alterar o modo regenera o bitmap |
| Modelo de design paramétrico | Formas de glifos definidas por traços de caneta e variáveis numéricas; ajustar um parâmetro (ex: `stem#`) redimensiona consistentemente todos os glifos dependentes |
| Resolução de restrições | O intérprete Metafont resolve sistemas de equações lineares simultaneamente para posicionar pontos - as formas são declaradas como restrições, não coordenadas absolutas |
| Emparelhamento por checksum | O compilador `mf` incorpora um checksum no arquivo `.tfm` complementar, vinculando-o ao bitmap gerado; a origem `.mf` em si não carrega checksum |
| Suporte a cores | Apenas monocromático (1-bit) - o Metafont rasteriza glifos como bitmaps em preto e branco; sem saída em tons de cinza ou cores |
| Tamanho típico do arquivo | De alguns KB a dezenas de KB; uma família tipográfica completa consiste em dezenas de arquivos `.mf` compartilhando um arquivo base comum |
| Biblioteca de macros base | O Computer Modern usa os arquivos base `plain.mf` e `cm`; qualquer origem `.mf` pode usar `input` em arquivos de macro compartilhados para herdar definições |
| Caso de uso ativo | As famílias tipográficas Computer Modern e AMS (fontes padrão do TeX e LaTeX) são distribuídas como origem `.mf` e compiladas sob demanda pelas distribuições TeX |
| Formato sucessor | O MetaPost (`.mp`) estendeu a linguagem Metafont para produzir saída vetorial escalável PostScript/SVG em vez de bitmaps |
| Lançado | 1979 (Metafont); rewritten Metafont84 (1984) |
| Versão mais recente | Metafont version 2.71828… (asymptotically approaching e; current since the 1990s) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.tug.org |
Conversões de MF
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos MF.