platform/upstream/libHarfBuzzSharp.git
9 years agoCurrent state and skeleton outline
Simon Cozens [Sat, 29 Aug 2015 07:21:18 +0000 (08:21 +0100)]
Current state and skeleton outline

9 years agoFirst two chapters. More to follow.
Simon Cozens [Tue, 25 Aug 2015 18:57:15 +0000 (19:57 +0100)]
First two chapters. More to follow.

9 years agoAdd API/cmdline to show glyph extents when serializing buffer
Behdad Esfahbod [Mon, 24 Aug 2015 12:49:55 +0000 (13:49 +0100)]
Add API/cmdline to show glyph extents when serializing buffer

New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS

hb-shape now accepts --show-extents.

Patch from Simon Cozens.

9 years ago[ot-font] Fix short-offset calculation
Behdad Esfahbod [Mon, 24 Aug 2015 12:45:12 +0000 (13:45 +0100)]
[ot-font] Fix short-offset calculation

9 years ago[ot-font] Implement glyph_extents() for TrueType fonts
Behdad Esfahbod [Sun, 23 Aug 2015 13:42:20 +0000 (14:42 +0100)]
[ot-font] Implement glyph_extents() for TrueType fonts

This brings ot-fonts into almost-complete shape and mostly in par with
ft font.

9 years agoMake BYTE a real type
Behdad Esfahbod [Fri, 21 Aug 2015 11:44:36 +0000 (12:44 +0100)]
Make BYTE a real type

9 years ago[coretext] Use i32 instead of u32 as well
Behdad Esfahbod [Thu, 20 Aug 2015 14:39:53 +0000 (15:39 +0100)]
[coretext] Use i32 instead of u32 as well

Shouldn't cause *any* functional changes, but is more correct.

9 years ago[uniscribe] Fix negative offsets
Behdad Esfahbod [Thu, 20 Aug 2015 14:39:06 +0000 (15:39 +0100)]
[uniscribe] Fix negative offsets

Ouch!

9 years ago1.0.2
Behdad Esfahbod [Wed, 19 Aug 2015 12:39:57 +0000 (13:39 +0100)]
1.0.2

9 years ago[coretext] Add TODO item
Behdad Esfahbod [Wed, 19 Aug 2015 12:22:12 +0000 (13:22 +0100)]
[coretext] Add TODO item

9 years ago[uniscribe] Fix font scale handling
Behdad Esfahbod [Wed, 19 Aug 2015 12:20:31 +0000 (13:20 +0100)]
[uniscribe] Fix font scale handling

By default shape at upem (or ppem), and scale results.
Similar to work done in CoreText backend, but using upem as default.

9 years agoCommented-out code to print buffer before each lookup
Behdad Esfahbod [Tue, 18 Aug 2015 17:55:03 +0000 (18:55 +0100)]
Commented-out code to print buffer before each lookup

To be turned into a useful HB_DEBUG_SHAPE infrastructure...

9 years agoAllow serializing buffer with output-buffer being used
Behdad Esfahbod [Tue, 18 Aug 2015 17:47:02 +0000 (18:47 +0100)]
Allow serializing buffer with output-buffer being used

Ie, don't call get_positions() if positions are not
requested for serialization.

9 years ago[ot] Change buffer content type right after we map to glyphs
Behdad Esfahbod [Tue, 18 Aug 2015 17:42:47 +0000 (18:42 +0100)]
[ot] Change buffer content type right after we map to glyphs

Needed for upcoming debug output changes.

9 years ago[Android.mk] Update for SEA removal and USE addition
Behdad Esfahbod [Tue, 18 Aug 2015 16:33:34 +0000 (17:33 +0100)]
[Android.mk] Update for SEA removal and USE addition

9 years agoDon't declare dependency on freetype in harfbuzz.pc
Behdad Esfahbod [Tue, 18 Aug 2015 14:55:09 +0000 (15:55 +0100)]
Don't declare dependency on freetype in harfbuzz.pc

See comments.

9 years ago[debug] Print lookup index in debug-apply output
Behdad Esfahbod [Tue, 18 Aug 2015 13:36:43 +0000 (14:36 +0100)]
[debug] Print lookup index in debug-apply output

