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.
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
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
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
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
/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.