platform/upstream/libHarfBuzzSharp.git
9 years agoFix Travis CI config to pass again
Ebrahim Byagowi [Thu, 7 May 2015 13:09:32 +0000 (13:09 +0000)]
Fix Travis CI config to pass again

9 years agoAdd note re OpenType 1.7 language tags
Behdad Esfahbod [Wed, 6 May 2015 07:40:31 +0000 (00:40 -0700)]
Add note re OpenType 1.7 language tags

9 years ago[minor] Remove comment about Navajo OpenType code.
Roozbeh Pournader [Wed, 6 May 2015 05:31:19 +0000 (22:31 -0700)]
[minor] Remove comment about Navajo OpenType code.

Apparently the code is already standardized:
https://www.microsoft.com/typography/otspec/languagetags.htm

9 years agoMerge pull request #102 from roozbehp/master
Behdad Esfahbod [Tue, 5 May 2015 21:49:47 +0000 (14:49 -0700)]
Merge pull request #102 from roozbehp/master

Add OpenType language tag 'NAV ' for Navajo.

9 years ago[README.python] Add package name for gobject-introspection on Ubuntu
Behdad Esfahbod [Tue, 5 May 2015 06:10:32 +0000 (23:10 -0700)]
[README.python] Add package name for gobject-introspection on Ubuntu

9 years ago[travis] Comment out gobject-introspection again
Behdad Esfahbod [Tue, 5 May 2015 06:09:51 +0000 (23:09 -0700)]
[travis] Comment out gobject-introspection again

Apparently the version on Travis is 1.32.0, while we require 1.34.0.

9 years ago[travis] Build with introspection enabled
Behdad Esfahbod [Tue, 5 May 2015 02:22:11 +0000 (19:22 -0700)]
[travis] Build with introspection enabled

9 years agoUse TRUE/FALSE instead of true/false in docs
Behdad Esfahbod [Thu, 30 Apr 2015 22:27:13 +0000 (18:27 -0400)]
Use TRUE/FALSE instead of true/false in docs

9 years agoSome attempt into initial hb-shape documentation
Khaled Hosny [Wed, 8 Jan 2014 00:28:55 +0000 (02:28 +0200)]
Some attempt into initial hb-shape documentation

Very anaemic, needs to descripe the format understood by
hb_feature_from_string() etc., but it is just start.

9 years agoNew API: hb_buffer_reverse_range()
Behdad Esfahbod [Thu, 30 Apr 2015 17:04:16 +0000 (13:04 -0400)]
New API: hb_buffer_reverse_range()

9 years agoAdd OpenType language tag 'NAV ' for Navajo.
Roozbeh Pournader [Wed, 29 Apr 2015 16:32:42 +0000 (09:32 -0700)]
Add OpenType language tag 'NAV ' for Navajo.

The code is not standardized yet, but is used in some Google fonts.

9 years agoDon't apply Arabic shaping to vertical text.
Jonathan Kew [Thu, 23 Apr 2015 11:45:02 +0000 (12:45 +0100)]
Don't apply Arabic shaping to vertical text.

9 years agoUpdate check-libstdc++ for clang
Behdad Esfahbod [Fri, 24 Apr 2015 01:56:24 +0000 (18:56 -0700)]
Update check-libstdc++ for clang

9 years ago[test] Ignor 'n' and 'i' in hb-unicode-encode
Behdad Esfahbod [Thu, 23 Apr 2015 21:32:33 +0000 (14:32 -0700)]
[test] Ignor 'n' and 'i' in hb-unicode-encode

Allows accepting uniXXXX format.

9 years ago[coretext] Oops; fix issue number for previous commit
Behdad Esfahbod [Wed, 22 Apr 2015 02:23:27 +0000 (19:23 -0700)]
[coretext] Oops; fix issue number for previous commit

9 years ago[coretext] Fix positioning with trailing whitespace
Behdad Esfahbod [Wed, 22 Apr 2015 02:21:32 +0000 (19:21 -0700)]
[coretext] Fix positioning with trailing whitespace

Fixes https://code.google.com/p/chromium/issues/detail?id=476913

