|
|
Created:
4 years, 2 months ago by jungshik at Google Modified:
4 years, 2 months ago CC:
blink-reviews, chromium-reviews Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionPrepare to upgrade ICU to 58 part 2
U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's
43 in ICU 58/Unicode 9.
Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave
identically whether or not 'word-break: break-all' is in effect.
BUG=637001
TEST=TextBreakIterator.cpp is compiled without an error with ICU 58.
R=kojii@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
Committed: https://crrev.com/e60b571faa3f14dd9119a6792dccf12f8bf80192
Cr-Commit-Position: refs/heads/master@{#426860}
Patch Set 1 #
Messages
Total messages: 16 (8 generated)
jshin@chromium.org changed reviewers: + drott@chromium.org
drott@chromium.org and kojii@, can you take a look?
non-owner lgtm, the table provides *additional* break opportunities when break-all. Emoji should have break opportunities (correct?) so false looks reasonable to me. drott@, can you rs, or shall we ask eae@ to have a look? I think either leviw or eae reviewed this code.
jshin@, you're saying that these classes do not introduce any extra line breaking opportunities, and emoji line breaking would "fallback to normal line breaking"? "Three new classes (Emoji Base, Emoji Modifier, and ZWJ) need not be subject to the rules for 'word-break: break-all'." In that case LGTM.
Thanks, drott@ and kojii@, for reviewing/approval. On 2016/10/21 15:01:23, drott wrote: > jshin@, you're saying that these classes do not introduce any extra line > breaking opportunities, and emoji line breaking would "fallback to normal line > breaking"? Yes. I don't expect EB, EM and ZWJ to behave differently under 'word-break: break-all'. 'EB' should behave like ID except when it's followed by EM and that's exactly what UAX 14 says (see below an excerpt from UAX 14). Because it's like ID and ID behaves the same way whether it's under 'wb-break-all' or not, we don't need a separate entry for EB. Below is an ID line for wb:break-all array. { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // ID 'EM' and 'ZWJ' should change its behavior under 'w-b: break-all', either because they'd appear in the middle of a grapheme cluster and a grapheme cluster should never be broken into two lines in any circumstance. ----------------- EB: Emoji Base (B/A) This class includes characters whose appearance can be modified by a subsequent emoji modifier in an emoji modifier sequence. This class directly corresponds to the Emoji_Modifier_Base property as defined in Section 1.4.4 Emoji Modifiers of [UTR51]. Breaks within emoji modifier sequences are prevented by rule LB30b. In other contexts, characters of class EB behave similarly to ideographs of class ID, with break opportunities before and after. EM: Emoji Modifier (A) This class includes characters that can be used to modify the appearance of a preceding emoji in an emoji modifier sequence. This class directly corresponds to the Emoji_Modifier property as defined in Section 1.4.4 Emoji Modifiers of [UTR51]. Breaks within emoji modifier sequences are prevented by rule LB30b. ------------------------- > "Three new classes (Emoji Base, Emoji Modifier, > and ZWJ) need not be subject to the rules for 'word-break: break-all'." > In that case LGTM.
Description was changed from ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) need not be subject to the rules for 'word-break: break-all'. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org ========== to ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org ==========
Description was changed from ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org ========== to ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org ==========
The CQ bit was checked by jshin@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by jshin@chromium.org
Description was changed from ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org ========== to ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel ==========
The CQ bit was checked by jshin@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #1 (id:1)
Message was sent while issue was closed.
Description was changed from ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel ========== to ========== Prepare to upgrade ICU to 58 part 2 U_LB_COUNT is assumed to be 40 in Blink line breaking code, but it's 43 in ICU 58/Unicode 9. Three new classes (Emoji Base, Emoji Modifier, and ZWJ) should behave identically whether or not 'word-break: break-all' is in effect. BUG=637001 TEST=TextBreakIterator.cpp is compiled without an error with ICU 58. R=kojii@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Committed: https://crrev.com/e60b571faa3f14dd9119a6792dccf12f8bf80192 Cr-Commit-Position: refs/heads/master@{#426860} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/e60b571faa3f14dd9119a6792dccf12f8bf80192 Cr-Commit-Position: refs/heads/master@{#426860} |