{"success":true,"data":{"ext":"fh4","name":"FH4","description":"FH4 is a vector graphics document format associated with Macromedia FreeHand 4, a drawing and illustration application originally developed by Altsys and later maintained by Macromedia. It was used to store illustrations, page layouts, typography, and other desktop publishing assets for print and digital design workflows. The format is legacy and largely obsolete; files are generally safe to open, though support is limited in modern software and conversion may be required.","mime":["image/x-freehand"],"risk_level":"Safe","signatures":[{"hex":"41 47 44 32","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"41 47 44 33","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"41 47 44 34","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 72 65 65 48 61 6E 64 31 30","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 72 65 65 48 61 6E 64 31 31","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]},{"hex":"46 72 65 65 48 61 6E 64 31 32","offset":0,"sources":[{"name":"Apache Tika","url":"https://raw.githubusercontent.com/apache/tika/main/tika-core/src/main/resources/org/apache/tika/mime/tika-mimetypes.xml"}]}],"related":["fh","fh10","fh11","fh12","fh40","fh5"],"usage":{"python":"def is_fh4(file_path: str) -> bool:\n    \"\"\"Check if file is a valid FH4 by magic bytes.\"\"\"\n    signature = bytes([0x41, 0x47, 0x44, 0x32])\n    with open(file_path, \"rb\") as f:\n        return f.read(4) == signature","node":"function isFH4(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x41, 0x47, 0x44, 0x32]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsFH4(data []byte) bool {\n    signature := []byte{0x41, 0x47, 0x44, 0x32}\n    if len(data) < 4 {\n        return false\n    }\n    return bytes.Equal(data[:4], signature)\n}"},"category":"Images"}}