PEN
text/plain
Magic Bytes
Offset: 0
54 68 69 73 20 69 73 20 54 65 58 2C
The PEN file format is a legacy data structure developed by Radical Eye Software for AmigaTeX to manage pen-plotter output and font definition parameters. This format was primarily utilized to translate complex typesetting commands into precise physical movements for vector-based plotting devices in technical publishing environments. Because it consists of structured plain text derived from the TeX system, the format is considered inherently safe, although it has been superseded by modern digital document standards.
Validation Code
How to validate .pen files in Python
Python
def is_pen(file_path: str) -> bool:
"""Check if file is a valid PEN 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 .pen files in Node.js
Node.js
function isPEN(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 IsPEN(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/pen
curl https://filesignature.org/api/v1/pen