platform/upstream/libHarfBuzzSharp.git
10 years agoUpdate git.mk
Behdad Esfahbod [Mon, 30 Sep 2013 17:48:19 +0000 (13:48 -0400)]
Update git.mk

10 years agoCleanup Android.mk
M1cha [Mon, 30 Sep 2013 08:55:52 +0000 (08:55 +0000)]
Cleanup Android.mk
- use common src files for both static and shared libs
- remove empty LOCAL_SHARED_LIBRARIES

10 years agoMerge pull request #4 from amarullz/master
Behdad Esfahbod [Sun, 29 Sep 2013 20:31:58 +0000 (13:31 -0700)]
Merge pull request #4 from amarullz/master

Add build static library on Android.mk

10 years agoFix hiding of default_ignorables if font doesn't have space glyph
Behdad Esfahbod [Fri, 27 Sep 2013 21:06:29 +0000 (17:06 -0400)]
Fix hiding of default_ignorables if font doesn't have space glyph

Based on patch from Jonathan Kew.  See discussion on the list.

10 years agoAdd build static library on Android.mk
Ahmad Amarullah [Fri, 27 Sep 2013 12:04:32 +0000 (19:04 +0700)]
Add build static library on Android.mk

Use UCDN instead ICU
HAVE Freetype

10 years ago[util] Don't use g_array_unref()
Behdad Esfahbod [Thu, 26 Sep 2013 22:26:43 +0000 (18:26 -0400)]
[util] Don't use g_array_unref()

Was introduced in glib 2.22.

10 years agoBug 68990 - test-common fails on i686-linux
Behdad Esfahbod [Thu, 26 Sep 2013 20:48:42 +0000 (16:48 -0400)]
Bug 68990 - test-common fails on i686-linux

Fix use-after-end-of-scope.

10 years ago0.9.21
Behdad Esfahbod [Tue, 17 Sep 2013 02:07:22 +0000 (22:07 -0400)]
0.9.21

10 years agoImprove library checks
Behdad Esfahbod [Tue, 17 Sep 2013 01:49:56 +0000 (21:49 -0400)]
Improve library checks

10 years ago[graphite2] Fix include
Behdad Esfahbod [Sat, 14 Sep 2013 00:36:43 +0000 (20:36 -0400)]
[graphite2] Fix include

10 years ago[introspection] hb-ft annotations
Behdad Esfahbod [Sat, 14 Sep 2013 00:34:42 +0000 (20:34 -0400)]
[introspection] hb-ft annotations

10 years ago[introspection] Annotate Unicode / font callbacks
Behdad Esfahbod [Sat, 14 Sep 2013 00:23:51 +0000 (20:23 -0400)]
[introspection] Annotate Unicode / font callbacks

Should move these out of the public header...

We're "clean" of introspection warnings now.  Remaining ones are about
graphite2 / freetype types not being introspectable.

10 years agoMove code around
Behdad Esfahbod [Sat, 14 Sep 2013 00:17:42 +0000 (20:17 -0400)]
Move code around

I believe I didn't break anything...

10 years agoRemove contrib/ Python hand-coded binding stuff
Behdad Esfahbod [Fri, 13 Sep 2013 00:56:32 +0000 (20:56 -0400)]
Remove contrib/ Python hand-coded binding stuff

gobject-introspection coming together.

10 years ago[introspection] Add sample.py
Behdad Esfahbod [Fri, 13 Sep 2013 00:53:07 +0000 (20:53 -0400)]
[introspection] Add sample.py

10 years ago[introspection] Make hb_blob_create() introspectable
Behdad Esfahbod [Fri, 13 Sep 2013 00:52:20 +0000 (20:52 -0400)]
[introspection] Make hb_blob_create() introspectable

10 years ago[introspection] Disable constructors for now
Behdad Esfahbod [Thu, 12 Sep 2013 21:14:33 +0000 (17:14 -0400)]
[introspection] Disable constructors for now

Since our types are not associated with their methods, marking
constructors makes them inaccessible from bindings.  Undo for now.

10 years ago[otlayout] Add structs for JSTF table
Behdad Esfahbod [Mon, 9 Sep 2013 19:43:10 +0000 (15:43 -0400)]
[otlayout] Add structs for JSTF table

10 years ago[docs/introspection] Some more annotations
Behdad Esfahbod [Fri, 6 Sep 2013 21:35:57 +0000 (17:35 -0400)]
[docs/introspection] Some more annotations

