{"success":true,"data":{"ext":"fh12","name":"FH12","description":"FH12 is a vector graphics file format associated with Adobe FreeHand, a drawing application originally developed by Aldus and later maintained by Adobe. It is used for creating illustrations, diagrams, logos, and page layout artwork, and may be opened in design and prepress workflows that support legacy FreeHand content. As a legacy format, support is limited in modern software, but files are generally safe when handled by trusted applications.","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","fh4","fh40","fh5"],"usage":{"python":"def is_fh12(file_path: str) -> bool:\n    \"\"\"Check if file is a valid FH12 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 isFH12(buffer: Buffer): boolean {\n  const signature = Buffer.from([0x41, 0x47, 0x44, 0x32]);\n  return buffer.subarray(0, 4).equals(signature);\n}","go":"func IsFH12(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"}}