diff options
author | jshin@chromium.org <jshin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-12 21:39:06 +0000 |
---|---|---|
committer | jshin@chromium.org <jshin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-12 21:39:06 +0000 |
commit | 6e0398f34b4569e2b7f913fc7b20c73c242ab08b (patch) | |
tree | 8c7bbd92e87a950a4e1535bc91b6f3362f293c11 /third_party/harfbuzz/src | |
parent | f35725926137f7c80e943cf527a60ca1b8bd4cca (diff) | |
download | chromium_src-6e0398f34b4569e2b7f913fc7b20c73c242ab08b.zip chromium_src-6e0398f34b4569e2b7f913fc7b20c73c242ab08b.tar.gz chromium_src-6e0398f34b4569e2b7f913fc7b20c73c242ab08b.tar.bz2 |
Fix two truncation bugs in harfbuzz-indic shaper.
This bugs in isMark and isLetter lead 'init' feature to be applied
even when a syllable is not at the beginning of a word.
See http://www.microsoft.com/typography/otfntdev/bengalot/features.htm
for 'init' feature application in Bengali.
It turned out that the upstream also fixed this (see https://bugs.freedesktop.org/show_bug.cgi?id=30319) exactly the same way.
Change the upstream reference to 93d8573ddcf97648983a1c1b5cdda8a3ec6d4432
in README.chromium and remove 2 patches in chromium.patch because
they're all landed in the upstream @93d8573ddcf97648
Two removed patches are:
- Fix OOB access (in Tibetan shaper) @ff0612c2e7df1b86fc
- Fix crash! (in harfbuzz-gpos.c) @81c8ef785b079980a
In addition, the following upstream fix is included by going to 93d8573ddc.
- Fix bug in contrib/harfbuzz-unicode.cc @93d8573ddcf9
Webkit bug to add a layout test for 'init' is
https://bugs.webkit.org/show_bug.cgi?id=74310
BUG=107031
TEST=With Lohit Bengali font installed (the default on CrOS devices), go to http://i18nl10n.com/fonts/beng3.html and the result should be the same as the left in the screenshot attached to the bug instead of the right. A webkit layout test will be added and will be mentioned in the bug later.
Review URL: http://codereview.chromium.org/8895014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114082 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/harfbuzz/src')
-rw-r--r-- | third_party/harfbuzz/src/harfbuzz-indic.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/third_party/harfbuzz/src/harfbuzz-indic.cpp b/third_party/harfbuzz/src/harfbuzz-indic.cpp index 4d8418b..ffe9573 100644 --- a/third_party/harfbuzz/src/harfbuzz-indic.cpp +++ b/third_party/harfbuzz/src/harfbuzz-indic.cpp @@ -37,7 +37,7 @@ static HB_Bool isLetter(HB_UChar16 ucs) FLAG(HB_Letter_Titlecase) | FLAG(HB_Letter_Modifier) | FLAG(HB_Letter_Other); - return FLAG(HB_GetUnicodeCharCategory(ucs)) & test; + return !!(FLAG(HB_GetUnicodeCharCategory(ucs)) & test); } static HB_Bool isMark(HB_UChar16 ucs) @@ -45,7 +45,7 @@ static HB_Bool isMark(HB_UChar16 ucs) const int test = FLAG(HB_Mark_NonSpacing) | FLAG(HB_Mark_SpacingCombining) | FLAG(HB_Mark_Enclosing); - return FLAG(HB_GetUnicodeCharCategory(ucs)) & test; + return !!(FLAG(HB_GetUnicodeCharCategory(ucs)) & test); } enum Form { |