HarfBuzz text shaping engine
Go to file
Behdad Esfahbod 828e109c7a [indic] Fix-up zero-context matching
commit b5a0f69e47
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Oct 17 18:04:23 2013 +0200

    [indic] Pass zero-context=false to would_substitute for newer scripts

    For scripts without an old/new spec distinction, use zero-context=false.
    This changes behavior in Sinhala / Khmer, but doesn't seem to regress.
    This will be useful and used in Javanese.

The *intention* was to change zero-context from true to false for scripts that
don't have old-vs-new specs.  However, checking the code, looks like we
essentially change zero-context to always be true; ie. we only changed things
for old-spec, and we broke them.  That's what causes this bug:

  https://bugs.freedesktop.org/show_bug.cgi?id=76705

The root of the bug is here:

  /* Use zero-context would_substitute() matching for new-spec of the main
   * Indic scripts, but not for old-spec or scripts with one spec only. */
  bool zero_context = indic_plan->config->has_old_spec || !indic_plan->is_old_spec;

Note that is_old_spec itself is:

  indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000000FF) != '2');

It's easy to show that zero_context is now always true.  What we really meant was:

  bool zero_context = indic_plan->config->has_old_spec && !indic_plan->is_old_spec;

Ie, "&&" instead of "||".  We made this change supposedly to make Javanese
work.  But apparently we got it working regardless!  So I'm going to fix this
to only change the logic for old-spec and not touch other cases.
2014-04-18 16:53:34 -07:00
docs Yet another try to make build without gtk-doc succeed 2014-03-19 11:52:40 -07:00
m4 Add ax_pthread.m4 2012-10-02 14:46:34 -04:00
src [indic] Fix-up zero-context matching 2014-04-18 16:53:34 -07:00
test Add Khmer test for U+17DD 2014-04-10 16:27:13 -07:00
util Start fleshing out builtin font functions 2014-03-24 15:19:15 -07:00
.travis.yml [travis] Enable graphite2 2013-11-12 15:41:22 -05:00
AUTHORS Bump version to 0.9.2 2012-08-10 14:50:05 -04:00
Android.mk Cleanup Android.mk 2013-09-30 12:33:31 -04:00
COPYING Improve license information 2012-10-28 21:26:19 -07:00
Makefile.am Use AM_MISSING_PROG for ragel and git 2014-03-04 13:03:51 -08:00
NEWS 0.9.27 2014-03-18 10:07:01 -07: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 Revert "Round when scaling values" 2013-09-03 20:11:01 -04:00
autogen.sh One more fix for build without gtk-doc 2014-03-21 12:53:08 -07:00
configure.ac Require gobject-introspection 1.34.0 2014-04-10 16:03:29 -07:00
git.mk [git.mk] Update 2013-12-04 20:01:22 -05:00
harfbuzz.doap Minor 2011-05-27 04:14:42 -04: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.