9 years ago[coretext] Remove assert that kicks in on Mac OS 10.6
Behdad Esfahbod [Tue, 18 Aug 2015 09:22:16 +0000 (10:22 +0100)]
[coretext] Remove assert that kicks in on Mac OS 10.6

http://crbug.com/419769

9 years agoRemove unused function
Behdad Esfahbod [Mon, 17 Aug 2015 14:03:28 +0000 (16:03 +0200)]
Remove unused function

9 years agoAdd Libs.private and Requires.private to harfbuzz.pc
Behdad Esfahbod [Tue, 11 Aug 2015 10:58:49 +0000 (12:58 +0200)]
Add Libs.private and Requires.private to harfbuzz.pc

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

9 years agoDon't rely on .cluster in _hb_ot_shape_normalize()
jfkthame [Fri, 7 Aug 2015 16:55:03 +0000 (17:55 +0100)]
Don't rely on .cluster in _hb_ot_shape_normalize()

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

9 years agoDon't rely on .cluster field in fallback_position
jfkthame [Fri, 7 Aug 2015 16:51:28 +0000 (17:51 +0100)]
Don't rely on .cluster field in fallback_position

Fixes tests/cluster.

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

9 years ago[tests] Add test for fallback positioning with cluster_level > 0
Behdad Esfahbod [Sat, 8 Aug 2015 16:02:18 +0000 (18:02 +0200)]
[tests] Add test for fallback positioning with cluster_level > 0

For https://github.com/behdad/harfbuzz/pull/123
Currently fails.  Fix coming.

9 years agoBug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files specified/created...
Behdad Esfahbod [Fri, 7 Aug 2015 09:13:27 +0000 (11:13 +0200)]
Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files specified/created...

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

9 years agoMerge pull request #122 from RomainNaour/static-fix
Behdad Esfahbod [Mon, 3 Aug 2015 19:47:18 +0000 (22:47 +0300)]
Merge pull request #122 from RomainNaour/static-fix

fix static linking with icu-uc

9 years agofix static linking with icu-uc
Romain Naour [Wed, 22 Jul 2015 21:26:23 +0000 (23:26 +0200)]
fix static linking with icu-uc

When linking test-unicode statically it needs $(ICU_LIBS)
which contains all required flags.
Especially -lstdc++.

Fixes:
http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
9 years ago1.0.1
Behdad Esfahbod [Mon, 27 Jul 2015 10:17:54 +0000 (12:17 +0200)]
1.0.1

9 years ago[USE] Fix out-of-bounds static array access
Behdad Esfahbod [Mon, 27 Jul 2015 10:16:02 +0000 (12:16 +0200)]
[USE] Fix out-of-bounds static array access

9 years ago1.0.0
Behdad Esfahbod [Sun, 26 Jul 2015 21:39:10 +0000 (23:39 +0200)]
1.0.0

9 years agoMerge branch 'use'
Behdad Esfahbod [Sun, 26 Jul 2015 17:40:55 +0000 (19:40 +0200)]
Merge branch 'use'

9 years ago0.9.42
Behdad Esfahbod [Sun, 26 Jul 2015 17:29:53 +0000 (19:29 +0200)]
0.9.42

9 years agoFix broken sentence
Behdad Esfahbod [Sat, 25 Jul 2015 15:36:46 +0000 (17:36 +0200)]
Fix broken sentence

9 years agoUpdate UCDN to upstream commit 8af93f30
Grigori Goronzy [Wed, 8 Jul 2015 21:28:11 +0000 (23:28 +0200)]
Update UCDN to upstream commit 8af93f30

This adds support for Unicode 8.0 and fixes a bug with wrong properties
for ranges of codepoints.

9 years ago[test] Encode Kharoshti text
Behdad Esfahbod [Thu, 23 Jul 2015 12:04:34 +0000 (13:04 +0100)]
[test] Encode Kharoshti text

Ouch!

9 years ago[test] Add Batak and Buginese test texts
Behdad Esfahbod [Thu, 23 Jul 2015 12:01:55 +0000 (13:01 +0100)]
[test] Add Batak and Buginese test texts

