platform/upstream/libHarfBuzzSharp.git
6 years ago[ot-face] Remove tables_t. The face_data_t is what tables_t was
Behdad Esfahbod [Sun, 26 Aug 2018 22:18:46 +0000 (15:18 -0700)]
[ot-face] Remove tables_t. The face_data_t is what tables_t was

6 years agoFree up hb-ot-face.hh from includes
Behdad Esfahbod [Sun, 26 Aug 2018 22:11:24 +0000 (15:11 -0700)]
Free up hb-ot-face.hh from includes

There might be a better way to do this, but I couldn't find...

6 years ago[face] Use saved cmap in collect_unicodes() APIs
Behdad Esfahbod [Sun, 26 Aug 2018 16:33:01 +0000 (09:33 -0700)]
[face] Use saved cmap in collect_unicodes() APIs

6 years ago[OT] Move code around
Behdad Esfahbod [Sun, 26 Aug 2018 16:19:20 +0000 (09:19 -0700)]
[OT] Move code around

6 years ago[OT] Use relaxed ops for recursing into GSUB/GPOS lookups again
Behdad Esfahbod [Sun, 26 Aug 2018 16:12:25 +0000 (09:12 -0700)]
[OT] Use relaxed ops for recursing into GSUB/GPOS lookups again

6 years ago[GDEF] Move code around
Behdad Esfahbod [Sun, 26 Aug 2018 16:03:31 +0000 (09:03 -0700)]
[GDEF] Move code around

6 years agoAdd template keyword
Behdad Esfahbod [Sun, 26 Aug 2018 08:30:52 +0000 (01:30 -0700)]
Add template keyword

I swear I have no idea why this is needed, but it is...

6 years agoFixup
Behdad Esfahbod [Sun, 26 Aug 2018 08:29:30 +0000 (01:29 -0700)]
Fixup

6 years ago[ot-face] Port GDEF to unified table accelerator model as well
Behdad Esfahbod [Sun, 26 Aug 2018 08:25:54 +0000 (01:25 -0700)]
[ot-face] Port GDEF to unified table accelerator model as well

6 years ago[ot-face] Unify GSUB/GPOS accelerators in the table accelerator framework
Behdad Esfahbod [Sun, 26 Aug 2018 08:15:47 +0000 (01:15 -0700)]
[ot-face] Unify GSUB/GPOS accelerators in the table accelerator framework

6 years agoWIP
Behdad Esfahbod [Sun, 26 Aug 2018 07:47:55 +0000 (00:47 -0700)]
WIP

6 years ago[ot-face] Unify accelerators and tables
Behdad Esfahbod [Sun, 26 Aug 2018 07:21:29 +0000 (00:21 -0700)]
[ot-face] Unify accelerators and tables

6 years agoMinor
Behdad Esfahbod [Sun, 26 Aug 2018 07:07:12 +0000 (00:07 -0700)]
Minor

6 years ago[ot-font] Rename
Behdad Esfahbod [Sun, 26 Aug 2018 07:06:12 +0000 (00:06 -0700)]
[ot-font] Rename

6 years ago[ot-font] Cache tables on face, not font
Behdad Esfahbod [Sun, 26 Aug 2018 06:54:06 +0000 (23:54 -0700)]
[ot-font] Cache tables on face, not font

6 years ago[ot-font] Use init0
Behdad Esfahbod [Sun, 26 Aug 2018 06:27:45 +0000 (23:27 -0700)]
[ot-font] Use init0

6 years ago[ot-font] Make everything (cmap/metrics) lazy
Behdad Esfahbod [Sun, 26 Aug 2018 06:19:34 +0000 (23:19 -0700)]
[ot-font] Make everything (cmap/metrics) lazy

6 years ago[ot-font] Fallback vertical advance to UPEM
Behdad Esfahbod [Sun, 26 Aug 2018 06:15:52 +0000 (23:15 -0700)]
[ot-font] Fallback vertical advance to UPEM

