You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Line iterators take a strictness level and a writing system in place
of the CJ switch. muniSegmentIterator_EnableCjAsIdeographic(iterator, true) becomes muniSegmentIterator_SetLineBreakStrictness(iterator, muni_lineBreakLoose), which also adds loose's other breaks. muniSegmentIterator_IsCjAsIdeographicEnabled is removed; muniSegmentIterator_GetLineBreakStrictness reports the level. A new
iterator breaks as before
(#221).
Added
Line iterators break at the levels of CSS's line-break property:
strict, normal (the default), loose and anywhere, set with muniSegmentIterator_SetLineBreakStrictness before the first break. muniSegmentIterator_SetWritingSystem with muni_writingChineseJapanese turns on the rules CSS keeps for Chinese
and Japanese. Loose breaks before small kana and the prolonged sound
mark (Line_Break=CJ), before iteration marks and between characters
such as two ellipses; anywhere breaks between any two grapheme
clusters. Normal and strict keep CJ with what precedes it, as the CSS
Text 3 Candidate Recommendation Draft of 14 August 2026 says; ICU4C's
normal rules and earlier CSS drafts break before CJ in normal. The
default level breaks as before, at nearly the same cost (0.15% more
instructions on the bench)
(#221).
muniConvertCase takes two more languages. muni_caseGreek
uppercases Greek as it is written in capitals: accents and breathings
go, a dialytika stays and appears where a dropped accent kept two
vowels apart ("Μάιος" to "ΜΑΪΟΣ"), the disjunctive eta "ή" keeps its
tonos when it stands alone, and an iota subscript becomes a capital
iota; it follows ICU's Greek rules. muni_caseArmenian uppercases
the ligature "և" to "ԵՎ" and titlecases it to "Եվ". Lowercasing,
titlecasing (but the ligature) and folding follow the default rules
(#223).
Changed
The results version is 2: calls to muniConvertCase with muni_caseGreek or muni_caseArmenian, which were refused, now give
results. No result of the earlier languages changes, so stored keys
and skeletons stay valid; a caller that stores the results version
sees it move once
(#223).