9 years ago[test] Remove shaper-sea texts under shaper-use
Behdad Esfahbod [Thu, 23 Jul 2015 11:59:17 +0000 (12:59 +0100)]
[test] Remove shaper-sea texts under shaper-use

9 years ago[test] Remove New Tai Lue texts
Behdad Esfahbod [Thu, 23 Jul 2015 11:58:21 +0000 (12:58 +0100)]
[test] Remove New Tai Lue texts

New Tai Lue changed encoding to visual, boring, model.

9 years ago[test] Add tests for improved 'vert' feature
Behdad Esfahbod [Thu, 23 Jul 2015 11:50:48 +0000 (12:50 +0100)]
[test] Add tests for improved 'vert' feature

9 years ago[test] Add recently added test
Behdad Esfahbod [Thu, 23 Jul 2015 11:49:09 +0000 (12:49 +0100)]
[test] Add recently added test

Ouch.

9 years ago[test] Support additional options to hb-shape in micro-test suite
Behdad Esfahbod [Thu, 23 Jul 2015 11:14:03 +0000 (12:14 +0100)]
[test] Support additional options to hb-shape in micro-test suite

9 years ago[ot] Search globally for 'vert' feature if not found in specified script/lang
Behdad Esfahbod [Thu, 23 Jul 2015 10:52:11 +0000 (11:52 +0100)]
[ot] Search globally for 'vert' feature if not found in specified script/lang

Fixes https://github.com/behdad/harfbuzz/issues/63

9 years ago[ot] Minor
Behdad Esfahbod [Thu, 23 Jul 2015 10:32:59 +0000 (11:32 +0100)]
[ot] Minor

9 years agoMinor debug output fix
Behdad Esfahbod [Thu, 23 Jul 2015 09:11:35 +0000 (10:11 +0100)]
Minor debug output fix

9 years agoAdd missing TRACE_RETURN
Behdad Esfahbod [Thu, 23 Jul 2015 09:08:48 +0000 (10:08 +0100)]
Add missing TRACE_RETURN

9 years ago[ot] Add missing return!
Behdad Esfahbod [Thu, 23 Jul 2015 09:07:21 +0000 (10:07 +0100)]
[ot] Add missing return!

9 years agoAdd test case for deleting default ignorables with positioning
Behdad Esfahbod [Wed, 22 Jul 2015 17:44:59 +0000 (18:44 +0100)]
Add test case for deleting default ignorables with positioning

9 years agoFix hide-default-ignorables after f0010dfd01ef4a927b0bdc175dd4e343a8637174
Behdad Esfahbod [Wed, 22 Jul 2015 17:41:10 +0000 (18:41 +0100)]
Fix hide-default-ignorables after f0010dfd01ef4a927b0bdc175dd4e343a8637174

We can't delete things before hb_ot_layout_position_finish().  So,
just zero the advance before it, and remove later.

9 years agoFix hide-ignorables if font doesn't have space glyph
Behdad Esfahbod [Wed, 22 Jul 2015 17:28:39 +0000 (18:28 +0100)]
Fix hide-ignorables if font doesn't have space glyph

Was broken by 82b521aeb7cc73879b44ca4278d6fa8b4347527f, as we have
positioning data by then and can't use the output buffer.  Ouch!

9 years agoRefactor _hb_glyph_info_is_default_ignorable()
Behdad Esfahbod [Wed, 22 Jul 2015 16:41:31 +0000 (17:41 +0100)]
Refactor _hb_glyph_info_is_default_ignorable()

9 years ago[ot] Hide default-ignorables before finishing off positioning
Behdad Esfahbod [Wed, 22 Jul 2015 16:36:23 +0000 (17:36 +0100)]
[ot] Hide default-ignorables before finishing off positioning

For example, fixes the following sequence with Arial XP:
628 25cc 651 25cc 64e 3a 20 628 651 34f 64e
628 25cc 64e 25cc 651 3a 20 628 64e 34f 651

Discovered as part of:
https://bugs.freedesktop.org/show_bug.cgi?id=85873

