What is MIME type "application/x-font-afm"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

The MIME type application/x-font-afm is linked to Adobe Type 1 ASCII Font Metrics files. These files carry text-based data that describes font measurements and spacing details. They help software know exactly how each character should appear and be spaced in a printed or digital document.

This metric data is essential for accurate font rendering and layout. It lets programs calculate character widths, kerning, and line spacing, ensuring a professional look.

Its content is often paired with actual font files to complete a typeface package. Files of this kind use the AFM format. For further technical details, you can explore more resources on font metrics and MIME types.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/x-font-afm    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/x-font-afm">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'application/x-font-afm');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Can I install an .afm file like a standard TrueType or OpenType font?

No, an AFM file only contains metrics (dimensions and spacing), not the actual character shapes. To install a Type 1 font on Windows or macOS, you typically need the accompanying .pfb (Printer Font Binary) or .pfa file alongside the .afm file.

How do I open or view an application/x-font-afm file?

Since these files contain plain ASCII text, you can open them with any standard text editor like Notepad, TextEdit, or VS Code. Developers often view them to inspect kerning pairs or character width definitions manually.

How do I configure Apache or Nginx to serve AFM files correctly?

For Apache, add the line AddType application/x-font-afm .afm to your .htaccess file. For Nginx, add application/x-font-afm afm; to your mime.types configuration to ensure the server identifies the file correctly.

Why is this MIME type relevant for web development?

Web developers primarily encounter this type when using server-side libraries (such as FPDF or TCPDF in PHP) to generate PDF documents. These libraries require the AFM data to calculate text alignment and line wrapping before generating the final PDF output.

Does the 'x-' prefix in application/x-font-afm mean it is deprecated?

The x- prefix indicates that it is a non-standard extension type rather than a standard registered with IANA. However, it remains the widely accepted convention for serving Adobe Font Metrics files on the internet.

What happens if the AFM file is missing during document generation?

If the metrics file is missing, the software cannot calculate character widths or kerning. This often results in text that overlaps, has incorrect line breaks, or defaults to a monospaced look because the application assumes a fixed width for every character.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.