| 23 | constexpr uint32_t FNV_PRIME = 16777619u; |
| 24 | |
| 25 | uint32_t fnv1a(const uint8_t* data, size_t len, uint32_t hash = FNV_OFFSET) { |
| 26 | for (size_t i = 0; i < len; i++) { |
| 27 | hash ^= data[i]; |
| 28 | hash *= FNV_PRIME; |
| 29 | } |
| 30 | return hash; |
| 31 | } |
| 32 | |
| 33 | // .cpfont magic bytes |
| 34 | constexpr char CPFONT_MAGIC[8] = {'C', 'P', 'F', 'O', 'N', 'T', '\0', '\0'}; |