Skip to content

PFA (.pfa)

.pfa file signature | application/x-font-type1

Adobe PostScript Font ASCII (PFA) is an ASCII-encoded Type 1 font format developed by Adobe Systems and maintained as a legacy part of the PostScript ecosystem. It is used to store scalable outline fonts for desktop publishing, printing workflows, and older operating systems or applications that support Type 1 fonts. PFA is generally safe to open, though Type 1 fonts are largely obsolete and may not be supported by modern software.

Safe

Magic Bytes

Offset 0
25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 2D 31

Sources: Adobe Type 1 Font Format Spec

All Known Signatures

3 signature variants are documented for .pfa files across multiple sources.

Hex Signature Offset Sources
25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 2D 31 0 Adobe Type 1 Font Format Spec
80 01 FF FF 00 00 25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 0 Apache Tika
25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 2D 31 2E 30 0 Apache Tika

Extension

.pfa

MIME Type

application/x-font-type1

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .pfa files in Python

Python
def is_pfa(file_path: str) -> bool:
    """Check if file is a valid PFA by magic bytes."""
    signature = bytes([0x25, 0x21, 0x50, 0x53, 0x2D, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x6E, 0x74, 0x2D, 0x31])
    with open(file_path, "rb") as f:
        return f.read(16) == signature

How to validate .pfa files in Node.js

Node.js
function isPFA(buffer: Buffer): boolean {
  const signature = Buffer.from([0x25, 0x21, 0x50, 0x53, 0x2D, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x6E, 0x74, 0x2D, 0x31]);
  return buffer.subarray(0, 16).equals(signature);
}

How to validate .pfa files in Go

Go
func IsPFA(data []byte) bool {
    signature := []byte{0x25, 0x21, 0x50, 0x53, 0x2D, 0x41, 0x64, 0x6F, 0x62, 0x65, 0x46, 0x6F, 0x6E, 0x74, 0x2D, 0x31}
    if len(data) < 16 {
        return false
    }
    return bytes.Equal(data[:16], signature)
}

API Endpoint

GET /api/v1/pfa
curl https://filesignature.org/api/v1/pfa

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .pfa file?

A .pfa file is identified by the magic bytes 25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 2D 31 at byte offset 0. Adobe PostScript Font ASCII (PFA) is an ASCII-encoded Type 1 font format developed by Adobe Systems and maintained as a legacy part of the PostScript ecosystem. It is used to store scalable outline fonts for desktop publishing, printing workflows, and older operating systems or applications that support Type 1 fonts. PFA is generally safe to open, though Type 1 fonts are largely obsolete and may not be supported by modern software.

What are the magic bytes for .pfa files?

The magic bytes for PFA files are 25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 2D 31 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .pfa file?

To validate a .pfa file, read the first bytes of the file and compare them against the known magic bytes (25 21 50 53 2D 41 64 6F 62 65 46 6F 6E 74 2D 31) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .pfa files?

The primary MIME type for .pfa files is application/x-font-type1.

Is it safe to open .pfa files?

PFA (.pfa) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.