9 years agoImplement more granular cluster-merging
Behdad Esfahbod [Wed, 22 Jul 2015 15:51:12 +0000 (16:51 +0100)]
Implement more granular cluster-merging

TODO: Documentation.

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

9 years ago[ot] Don't rely on cluster numbers for ensure_native_direction()
Behdad Esfahbod [Wed, 22 Jul 2015 14:49:08 +0000 (15:49 +0100)]
[ot] Don't rely on cluster numbers for ensure_native_direction()

9 years ago[ot] Simplify form_clusters()
Behdad Esfahbod [Wed, 22 Jul 2015 14:42:20 +0000 (15:42 +0100)]
[ot] Simplify form_clusters()

9 years ago[ot] Don't mirror character if font doesn't support mirrored character!
Behdad Esfahbod [Wed, 22 Jul 2015 14:24:26 +0000 (15:24 +0100)]
[ot] Don't mirror character if font doesn't support mirrored character!

9 years ago[graphite2] Fix bunch of stuff
Behdad Esfahbod [Wed, 22 Jul 2015 13:28:25 +0000 (14:28 +0100)]
[graphite2] Fix bunch of stuff

Based on patch from Martin Hosken, with review from Jonathan and I.

9 years ago[graphite2] Enlarge buffer for output glyphs!
Behdad Esfahbod [Wed, 22 Jul 2015 12:53:45 +0000 (13:53 +0100)]
[graphite2] Enlarge buffer for output glyphs!

9 years ago[USE] Implement topographical features for non-Arabic-joining scripts
Behdad Esfahbod [Wed, 22 Jul 2015 12:27:06 +0000 (13:27 +0100)]
[USE] Implement topographical features for non-Arabic-joining scripts

This works per-syllable as per the spec, but we think it should be per
spacing/base/??? glyph instead.

9 years agoUse foreach_cluster in Indic shaper
Behdad Esfahbod [Wed, 22 Jul 2015 11:02:09 +0000 (12:02 +0100)]
Use foreach_cluster in Indic shaper

9 years agoUse foreach_syllable in Myanmar shaper
Behdad Esfahbod [Wed, 22 Jul 2015 10:58:11 +0000 (11:58 +0100)]
Use foreach_syllable in Myanmar shaper

9 years agoAdd foreach_syllable
Behdad Esfahbod [Wed, 22 Jul 2015 10:54:02 +0000 (11:54 +0100)]
Add foreach_syllable

Use it in USE.

9 years ago[USE] Do Arabic-like shaping
Behdad Esfahbod [Wed, 22 Jul 2015 10:16:01 +0000 (11:16 +0100)]
[USE] Do Arabic-like shaping

9 years agoAdd hb-ot-shape-complex-arabic-private.hh
Behdad Esfahbod [Wed, 22 Jul 2015 09:32:30 +0000 (10:32 +0100)]
Add hb-ot-shape-complex-arabic-private.hh

9 years ago[USE] Only reorder the first component of a split left mark
Behdad Esfahbod [Tue, 21 Jul 2015 17:24:21 +0000 (18:24 +0100)]
[USE] Only reorder the first component of a split left mark

9 years ago[USE] Don't compose split matras
Behdad Esfahbod [Tue, 21 Jul 2015 17:09:40 +0000 (18:09 +0100)]
[USE] Don't compose split matras

Same logic as in Indic shaper.

9 years agoRemove unused SEA shaper
Behdad Esfahbod [Tue, 21 Jul 2015 16:47:06 +0000 (17:47 +0100)]
Remove unused SEA shaper

9 years agoRetire SEA shaper in favor of USE
Behdad Esfahbod [Tue, 21 Jul 2015 16:46:06 +0000 (17:46 +0100)]
Retire SEA shaper in favor of USE

9 years ago[USE] Only use USE shaper if script system is not DFLT
Behdad Esfahbod [Tue, 21 Jul 2015 16:31:43 +0000 (17:31 +0100)]
[USE] Only use USE shaper if script system is not DFLT

Same logic as Indic and SEA.

