AFM (.afm)
.afm file signature | application/x-font-adobe-metric
Magic Bytes
Offset 0
53 74 61 72 74 46 6F 6E 74 4D 65 74 72 69 63 73
Sources: Apache Tika
Extension
.afm
MIME Type
application/x-font-adobe-metric
Byte Offset
0
Risk Level
Safe
Validation Code
How to validate .afm files in Python
def is_afm(file_path: str) -> bool:
"""Check if file is a valid AFM by magic bytes."""
signature = bytes([0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x6F, 0x6E, 0x74, 0x4D, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73])
with open(file_path, "rb") as f:
return f.read(16) == signature
How to validate .afm files in Node.js
function isAFM(buffer: Buffer): boolean {
const signature = Buffer.from([0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x6F, 0x6E, 0x74, 0x4D, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73]);
return buffer.subarray(0, 16).equals(signature);
}
How to validate .afm files in Go
func IsAFM(data []byte) bool {
signature := []byte{0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x6F, 0x6E, 0x74, 0x4D, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73}
if len(data) < 16 {
return false
}
return bytes.Equal(data[:16], signature)
}
API Endpoint
/api/v1/afm
curl https://filesignature.org/api/v1/afm
See the full API documentation for all endpoints and parameters.
Frequently Asked Questions
What is a .afm file?
A .afm file is a AFM file.
What are the magic bytes for .afm files?
The magic bytes for AFM files are 53 74 61 72 74 46 6F 6E 74 4D 65 74 72 69 63 73 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.
How do I validate a .afm file?
To validate a .afm file, read the first bytes of the file and compare them against the known magic bytes (53 74 61 72 74 46 6F 6E 74 4D 65 74 72 69 63 73) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.
What is the MIME type for .afm files?
The primary MIME type for .afm files is application/x-font-adobe-metric.
Is it safe to open .afm files?
AFM (.afm) 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.