9 years ago[ot-font] Accept MS Symbol cmap if nothing else found
Behdad Esfahbod [Fri, 17 Apr 2015 20:08:08 +0000 (13:08 -0700)]
[ot-font] Accept MS Symbol cmap if nothing else found

9 years agoRevert "Add MSVC pragma for UTF-8 source code"
Behdad Esfahbod [Tue, 14 Apr 2015 20:32:22 +0000 (13:32 -0700)]
Revert "Add MSVC pragma for UTF-8 source code"

This reverts commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59.

See discussion:
https://bugzilla.gnome.org/show_bug.cgi?id=747772

9 years agoWhitespace
Behdad Esfahbod [Tue, 14 Apr 2015 06:51:45 +0000 (23:51 -0700)]
Whitespace

9 years agoMerge pull request #86 from cpfair/hb-shape-output-help-improvement
Behdad Esfahbod [Tue, 14 Apr 2015 06:40:35 +0000 (23:40 -0700)]
Merge pull request #86 from cpfair/hb-shape-output-help-improvement

Improve hb-shape/hb-view's help text w.r.t. output options

9 years agoAdd MSVC pragma for UTF-8 source code
Behdad Esfahbod [Mon, 13 Apr 2015 19:27:08 +0000 (12:27 -0700)]
Add MSVC pragma for UTF-8 source code

Not sure we have any right now; motivated by this:
https://bugzilla.gnome.org/show_bug.cgi?id=747772

9 years agoMerge pull request #99 from khaledhosny/introspection-fixes2
Behdad Esfahbod [Fri, 10 Apr 2015 21:34:05 +0000 (14:34 -0700)]
Merge pull request #99 from khaledhosny/introspection-fixes2

More ntrospection fixes

9 years ago[bindings] Fix hb_buffer_get_segment_properties
Khaled Hosny [Fri, 10 Apr 2015 16:14:45 +0000 (18:14 +0200)]
[bindings] Fix hb_buffer_get_segment_properties

Annotate the output parameter.

9 years agoMerge branch 'hb-fc'
Behdad Esfahbod [Fri, 10 Apr 2015 19:21:04 +0000 (12:21 -0700)]
Merge branch 'hb-fc'

9 years agoMerge pull request #98 from KonstantinRitt/WEC2013
Behdad Esfahbod [Fri, 10 Apr 2015 19:19:57 +0000 (12:19 -0700)]
Merge pull request #98 from KonstantinRitt/WEC2013

Fix build on WEC2013

9 years ago[bindings] Fix ownership of returned hb_language_t
Khaled Hosny [Fri, 10 Apr 2015 15:49:01 +0000 (17:49 +0200)]
[bindings] Fix ownership of returned hb_language_t

It should not be freed by the caller.

9 years agoFix build on WEC2013
Konstantin Ritt [Fri, 10 Apr 2015 13:18:01 +0000 (17:18 +0400)]
Fix build on WEC2013

Based on patch from Björn Breitmeyer

9 years ago[utils] Add hb-fc-list
Behdad Esfahbod [Wed, 6 Aug 2014 20:49:51 +0000 (16:49 -0400)]
[utils] Add hb-fc-list

This is a tool that lists all fonts that can render a given string.
It uses hb_shape() to do so, and as such is aware of HarfBuzz's
normalizer.

9 years agoRelax inert checks
Behdad Esfahbod [Wed, 6 Aug 2014 19:36:41 +0000 (15:36 -0400)]
Relax inert checks

Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object.  This is not helpful as there are legitimate
usecases to do that.

We now never return the inert object unless allocation failed.

Tests are revised to reflect.

9 years ago[util/hb-view] Fix rendering with all combinations of negative scales
Behdad Esfahbod [Thu, 9 Apr 2015 22:52:26 +0000 (15:52 -0700)]
[util/hb-view] Fix rendering with all combinations of negative scales

9 years ago[util] Minor
Behdad Esfahbod [Thu, 9 Apr 2015 22:17:16 +0000 (15:17 -0700)]
[util] Minor

9 years ago[util] Accept comma as well as space when separating components of args
Behdad Esfahbod [Thu, 9 Apr 2015 22:04:42 +0000 (15:04 -0700)]
[util] Accept comma as well as space when separating components of args

