{"success":true,"data":{"ext":"fh5","name":"FH5","description":"FH5 is a vector graphics file format associated with Macromedia FreeHand, later maintained by Adobe after its acquisition of FreeHand. It was used to create illustrations, page layouts, logos, and other drawn artwork, especially in desktop publishing and print production workflows. As a legacy format, FH5 is generally safe to open, but support may be limited in modern applications, and files from untrusted sources should still be handled with care.","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","fh4","fh40"],"usage":{"python":"def is_fh5(file_path: str) -> bool:\n    \"\"\"Check if file is a valid FH5 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 isFH5(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x41, 0x47, 0x44, 0x32]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsFH5(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"}}