HarfBuzz text shaping engine
Go to file
Behdad Esfahbod a8cf7b43fa [Indic] Futher adjust ZWJ handling in Indic-like shapers
After the Ngapi hackfest work, we were assuming that fonts
won't use presentation features to choose specific forms
(eg. conjuncts).  As such, we were using auto-joiner behavior
for such features.  It proved to be troublesome as many fonts
used presentation forms ('pres') for example to form conjuncts,
which need to be disabled when a ZWJ is inserted.

Two examples:

	U+0D2F,U+200D,U+0D4D,U+0D2F with kartika.ttf
	U+0995,U+09CD,U+200D,U+09B7 with vrinda.ttf

What we do now is to never do magic to ZWJ during GSUB's main input
match for Indic-style shapers.  Note that backtrack/lookahead are still
matched liberally, as is GPOS.  This seems to be an acceptable
compromise.

As to the bug that initially started this work, that one needs to
be fixed differently:

  Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not
  provide same results as Windows8
  https://bugs.freedesktop.org/show_bug.cgi?id=58714

New numbers:

BENGALI: 353689 out of 354188 tests passed. 499 failed (0.140886%)
DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%)
KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1048102 out of 1048334 tests passed. 232 failed (0.0221304%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
2013-03-19 06:22:06 -04:00
contrib Minor 2012-08-12 17:11:27 -04:00
m4 Add ax_pthread.m4 2012-10-02 14:46:34 -04:00
src [Indic] Futher adjust ZWJ handling in Indic-like shapers 2013-03-19 06:22:06 -04:00
test [Indic] Futher adjust ZWJ handling in Indic-like shapers 2013-03-19 06:22:06 -04:00
util Disable automatic segment properties guessing 2013-02-15 07:51:47 -05:00
.travis.yml [travis] Install libicu 2013-03-11 20:18:49 -04:00
AUTHORS Bump version to 0.9.2 2012-08-10 14:50:05 -04:00
Android.mk [buffer] Move buffer serialization code to a new file 2013-02-27 18:49:05 -05:00
COPYING Improve license information 2012-10-28 21:26:19 -07:00
Makefile.am [git.mk] Update to commit efc928222179576270c5910416d8055dd7a97896 2013-03-04 21:27:06 -05:00
NEWS 0.9.13 2013-02-25 18:19:20 -05:00
README Update README, etc 2011-05-25 15:40:49 -04:00
THANKS Bump version to 0.9.2 2012-08-10 14:50:05 -04:00
TODO Remove TODO items that don't make sense 2013-02-15 09:33:10 -05:00
autogen.sh Revert "[Indic] Import ragel-generated Indic machine in git" 2013-02-06 23:43:27 -05:00
configure.ac Allow disabling ICU by using a fake icu-config script 2013-03-19 05:22:27 -04:00
git.mk [git.mk] Update to commit efc928222179576270c5910416d8055dd7a97896 2013-03-04 21:27:06 -05:00
harfbuzz.doap Minor 2011-05-27 04:14:42 -04:00
harfbuzz.pc.in Add build system 2009-11-02 16:34:59 -05:00

README

This is HarfBuzz, a text shaping library.

For bug reports, mailing list, and other information please visit:

  http://harfbuzz.org/

For license information, see the file COPYING.