Applies to --font-size and --margin.

Hopefully the scanf usage here doesn't have compatibility issues
(star being counted in the return value, etc).

9 years agoMinor rename
Behdad Esfahbod [Thu, 9 Apr 2015 19:04:14 +0000 (12:04 -0700)]
Minor rename

9 years agoMinor
Behdad Esfahbod [Wed, 8 Apr 2015 23:26:24 +0000 (16:26 -0700)]
Minor

9 years agoFixup
Behdad Esfahbod [Wed, 8 Apr 2015 23:26:16 +0000 (16:26 -0700)]
Fixup

9 years agoFix warnings
Behdad Esfahbod [Wed, 8 Apr 2015 21:39:00 +0000 (14:39 -0700)]
Fix warnings

Part of https://github.com/behdad/harfbuzz/pull/68

9 years agoErr, instead of warn, if mutex / atomic / unicode funcs are missing
Behdad Esfahbod [Wed, 8 Apr 2015 20:25:04 +0000 (13:25 -0700)]
Err, instead of warn, if mutex / atomic / unicode funcs are missing

Hopefully this results in fewer badly built HarfBuzz integrations.

9 years agoFix unused var warnings
Behdad Esfahbod [Wed, 8 Apr 2015 20:03:27 +0000 (13:03 -0700)]
Fix unused var warnings

9 years agoMinor refactoring to the atomics implementation
Konstantin Ritt [Fri, 27 Mar 2015 20:49:33 +0000 (00:49 +0400)]
Minor refactoring to the atomics implementation

s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/
to bring it in par with hb_mutex_impl_t, then re-introduce
hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t.

In hb_reference_count_t, make it clear the non-atomic get and set
are intentional due to nature of the cases they are used in
(comparison to -1 and the debug output/tracing).

9 years agoMinor
Behdad Esfahbod [Wed, 8 Apr 2015 19:52:06 +0000 (12:52 -0700)]
Minor

9 years agoAllow implementing atomic and mutex ops in config
Behdad Esfahbod [Wed, 8 Apr 2015 19:49:38 +0000 (12:49 -0700)]
Allow implementing atomic and mutex ops in config

Motivated by
https://github.com/behdad/harfbuzz/pull/92

9 years agoMinor
Behdad Esfahbod [Wed, 8 Apr 2015 19:49:23 +0000 (12:49 -0700)]
Minor

9 years ago[test] Use /usr/bin/env python instead of /usr/bin/python
Behdad Esfahbod [Mon, 6 Apr 2015 21:51:31 +0000 (14:51 -0700)]
[test] Use /usr/bin/env python instead of /usr/bin/python

Bug 76494 - #!/usr/bin/python in testsuite

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

9 years agoMerge pull request #93 from ebraminio/archpy3
Behdad Esfahbod [Mon, 6 Apr 2015 21:41:32 +0000 (14:41 -0700)]
Merge pull request #93 from ebraminio/archpy3

Make hb_test_tools.py compatible with python 3

9 years agoMSVC 2015 supports snprintf and not _snprintf
Behdad Esfahbod [Wed, 1 Apr 2015 18:05:59 +0000 (11:05 -0700)]
MSVC 2015 supports snprintf and not _snprintf

9 years agoMove WinCE define to better place
Behdad Esfahbod [Wed, 1 Apr 2015 18:04:33 +0000 (11:04 -0700)]
Move WinCE define to better place

9 years agoMake hb_test_tools.py compatible with python 3
Ebrahim Byagowi [Sun, 29 Mar 2015 22:57:14 +0000 (03:27 +0430)]
Make hb_test_tools.py compatible with python 3

On ArchLinux, /usr/bin/python is linked to python 3 so
HarfBuzz `make check` is broken there.

This makes hb_test_tools.py compatible with python 3 while
no breaking it on python 2.

9 years agoFix VC++ /analyze warnings
Behdad Esfahbod [Thu, 26 Mar 2015 18:13:53 +0000 (14:13 -0400)]
Fix VC++ /analyze warnings

out\debug\hb-buffer-deserialize-text.rl(47) : warning C6001: Using
uninitialized memory 'pos'.