10 years ago[docs/introspection] More annotations
Behdad Esfahbod [Fri, 6 Sep 2013 19:40:22 +0000 (15:40 -0400)]
[docs/introspection] More annotations

10 years ago[introspection] Work around g-i limitation with hb_language_t
Behdad Esfahbod [Fri, 6 Sep 2013 20:57:01 +0000 (16:57 -0400)]
[introspection] Work around g-i limitation with hb_language_t

10 years agoMinor change to hb_language_t
Behdad Esfahbod [Fri, 6 Sep 2013 20:20:21 +0000 (16:20 -0400)]
Minor change to hb_language_t

Let me know if this breaks anyone's anything.

10 years agoAnnotate hb-set a bit; add HB_SET_VALUE_INVALID
Behdad Esfahbod [Fri, 6 Sep 2013 19:29:22 +0000 (15:29 -0400)]
Annotate hb-set a bit; add HB_SET_VALUE_INVALID

10 years agoWhitespace
Behdad Esfahbod [Fri, 6 Sep 2013 19:13:16 +0000 (15:13 -0400)]
Whitespace

10 years ago[gtk-doc] Pass source files to gtk-doc
Behdad Esfahbod [Thu, 5 Sep 2013 20:40:37 +0000 (16:40 -0400)]
[gtk-doc] Pass source files to gtk-doc

10 years ago[docs] Document a few symbols
Behdad Esfahbod [Wed, 4 Sep 2013 22:28:39 +0000 (18:28 -0400)]
[docs] Document a few symbols

10 years ago[introspection] Pass source files to scanner
Behdad Esfahbod [Thu, 5 Sep 2013 20:00:47 +0000 (16:00 -0400)]
[introspection] Pass source files to scanner

10 years agoRevert "Round when scaling values"
Behdad Esfahbod [Wed, 4 Sep 2013 00:11:01 +0000 (20:11 -0400)]
Revert "Round when scaling values"

This reverts commit 10f964623f003c70f6bdd33423420abda3820ce0.

See discussion with Khaled Hosny on mailing list.  In short, since
integers here can be negative, and int division is "round towards
zero", proper rounding should take sign into account.  Just skip
doing it again, has been serving us well before.

10 years agoMinor
Behdad Esfahbod [Wed, 4 Sep 2013 00:09:14 +0000 (20:09 -0400)]
Minor

10 years ago[gtk-doc] Remove hack for deleting tmpl/
Behdad Esfahbod [Wed, 4 Sep 2013 00:01:40 +0000 (20:01 -0400)]
[gtk-doc] Remove hack for deleting tmpl/

This was introduced in 029f46bde7e39094d3decb46525e91a97c5cc02c
and was in fact a bug in gtk-doc master:

  https://bugzilla.gnome.org/show_bug.cgi?id=707426

10 years ago[build] Fix EXTRA_DIST
Behdad Esfahbod [Wed, 4 Sep 2013 00:00:16 +0000 (20:00 -0400)]
[build] Fix EXTRA_DIST

I was under the impression that EXTRA_DISTs will happen regardless of
automake conditionals.  Apparently I was wrong.

10 years ago[gtk-doc] Copy makefile
Behdad Esfahbod [Tue, 3 Sep 2013 22:11:47 +0000 (18:11 -0400)]
[gtk-doc] Copy makefile

10 years ago[TODO] Update
Behdad Esfahbod [Fri, 30 Aug 2013 23:45:13 +0000 (19:45 -0400)]
[TODO] Update

10 years ago[gtk-doc] Generate version.xml from configure
Behdad Esfahbod [Fri, 30 Aug 2013 23:38:47 +0000 (19:38 -0400)]
[gtk-doc] Generate version.xml from configure

Even though this is not what autoconf recommends, it reduces doc
rebuilds when version doesn't change but configure changes.

10 years agoRemove hb-old and hb-icu-le test shapers
Behdad Esfahbod [Fri, 30 Aug 2013 23:32:10 +0000 (19:32 -0400)]
Remove hb-old and hb-icu-le test shapers

They've been disabled for a while and no one cared.  We're past
the point to need them for testing, and if we ever need to
resurrect them again, well, they're in git graveyard somewhere.

