{
  "generatedAt": "2026-10-15",
  "base": "Official Unihan 18.0.0; see Unicode license and original provenance.",
  "purpose": "Keep every reference candidate output and lookup alias available while retaining the wider official Unicode coverage. Reference aliases are compatibility data, not a claim that every spelling or reading is linguistically authoritative.",
  "referenceCodeIncluded": false,
  "sources": {
    "chinese": {
      "url": "https://www.lexilogos.com/json/chinois.json",
      "referencePage": "https://www.lexilogos.com/keyboard/chinese.htm",
      "sha256": "bd61c7ed14396252e17d7cd65aafce9238ffafccbb40d5a4569773a6de2ebba3"
    },
    "japanese": {
      "url": "https://www.lexilogos.com/json/japonais.json",
      "referencePage": "https://www.lexilogos.com/keyboard/japanese.htm",
      "sha256": "0bdcebc1fd721dcb38c0a594ff201eeb8d8e64bd6a190fe1c13757e7cc6db46b"
    },
    "cantonese": {
      "url": "https://www.lexilogos.com/json/cantonais.json",
      "referencePage": "https://www.lexilogos.com/keyboard/cantonese.htm",
      "sha256": "c73e084ef784bd94d6b5ee6a392edcc55f7baafb787e7c1b8148712b4e9b011d",
      "upstream": "https://github.com/gwinterstein/Cifu"
    }
  },
  "stats": {
    "chinese": {
      "originalRecords": 44364,
      "mergedRecords": 44366,
      "sourceRecords": 9934,
      "sourceDistinctOutputs": 9934,
      "sourceLookupPairs": 10621,
      "addedOutputs": 2,
      "addedAliases": 222,
      "supplementalRecords": 217,
      "missingReferencePairsAfterMerge": 0,
      "maxOutputLength": 1,
      "unknownReadingPlaceholders": 32
    },
    "japanese": {
      "originalRecords": 13395,
      "mergedRecords": 13395,
      "sourceRecords": 2030,
      "sourceDistinctOutputs": 2030,
      "sourceLookupPairs": 3605,
      "addedOutputs": 0,
      "addedAliases": 1344,
      "supplementalRecords": 1044,
      "missingReferencePairsAfterMerge": 0,
      "maxOutputLength": 1,
      "strokeMetadataDifferences": 217
    },
    "cantonese": {
      "originalRecords": 29936,
      "mergedRecords": 30186,
      "sourceRecords": 2337,
      "sourceDistinctOutputs": 8359,
      "sourceLookupPairs": 10648,
      "addedOutputs": 250,
      "addedAliases": 2714,
      "supplementalRecords": 1700,
      "missingReferencePairsAfterMerge": 0,
      "maxOutputLength": 1
    }
  },
  "files": {
    "chinese-candidates.json": {
      "records": 44366,
      "bytes": 8256927,
      "gzipBytes": 886205
    },
    "japanese-candidates.json": {
      "records": 13395,
      "bytes": 2635476,
      "gzipBytes": 337295
    },
    "cantonese-candidates.json": {
      "records": 30186,
      "bytes": 5041585,
      "gzipBytes": 428834
    }
  },
  "behaviorNotes": [
    "Japanese: query ! requests exact match; = requests case-sensitive match (uppercase on versus lowercase kun). Preserve uppercase rather than unconditionally lowercasing. Long-vowel query aliases should handle oo/ou/ō/ô, aa/ā/â, ii/ī/î, uu/ū/û, and ei/ee/ē/ê.",
    "Japanese all 2030 reference outputs and Chinese all 9934 reference outputs are single codepoints. No hidden phrase dictionary in these two sources.",
    "Japanese referenceRadical/referenceStrokes are included only as source filter metadata. Some differ from official Unicode data; do not overwrite Unicode facts.",
    "Chinese v and u: normalize to ü; keep numbered and plain fields. Reference source alias ge1ge5 is associated with the single character 歌 and preserved as data.",
    "Cantonese raw reading labels sometimes contain comma-separated alternatives. Merged arrays contain both original raw labels and each split alternative. Some unusual source aliases (e.g. cī, zehw) retained for compatibility.",
    "Reference order is supplied per output. Every source query/output pair is present; exact output ranking among additional Unicode results may differ unless UI uses referenceOrder."
  ]
}
