# `Color.ICC.ParseError`

Raised when `Color.ICC.Profile.load/1` or `parse/1` cannot interpret
an ICC profile.

Has fields:

* `:reason` — a short atom describing the failure category:

  * `:too_short` — the binary is shorter than the 128-byte ICC
    header.

  * `:bad_header` — the header magic `acsp` is missing or the
    header fields are malformed.

  * `:no_tag_table` — the tag count is zero or missing.

  * `:truncated_tag_table` — the tag table is shorter than its
    declared count.

  * `:unsupported_profile` — the profile is structurally valid
    but is not a matrix-RGB-XYZ profile that this minimal reader
    supports.

  * `:missing_tag` — one of the required `rXYZ`, `gXYZ`, `bXYZ`,
    `rTRC`, `gTRC`, `bTRC` tags is absent.

  * `:bad_xyz_tag`, `:bad_trc_tag` — a tag is the wrong type or
    length.

* `:details` — extra context (the missing tag name, the parsed
  header map, etc.).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