10 years ago[g-i] Rename library from harfbuzz to HarfBuzz
Behdad Esfahbod [Fri, 30 Aug 2013 22:41:33 +0000 (18:41 -0400)]
[g-i] Rename library from harfbuzz to HarfBuzz

10 years ago0.9.20
Behdad Esfahbod [Thu, 29 Aug 2013 19:53:33 +0000 (15:53 -0400)]
0.9.20

10 years agoDist with gobject and introspection enabled
Behdad Esfahbod [Thu, 29 Aug 2013 19:56:32 +0000 (15:56 -0400)]
Dist with gobject and introspection enabled

10 years ago[gtk-doc] Fix build without gobject
Behdad Esfahbod [Thu, 29 Aug 2013 19:56:16 +0000 (15:56 -0400)]
[gtk-doc] Fix build without gobject

10 years agoRemove gtk-doc.make
Behdad Esfahbod [Wed, 28 Aug 2013 17:43:54 +0000 (13:43 -0400)]
Remove gtk-doc.make

It's copied by gtk-docize.

10 years agoFix build
Behdad Esfahbod [Wed, 28 Aug 2013 17:43:35 +0000 (13:43 -0400)]
Fix build

10 years agoTurn hb-gobject, and introspection off by default
Behdad Esfahbod [Wed, 28 Aug 2013 16:52:55 +0000 (12:52 -0400)]
Turn hb-gobject, and introspection off by default

Also enable bootstrapping without them.

10 years agoHookup harfbuzz-gobject to introspection
Behdad Esfahbod [Tue, 27 Aug 2013 01:26:24 +0000 (21:26 -0400)]
Hookup harfbuzz-gobject to introspection

10 years ago[gobject] Flesh out hb-gobject
Behdad Esfahbod [Tue, 27 Aug 2013 00:56:58 +0000 (20:56 -0400)]
[gobject] Flesh out hb-gobject

Move it to new harfbuzz-gobject library.  Implement enums and
boxed types for object-types.  Still have to do boxed types for
value types.

10 years ago[introspection] Enable gobject-introspection again
Behdad Esfahbod [Thu, 22 Aug 2013 23:03:21 +0000 (19:03 -0400)]
[introspection] Enable gobject-introspection again

10 years ago[uniscribe] Fixed build with wide chars
Behdad Esfahbod [Wed, 28 Aug 2013 16:35:13 +0000 (12:35 -0400)]
[uniscribe] Fixed build with wide chars

https://github.com/blinkseb/harfbuzz/commit/f65dafa4138e1fb4395bf646fa33bb01a86a7e9a

10 years agoAdd hb-deprecated.h, and rename a couple enum values
Behdad Esfahbod [Tue, 27 Aug 2013 00:39:00 +0000 (20:39 -0400)]
Add hb-deprecated.h, and rename a couple enum values

Add deprecated alias for old name.

10 years agoSeparate face source code from font
Behdad Esfahbod [Mon, 26 Aug 2013 22:49:07 +0000 (18:49 -0400)]
Separate face source code from font

Makes documentation / introspection easier.

10 years agoImprove check-includes.sh
Behdad Esfahbod [Tue, 27 Aug 2013 01:15:29 +0000 (21:15 -0400)]
Improve check-includes.sh

10 years agoMinor
Behdad Esfahbod [Mon, 26 Aug 2013 23:20:38 +0000 (19:20 -0400)]
Minor

10 years ago[gtk-doc] Fix maintainer-clean rule
Behdad Esfahbod [Mon, 26 Aug 2013 22:50:12 +0000 (18:50 -0400)]
[gtk-doc] Fix maintainer-clean rule

10 years agoFix possible snprintf OOM
Behdad Esfahbod [Tue, 27 Aug 2013 15:44:09 +0000 (11:44 -0400)]
Fix possible snprintf OOM

https://bugzilla.redhat.com/show_bug.cgi?id=1001645

10 years ago[check-*] Minor
Behdad Esfahbod [Mon, 26 Aug 2013 22:46:21 +0000 (18:46 -0400)]
[check-*] Minor

10 years ago[gtk-doc] Remove tmpl in make maintainer-clean
Behdad Esfahbod [Mon, 26 Aug 2013 22:11:07 +0000 (18:11 -0400)]
[gtk-doc] Remove tmpl in make maintainer-clean

10 years ago[git.mk] Update
Behdad Esfahbod [Mon, 26 Aug 2013 21:58:25 +0000 (17:58 -0400)]
[git.mk] Update