9 years agoRoute misc untested scripts through USE shaper instead of Indic
Behdad Esfahbod [Tue, 21 Jul 2015 16:24:18 +0000 (17:24 +0100)]
Route misc untested scripts through USE shaper instead of Indic

These were never tested with Indic shaper, and indeed wouldn't work there
because they didn't have their viramas and other config defined.  They are
all also supported by MS through USE, so route them there.

9 years ago[USE] Implement dotted-circle
Behdad Esfahbod [Tue, 21 Jul 2015 16:14:54 +0000 (17:14 +0100)]
[USE] Implement dotted-circle

This makes USE feature-complete as far as the Indic-like features
are concerned.

9 years ago[USE] Move pref
Behdad Esfahbod [Tue, 21 Jul 2015 15:55:26 +0000 (16:55 +0100)]
[USE] Move pref

9 years ago[USE] Fix-up variation selectors and word joiner in table
Behdad Esfahbod [Tue, 21 Jul 2015 15:46:37 +0000 (16:46 +0100)]
[USE] Fix-up variation selectors and word joiner in table

9 years ago[USE] Use a couple warnings
Behdad Esfahbod [Tue, 21 Jul 2015 15:43:27 +0000 (16:43 +0100)]
[USE] Use a couple warnings

9 years ago[USE] Move rphf
Behdad Esfahbod [Tue, 21 Jul 2015 15:07:10 +0000 (16:07 +0100)]
[USE] Move rphf

9 years agoAdd FLAG_UNSAFE()
Behdad Esfahbod [Tue, 21 Jul 2015 14:52:15 +0000 (15:52 +0100)]
Add FLAG_UNSAFE()

Unused right now.

9 years agoAdd FLAG_SAFE() for values known to be small-enough
Behdad Esfahbod [Tue, 21 Jul 2015 14:50:02 +0000 (15:50 +0100)]
Add FLAG_SAFE() for values known to be small-enough

And add check to FLAG()

9 years agoAdd note re ASSERT_STATIC_EXPR_ZERO()
Behdad Esfahbod [Tue, 21 Jul 2015 14:45:48 +0000 (15:45 +0100)]
Add note re ASSERT_STATIC_EXPR_ZERO()

9 years agoRemove unused macro ASSERT_STATIC_EXPR()
Behdad Esfahbod [Tue, 21 Jul 2015 14:17:27 +0000 (15:17 +0100)]
Remove unused macro ASSERT_STATIC_EXPR()

9 years agoUse unsigned in FLAG()
Behdad Esfahbod [Tue, 21 Jul 2015 14:05:35 +0000 (15:05 +0100)]
Use unsigned in FLAG()

9 years ago[USE] Use use_category() for rphf/pref memory
Behdad Esfahbod [Tue, 21 Jul 2015 13:51:45 +0000 (14:51 +0100)]
[USE] Use use_category() for rphf/pref memory

9 years ago[USE] Hook of rphf and pref custom processing
Behdad Esfahbod [Tue, 21 Jul 2015 13:15:35 +0000 (14:15 +0100)]
[USE] Hook of rphf and pref custom processing

Still no reordering.

9 years ago[USE] Add CGJ to table
Behdad Esfahbod [Tue, 21 Jul 2015 10:57:23 +0000 (11:57 +0100)]
[USE] Add CGJ to table

9 years ago[USE] Set up features
Behdad Esfahbod [Tue, 21 Jul 2015 09:24:32 +0000 (10:24 +0100)]
[USE] Set up features

9 years ago[USE] Hook up new scripts to USE shaper
Behdad Esfahbod [Tue, 21 Jul 2015 09:02:04 +0000 (10:02 +0100)]
[USE] Hook up new scripts to USE shaper

Don't reroute scripts that we were routing to other shapers
before (just yet).

9 years ago[USE] Remove unused Unicode data enums from USE C++ side
Behdad Esfahbod [Tue, 21 Jul 2015 08:31:19 +0000 (09:31 +0100)]
[USE] Remove unused Unicode data enums from USE C++ side

9 years ago[USE] Finish converting Unicode positional categories to USE
Behdad Esfahbod [Mon, 20 Jul 2015 17:01:10 +0000 (18:01 +0100)]
[USE] Finish converting Unicode positional categories to USE