9 years agoMerge pull request #90 from khaledhosny/introspection-fixes
Behdad Esfahbod [Sun, 22 Mar 2015 20:18:57 +0000 (16:18 -0400)]
Merge pull request #90 from khaledhosny/introspection-fixes

[bindings] Fix *_from_string functions

9 years ago[bindings] Fix *_from_string functions
Khaled Hosny [Sun, 22 Mar 2015 18:29:10 +0000 (20:29 +0200)]
[bindings] Fix *_from_string functions

Without the element-type they will be getting garbage, at least with
Python.

9 years ago0.9.40
Behdad Esfahbod [Fri, 20 Mar 2015 22:03:02 +0000 (18:03 -0400)]
0.9.40

9 years agoFix reverse_range() for empty range
Behdad Esfahbod [Fri, 20 Mar 2015 20:08:38 +0000 (16:08 -0400)]
Fix reverse_range() for empty range

Fixes coretext notdef loop consisting of all default_ignorable glyphs

https://code.google.com/p/chromium/issues/detail?id=464755

9 years agoFix previous commit
Behdad Esfahbod [Wed, 4 Mar 2015 23:47:25 +0000 (15:47 -0800)]
Fix previous commit

I misunderstood how which works.

9 years agoAccept glibtoolize as libtoolize
Behdad Esfahbod [Wed, 4 Mar 2015 23:43:05 +0000 (15:43 -0800)]
Accept glibtoolize as libtoolize

Of course, we don't really run it, autoreconf does.  We just
err if neither is available.  glibtoolize is the name it is
shipped under on OS X.  Reported by Adam.

9 years ago0.9.39
Behdad Esfahbod [Wed, 4 Mar 2015 20:32:03 +0000 (12:32 -0800)]
0.9.39

9 years agoFix hb-uniscribe build
Behdad Esfahbod [Wed, 4 Mar 2015 20:03:39 +0000 (12:03 -0800)]
Fix hb-uniscribe build

9 years agoFix reverse_range() to only reverse alt array if positions are used
Behdad Esfahbod [Tue, 3 Mar 2015 00:06:55 +0000 (16:06 -0800)]
Fix reverse_range() to only reverse alt array if positions are used

In hb-coretext, when we were using scratch buffer for book-keeping,
a reverse_range() caused by the notdef-insertion loop could mess up
our log_clusters.  Ouch!

9 years agoBetter error message if libtool is not installed
Behdad Esfahbod [Thu, 26 Feb 2015 21:58:32 +0000 (13:58 -0800)]
Better error message if libtool is not installed

Fixes https://github.com/behdad/harfbuzz/pull/88

9 years agoClean up gtk-doc.make
Behdad Esfahbod [Thu, 26 Feb 2015 21:55:34 +0000 (13:55 -0800)]
Clean up gtk-doc.make

9 years agoInstall git.mk in docs/
Behdad Esfahbod [Thu, 26 Feb 2015 21:53:05 +0000 (13:53 -0800)]
Install git.mk in docs/

9 years agoUpdate git.mk from upstream
Behdad Esfahbod [Thu, 26 Feb 2015 21:52:50 +0000 (13:52 -0800)]
Update git.mk from upstream

9 years agoMinor refactoring
Behdad Esfahbod [Sat, 21 Feb 2015 13:51:17 +0000 (16:51 +0300)]
Minor refactoring

9 years agoMinor
Behdad Esfahbod [Sat, 21 Feb 2015 13:49:15 +0000 (16:49 +0300)]
Minor

9 years agoTypo
Behdad Esfahbod [Sat, 21 Feb 2015 13:30:28 +0000 (16:30 +0300)]
Typo

9 years agoMinor
Behdad Esfahbod [Sat, 21 Feb 2015 13:29:08 +0000 (16:29 +0300)]
Minor

9 years ago[layout] Fix comparison of GlyphID and hb_codepoint_t
Behdad Esfahbod [Sat, 21 Feb 2015 09:50:01 +0000 (12:50 +0300)]
[layout] Fix comparison of GlyphID and hb_codepoint_t

Before, the IntType::cmp functions providing this and was truncating
the hb_codepoint_t to 16bits before comparison.  I have no idea how
this was never discovered, and I'm too lazy to try to reproduce this
with Pango (which uses non-16bit codepoint numbers for missing glyphs).

