FN
text/plain
Magic Bytes
Offset: 0
54 68 69 73 20 69 73 20 54 65 58 2C
The FN format refers to text-based auxiliary or log files generated by the TeX typesetting system, a standard developed by Donald Knuth for complex document preparation. These plain text resources are primarily utilized to record compilation transcripts, font metrics, or debugging information essential for troubleshooting rendering errors. While considered safe and transparent, these files represent a fundamental component of the legacy TeX workflow and are rarely encountered in modern consumer software applications.
Validation Code
How to validate .fn files in Python
Python
def is_fn(file_path: str) -> bool:
"""Check if file is a valid FN by magic bytes."""
signature = bytes([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C])
with open(file_path, "rb") as f:
return f.read(12) == signature
How to validate .fn files in Node.js
Node.js
function isFN(buffer: Buffer): boolean {
const signature = Buffer.from([0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C]);
return buffer.subarray(0, 12).equals(signature);
}
Go
func IsFN(data []byte) bool {
signature := []byte{0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x54, 0x65, 0x58, 0x2C}
if len(data) < 12 {
return false
}
return bytes.Equal(data[:12], signature)
}
API Endpoint
GET
/api/v1/fn
curl https://filesignature.org/api/v1/fn