summaryrefslogtreecommitdiffstats
path: root/third_party/harfbuzz/src
diff options
context:
space:
mode:
authorjshin@chromium.org <jshin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-12 21:39:06 +0000
committerjshin@chromium.org <jshin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-12 21:39:06 +0000
commit6e0398f34b4569e2b7f913fc7b20c73c242ab08b (patch)
tree8c7bbd92e87a950a4e1535bc91b6f3362f293c11 /third_party/harfbuzz/src
parentf35725926137f7c80e943cf527a60ca1b8bd4cca (diff)
downloadchromium_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.cpp4
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 {