9 years agoRemove unused (and wrong as of a few commits ago) cmp() function
Behdad Esfahbod [Sat, 21 Feb 2015 09:41:08 +0000 (12:41 +0300)]
Remove unused (and wrong as of a few commits ago) cmp() function

9 years agoMinor
Behdad Esfahbod [Sat, 21 Feb 2015 09:31:59 +0000 (12:31 +0300)]
Minor

9 years agoMinor
Behdad Esfahbod [Sat, 21 Feb 2015 08:45:22 +0000 (11:45 +0300)]
Minor

9 years ago[layout] If lookup has only one subtable, move the forward loop down to subtable
Behdad Esfahbod [Thu, 19 Feb 2015 14:30:05 +0000 (17:30 +0300)]
[layout] If lookup has only one subtable, move the forward loop down to subtable

I was hoping to see a nice speedup, but it resulted in a very minor one.

9 years ago[layout] Add apply_forward / apply_backward
Behdad Esfahbod [Thu, 19 Feb 2015 14:15:05 +0000 (17:15 +0300)]
[layout] Add apply_forward / apply_backward

9 years ago[layout] Remove unneeded return value from apply()
Behdad Esfahbod [Thu, 19 Feb 2015 08:33:30 +0000 (11:33 +0300)]
[layout] Remove unneeded return value from apply()

9 years agoMinor simpilfy BEInt
Behdad Esfahbod [Thu, 19 Feb 2015 14:03:02 +0000 (17:03 +0300)]
Minor simpilfy BEInt

9 years agoOptimize IntType comparison to avoid branches for 16bit numbers
Behdad Esfahbod [Thu, 19 Feb 2015 13:57:12 +0000 (16:57 +0300)]
Optimize IntType comparison to avoid branches for 16bit numbers

9 years agoMinor simplify IntType
Behdad Esfahbod [Thu, 19 Feb 2015 13:55:51 +0000 (16:55 +0300)]
Minor simplify IntType

9 years ago[layout] Minor
Behdad Esfahbod [Thu, 19 Feb 2015 07:47:18 +0000 (10:47 +0300)]
[layout] Minor

9 years ago[layout] Minor
Behdad Esfahbod [Thu, 19 Feb 2015 07:42:41 +0000 (10:42 +0300)]
[layout] Minor

9 years ago[layout] Don't check glyph props against lookup flags when recursing
Behdad Esfahbod [Thu, 19 Feb 2015 07:40:23 +0000 (10:40 +0300)]
[layout] Don't check glyph props against lookup flags when recursing

Shouldn't be needed.  I have a hard time imagining this breaking any
legitimate use case.

9 years ago[layout] Port sanitize() to use dispatch()
Behdad Esfahbod [Thu, 19 Feb 2015 07:29:41 +0000 (10:29 +0300)]
[layout] Port sanitize() to use dispatch()

Needed some rework of Extension table.  Hopefully I got it right, and
the new template usage doesn't break any compilers...

9 years agoRemove unused macro
Behdad Esfahbod [Wed, 18 Feb 2015 10:45:03 +0000 (13:45 +0300)]
Remove unused macro

9 years ago[layout] Refactor Lookup::dispatch()
Behdad Esfahbod [Wed, 18 Feb 2015 10:18:46 +0000 (13:18 +0300)]
[layout] Refactor Lookup::dispatch()

9 years ago[layout] Refactor get_subtable()
Behdad Esfahbod [Wed, 18 Feb 2015 10:09:54 +0000 (13:09 +0300)]
[layout] Refactor get_subtable()

9 years agoMinor
Behdad Esfahbod [Tue, 17 Feb 2015 16:18:07 +0000 (19:18 +0300)]
Minor

9 years ago[layout] Use dispatch() for add_coverage()
Behdad Esfahbod [Tue, 17 Feb 2015 16:15:34 +0000 (19:15 +0300)]
[layout] Use dispatch() for add_coverage()

9 years ago[layout] Add may_dispatch()
Behdad Esfahbod [Tue, 17 Feb 2015 15:14:17 +0000 (18:14 +0300)]
[layout] Add may_dispatch()