Even compiles.

9 years ago[USE] Map from Unicode data to USE syllabic categories
Behdad Esfahbod [Mon, 20 Jul 2015 16:00:06 +0000 (17:00 +0100)]
[USE] Map from Unicode data to USE syllabic categories

Positional sub-categories not applied yet.

9 years ago[USE] Start moving Unicode-to-USE mapping into Python code
Behdad Esfahbod [Mon, 20 Jul 2015 14:56:19 +0000 (15:56 +0100)]
[USE] Start moving Unicode-to-USE mapping into Python code

9 years ago[USE] Fix Number clusters
Behdad Esfahbod [Mon, 20 Jul 2015 14:33:25 +0000 (15:33 +0100)]
[USE] Fix Number clusters

The spec wrongly has "H" where "HN" is meant.

9 years ago[USE] Start putting together the shaper body
Behdad Esfahbod [Mon, 20 Jul 2015 13:24:55 +0000 (14:24 +0100)]
[USE] Start putting together the shaper body

9 years ago[USE] Put a Ragel machine together
Behdad Esfahbod [Mon, 20 Jul 2015 12:30:51 +0000 (13:30 +0100)]
[USE] Put a Ragel machine together

Grammar from the spec!

9 years agoMinor
Behdad Esfahbod [Mon, 20 Jul 2015 12:30:45 +0000 (13:30 +0100)]
Minor

9 years ago[USE] Minor optimization of USE table
Behdad Esfahbod [Mon, 20 Jul 2015 11:01:20 +0000 (12:01 +0100)]
[USE] Minor optimization of USE table

9 years ago[USE] Add Kharoshti test data from Unicode proposal
Behdad Esfahbod [Mon, 20 Jul 2015 10:57:44 +0000 (11:57 +0100)]
[USE] Add Kharoshti test data from Unicode proposal

9 years ago[USE] Build Universal Shaping Engine data table from Unicode 8 files
Behdad Esfahbod [Mon, 20 Jul 2015 10:46:17 +0000 (11:46 +0100)]
[USE] Build Universal Shaping Engine data table from Unicode 8 files

9 years ago[USE] Add Universal Shaping Engine to Makefile
Behdad Esfahbod [Mon, 20 Jul 2015 10:32:48 +0000 (11:32 +0100)]
[USE] Add Universal Shaping Engine to Makefile

9 years agoUpdate Arabic shaping table for Unicode 8.0
Behdad Esfahbod [Wed, 15 Jul 2015 00:39:57 +0000 (01:39 +0100)]
Update Arabic shaping table for Unicode 8.0

9 years agoAdd Unicode 8.0 scripts
Behdad Esfahbod [Wed, 15 Jul 2015 00:36:39 +0000 (01:36 +0100)]
Add Unicode 8.0 scripts

Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209

9 years agoFix pragma usage
Behdad Esfahbod [Sun, 5 Jul 2015 21:43:17 +0000 (22:43 +0100)]
Fix pragma usage

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

Commit cdcdfe61b97a0a48ccf834b6d924d187da9609be changed two `#pragma
message` to `#pragma error` in hb-unicode.cc, however MSVC uses #error,
just like the #else branch. `#pragma error` is an unknown pragma so
MSVC does not fail the build because of it, which I believe was the
intention of that commit.

If it's meant to be an #error, then the #ifdef for _MSC_VER can be
removed entirely.

9 years agoWhen removing default-ignorables, merge clusters
Behdad Esfahbod [Fri, 19 Jun 2015 20:31:49 +0000 (13:31 -0700)]
When removing default-ignorables, merge clusters

Fixes test-shape, and:
https://code.google.com/p/chromium/issues/detail?id=497578

9 years agoRewrite hide_default_ignorables
Behdad Esfahbod [Fri, 19 Jun 2015 18:57:57 +0000 (11:57 -0700)]
Rewrite hide_default_ignorables

Separate the loops for the two cases of replacing with space
and deleting.  For deleting, use the out-buffer machinery.

Needed for upcoming cluster merge fix.