Commit Graph

116 Commits

Author SHA1 Message Date
Garret Rieger 03e88eab5c Re-implement HMTX/VMTX subsetting. Update it to support glyph renumbering and simplify the implementation. 2019-01-29 13:19:21 -08:00
Behdad Esfahbod ef00654962 Convert tag enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod 474a12058d [array/vector] Rename len to length 2018-12-21 18:53:01 -05:00
Ebrahim Byagowi e412008599 Remove redundant void from C++ sources (#1486) 2018-12-17 13:01:01 -05:00
Ebrahim Byagowi b2ebaa9afa Remove redundant 'inline' from methods (#1483) 2018-12-16 14:08:10 -05:00
Ebrahim Byagowi f7cfe99815
[os2] Move typometrics detection logic to the table (#1465) 2018-12-08 13:40:44 +03:30
Behdad Esfahbod 5c4fead734 Convert "static const hb_tag_t" constants to enum 2018-11-29 15:05:47 -05:00
Ebrahim Byagowi 11aa0468ac [subset] minor, adjust spaces 2018-11-16 00:02:47 +03:30
Ebrahim Byagowi 7867c2bad0
[STAT] Add table parsing (#1384) 2018-11-14 22:13:50 +03:30
Behdad Esfahbod 48d16c2ab2 [hmtx] Fix signedness issue
Fixes https://github.com/harfbuzz/harfbuzz/issues/1248#issuecomment-438689499
2018-11-14 09:57:05 -05:00
Behdad Esfahbod da6aa3b033 Add hb_blob_ptr_t.destroy() 2018-11-11 11:40:57 -05:00
Behdad Esfahbod bb9abb4efd [hmtx/port] Use hb_blob_ptr_t 2018-11-11 00:42:23 -05:00
Khaled Hosny 2c68f34bdd [os2] Capitalize table tag and struct
Other tables follow the case of the OT tag, except this one.
2018-11-02 17:17:54 -04:00
Behdad Esfahbod e01250230b [hmtx/vmtx] Fix a crasher 2018-10-31 18:14:00 -07:00
Behdad Esfahbod 39bd07aed5 Fix bunch of unused parameter warnings
Show up with gcc -O0.

There's a few more but those are functions that need to be filled in.

Maybe this is a lost battle...
2018-10-26 21:22:26 -07:00
Behdad Esfahbod 401cdf0792 [ot-font] Fix sign of ascent/descent
Some fonts, like msmincho, have positive number as descent
in vhea table.  That's wrong.  Just enforce sign on ascent/descent
when reading both horizontal and vertical metrics.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1248
2018-10-23 17:00:49 -07:00
Behdad Esfahbod 8dc6296818 [ot-font] Implement TrueType v_origin
Fixes https://github.com/harfbuzz/harfbuzz/issues/537
2018-10-15 01:09:05 -07:00
Behdad Esfahbod e1add2a275 [hmtx] Whitespace 2018-10-14 16:26:03 -07:00
Behdad Esfahbod dff2c45f1e Port rest from VAR to UnsizedArrayOf<> 2018-09-11 01:01:08 +02:00
Behdad Esfahbod d1f29908c2 [subset] Add hb_subset_context_t<> 2018-08-31 16:31:00 -07:00
Behdad Esfahbod aba0a945c5 [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include 2018-08-31 13:25:19 -07:00
Behdad Esfahbod 3a0b3a29cc Free up hb-ot-face.hh from includes
There might be a better way to do this, but I couldn't find...
2018-08-26 15:11:24 -07:00
Behdad Esfahbod c77ae40852 Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders.  Please adjust.
2018-08-25 22:36:36 -07:00
Behdad Esfahbod 36ed163fdd Remove unnecessary OT:: namespace specifiers 2018-07-23 11:57:45 -07:00
Behdad Esfahbod 9583e0077d Port more off of Sanitizer<> 2018-07-22 22:43:25 -07:00
Garret Rieger 251cc977e9 [subset] Switch to using hb_map_t inside of hb_subset_plan_t. 2018-05-30 17:23:59 -06:00
Behdad Esfahbod eba1c16a60 Always lock blob in sanitize. Remove blob->lock_as() in favor of blob->lock() 2018-05-08 02:47:42 -07:00
Behdad Esfahbod b4fa505014 Move Sanitizer::lock_instance<>() to blob->lock_as<>(). 2018-05-08 02:45:08 -07:00
Behdad Esfahbod 5c3112aec8 s/hb_prealloced_array_t/hb_vector_t/g
Part of https://github.com/harfbuzz/harfbuzz/issues/1017
2018-05-01 19:07:04 -04:00
Ebrahim Byagowi 277e328986
Make some of implicit header uses explicit (#989)
Splitted from #950 and #986 IIRC Chromium had a policy about this encouraging it,
not sure about automated way to detect and add them but for now lets have the needed
ones of them.
2018-04-17 09:13:35 +04:30
Ebrahim Byagowi a02c3ee70f Add or update tables specifications links 2018-04-12 13:44:32 +04:30
Garret Rieger 1a94804d35 [subset] Add a fix for segfault in hmtx/vmtx subsetting code. 2018-03-20 19:47:36 -06:00
Garret Rieger 64cf53d619 [subset] Subset vmtx if present. 2018-03-07 10:03:52 -08:00
Garret Rieger 4665aaa193 [subset] Fix memory leak in hmtx subsetting. 2018-02-23 15:36:14 -08:00
Rod Sheeter 7acaa3b781 [subset] apparently C99 is too much to ask in 2018 2018-02-15 14:28:29 -08:00
Rod Sheeter b1740106a9 [subset] fix format specifier for size_t 2018-02-15 13:55:21 -08:00
Rod Sheeter e00c37aaae [subset] fix no matching function MIN in djgpp 2018-02-15 12:53:52 -08:00
Rod Sheeter 0758cbc4c2 [subset] correct bug introduced to get_advance 2018-02-15 11:29:01 -08:00
Rod Sheeter 0e088a63d1 [subset] hmtx space bracket. authors++ 2018-02-14 21:11:45 -08:00
Rod Sheeter e158739bfb [subset] space bracket 2018-02-14 19:22:37 -08:00
Rod Sheeter 1efecd965f [subset] hmtx use copy writeable fn instead of direct memory 2018-02-14 19:05:41 -08:00
Garret Rieger 0775bc0f7a [subset] Fix hhea subsetting and clean up some memory leaks. 2018-02-14 16:37:35 -08:00
Rod Sheeter 42a80f00d5 [subset] add free 2018-02-14 15:04:35 -08:00
Rod Sheeter fa87770372 [subset] First pass at hmtx 2018-02-14 14:53:10 -08:00
Behdad Esfahbod 96f1f52ea3 Use hb_face_get_upem() instead of face->get_upem()
Such that hmtx accelerator can be used from libharfbuzz-subset.
2018-02-12 18:49:38 -08:00
Behdad Esfahbod 6d7c6e19dc Fix two undefined-behavior issues
Fixes https://github.com/harfbuzz/harfbuzz/issues/761
Fixes https://github.com/harfbuzz/harfbuzz/issues/762
2018-02-07 14:09:56 -06:00
Behdad Esfahbod 470fe5b603 [aat] Implement Lookup table
Untested, but compiles.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod 1e05ea79d0 [ot] Short-circuit base instance advance variation 2018-01-05 14:01:37 +00:00
Behdad Esfahbod eab4feb5e2 [hmtx] Use curiously recurring template pattern
https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
2017-11-14 20:17:15 -08:00
Behdad Esfahbod a7f15959b5 Shuffle 2017-11-14 20:02:24 -08:00
Behdad Esfahbod a85d7ead04 [ot] Move hb_ot_face_metrics_accelerator_t 2017-11-14 20:00:34 -08:00
Behdad Esfahbod a11d9a0466 Minor 2017-01-22 20:11:57 -08:00
Behdad Esfahbod 082b79fe9f Use FWORD and UFWORD when it makes sense
I had forgotten about those types.
2016-03-01 16:41:26 +09:00
Behdad Esfahbod b47159011c Define return_trace()
Not functional change (expected!).
2015-09-29 14:57:02 +01:00
Behdad Esfahbod de2118ed7a 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...
2015-02-25 15:43:28 -08:00
Behdad Esfahbod 153beebba9 [ot] Make sure all toplevel tables have tableTag 2014-12-12 19:46:09 -08:00
Behdad Esfahbod be1cca2702 [ot-font] Add metrics_accel_t 2014-09-25 16:53:24 +03:00
Behdad Esfahbod d41b809e9d [ot-font] Start adding vertical support 2014-09-25 13:22:01 +03:00
Behdad Esfahbod 903648437c Start fleshing out builtin font functions 2014-03-24 15:19:15 -07:00
Behdad Esfahbod 6c48f20eea [otlayout] Add structs for JSTF table 2013-09-09 15:43:10 -04:00
Behdad Esfahbod be218c688c Pass this object to trace macros 2012-11-23 15:32:14 -05:00
Behdad Esfahbod 7d52e6601f Whitespace 2012-11-16 18:49:54 -08:00
Behdad Esfahbod 7c8e844d92 Use namespace for OpenType tables
Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
2012-08-28 17:57:49 -04:00
Behdad Esfahbod ec8d249469 Make data members of various OpenType structs protected instead of private
Should fix warnings generated when building with -Wunused-private-field.
Based on patch from Jonathan Kew.
2012-07-24 15:40:37 -04:00
Behdad Esfahbod 0ab8c86217 Annotate SANITIZE return values
More to come, for APPLY, CLOSURE, etc.
2012-05-11 02:11:52 +02:00
Behdad Esfahbod 24bcdbcc06 Add hb-ot-hmtx-table.hh
Oops!
2011-08-24 19:13:15 +02:00