Used to be ascent+descent.  Whatever. This is more convenient for
upcoming changes.

6 years agoAdd hb-ot-face.cc/hh
Behdad Esfahbod [Sun, 26 Aug 2018 06:06:37 +0000 (23:06 -0700)]
Add hb-ot-face.cc/hh

6 years ago[face] Introduce character-map API
Behdad Esfahbod [Sun, 26 Aug 2018 05:44:39 +0000 (22:44 -0700)]
[face] Introduce character-map API

New API:
+hb_face_collect_unicodes
+hb_face_collect_variation_selectors
+hb_face_collect_variation_unicodes

6 years agoMinor
Behdad Esfahbod [Sun, 26 Aug 2018 05:39:17 +0000 (22:39 -0700)]
Minor

6 years agoRename hb-*private.hh to hb-*.hh
Behdad Esfahbod [Sun, 26 Aug 2018 05:36:36 +0000 (22:36 -0700)]
Rename hb-*private.hh to hb-*.hh

Sorry for the noise, downstream custom builders.  Please adjust.

6 years ago[unicode] Add HB_UNICODE_MAX
Behdad Esfahbod [Sun, 26 Aug 2018 05:07:17 +0000 (22:07 -0700)]
[unicode] Add HB_UNICODE_MAX

New API:
HB_UNICODE_MAX

6 years ago[cmap] More hb_auto_t<>(...)
Behdad Esfahbod [Sun, 26 Aug 2018 05:04:39 +0000 (22:04 -0700)]
[cmap] More hb_auto_t<>(...)

6 years ago[cmap] Fix skipping gid0 in Format4 collect_unicodes()
Behdad Esfahbod [Sun, 26 Aug 2018 04:23:43 +0000 (21:23 -0700)]
[cmap] Fix skipping gid0 in Format4 collect_unicodes()

6 years agoUse new hb_auto_t<> constructor with Coverage::Iter
Behdad Esfahbod [Sun, 26 Aug 2018 04:15:39 +0000 (21:15 -0700)]
Use new hb_auto_t<> constructor with Coverage::Iter

6 years agoAdd 1-param passthrough constructor to hb_auto_t<>
Behdad Esfahbod [Sun, 26 Aug 2018 04:08:15 +0000 (21:08 -0700)]
Add 1-param passthrough constructor to hb_auto_t<>

And use.

6 years ago[cmap] Minor
Behdad Esfahbod [Sat, 25 Aug 2018 23:14:32 +0000 (16:14 -0700)]
[cmap] Minor

