tinymux/utf
Stephen Dennis 8bfc165e97 Regenerate UTF-8 DFA tables; fix table-gen toolchain on macOS
First run of the utf/ table pipeline on macOS (a shakedown).  Toolchain
fixes plus a fresh regeneration of the one stale table:

- utf/Makefile.in: probe for -liconv so buildFiles links on macOS/BSD
  (iconv is in libc on glibc but a separate library here).
- utf/unicode_tables_c_preamble.h: define LIBMUX_API as
  visibility("default") in the non-Windows fallback, so a regenerated
  unicode_tables_c.h still exports the C tables from libmux.so.  Without
  it engine.so failed to dlopen ("cannot load engine").
- tr_gcb: regenerated from GraphemeBreakProperty.txt (Unicode 16.0.0),
  208 -> 207 states.  The committed copy was built from a tr_gcb.txt
  carrying a stray stderr line and was the only stale table; every other
  table regenerates byte-identical.
- color_ops.rl duplicates the GCB table dimensions for the freestanding
  rv64 build; update to 207/2914 and document the coupling (an off-by-one
  there corrupts every grapheme lookup).

Validated: grapheme clustering correct (strlen of two CJK ideographs is
2) and the full smoke suite passes 1061/0 on the freshly generated
tables.  The rv64 JIT softlib must be rebuilt to pick up its regenerated
unicode_tables.c.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 12:32:08 -05:00
..
.gitignore Add Unicode character classification via DFA pipeline 2026-03-09 23:14:14 -06:00
allkeys.txt Add Layer 4 collation data pipeline (Phase 1) 2026-03-05 10:26:12 -07:00
autoconf.h Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
autoconf.h.in Add autoconf 2.68 for utf and convert/omega. 2011-11-04 19:52:27 -07:00
autoconf_win.h Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
build_win.cmd Implement NFC normalization with DFA-based Unicode property lookups 2026-03-05 09:03:15 -07:00
buildFiles.cpp Full Unicode case mapping (SpecialCasing.txt) + standalone co_* test harness 2026-03-15 02:12:58 -06:00
cl_8859_1.txt Add iso8859-1 restriction set for names. 2007-12-23 23:25:27 -08:00
cl_8859_2.txt Add cl_8859_2.txt. 2008-03-22 21:47:43 -07:00
cl_ascii.txt Update UTF-8 to ASCII and Latin-1 down conversions. 2008-04-12 09:39:13 -07:00
cl_AttrName.txt Add accented letters from ISO 8859-2 to cl_AttrName.txt, cl_AttrNameInitial.txt, cl_ObjectName.txt, and cl_PlayerName.txt classes. 2008-03-22 21:47:51 -07:00
cl_AttrNameInitial.txt Add accented letters from ISO 8859-2 to cl_AttrName.txt, cl_AttrNameInitial.txt, cl_ObjectName.txt, and cl_PlayerName.txt classes. 2008-03-22 21:47:51 -07:00
cl_ExtPict.txt Add grapheme cluster segmentation for Layer 3 (UAX #29) 2026-03-05 09:40:26 -07:00
cl_hangul.txt Add Hangul set of characters for allowance in object names. 2013-03-04 14:14:12 -07:00
cl_hiragana.txt Add Hiragama, Katakana, and Kanji set of characters for allowance in object names. 2013-09-10 20:54:01 -06:00
cl_kanji.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
cl_katakana.txt Add Hiragama, Katakana, and Kanji set of characters for allowance in object names. 2013-09-10 20:54:01 -06:00
cl_ObjectName.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
cl_PlayerName.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
cl_Printable.txt Accept combining characters and normalize input to NFC 2026-03-05 09:17:48 -07:00
classify.cpp Build: Generate all unicode table files from utf/ pipeline directly 2026-03-16 16:41:36 -06:00
CompositionExclusions.txt Add DFA-based NFC composition pair lookup (new mapping type) 2026-03-05 08:40:30 -07:00
configure Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
configure.ac Bump version from 2.13 to 2.14.0.0 across the codebase 2026-03-07 22:10:38 -07:00
ConvertUTF.cpp -- Remove hardtabs and trailing spaces. 2007-05-07 21:17:38 -07:00
ConvertUTF.h - Remove hardtabs and trailing spaces. 2007-05-07 21:17:09 -07:00
DerivedNormalizationProps.txt Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
EastAsianWidth.txt Update Unicode support from 10.0 to 16.0 2026-03-05 08:15:46 -07:00
emoji-data.txt Add grapheme cluster segmentation for Layer 3 (UAX #29) 2026-03-05 09:40:26 -07:00
gen_ccc.pl Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
gen_ccc_nfcqc.pl Combine CCC and NFC_QC into single DFA for NFC hot path 2026-03-24 18:58:12 -06:00
gen_compose.pl Add DFA-based NFC composition pair lookup (new mapping type) 2026-03-05 08:40:30 -07:00
gen_ducet.pl Add UCA runtime comparison function (Phase 3). 2026-03-05 11:07:03 -07:00
gen_extpict.pl Add grapheme cluster segmentation for Layer 3 (UAX #29) 2026-03-05 09:40:26 -07:00
gen_gcb.pl Add grapheme cluster segmentation for Layer 3 (UAX #29) 2026-03-05 09:40:26 -07:00
gen_nfcqc.pl Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
gen_nfd.pl Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
GraphemeBreakProperty.txt Add grapheme cluster segmentation for Layer 3 (UAX #29) 2026-03-05 09:40:26 -07:00
integers.cpp Build: Generate all unicode table files from utf/ pipeline directly 2026-03-16 16:41:36 -06:00
Makefile Regenerate UTF-8 DFA tables; fix table-gen toolchain on macOS 2026-06-04 12:32:08 -05:00
Makefile.in Regenerate UTF-8 DFA tables; fix table-gen toolchain on macOS 2026-06-04 12:32:08 -05:00
pairs.cpp Port three Unicode fixes from libutf: pairs DFA, collation, NFC tiebreaker 2026-03-24 18:21:11 -06:00
smutil.cpp Win32: Fix Windows build — DLL exports, C/C++ linkage, MSVC compat 2026-03-16 17:42:02 -06:00
smutil.h Add DUCET DFA tables for Unicode collation (Phase 2) 2026-03-05 10:37:36 -07:00
SpecialCasing.txt Full Unicode case mapping (SpecialCasing.txt) + standalone co_* test harness 2026-03-15 02:12:58 -06:00
strings.cpp Build: Regenerate tables after Win32 linkage fixes; drop OTT cpp guard 2026-03-16 17:49:24 -06:00
tr_ccc.txt Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
tr_Color.txt Color: Redesign PUA 24-bit encoding from per-channel deltas to fixed 2-code-point 2026-03-16 14:56:12 -06:00
tr_compose.txt Add DFA-based NFC composition pair lookup (new mapping type) 2026-03-05 08:40:30 -07:00
tr_ducet.txt Add Layer 4 collation data pipeline (Phase 1) 2026-03-05 10:26:12 -07:00
tr_ducet_contract.txt Add DUCET DFA tables for Unicode collation (Phase 2) 2026-03-05 10:37:36 -07:00
tr_foldmatch.txt Rename tr_foldpunc.txt to tr_foldmatch.txt because folding will not just include punctuation. 2009-12-06 15:44:45 -08:00
tr_gcb.txt Regenerate UTF-8 DFA tables; fix table-gen toolchain on macOS 2026-06-04 12:32:08 -05:00
tr_nfcqc.txt Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
tr_nfd.txt Add NFC normalization data tables for Layer 2 2026-03-05 08:50:55 -07:00
tr_utf8_ascii.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
tr_utf8_cp437.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
tr_utf8_latin1.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
tr_utf8_latin2.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
unicode_tables_c_postamble.h Build: Fix MSVC compat — extern "C" guards, drop CO_CS_NORMAL casts 2026-03-16 17:54:48 -06:00
unicode_tables_c_preamble.h Regenerate UTF-8 DFA tables; fix table-gen toolchain on macOS 2026-06-04 12:32:08 -05:00
UnicodeData.txt Update Unicode support from 10.0 to 16.0 2026-03-05 08:15:46 -07:00
UnicodeHan.txt Update to Unicode 6.0. 2014-09-15 17:52:29 -06:00
utf8_FirstByte.c Build: Generate all unicode table files from utf/ pipeline directly 2026-03-16 16:41:36 -06:00