10 years agoAdd HB_DISABLE_DEPRECATED
Behdad Esfahbod [Mon, 26 Aug 2013 21:49:36 +0000 (17:49 -0400)]
Add HB_DISABLE_DEPRECATED

That moment that you have to accept that you made API mistakes...

10 years ago[travis] Add graphite2
Behdad Esfahbod [Mon, 26 Aug 2013 21:34:18 +0000 (17:34 -0400)]
[travis] Add graphite2

10 years ago[gtk-doc] Initial setup
Anthony Carrico [Sun, 24 Feb 2013 18:00:33 +0000 (13:00 -0500)]
[gtk-doc] Initial setup

Initial setup of gtk-doc. Straight forward setup following the gtk-doc
instructions. Ignore some troublesome types in src/hb-gobject.h. To
build use "./autogen.sh --enable-gtk-doc" then "make". Docs are in
harfbuzz/docs/reference/html/index.html.

10 years ago[uniscribe] Ask Uniscribe to return shaping results in logical order
Behdad Esfahbod [Wed, 21 Aug 2013 21:22:21 +0000 (17:22 -0400)]
[uniscribe] Ask Uniscribe to return shaping results in logical order

See discussion on the list in the thread "Arabic presentation forms
and the uniscribe backend".

Based on patch from Jonathan Kew.

10 years ago[uniscribe] Print run info
Behdad Esfahbod [Tue, 20 Aug 2013 17:22:21 +0000 (13:22 -0400)]
[uniscribe] Print run info

10 years ago[coretext] Fully support user features
Behdad Esfahbod [Mon, 12 Aug 2013 04:33:28 +0000 (00:33 -0400)]
[coretext] Fully support user features

Based on patch from Jonathan Kew and data from Apple.

It's not working correctly though, and I suspect I'm hitting a bug in
CoreText.  When I do this:

hb-shape /Library/Fonts/Zapfino.ttf ZapfinoZapfino --shaper coretext \
--features=-liga

I expect both ligatures to turn off, but only the second one does:

[Z_a_p_f_i_n_o=0+2333|Z=7+395|a=8+285|p_f=9+433|i=11+181|n=12+261|o=13+250]

whereas if I disable 'dlig' instead of 'liga', both are turned off.
Smells...

Doesn't resolve conflicting feature settings.

10 years agoClean up list of Unicode scripts
Behdad Esfahbod [Fri, 9 Aug 2013 18:34:54 +0000 (14:34 -0400)]
Clean up list of Unicode scripts

Rename HB_SCRIPT_CANADIAN_ABORIGINAL to HB_SCRIPT_CANADIAN_SYLLABICS
and a macro for the old name.

10 years agoUpdate TODO
Behdad Esfahbod [Fri, 9 Aug 2013 13:41:48 +0000 (09:41 -0400)]
Update TODO

10 years agoFix compiler warning
Behdad Esfahbod [Fri, 9 Aug 2013 13:40:59 +0000 (09:40 -0400)]
Fix compiler warning

10 years agoRound when scaling values
Behdad Esfahbod [Fri, 9 Aug 2013 13:40:01 +0000 (09:40 -0400)]
Round when scaling values

Doesn't matter for most users since they should be working in a
fixed sub-pixel scale anyway (ie. 22.10, 26.6, 16.16, etc).

10 years agoMinor
Behdad Esfahbod [Fri, 9 Aug 2013 13:35:10 +0000 (09:35 -0400)]
Minor

10 years agoMinor
Behdad Esfahbod [Fri, 9 Aug 2013 13:31:06 +0000 (09:31 -0400)]
Minor

10 years agoRemove vrt2, vkrn, vpal, and valt from default vertical features
Behdad Esfahbod [Fri, 9 Aug 2013 13:28:32 +0000 (09:28 -0400)]
Remove vrt2, vkrn, vpal, and valt from default vertical features

See thread by John Dagget on the list.

10 years ago[coretext] Start adding support for features
Behdad Esfahbod [Thu, 8 Aug 2013 01:08:54 +0000 (21:08 -0400)]
[coretext] Start adding support for features

