1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# HG changeset patch
# User André Bargull <andre.bargull@gmail.com>
# Date 1699346749 0
# Node ID 0e7eefda24250041d7f008cc77dfa79045afa791
# Parent 1e39572cb1c784039a9e14b8c36396c66cf58a5d
Bug 1859752 - Part 9: Add new line break classes. r=platform-i18n-reviewers,dminor
Use `CLASS_CHARACTER` because that matches the previous character class for most
characters which are now part of the new character classes.
Depends on D192733
Differential Revision: https://phabricator.services.mozilla.com/D192734
diff --git intl/lwbrk/LineBreaker.cpp intl/lwbrk/LineBreaker.cpp
--- intl/lwbrk/LineBreaker.cpp
+++ intl/lwbrk/LineBreaker.cpp
@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB
/* JT = 34, [JT] */ CLASS_CHARACTER,
/* JV = 35, [JV] */ CLASS_CHARACTER,
/* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER,
/* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
/* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER,
/* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
/* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
/* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER};
+ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
+ /* AKSARA = 43, [AK] */ CLASS_CHARACTER,
+ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER,
+ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER,
+ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER,
+ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER,
+ };
static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),
"Gecko vs ICU LineBreak class mismatch");
auto cls = GetLineBreakClass(u);
MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
// Overrides based on rules for the different line-break values given in
|