commit | 05672d8d19afbbfada4f027ac1a9f27228bc78a6 | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Sat Nov 17 18:05:42 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Sat Nov 17 18:05:42 2018 |
tree | 04ecf10d764f11bcafb3fcc80f00a430a2836ea8 | |
parent | 73d5072962e627df7c97d407c72c7fcc75dc7252 [diff] |
Normalize Katakana to Hiragana in ScriptRunIterator This patch normalizes Katakana to Hiragana in ScriptData, and thus in ScriptRunIterator. There are 3 ICU script code for kana; USCRIPT_HIRAGANA, USCRIPT_KATAKANA, and USCRIPT_KATAKANA_OR_HIRAGANA. However, OpenType has only one 'kana' for all these 3 script codes. When shaping, HarfBuzz handles the normalization. However, Blink splits the incoming string by the ICU scripts. Splitting these 3 scripts is not useful but consumes CPU and memory. By normalizing in ScriptRunIterator, all types of Kana are in single run. timeToFirstContentfulPaint:layout shows ~3% improvements https://pinpoint-dot-chromeperf.appspot.com/job/10d9760fe40000 though bink_perf.layout does not show much differences https://pinpoint-dot-chromeperf.appspot.com/job/14f19c00140000 This is probably because Katakana characters are not used much in `japanese-kokoro-insert` (written in ~100 years ago,) while they are more used in modern pages. Bug: 636993 Change-Id: If692bb575f2232b8fca10cd2ea87e3022debdf05 Reviewed-on: https://chromium-review.googlesource.com/c/1337650 Commit-Queue: Koji Ishii <kojii@chromium.org> Reviewed-by: Dominik Röttsches <drott@chromium.org> Cr-Commit-Position: refs/heads/master@{#609119}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .