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
Copy file name to clipboardExpand all lines: docs/userguide/dev/rules_update.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -212,6 +212,16 @@ The rule updates are done first for ICU4C, and then ported (code changes) or mov
212
212
213
213
Updating the test with new or revised rules requires changing the test source code, in `icu4c/source/test/intltest/rbbitst.cpp`. Look for the classes RBBICharMonkey, RBBIWordMonkey, RBBISentMonkey and RBBILineMonkey. The body of each class tracks the corresponding UAX-14 or UAX-29 specifications in defining the character classes and break rules.
214
214
215
+
The rules, as well as the partition of the code space used to generate the random sample strings,
216
+
are defined by regular expressions and Unicode sets generated by GenerateBreakTest in the
217
+
Unicode tools, which runs as part of MakeUnicodeFiles.
218
+
Copy the relevant lines from `Generated/UCD/17.0.0/extra/*BreakTest.cpp.txt` into `rbbitst.cpp`.
219
+
When developing changes to the line breaking algorithms that require changes to property assignments,
220
+
the generated rules and partition may need to be adjusted for testing.
221
+
However, the updated rules should only be merged into ICU once the property changes have actually been
222
+
made in the UCD and imported into ICU, at which point the unmodified generated partition and rules can
223
+
be used in `rbbitst.cpp`.
224
+
215
225
After making changes, as a final check, let the test run for an extended period of time, on the order of several hours.
216
226
Run it from a terminal, and just interrupt it (Ctrl-C) when it's gone long enough.
0 commit comments