- Generated per-codepoint widths from kitty's rules (regional indicators, East Asian Wide/Fullwidth and wide emoji 2; marks, Cf, other default-ignorables, Cc, Cs and noncharacters 0; everything else 1) instead of mirroring unicode-width, reading emoji-sequences.txt for wide emoji and presentation bases.
- Measured a cluster as its first codepoint's width: U+FE0F widens a one-cell emoji presentation base, U+FE0E narrows a two-cell one, and Thai/Lao AM widen a one-cell base; joined codepoints add nothing.
- Added is_emoji_presentation_base and simple_width, and widened the width fast path to InCB consonants and pictographs.
- Replaced the unicode-width parity tests with kitty rule-order, variation selector and simple-run tests; verified exact against kitty's compiled tables for every scalar and 200k random strings.
- Bumped the version to 2.0.0.