No functional change right now.

9 years agoMake sanitize() a const method
Behdad Esfahbod [Tue, 17 Feb 2015 14:27:44 +0000 (17:27 +0300)]
Make sanitize() a const method

This makes a lot of code safer.  We only try modifying the object in one
place, after making sure it's safe to do so.  So, do a const_cast<> in
that one place...

9 years agoMinor
Behdad Esfahbod [Tue, 17 Feb 2015 13:05:30 +0000 (16:05 +0300)]
Minor

9 years agoRemove unnecessary check in sanitize
Behdad Esfahbod [Tue, 17 Feb 2015 13:04:07 +0000 (16:04 +0300)]
Remove unnecessary check in sanitize

9 years ago[layout] Allocate iters in the context
Behdad Esfahbod [Thu, 29 Jan 2015 12:59:42 +0000 (13:59 +0100)]
[layout] Allocate iters in the context

Can be further optimized, but I think I didn't break anything.

Saves another 3% off Roboto shaping.

9 years ago[layout] Move skippy_iter setup from constructor into init()
Behdad Esfahbod [Thu, 29 Jan 2015 12:48:48 +0000 (13:48 +0100)]
[layout] Move skippy_iter setup from constructor into init()

9 years ago[lookup] Add skippy_iter.reset()
Behdad Esfahbod [Thu, 29 Jan 2015 12:40:39 +0000 (13:40 +0100)]
[lookup] Add skippy_iter.reset()

Towards reducing the cost of initializing skippy_iter()

9 years ago[layout] Shuffle code around
Behdad Esfahbod [Thu, 29 Jan 2015 12:32:05 +0000 (13:32 +0100)]
[layout] Shuffle code around

9 years ago[layout] Merge forward and backward iterators
Behdad Esfahbod [Thu, 29 Jan 2015 12:08:41 +0000 (13:08 +0100)]
[layout] Merge forward and backward iterators

9 years ago[layout] Fix backward reject()
Behdad Esfahbod [Thu, 29 Jan 2015 12:05:25 +0000 (13:05 +0100)]
[layout] Fix backward reject()

Has no functional effect since reject was never used with
match_glyph_data.

9 years ago[layout] Remove some unnecessary checks in skippy
Behdad Esfahbod [Thu, 29 Jan 2015 10:38:01 +0000 (11:38 +0100)]
[layout] Remove some unnecessary checks in skippy

9 years ago[lookup] Don't initialize skippy if coverage match fails
Behdad Esfahbod [Thu, 29 Jan 2015 10:08:43 +0000 (11:08 +0100)]
[lookup] Don't initialize skippy if coverage match fails

Currently:

  - Initializing skippy is very expensive,

  - Our lookup accelerator (using set-digests) can be very ineffecite,

As such, we end up many times initializing skippy but then failing
coverage check.  Reordering fixes that.

When, later, we fix our accelerator to have truly small false-positive
rate (for example by using the frozen-sets), then we might want to
reorder these checks such that we wouldn't calculate coverage number
if skippy is going to fail.

This shows a 5% speedup with Roboto already.

9 years ago[layout] Use setter method to set c->lookup_props
Behdad Esfahbod [Thu, 29 Jan 2015 07:01:12 +0000 (23:01 -0800)]
[layout] Use setter method to set c->lookup_props

9 years ago[layout] Remove unused wrapper method
Behdad Esfahbod [Thu, 29 Jan 2015 06:53:54 +0000 (22:53 -0800)]
[layout] Remove unused wrapper method

9 years agoAdd hb_frozen_set_t
Behdad Esfahbod [Thu, 29 Jan 2015 05:46:07 +0000 (21:46 -0800)]
Add hb_frozen_set_t

I experimented with replacing use of hb_set_digest_t with this new
hb_frozen_set_t, hoping to get a huge speedup for busy lookups
(like kern lookup in Roboto), but I only got 6% speendup in Roboto
and 4% in NotoNastaliqUrduDraft :(.

9 years agoHide internals of lookup accelerators
Behdad Esfahbod [Thu, 29 Jan 2015 04:55:42 +0000 (20:55 -0800)]
Hide internals of lookup accelerators