Skip to content

Fix LT-21712 missing letter header for U+0493 headwords#956

Open
jasonleenaylor wants to merge 1 commit into
mainfrom
claude/goofy-germain-b88a0e
Open

Fix LT-21712 missing letter header for U+0493 headwords#956
jasonleenaylor wants to merge 1 commit into
mainfrom
claude/goofy-germain-b88a0e

Conversation

@jasonleenaylor

@jasonleenaylor jasonleenaylor commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

GetLeadChar matched the lead character against digraph and ignorable prefixes with the default String.StartsWith, which is culture-sensitive. On .NET Framework (Windows NLS) that linguistic comparison treats U+0493 (CYRILLIC SMALL LETTER GHE WITH STROKE) as equivalent to the digraph U+0433 U+030A (ghe plus combining ring above).


This change is Reviewable

GetLeadChar matched the lead character against digraph and ignorable
prefixes with the default String.StartsWith, which is culture-sensitive. On
.NET Framework (Windows NLS) that linguistic comparison treats U+0493
(CYRILLIC SMALL LETTER GHE WITH STROKE) as equivalent to the digraph
U+0433 U+030A (ghe plus combining ring above). A headword starting with
U+0493 therefore matched the primary digraph and was folded into that
digraph's letter group, leaving every such entry without its own header.

Compare the three prefix checks in GetLeadChar with StringComparison.Ordinal
so matching is by code point, not collation. ICU-backed globalization was
unaffected, which is why this reproduced only on .NET Framework.

Add a regression test asserting GetLeadChar returns U+0493 for a U+0493
headword under the affected ICU rules.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

NUnit Tests

    1 files  ±0      1 suites  ±0   8m 11s ⏱️ - 2m 24s
4 252 tests +1  4 179 ✅ +1  73 💤 ±0  0 ❌ ±0 
4 261 runs  +1  4 188 ✅ +1  73 💤 ±0  0 ❌ ±0 

Results for commit 42953d1. ± Comparison against base commit 7ebdd12.

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