6 years ago[cmap Add hb_subset_collect_variation_unicodes()
Behdad Esfahbod [Sat, 25 Aug 2018 23:11:26 +0000 (16:11 -0700)]
[cmap Add hb_subset_collect_variation_unicodes()

To be moved to hb-face.h later.

6 years ago[cmap] Add hb_subset_collect_variation_selectors()
Behdad Esfahbod [Sat, 25 Aug 2018 22:56:07 +0000 (15:56 -0700)]
[cmap] Add hb_subset_collect_variation_selectors()

To be moved to hb-face later.

6 years ago[cmap] Remove unused code
Behdad Esfahbod [Sat, 25 Aug 2018 22:41:25 +0000 (15:41 -0700)]
[cmap] Remove unused code

6 years ago[cmap] Use bsearch to find subtables
Behdad Esfahbod [Sat, 25 Aug 2018 22:37:56 +0000 (15:37 -0700)]
[cmap] Use bsearch to find subtables

6 years ago[cmap] Factor out find_best_subtable
Behdad Esfahbod [Sat, 25 Aug 2018 22:33:05 +0000 (15:33 -0700)]
[cmap] Factor out find_best_subtable

6 years agoMinor
Behdad Esfahbod [Sat, 25 Aug 2018 22:25:03 +0000 (15:25 -0700)]
Minor

6 years ago[cmap] Implement collect_unicodes() for Format0/6/10
Behdad Esfahbod [Sat, 25 Aug 2018 16:35:45 +0000 (09:35 -0700)]
[cmap] Implement collect_unicodes() for Format0/6/10

6 years ago[cmap] Simplify collect_unicodes()
Behdad Esfahbod [Sat, 25 Aug 2018 16:33:30 +0000 (09:33 -0700)]
[cmap] Simplify collect_unicodes()

Don't use accelerator (almost).  Hooks up Format13 as well.

6 years agoRename get_all_codepoints() to collect_unicodes()
Behdad Esfahbod [Sat, 25 Aug 2018 15:47:06 +0000 (08:47 -0700)]
Rename get_all_codepoints() to collect_unicodes()

6 years ago[ot-font] Return char-not-found if mapped to gid 0
Behdad Esfahbod [Sat, 25 Aug 2018 15:44:18 +0000 (08:44 -0700)]
[ot-font] Return char-not-found if mapped to gid 0

OpenType cmap table can use gid=0 to mean "not covered" to produce
more optimized cmap subtables.  Return false from get_nominal_glyph()
for those.  hb-ft already does this.

6 years agoAdd face-builder
Behdad Esfahbod [Sat, 25 Aug 2018 15:18:53 +0000 (08:18 -0700)]
Add face-builder

New API:
+hb_face_builder_create
+hb_face_builder_add_table

6 years ago[blob] Add as_bytes()
Behdad Esfahbod [Fri, 24 Aug 2018 17:29:45 +0000 (10:29 -0700)]
[blob] Add as_bytes()

6 years ago[sanitize] Document how sanitize machinery works
Behdad Esfahbod [Fri, 24 Aug 2018 17:24:45 +0000 (10:24 -0700)]
[sanitize] Document how sanitize machinery works

6 years ago[serialize] Add copy_bytes() and copy_blob()
Behdad Esfahbod [Fri, 24 Aug 2018 17:07:49 +0000 (10:07 -0700)]
[serialize] Add copy_bytes() and copy_blob()

6 years ago[ot] Rename hb_ot_layout_t to hb_ot_face_data_t
Behdad Esfahbod [Thu, 16 Aug 2018 03:12:25 +0000 (20:12 -0700)]
[ot] Rename hb_ot_layout_t to hb_ot_face_data_t

6 years agoAdd guard around free_static_C_locale
Emil A Eklund [Tue, 14 Aug 2018 21:47:20 +0000 (14:47 -0700)]
Add guard around free_static_C_locale

Add HB_USE_ATEXIT guard around free_static_C_locale missed by previous
commit.

6 years agoGuard free_static function definitions with macro
Emil A Eklund [Tue, 14 Aug 2018 20:50:24 +0000 (13:50 -0700)]
Guard free_static function definitions with macro

Add HB_USE_ATEXIT macros around free_static function definitions to
avoid unused function compiler warnings/errors.

6 years ago1.8.8
Behdad Esfahbod [Tue, 14 Aug 2018 17:59:34 +0000 (10:59 -0700)]
1.8.8

6 years ago[icu] Pass normalizer instance down as user_data
Behdad Esfahbod [Tue, 14 Aug 2018 00:02:21 +0000 (17:02 -0700)]
[icu] Pass normalizer instance down as user_data

6 years agoDon't add reference in get_unicode_funcs() functions
Behdad Esfahbod [Mon, 13 Aug 2018 17:30:41 +0000 (10:30 -0700)]
Don't add reference in get_unicode_funcs() functions

Users don't expect a new reference returned from a get() function.
Indeed, all users of that API I foud where NOT destroying the reference.
Just change the implementations to NOT return a reference.

This applies to the following APIs:
hb_unicode_funcs_get_default()
hb_glib_get_unicode_funcs()
hb_icu_get_unicode_funcs()

Fixes https://github.com/harfbuzz/harfbuzz/issues/1134

6 years ago[uniscribe] Use lazy loader
Behdad Esfahbod [Mon, 13 Aug 2018 01:20:53 +0000 (18:20 -0700)]
[uniscribe] Use lazy loader

Fixes https://github.com/harfbuzz/harfbuzz/issues/1129

6 years agoAnother clang bot fix
Behdad Esfahbod [Mon, 13 Aug 2018 01:10:59 +0000 (18:10 -0700)]
Another clang bot fix

6 years agoSilence clang
Behdad Esfahbod [Mon, 13 Aug 2018 00:47:59 +0000 (17:47 -0700)]
Silence clang

6 years ago[lazy] Use for C_locale
Behdad Esfahbod [Mon, 13 Aug 2018 00:42:16 +0000 (17:42 -0700)]
[lazy] Use for C_locale

6 years ago[lazy] Port more
Behdad Esfahbod [Mon, 13 Aug 2018 00:32:10 +0000 (17:32 -0700)]
[lazy] Port more

6 years ago[lazy] Rename free()
Behdad Esfahbod [Mon, 13 Aug 2018 00:19:55 +0000 (17:19 -0700)]
[lazy] Rename free()

6 years ago[lazy] Port more to it
Behdad Esfahbod [Mon, 13 Aug 2018 00:14:32 +0000 (17:14 -0700)]
[lazy] Port more to it

6 years ago[lazy] Make hb_lazy_loader_t<> more usable
Behdad Esfahbod [Sun, 12 Aug 2018 23:57:06 +0000 (16:57 -0700)]
[lazy] Make hb_lazy_loader_t<> more usable

6 years ago[lazy] Minor
Behdad Esfahbod [Sun, 12 Aug 2018 23:40:08 +0000 (16:40 -0700)]
[lazy] Minor

6 years agoMinor
Behdad Esfahbod [Sun, 12 Aug 2018 23:33:48 +0000 (16:33 -0700)]
Minor

6 years ago[icu] Use get_relaxed for normalizer access
Behdad Esfahbod [Sun, 12 Aug 2018 23:30:39 +0000 (16:30 -0700)]
[icu] Use get_relaxed for normalizer access

We've had the proper barriers already.  No need for more with every access.

6 years ago[icu] Fix for breakage after recent change
Behdad Esfahbod [Sun, 12 Aug 2018 23:29:41 +0000 (16:29 -0700)]
[icu] Fix for breakage after recent change

6 years ago[lazy] Use for ft_library
Behdad Esfahbod [Sun, 12 Aug 2018 23:20:11 +0000 (16:20 -0700)]
[lazy] Use for ft_library

6 years ago[lazy] Add .free()
Behdad Esfahbod [Sun, 12 Aug 2018 23:00:13 +0000 (16:00 -0700)]
[lazy] Add .free()

6 years ago[ot/ft] Port font_funcs statis to lazy-loader
Behdad Esfahbod [Sun, 12 Aug 2018 20:46:53 +0000 (13:46 -0700)]
[ot/ft] Port font_funcs statis to lazy-loader

6 years ago[ucdn/glib/icu] Port unicode_funcs statics to lazy-loader
Behdad Esfahbod [Sun, 12 Aug 2018 20:39:01 +0000 (13:39 -0700)]
[ucdn/glib/icu] Port unicode_funcs statics to lazy-loader

6 years ago[lazy] Allow calling fini() multiple times
Behdad Esfahbod [Sun, 12 Aug 2018 20:16:40 +0000 (13:16 -0700)]
[lazy] Allow calling fini() multiple times

6 years ago[lazy] More
Behdad Esfahbod [Sun, 12 Aug 2018 20:12:29 +0000 (13:12 -0700)]
[lazy] More

6 years ago[lazy] More shuffle
Behdad Esfahbod [Sun, 12 Aug 2018 19:40:24 +0000 (12:40 -0700)]
[lazy] More shuffle

6 years agoMinor
Behdad Esfahbod [Sun, 12 Aug 2018 19:27:47 +0000 (12:27 -0700)]
Minor

6 years agoAdd explicit_operator
Behdad Esfahbod [Sun, 12 Aug 2018 19:21:56 +0000 (12:21 -0700)]
Add explicit_operator

Fixes https://github.com/harfbuzz/harfbuzz/issues/1127

6 years agoRename
Behdad Esfahbod [Sun, 12 Aug 2018 19:09:20 +0000 (12:09 -0700)]
Rename

6 years agoSupport _ in feature ids
Martin Hosken [Thu, 9 Aug 2018 08:16:32 +0000 (15:16 +0700)]
Support _ in feature ids

6 years ago[coretext] Another try
Behdad Esfahbod [Thu, 9 Aug 2018 08:02:02 +0000 (01:02 -0700)]
[coretext] Another try

6 years agoFix coretext build (hopefully)
Behdad Esfahbod [Thu, 9 Aug 2018 07:58:17 +0000 (00:58 -0700)]
Fix coretext build (hopefully)

6 years agoRevert "[iter] Make operator bool explicit"
Behdad Esfahbod [Thu, 9 Aug 2018 07:56:28 +0000 (00:56 -0700)]
Revert "[iter] Make operator bool explicit"

This reverts commit 66920a6bace7c54c8166c4ed938b6ffc5fabcf2b.

Some of our bots (Oracle Studio and Apple gcc 4.2) do not allow
explicit except for constructors.

https://github.com/harfbuzz/harfbuzz/issues/1127

6 years ago[atomic] More
Behdad Esfahbod [Thu, 9 Aug 2018 07:53:25 +0000 (00:53 -0700)]
[atomic] More

6 years agoFix lazy_loader fini()
Behdad Esfahbod [Thu, 9 Aug 2018 07:28:40 +0000 (00:28 -0700)]
Fix lazy_loader fini()

Was creating object even if wasn't there.

6 years ago[atomic] Add hb_atomic_ptr_t<> and port all uses
Behdad Esfahbod [Thu, 9 Aug 2018 07:22:37 +0000 (00:22 -0700)]
[atomic] Add hb_atomic_ptr_t<> and port all uses

Found and fixed a couple bugs.

Found a couple multithreading issues.  Marked them with "XXX-MT-bug".

6 years ago[atomic] Remove hb_atomic_int_impl_t now that it's always int
Behdad Esfahbod [Thu, 9 Aug 2018 05:51:35 +0000 (22:51 -0700)]
[atomic] Remove hb_atomic_int_impl_t now that it's always int

6 years ago[atomic] Unify typedef
Behdad Esfahbod [Thu, 9 Aug 2018 05:45:49 +0000 (22:45 -0700)]
[atomic] Unify typedef

Removes volatile from fallback implementation.  That was handwavy
anyway.

6 years ago[atomic] Change Mac atomic int type to int
Behdad Esfahbod [Thu, 9 Aug 2018 05:43:53 +0000 (22:43 -0700)]
[atomic] Change Mac atomic int type to int

If ever int is not 32bit, we'll fix this...

6 years ago[atomic] Change Windows atomic int type to int
Behdad Esfahbod [Thu, 9 Aug 2018 05:42:33 +0000 (22:42 -0700)]
[atomic] Change Windows atomic int type to int

6 years ago[atomic] Change Solaris atomic int to signed
Behdad Esfahbod [Thu, 9 Aug 2018 05:40:10 +0000 (22:40 -0700)]
[atomic] Change Solaris atomic int to signed

6 years ago1.8.7
Behdad Esfahbod [Thu, 9 Aug 2018 04:54:08 +0000 (21:54 -0700)]
1.8.7

6 years agoFix previous commit to use atomic operations
Behdad Esfahbod [Thu, 9 Aug 2018 05:01:04 +0000 (22:01 -0700)]
Fix previous commit to use atomic operations

6 years agoFix assertion failure
Behdad Esfahbod [Thu, 9 Aug 2018 04:42:18 +0000 (21:42 -0700)]
Fix assertion failure

https://bugzilla.mozilla.org/show_bug.cgi?id=1476334

6 years ago1.8.6
Behdad Esfahbod [Tue, 7 Aug 2018 16:55:42 +0000 (09:55 -0700)]
1.8.6

6 years agoAdd +hb_font_get_glyph_advances_for_direction
Behdad Esfahbod [Tue, 7 Aug 2018 16:52:06 +0000 (09:52 -0700)]
Add +hb_font_get_glyph_advances_for_direction

New API:
+hb_font_get_glyph_advances_for_direction

6 years agoActually add hb_font_get_glyph_[hv]_advances
Behdad Esfahbod [Tue, 7 Aug 2018 16:47:00 +0000 (09:47 -0700)]
Actually add hb_font_get_glyph_[hv]_advances

New API:
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_v_advances

6 years agoMinor
Behdad Esfahbod [Tue, 7 Aug 2018 16:44:01 +0000 (09:44 -0700)]
Minor

6 years agoRemove get_advances_nil and alias it to get_advances_default
Behdad Esfahbod [Tue, 7 Aug 2018 16:37:52 +0000 (09:37 -0700)]
Remove get_advances_nil and alias it to get_advances_default

6 years ago[iter] Make operator bool explicit
Behdad Esfahbod [Mon, 6 Aug 2018 22:32:13 +0000 (15:32 -0700)]
[iter] Make operator bool explicit

We would need to write:

  for (Iter<T> it (...); bool (t); t++)

instead of:

  for (Iter<T> it (...); t; t++)

But I think it's an improvement in code readability in the long term.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1127

6 years agoAdd batch advance width callback function
Behdad Esfahbod [Mon, 6 Aug 2018 16:45:17 +0000 (09:45 -0700)]
Add batch advance width callback function

New API:
+hb_font_funcs_set_glyph_h_advances_func
+hb_font_funcs_set_glyph_v_advances_func
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_h_advances_func_t
+hb_font_get_glyph_v_advances
+hb_font_get_glyph_v_advances_func_t

6 years agobatchwidth
Koji Ishii [Wed, 1 Aug 2018 04:01:08 +0000 (13:01 +0900)]
batchwidth

6 years agoRemove most uses of direct comparison to Null objects
Behdad Esfahbod [Mon, 6 Aug 2018 13:30:12 +0000 (06:30 -0700)]
Remove most uses of direct comparison to Null objects

6 years agoPort _nil objects to Null() machinery
Behdad Esfahbod [Mon, 6 Aug 2018 13:17:48 +0000 (06:17 -0700)]
Port _nil objects to Null() machinery

Finally, unified!

6 years ago[BASE] Rename horzi/vert to h/v
Behdad Esfahbod [Mon, 6 Aug 2018 12:53:35 +0000 (05:53 -0700)]
[BASE] Rename horzi/vert to h/v

6 years ago[BASE] Misc fixes
Behdad Esfahbod [Mon, 6 Aug 2018 12:52:12 +0000 (05:52 -0700)]
[BASE] Misc fixes

The code was badly broken.  In better shape now, but still, needs
a full review before ever working.

6 years agoChange null-pool specialization to min_size again
Behdad Esfahbod [Mon, 6 Aug 2018 12:29:15 +0000 (05:29 -0700)]
Change null-pool specialization to min_size again

6 years agoMove Null system to hb-null.hh
Behdad Esfahbod [Mon, 6 Aug 2018 12:01:52 +0000 (05:01 -0700)]
Move Null system to hb-null.hh

6 years agoRemove unused macros
Behdad Esfahbod [Mon, 6 Aug 2018 11:58:34 +0000 (04:58 -0700)]
Remove unused macros