summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/harfbuzz/src/harfbuzz-thai.c
Commit message (Collapse)AuthorAgeFilesLines
* Harfbuzz-thai - fix buffer overflow when setting item attributesJohn Tapsell2012-04-021-2/+7
| | | | | | | Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com> Change-Id: I92de853b57e2e06211193a2b30ac7c308374c961 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Harfbuzz-thai: Hide ZWJ and ZWNJ characters and show Inherited charactersJohn Tapsell2012-02-231-3/+8
| | | | | | | | | | | | | | | | | | | | | | | Thai is not supposed to have ZWJ and ZWNJ characters or any other of the Inherited Unicode Scripts (http://www.verisigninc.com/assets/idn-inherited-unicode-script.pdf) - they don't have a mapping to the thai encoding tis620 which libthai requires. However it is an unfortunate fact that there are many websites etc that liberally place these ZWJ and ZWNJ characters throughout thai text to force word boundaries, so we must also deal with them. We deal with all Inherited characters by mapping them to the invalid code ~0 in tis620 encoding, following what libthai does internally in its own tis620 encoding functions, and then replacing this character with the original unicode and setting dontPrint to true to hide the ZWJ and ZWNJ characters. Includes a unit test to check the behaviour. Change-Id: I1ee8388b650cb5fc61bcb265efb9843c73f327ac Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Harfbuzz-thai - When calling HB_OpenTypePosition we must set doLogClusters ↵John Tapsell2012-02-231-1/+1
| | | | | | | | | | | | | to true for thai This bug resulted in word wrapping not working correctly for thai. Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> (cherry picked from commit 7495f2c7c55917a98c903547858be923028b7827) Change-Id: Iedb26a10078c6cc4e90d090176ab63499293d69d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Harfbuzz-thai - fix to_tis620 function for latin charactersJohn Tapsell2012-02-231-1/+1
| | | | | | | | | | | | This was an obvious typo - a missing "else" in a group of if statements. Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> (cherry picked from commit a784bdcabe895ab927cbc28118d427c6e932b9fc) Change-Id: Icbd458034e42cf7f2af33c1ecc9b0e4f1aa8724a Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix isolated Thai SARA AM handlingJiang Jiang2012-01-171-7/+26
| | | | | | | | | | | | | | Since 5e07a3ac58f93bd5e09715d43b58c20950c2befa Thai text layout is handled by libthai to special case of the SARA AM. It didn't handle isolated SARA AM. This patch fixed it and added detailed explaination on the special case. The dotted circle should be shown rather than hidden. Add an test case to verify that with Waree. Change-Id: I4967715627cbe15f5a3e9ab3e3844420ab541aed Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix HarfBuzz Thai character SARA AM handlingJiang Jiang2011-11-241-28/+339
| | | | | | | | | | | | | | This patch is contributed by Thanomsub Noppaburana from libthai. It added a special thai shaping function to handle SARA AM character for fonts without OpenType rules to support it, like Nokia Pure Text AS. With modification to logClusters assignment to make sure that QTextLine::glyphRuns(int from, int length) returns correct glyphs. Task-number: QTBUG-21206 Change-Id: I5a78ee1ab2b4c874c7d0df17d4ee6d264ed5a790 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+111
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12