Skip to content

feat(alalc): batch 5 misc ALA-LC romanization maps (8 systems) - #264

Merged
ronaldtse merged 1 commit into
mainfrom
feat/alalc-batch5-misc
Nov 8, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
feat/alalc-batch5-misc

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

Batch 5 of the ALA-LC romanization encoding campaign (misc scripts): eight new systems transcribed in full from the loc.gov source documents.

System File Source Rules Embedded tests
Armenian (2022) alalc-hye-Armn-Latn-2022.isc armenian.pdf, 7 pp 134 12
Coptic (2014) alalc-cop-Copt-Latn-2014.isc coptic.pdf, 3 pp 103 16
Deseret (2016) alalc-und-Dsrt-Latn-2016.isc deseret.pdf, 2 pp 80 81
Cherokee (2012) alalc-chr-Cher-Latn-2012.isc cherokee.pdf, 1 p 85 18
Manchu (2012) alalc-mnc-Mong-Latn-2012.isc manchu.pdf, 5 pp 39 43
Moroccan Tamazight (2012) alalc-zgh-Tfng-Latn-2012.isc tamazight.pdf, 1 p 43 14
Tamashek (2013) alalc-tmh-Tfng-Latn-2013.isc tamashek.pdf, 1 p 40 26
Vai (2010) alalc-vai-Vaii-Latn-2010.isc vai.pdf, 3 pp 240 11

Every table row and note of each document is transcribed: letter tables with upper/lower case pairs, diacritic and digraph rows, punctuation transcription rules, and the Armenian and Coptic letter-numeral tables. Position-dependent values, closed exception lists, and other behaviors a character map cannot express are documented in each map's metadata notes rather than silently dropped.

Decisions and flags for review

  • Deseret language id: the table scopes the Deseret script (no ISO 639 language), so the language field carries und. Naming follows the corpus authority-language-Script-Target-year shape; happy to re-id if a different convention is preferred.
  • Armenian: primary renderings encoded; West Armenian bracketed variants documented. և → ev (per the table's own romanized examples); Եւ/Եվ → Ew/Ev. Note 2/Note 4 position-dependent values (ը→Y initially, յ→Ḥ stem-initially) and the Note 6 eʹv exception list are notes-only. ՞/՜ require sentence-final repositioning — not encodable, documented.
  • Coptic: upper-case romanization cells for Ⲻ and Ⳃ are blank in the source (lower-case n̈/ç̈); the map supplies N̈/Ç̈ as mechanical case counterparts — flag. The numeral-6/6000 alternate glyph (absent from the text layer, substitute font) is identified visually as Greek stigma and encoded as ϛ̄/ϛ̅ alternates — flag.
  • Manchu: Unicode correspondence follows the standard model (shared Mongolian letters + Sibe forms + the five Manchu-specific codepoints; foreign kʻ gʻ hʻ as the Todo KA/GAA/HAA codepoints; ts dz ž as Sibe TSA/ZA/ZHA) — documented in the map, flag if a different font convention is preferred. cy/jy digraphs encoded; sy (ᠰᡳ) deliberately not encoded (clashes with native "si").
  • Tamazight: year 2012 taken from the PDF metadata (approved by CC:AAM 2012-01-22; the document prints no version). ⴺ carries dot-below + macron-below per the printed table. The document's example "Aɣlyas" includes proper-noun capitalization; the map yields aɣlyas.
  • Tamashek: most vernacular cells have no text layer (substitute font); 21 codepoints are text-layer-grounded, the rest follow the Tuareg unification. Long vowels encoded as doubled letters (Tuareg practice; source glyphs are marks with no Unicode encoding) — flag. c assigned ⵞ (YACH) — flag. ă and ḷ marks unencodable (covered by base-letter rules, noted).
  • Vai: complete grid encoded (239 syllables + syllabic nasal). The table itself omits the 28 th/dh/sh/zh-series syllables of the Unicode block; recorded in the notes so it is not read as a transcription gap. ꘌ (lengthener) is an instruction, not a romanization value — no rule, noted.

Source-missing (not encodable, no fabrication)

The batch work order also lists N'Ko (nko-Nkoo) and Tod-Oirat (xal) — no source PDFs for either exist in the reference collection, so they are not encoded here.

Verification

  • Fresh interscript-ts main checkout: repo parse gate node scripts/parse-isc.mjs (via tsx) → 417/417 .isc files parse (maps/ + libs/, including these 8).
  • Embedded tests run through the ts runtime (parseIsc + iscBundledStrategy + transliterate): 221/221 pass.
  • Test counts are mechanical table results (letter values and the documents' own examples); multi-char tests are constructed letter sequences, not transcription claims.

Encode eight ALA-LC romanization tables from the loc.gov sources:
Armenian 2022 (hye-Armn), Coptic 2014 (cop-Copt), Deseret 2016
(und-Dsrt, script-scoped), Cherokee 2012 (chr-Cher), Manchu 2012
(mnc-Mong), Moroccan Tamazight 2012 (zgh-Tfng), Tamashek 2013
(tmh-Tfng), Vai 2010 (vai-Vaii). Each map transcribes the complete
source document: letter tables with case pairs, diacritic and
digraph rows, punctuation rules, and the letter-numeral tables
(Armenian, Coptic), with position-dependent values and unencodable
source behaviors documented in the metadata notes.

Verification: interscript-ts parse gate 417/417 over maps/ + libs/;
221/221 embedded tests pass through the ts runtime.
@ronaldtse
ronaldtse merged commit ff1674f into main Nov 8, 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