Skip to content

feat(odni): ICS 630-01 Annex D - Chinese personal names (odni-zho-Hani-Latn-2015) - #253

Merged
ronaldtse merged 1 commit into
mainfrom
feat/ics-annex-d-zho
Nov 3, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
feat/ics-annex-d-zho

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

The last open Track-A item of the remaining-encodings master list (WO89 A5). All four Annex D documents read completely: prose annex (text layer), Appendix A pinyin syllable matrix (411 cells), Appendix B conversion table (preserved in full in the JSON artifact), Appendix C surnames (the actual Hanzi-to-pinyin data, 115 distinct characters), cover memo transcribed visually from a scan render.

Map

  • odni-zho-Hani-Latn-2015: 115 surname rules (each annotated with its STC code and non-IC alternates) + 3 orthographic rules (umlaut fold, apostrophes) + criterion-b name-part capitalization. Generated via tools/gen-ics-630-01-annexd.py with the durable extraction artifact tools/ics-630-01-annexd.json (the DIN generation pattern).
  • 132 embedded tests: one per printed surname entry + document examples + umlaut/apostrophe cases.

Verification

  • 132/132 embedded tests through the Ruby interpreter on a FRESH origin/main checkout (the agent's initial stock-bridge-fails report came from the divergent local tree and is retracted).
  • Corpus parse: 408/408 Ruby, 408/408 TS.
  • Source anomalies recorded in notes (dual-i columns, non-standard Wong/Kei cells, absent wen/nun/len/nia, lyu/lue vs Lu/Lue contradiction encoded per the normative rule, traditional forms as printed, Fan printed twice) - nothing silently corrected.

odni-zho-Hani-Latn-2015: the IC standard for Chinese personal names —
Hanyu Pinyin with the annex's modifications (u for the umlauted ü, no
syllable apostrophes, word-initial capitalization per name part) plus
the Appendix C common-surname character table (115 characters from 116
printed entries; 范 is printed twice, both STC 5400).

Generated by tools/gen-ics-630-01-annexd.py from
tools/ics-630-01-annexd.json, extracted by
tools/extract-ics-630-01-annexd.py from the Annex D text layers;
Appendix A's syllable grid was spot-checked visually at 600 dpi,
Appendix C at 300 dpi. Source anomalies are recorded in the map notes,
not corrected: the two 'i'-labeled header columns, the Wong and Kei
cells, the absent wen/nun/len/nia syllables, Appendix B's lyu/nyu
spelling of the umlaut syllables contradicting the normative rule, and
the bo row's Zhuyin cell ㄅㄠㄛ.

132 embedded tests (one per printed surname entry, plus the document
examples and the orthographic rules) pass through the Ruby interpreter
(132/132) and the TypeScript runtime (132/132). interscript-ruby's ISC
bridge currently drops rule constraints (NodeAdapter#build_rule reads
constraint[:value] where the transform emits { kind:, item: }), so the
verification applies that one-line key fix locally; the TS runtime
passes unmodified, and both corpus parse gates stay green (408/408).
@ronaldtse
ronaldtse merged commit 2e4524c into main Nov 3, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant