platform/upstream/libHarfBuzzSharp.git
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...

11 years agoSkip over multiple variation selectors in a row
Behdad Esfahbod [Fri, 7 Jun 2013 00:17:32 +0000 (20:17 -0400)]
Skip over multiple variation selectors in a row

11 years agoFix misc warnings reported by cppcheck
Behdad Esfahbod [Mon, 10 Jun 2013 18:39:51 +0000 (14:39 -0400)]
Fix misc warnings reported by cppcheck

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

11 years agoFix PKG_CHECK_MODULES usage
Behdad Esfahbod [Mon, 10 Jun 2013 17:56:51 +0000 (13:56 -0400)]
Fix PKG_CHECK_MODULES usage

Oops.

Bug 65246 - Fix build without graphite2

11 years agoFix PKG_CHECK_MODULES usage
Behdad Esfahbod [Thu, 6 Jun 2013 22:57:15 +0000 (18:57 -0400)]
Fix PKG_CHECK_MODULES usage

Bug 65246 - Fix build without graphite2

If we don't provide ACTION-IF-NOT-FOUND, configure aborts if it can't
find the libraries.  We handle that ourselves so we don't want the
macro to abort.

11 years agoMinor
Behdad Esfahbod [Thu, 6 Jun 2013 21:16:01 +0000 (17:16 -0400)]
Minor

11 years agoutil/ansi-print.cc: Use fallback implementation for lround on MSVC
Chun-wei Fan [Mon, 3 Jun 2013 09:55:29 +0000 (17:55 +0800)]
util/ansi-print.cc: Use fallback implementation for lround on MSVC

Unfortuately Visual Studio (still) does not support the C99 function
lround, so provide a fallback implementation for it.

11 years agoFix build for C89 compilers
Behdad Esfahbod [Mon, 3 Jun 2013 22:39:14 +0000 (18:39 -0400)]
Fix build for C89 compilers

11 years agoRemove unnecessary stdint.h include
Behdad Esfahbod [Mon, 3 Jun 2013 22:36:26 +0000 (18:36 -0400)]
Remove unnecessary stdint.h include

11 years agohb-uniscribe.cc: Re-enable build under Visual Studio
Chun-wei Fan [Mon, 3 Jun 2013 09:49:37 +0000 (17:49 +0800)]
hb-uniscribe.cc: Re-enable build under Visual Studio

-Declare hinstLib at the top of block
-Fix the definitions of the typedefs of ScriptItemizeOpenType,
 ScriptShapeOpenType and ScriptPlaceOpenType

11 years agoFix ChangeLog regen
Behdad Esfahbod [Thu, 30 May 2013 22:04:24 +0000 (18:04 -0400)]
Fix ChangeLog regen

11 years agoUpdate TODO
Behdad Esfahbod [Wed, 29 May 2013 19:30:54 +0000 (15:30 -0400)]
Update TODO

11 years agoFix test build
Behdad Esfahbod [Tue, 28 May 2013 21:34:37 +0000 (17:34 -0400)]
Fix test build

11 years agoMinor
Behdad Esfahbod [Tue, 28 May 2013 21:33:16 +0000 (17:33 -0400)]
Minor

11 years ago0.9.18
Behdad Esfahbod [Tue, 28 May 2013 21:28:59 +0000 (17:28 -0400)]
0.9.18

11 years agoFix dist
Behdad Esfahbod [Tue, 28 May 2013 21:23:56 +0000 (17:23 -0400)]
Fix dist

11 years agoGenerate harfbuzz-icu.pc
Behdad Esfahbod [Tue, 28 May 2013 21:18:30 +0000 (17:18 -0400)]
Generate harfbuzz-icu.pc

Currently it only works with ICU that has .pc files.  I'll
wait till someone complains before fixing it for icu-config
systems.

11 years agoBuild hb-icu into libharfbuzz-icu.so
Behdad Esfahbod [Tue, 28 May 2013 19:27:40 +0000 (15:27 -0400)]
Build hb-icu into libharfbuzz-icu.so

11 years agoMinor
Behdad Esfahbod [Tue, 28 May 2013 19:25:06 +0000 (15:25 -0400)]
Minor

11 years agoBug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
Behdad Esfahbod [Tue, 28 May 2013 17:10:51 +0000 (13:10 -0400)]
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP

Fallback to older API if OpenType variants are not available.

11 years agoAdd --with-cairo
Behdad Esfahbod [Mon, 27 May 2013 23:43:48 +0000 (19:43 -0400)]
Add --with-cairo

11 years agoAdd --with-freetype
Behdad Esfahbod [Mon, 27 May 2013 23:33:36 +0000 (19:33 -0400)]
Add --with-freetype

Defaults to auto.

11 years agoDefault glib to auto again
Behdad Esfahbod [Mon, 27 May 2013 23:30:48 +0000 (19:30 -0400)]
Default glib to auto again

11 years agoAdd --with-coretext
Behdad Esfahbod [Mon, 27 May 2013 23:29:09 +0000 (19:29 -0400)]
Add --with-coretext

Defaults to no.

11 years agoAdd --with-uniscribe
Behdad Esfahbod [Mon, 27 May 2013 23:27:43 +0000 (19:27 -0400)]
Add --with-uniscribe

Defaults to no.

11 years agoDisable UCDN if glib is available
Behdad Esfahbod [Mon, 27 May 2013 23:10:33 +0000 (19:10 -0400)]
Disable UCDN if glib is available

We only want UCDN if we don't have any other Unicode provider.
I'm going to remove ICU from the list of default Unicode providers
as part of moving hb-icu into its own library.  As such, the only
providers will be UCDN and glib.

11 years agoMinor
Behdad Esfahbod [Mon, 27 May 2013 23:09:50 +0000 (19:09 -0400)]
Minor

11 years agoDisable icu_le shaper
Behdad Esfahbod [Mon, 27 May 2013 23:06:50 +0000 (19:06 -0400)]
Disable icu_le shaper

Will add a way to enable it later.

11 years agoRemove icu-config fallback for icu_le shaper
Behdad Esfahbod [Mon, 27 May 2013 23:05:23 +0000 (19:05 -0400)]
Remove icu-config fallback for icu_le shaper

Bug 64878 - compile error with ICU but not ICU

11 years agoBug 65053 - Add configure option to enable/disable ICU support
Behdad Esfahbod [Mon, 27 May 2013 23:04:40 +0000 (19:04 -0400)]
Bug 65053 - Add configure option to enable/disable ICU support

11 years agoDisable hb-old shaper
Behdad Esfahbod [Mon, 27 May 2013 22:54:30 +0000 (18:54 -0400)]
Disable hb-old shaper

Will add proper way to enable it later.

11 years agoBug 65054 - Add configure option to enable/disable Graphite2
Behdad Esfahbod [Mon, 27 May 2013 22:47:58 +0000 (18:47 -0400)]
Bug 65054 - Add configure option to enable/disable Graphite2

Add --with-graphite2.  Defaults to off.

11 years agoRemove hb-icu dependency from hb-icu-le shaper
Behdad Esfahbod [Mon, 27 May 2013 22:24:56 +0000 (18:24 -0400)]
Remove hb-icu dependency from hb-icu-le shaper

11 years agoDon't zero advance of mark-non-mark ligatures
Behdad Esfahbod [Mon, 27 May 2013 18:48:34 +0000 (14:48 -0400)]
Don't zero advance of mark-non-mark ligatures

If there's a mark ligating forward with non-mark, they were
inheriting the GC of the mark and later get advance-zeroed.
Don't do that if there's any non-mark glyph in the ligature.

Sample test: U+1780,U+17D2,U+179F with Kh-Metal-Chrieng.ttf

Also:
Bug 58922 - Issue with mark advance zeroing in generic shaper

11 years ago[icu_le] Support non-BMP text
Behdad Esfahbod [Fri, 24 May 2013 19:28:11 +0000 (15:28 -0400)]
[icu_le] Support non-BMP text

11 years ago[icu_le] A bit better scaling
Behdad Esfahbod [Thu, 23 May 2013 21:05:39 +0000 (17:05 -0400)]
[icu_le] A bit better scaling

11 years agoMerge commit '9d9e72e94e7914f82ce62a304e7242f79c13edaf'
Behdad Esfahbod [Thu, 23 May 2013 19:54:52 +0000 (15:54 -0400)]
Merge commit '9d9e72e94e7914f82ce62a304e7242f79c13edaf'

11 years ago[icu_le] Fix scaling
Behdad Esfahbod [Thu, 23 May 2013 19:43:02 +0000 (15:43 -0400)]
[icu_le] Fix scaling

Seems to work...

11 years agoCopy stdint.h boilerplate to ucdn
Behdad Esfahbod [Tue, 21 May 2013 21:22:13 +0000 (17:22 -0400)]
Copy stdint.h boilerplate to ucdn

11 years ago0.9.17
Behdad Esfahbod [Mon, 20 May 2013 13:23:58 +0000 (09:23 -0400)]
0.9.17

11 years agoMinor refactoring
Behdad Esfahbod [Mon, 20 May 2013 13:18:52 +0000 (09:18 -0400)]
Minor refactoring

11 years agoArabic mark width-zeroing regression
Behdad Esfahbod [Mon, 20 May 2013 13:11:35 +0000 (09:11 -0400)]
Arabic mark width-zeroing regression

Mozilla Bug 873902 - Display Arabic text with diacritics is bad
https://bugzilla.mozilla.org/show_bug.cgi?id=873902

11 years agoBug 64476 - Typo in hb_set_t.get_min()
Behdad Esfahbod [Tue, 14 May 2013 19:30:55 +0000 (15:30 -0400)]
Bug 64476 - Typo in hb_set_t.get_min()

Fixes previous commit's test.

11 years ago[test] Add test for hb_set_get_min() bug
Behdad Esfahbod [Tue, 14 May 2013 19:30:17 +0000 (15:30 -0400)]
[test] Add test for hb_set_get_min() bug

Failing now.

Bug 64476 - Typo in hb_set_t.get_min()

11 years ago[OTLayout] Use is_inplace() when flipping buffers
Behdad Esfahbod [Fri, 3 May 2013 22:10:10 +0000 (18:10 -0400)]
[OTLayout] Use is_inplace() when flipping buffers

11 years ago[OTLayout] Merge / templateize apply_string()
Behdad Esfahbod [Fri, 3 May 2013 21:49:44 +0000 (17:49 -0400)]
[OTLayout] Merge / templateize apply_string()

11 years ago[OTLayout] Minor
Behdad Esfahbod [Fri, 3 May 2013 21:34:29 +0000 (17:34 -0400)]
[OTLayout] Minor

11 years ago[OTLayout] Minor
Behdad Esfahbod [Fri, 3 May 2013 21:33:16 +0000 (17:33 -0400)]
[OTLayout] Minor

11 years ago[OTLayout] Add is_inplace() method to GSUB
Behdad Esfahbod [Wed, 24 Apr 2013 20:42:05 +0000 (16:42 -0400)]
[OTLayout] Add is_inplace() method to GSUB

11 years ago[OTLayout] Refactor a bit more
Behdad Esfahbod [Thu, 2 May 2013 22:52:24 +0000 (18:52 -0400)]
[OTLayout] Refactor a bit more

11 years agoMove code around
Behdad Esfahbod [Thu, 2 May 2013 22:18:24 +0000 (18:18 -0400)]
Move code around

11 years ago[OTLayout] Add hb_ot_layout_lookup_accelerator_t
Behdad Esfahbod [Thu, 2 May 2013 22:06:51 +0000 (18:06 -0400)]
[OTLayout] Add hb_ot_layout_lookup_accelerator_t

11 years ago[OTLayout] Add note about collect_glyphs() and recursive lookups
Behdad Esfahbod [Sat, 4 May 2013 20:01:20 +0000 (16:01 -0400)]
[OTLayout] Add note about collect_glyphs() and recursive lookups

11 years agoAdd U+061C ARABIC LETTER MARK to Default_Ignorable
Behdad Esfahbod [Fri, 3 May 2013 18:45:04 +0000 (14:45 -0400)]
Add U+061C ARABIC LETTER MARK to Default_Ignorable

11 years ago[OTLayout] Make MultipleSubst in-place for sequences of len=1
Behdad Esfahbod [Thu, 2 May 2013 18:44:45 +0000 (14:44 -0400)]
[OTLayout] Make MultipleSubst in-place for sequences of len=1

11 years ago[OTLayout] Whitespace
Behdad Esfahbod [Thu, 2 May 2013 19:27:53 +0000 (15:27 -0400)]
[OTLayout] Whitespace

11 years ago[OTLayout] Minor refactoring
Behdad Esfahbod [Thu, 2 May 2013 19:16:59 +0000 (15:16 -0400)]
[OTLayout] Minor refactoring

11 years agoMinor
Behdad Esfahbod [Thu, 2 May 2013 18:41:39 +0000 (14:41 -0400)]
Minor

11 years agoMinor
Behdad Esfahbod [Thu, 2 May 2013 18:29:32 +0000 (14:29 -0400)]
Minor

11 years agoMinor
Behdad Esfahbod [Thu, 2 May 2013 18:25:09 +0000 (14:25 -0400)]
Minor

11 years agoMinor
Behdad Esfahbod [Thu, 2 May 2013 17:59:46 +0000 (13:59 -0400)]
Minor

11 years agoRenamed DEBUG to something else
Behdad Esfahbod [Tue, 30 Apr 2013 15:34:00 +0000 (11:34 -0400)]
Renamed DEBUG to something else

Some infrastructures use DEBUG as a generic symbol.

11 years agoFix icu linking by requesting the library searchpath from icu-config
Behdad Esfahbod [Mon, 29 Apr 2013 17:48:49 +0000 (13:48 -0400)]
Fix icu linking by requesting the library searchpath from icu-config

This is not ideal as we don't like -L/usr/lib in our linker line.
But this is only relevant to environments that don't have pkgconfig
files for ICU...

https://github.com/behdad/harfbuzz/pull/2

11 years agoMake both old autoconf and new automake happy
Behdad Esfahbod [Mon, 29 Apr 2013 17:40:52 +0000 (13:40 -0400)]
Make both old autoconf and new automake happy

Sigh..

Bug 64039 - undefined macro AM_PROG_AR

11 years agoMinor
Behdad Esfahbod [Sun, 21 Apr 2013 19:39:25 +0000 (15:39 -0400)]
Minor

11 years agoMinor renaming
Behdad Esfahbod [Sun, 21 Apr 2013 19:21:49 +0000 (15:21 -0400)]
Minor renaming

11 years agoRename "pause" to "stage"
Behdad Esfahbod [Sun, 21 Apr 2013 19:19:38 +0000 (15:19 -0400)]
Rename "pause" to "stage"

The compile() function is starting to become illegible...

11 years agoMinor
Behdad Esfahbod [Sun, 21 Apr 2013 19:13:57 +0000 (15:13 -0400)]
Minor

11 years agoRemove unneeded code
Behdad Esfahbod [Sun, 21 Apr 2013 19:13:08 +0000 (15:13 -0400)]
Remove unneeded code

We always push a pause at the end such that each lookup falls in exactly
one pause_map_t.  Now, only if I can find a better name for that...

11 years ago0.9.16
Behdad Esfahbod [Fri, 19 Apr 2013 20:32:06 +0000 (16:32 -0400)]
0.9.16

11 years agoHand-code bsearch in the hot inner loop.
Behdad Esfahbod [Fri, 19 Apr 2013 18:33:17 +0000 (14:33 -0400)]
Hand-code bsearch in the hot inner loop.

Saves another 3 / 4 percent with Amiri.

11 years agoMinor
Behdad Esfahbod [Thu, 18 Apr 2013 23:04:12 +0000 (19:04 -0400)]
Minor

11 years ago[util] Unbreak --show-text / --show-unicode
Behdad Esfahbod [Thu, 18 Apr 2013 03:49:54 +0000 (23:49 -0400)]
[util] Unbreak --show-text / --show-unicode

11 years agoObssesive optimization
Behdad Esfahbod [Thu, 18 Apr 2013 03:04:03 +0000 (23:04 -0400)]
Obssesive optimization

Not measurable by any means, but conceptually this is faster since
the mask matches more often than the digest.

11 years agoRemove HB_DEBUG_SET_DIGESTS
Behdad Esfahbod [Wed, 17 Apr 2013 23:01:49 +0000 (19:01 -0400)]
Remove HB_DEBUG_SET_DIGESTS

Wasn't correct with the new combiner.  I should add it back somehow,
but for now the digests seem to be working very well...

11 years agoRemove hb_set_digest_common_bits_t
Behdad Esfahbod [Wed, 17 Apr 2013 22:20:44 +0000 (18:20 -0400)]
Remove hb_set_digest_common_bits_t

Was unused.

11 years agoImprove hb_set_digest_t
Behdad Esfahbod [Wed, 17 Apr 2013 22:19:21 +0000 (18:19 -0400)]
Improve hb_set_digest_t

Make Amiri rendering faster a whopping 45% again!  Speends up pretty
much anything I tested.

11 years agoTemplatize hb_set_digest_lowest_bits_t filter
Behdad Esfahbod [Wed, 17 Apr 2013 21:45:39 +0000 (17:45 -0400)]
Templatize hb_set_digest_lowest_bits_t filter

11 years agoAdd comment
Behdad Esfahbod [Wed, 17 Apr 2013 21:26:56 +0000 (17:26 -0400)]
Add comment

11 years agoAdd hb_set_digest_combiner_t
Behdad Esfahbod [Wed, 17 Apr 2013 03:21:38 +0000 (23:21 -0400)]
Add hb_set_digest_combiner_t

11 years agoSpeed up Speed up hb_set_digest_common_bits_t calcs
Behdad Esfahbod [Wed, 17 Apr 2013 03:13:10 +0000 (23:13 -0400)]
Speed up Speed up hb_set_digest_common_bits_t calcs

Correctly this time.

11 years agoInitialize set digests
Behdad Esfahbod [Wed, 17 Apr 2013 01:50:33 +0000 (21:50 -0400)]
Initialize set digests

We were not initializing the digests properly and as a result they were
being initialized to zero, making digest1 to never do any useful work.

Speeds up Amiri shaping significantly.

11 years agoPrint set-digest hit ratio with HB_DEBUG_SET_DIGESTS
Behdad Esfahbod [Wed, 17 Apr 2013 01:57:21 +0000 (21:57 -0400)]
Print set-digest hit ratio with HB_DEBUG_SET_DIGESTS

11 years agoRevert "Speed up hb_set_digest_common_bits_t calcs"
Behdad Esfahbod [Wed, 17 Apr 2013 01:47:40 +0000 (21:47 -0400)]
Revert "Speed up hb_set_digest_common_bits_t calcs"

This reverts commit 3d1b66a35e1ab3be19335705f310b278d76d66d2.

The calculations were buggy.  It's not worth optimizing right now.

11 years agoFix typo in unused macro
Behdad Esfahbod [Tue, 16 Apr 2013 20:11:09 +0000 (16:11 -0400)]
Fix typo in unused macro

11 years ago[util] Add --num-iterations
Behdad Esfahbod [Thu, 11 Apr 2013 20:31:01 +0000 (16:31 -0400)]
[util] Add --num-iterations

Useful for profiling shapers.

11 years ago[old] Speed up Unicode properties access in hb-old shaper
Behdad Esfahbod [Thu, 11 Apr 2013 18:45:58 +0000 (14:45 -0400)]
[old] Speed up Unicode properties access in hb-old shaper

Just to be sure it's not punishing the old shaper performance
numbers.  Doesn't seem to have a measurable effect.

11 years ago[git.mk] Update
Behdad Esfahbod [Thu, 11 Apr 2013 17:38:37 +0000 (13:38 -0400)]
[git.mk] Update

11 years agoMinor
Behdad Esfahbod [Tue, 9 Apr 2013 18:06:54 +0000 (14:06 -0400)]
Minor

11 years ago0.9.15
Behdad Esfahbod [Fri, 5 Apr 2013 22:02:43 +0000 (18:02 -0400)]
0.9.15

11 years ago[git.mk] Ignore ar-lib
Behdad Esfahbod [Fri, 5 Apr 2013 21:58:25 +0000 (17:58 -0400)]
[git.mk] Ignore ar-lib

11 years agoAdd note re Hangul shaping
Behdad Esfahbod [Fri, 5 Apr 2013 16:38:58 +0000 (12:38 -0400)]
Add note re Hangul shaping

11 years agoDon't compose Hangul jamo
Behdad Esfahbod [Fri, 5 Apr 2013 03:06:54 +0000 (23:06 -0400)]
Don't compose Hangul jamo

See thread "an issue regarding discrepancy between Korean and Unicode
standards" on the mailing list for the rationale.  In short: Uniscribe
doesn't, so fonts are designed to work without it.

11 years agoPut back MemoryBarrier fallback implementation on MINGW32
Behdad Esfahbod [Thu, 4 Apr 2013 19:02:03 +0000 (15:02 -0400)]
Put back MemoryBarrier fallback implementation on MINGW32

This almost reverts 2761e8a632c14353f286708898be8df6ebad7407,
but only if under MINGW32, so it doesn't affect MSVC.

11 years ago[Arabic] Zero marks by GDEF, not Unicode category
Behdad Esfahbod [Thu, 4 Apr 2013 18:25:36 +0000 (14:25 -0400)]
[Arabic] Zero marks by GDEF, not Unicode category

Testing shows that this is closer to what Uniscribe does.

Reported by Khaled Hosny:

"""
commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8
...
This commit is causing a regression with Amiri, the string “هَٰذ” with
Uniscribe and HarfBuzz before this commit, gives:

[uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926]

But now it gives:

[uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926]

i.e. uni0670.medi is zeroed though it has a base glyph GDEF class.
"""

The test case is U+0647,U+064E,U+0670,U+0630 with Amiri.

11 years agoBug 63107 - FTBFS on ppc64: symbols marked with 'D' on powerpc64 instead
Behdad Esfahbod [Thu, 4 Apr 2013 16:06:46 +0000 (12:06 -0400)]
Bug 63107 - FTBFS on ppc64: symbols marked with 'D' on powerpc64 instead

11 years ago[graphite2] Don't crash if language is not set
Behdad Esfahbod [Tue, 2 Apr 2013 18:08:53 +0000 (14:08 -0400)]
[graphite2] Don't crash if language is not set

https://bugs.webkit.org/show_bug.cgi?id=113796

11 years agoMinor
Behdad Esfahbod [Fri, 22 Mar 2013 01:02:16 +0000 (21:02 -0400)]
Minor