Unlike AAT, looks like with CoreText very few OT features can be mapped.
:(

10 years agoRevert "[Indic] don't apply 'calt' by default in Indic shaper"
Behdad Esfahbod [Wed, 7 Aug 2013 21:58:25 +0000 (17:58 -0400)]
Revert "[Indic] don't apply 'calt' by default in Indic shaper"

This reverts commit 952121007c6f6f374e4cf1734ebcfe2d2d71c71c.

In light of discussion on the mailing list...

10 years ago[uniscribe] Support feature ranges
Behdad Esfahbod [Wed, 7 Aug 2013 21:26:13 +0000 (17:26 -0400)]
[uniscribe] Support feature ranges

As Khaled pointed out, right now setting any features, turns kern
and possibly other features off.

10 years agoMore git.mk updates
Behdad Esfahbod [Tue, 6 Aug 2013 20:53:56 +0000 (16:53 -0400)]
More git.mk updates

10 years agoUpdate git.mk
Behdad Esfahbod [Tue, 6 Aug 2013 19:19:23 +0000 (15:19 -0400)]
Update git.mk

10 years ago[uniscribe] Half-support user features
Behdad Esfahbod [Tue, 6 Aug 2013 18:45:36 +0000 (14:45 -0400)]
[uniscribe] Half-support user features

Turning features on globally works now.

10 years agoMinor
Behdad Esfahbod [Tue, 6 Aug 2013 18:28:12 +0000 (14:28 -0400)]
Minor

10 years ago[Indic] don't apply 'calt' by default in Indic shaper
Jonathan Kew [Tue, 6 Aug 2013 14:36:14 +0000 (10:36 -0400)]
[Indic] don't apply 'calt' by default in Indic shaper

10 years agoFix glyph closure with class==0
Behdad Esfahbod [Tue, 6 Aug 2013 02:44:18 +0000 (22:44 -0400)]
Fix glyph closure with class==0

As reported by cibu.  Untested.

10 years agoDon't apply 'dlig' by default
Behdad Esfahbod [Sun, 4 Aug 2013 20:55:21 +0000 (16:55 -0400)]
Don't apply 'dlig' by default

Windows 8 doesn't, and the spec will be fixed.

10 years agoMinor
Behdad Esfahbod [Tue, 30 Jul 2013 22:25:39 +0000 (18:25 -0400)]
Minor

10 years ago[CoreText] Don't leak the CTLine object (and everything that hangs off it)
Behdad Esfahbod [Tue, 30 Jul 2013 18:48:23 +0000 (14:48 -0400)]
[CoreText] Don't leak the CTLine object (and everything that hangs off it)

Patch from Jonathan Kew.

10 years agoFix glyph name printing in hb-ot-shape-closure
Behdad Esfahbod [Mon, 29 Jul 2013 18:34:40 +0000 (14:34 -0400)]
Fix glyph name printing in hb-ot-shape-closure

11 years agoApply 'mark' to Myanmar
Behdad Esfahbod [Fri, 26 Jul 2013 14:33:06 +0000 (10:33 -0400)]
Apply 'mark' to Myanmar

According to Andrew Glass: "The issue with Myanmar <mark> feature was
fixed via a servicing patch as soon as Windows 8 became available."

11 years agoFix glyph closure recursion!
Behdad Esfahbod [Mon, 22 Jul 2013 23:07:53 +0000 (19:07 -0400)]
Fix glyph closure recursion!

11 years agoMinor
Behdad Esfahbod [Mon, 22 Jul 2013 23:02:29 +0000 (19:02 -0400)]
Minor

11 years ago[uniscribe] Sanitize font file
Behdad Esfahbod [Mon, 22 Jul 2013 14:57:05 +0000 (10:57 -0400)]
[uniscribe] Sanitize font file

11 years ago[uniscribe] Handle TTC when renaming font
Behdad Esfahbod [Mon, 22 Jul 2013 14:52:12 +0000 (10:52 -0400)]
[uniscribe] Handle TTC when renaming font

11 years ago[uniscribe] Use OT::* types
Behdad Esfahbod [Sun, 21 Jul 2013 21:05:02 +0000 (17:05 -0400)]
[uniscribe] Use OT::* types

11 years ago[uniscribe] Move name generation into separate function
Behdad Esfahbod [Sun, 21 Jul 2013 20:22:10 +0000 (16:22 -0400)]
[uniscribe] Move name generation into separate function

11 years ago[uniscribe] Use blob to pass data around
Behdad Esfahbod [Sun, 21 Jul 2013 20:16:35 +0000 (16:16 -0400)]
[uniscribe] Use blob to pass data around

11 years ago[uniscribe] Use unique font name
Behdad Esfahbod [Sun, 21 Jul 2013 20:06:49 +0000 (16:06 -0400)]
[uniscribe] Use unique font name

When installing per-process fonts using AddFontMemResourceEx(),
if a font with the same family name is already installed, sometimes
that one gets used.  Which is problematic for us.  As such, we
now mangle the font to install a new 'name' table with a unique
name, which we then use to choose the font.

Patch from Jonathan Kew.

11 years agoFollowup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22
Behdad Esfahbod [Thu, 18 Jul 2013 20:29:50 +0000 (16:29 -0400)]
Followup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22

During GSUB, if a ligation happens, subsequence context input matching
matches the new indexing.  During GPOS however, the indices never
change.  So just go one by one.

Fixes 'dist' positioning with mmrtext.ttf and the following sequence:

  U+1014,U+1039,U+1011,U+1014,U+1039,U+1011,U+1014,U+1039,U+1011

Reported by Jonathan Kew.

11 years ago0.9.19
Behdad Esfahbod [Tue, 16 Jul 2013 20:06:27 +0000 (16:06 -0400)]
0.9.19

11 years ago[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
Behdad Esfahbod [Thu, 11 Jul 2013 18:56:45 +0000 (14:56 -0400)]
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0

Based on patch from Jonathan Kew, as reported on the mailing list.

11 years ago[uniscribe] Fix buffer allocation
Behdad Esfahbod [Mon, 8 Jul 2013 14:37:15 +0000 (08:37 -0600)]
[uniscribe] Fix buffer allocation

Email from Jonathan Kew:

My cygwin build kept aborting on certain test words when run with the
uniscribe backend. Turned out this was caused by a bug in the allocation
of scratch buffers in hb-uniscribe.cc.

Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line

  ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size);

but it failed to account for this in the computation of glyphs_size
(the number of glyphs for which scratch buffer space is available),
with the result that the vis_clusters array ends up overrunning the
end of the scratch buffer and clobbering the beginning of the buffer's
info[].

AFAICS, the vis_attr array is not actually used, so the simple fix is
to remove the line that allocates it. (If/when we -do- need to use
vis_attr for something, we'll need to add another term to the earlier
calculation of glyphs_size.)

With this patch, the uniscribe backend runs reliably again.

JK

11 years ago[Indic] Add Javanese config
Behdad Esfahbod [Thu, 27 Jun 2013 00:57:58 +0000 (20:57 -0400)]
[Indic] Add Javanese config

We should add for other scripts too, send me the virama codepoint
and script name...

11 years ago[OT] Collect requiredFeature only if features are not provided
Behdad Esfahbod [Thu, 27 Jun 2013 00:14:18 +0000 (20:14 -0400)]
[OT] Collect requiredFeature only if features are not provided

As per Werner's report on the list.

11 years agoFix contextual lookup recursion indexing
Behdad Esfahbod [Wed, 26 Jun 2013 23:46:55 +0000 (19:46 -0400)]
Fix contextual lookup recursion indexing

See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.

11 years agoMerge pull request #3 from LogosBible/master
Behdad Esfahbod [Sat, 22 Jun 2013 15:04:05 +0000 (08:04 -0700)]
Merge pull request #3 from LogosBible/master

Destroy lookups before blobs.

11 years agoDestroy lookups before blobs.
Bradley Grainger [Fri, 21 Jun 2013 22:02:18 +0000 (15:02 -0700)]
Destroy lookups before blobs.

'layout->gsub' may depend on data owned by 'layout->gsub_blob', so it must
be deinitialized before the blob is destroyed.

11 years agoIf variation selector is not consumed by cmap, pass it on to GSUB
Behdad Esfahbod [Thu, 13 Jun 2013 23:01:07 +0000 (19:01 -0400)]
If variation selector is not consumed by cmap, pass it on to GSUB

This changes the semantics of get_glyph() callback and expect that
callbacks return false if the requested variant is not available, and
then we will call them back with variation_selector=0 and will retain
the glyph for the selector in the glyph stream.

Apparently most Mongolian fonts implement the Mongolian Variation
Selectors using GSUB, not cmap.

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

Note that this doesn't fix the Mongolian shaping yet, because the way
that's implemented is that the, say, 'init' feature ligates the letter
and the variation-selector.  However, since currently the variation
selector doesn't have the 'init' mask on, it will not be matched...