rsheeter
96de94768b
Merge pull request #1722 from googlefonts/glyf
...
[subset] Use iterators in glyf/loca subsetting
2019-05-24 11:22:41 -07:00
Garret Rieger
ff7fc6d488
[subset] Add morx, mort, kern, and kernx to the default layout tables drop list.
2019-05-22 17:36:16 -07:00
Rod Sheeter
d1b12a5465
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
2019-05-20 21:29:54 -07:00
Rod Sheeter
82bbec3063
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
2019-05-20 21:25:42 -07:00
rsheeter
240bc86e3a
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.
2019-05-20 21:25:05 -07:00
rsheeter
02d4d4f3e6
[subset] Starting to sketch glyf as iter
2019-05-20 21:24:59 -07:00
Garret Rieger
0ff3618c2d
[subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli.
2019-05-20 13:35:46 -07:00
Garret Rieger
3be0ffe45d
[subset] Add drop tables to subset input.
2019-05-20 13:35:46 -07:00
Behdad Esfahbod
5ea8ad5c48
[subset] Add HB_NO_SUBSET_CFF
...
Doesn't fully prune all the relevant code. To be fixed later.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-10 23:36:42 -07:00
Behdad Esfahbod
227d85e138
Minor
2019-05-10 23:16:14 -07:00
Garret Rieger
d5decf9bf7
[subset] Move hdmx to subset2.
2019-05-08 15:47:24 -07:00
Behdad Esfahbod
521262b236
[subset] Add TODO
2019-05-07 11:08:08 -07:00
Michiharu Ariza
1223a352b7
Merge branch 'master' into var-subset
2019-04-29 16:43:48 -07:00
Behdad Esfahbod
6977a95fed
[subset] Don't crash if subsetting GSUB/GPOS fails
...
Fixes fuzzer issue.
2019-04-27 10:05:25 -07:00
Behdad Esfahbod
2b051e7aa1
[subset] Check error after calling serializer end
2019-04-27 10:01:11 -07:00
Qunxin Liu
19afd25004
[subset] Update to use _subset2() for name table
2019-04-26 15:24:47 -07:00
Qunxin Liu
408c1daeb4
[subset] subset name table step 1, write out table unmodified, use accelerator to access
...
string
2019-04-26 15:24:47 -07:00
Michiharu Ariza
6cde814a36
Merge branch 'master' into var-subset
2019-04-16 11:35:07 -07:00
Behdad Esfahbod
19e800c9d8
Ugh. Another try, to unbreak gcc this time!
...
Jenga.
2019-04-15 12:07:00 -04:00
Behdad Esfahbod
3a88f55c15
Move location of HB_UNUSED to make MSVC happy
2019-04-15 11:59:57 -04:00
Behdad Esfahbod
47e538a35f
Add HB_NO_SUBSET_LAYOUT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 22:54:15 -04:00
Michiharu Ariza
b999ce9bf0
Merge branch 'master' into var-subset
2019-04-03 10:34:09 -07:00
Behdad Esfahbod
2e675cc7b5
[subset] Call serialize start/end around it
...
To be cleaned up.
2019-04-01 16:56:41 -07:00
Michiharu Ariza
f7700fc479
Merge branch 'master' into var-subset
2019-03-30 20:49:34 -07:00
Behdad Esfahbod
fe05e48086
[serialize] Add ran_out_of_room
2019-03-30 15:06:25 -07:00
Michiharu Ariza
2c5ed7f152
Added hb-ot-var-gvar-table.hh
...
implemented sanitize()
placeholder subset()
some code cleanup
2019-03-29 18:14:59 -07:00
Michiharu Ariza
655bc96bc2
subset VVAR & outer indices
2019-03-29 18:14:59 -07:00
Michiharu Ariza
09df17e71b
subset HVAR
...
Re-implemented & repurposed CFF:remap_t as hb_map2_t (moved to hb-ot-layout-common.hh) for two-way mapping for use by index map subsetting.
Hooked up HVAR subsetter through _subset2.
Some renaming in CFF code.
2019-02-20 15:48:29 -08:00
Garret Rieger
05e99c86ba
[subset] A few small fixes for the new subset plan api.
2019-01-29 13:19:21 -08:00
Behdad Esfahbod
9aebfb4182
[serialize] Streamline error propagation
2018-12-18 13:22:17 -05:00
Behdad Esfahbod
42a1012562
[subset] Actually subset GDEF
2018-12-13 19:39:59 -05:00
Behdad Esfahbod
5761031329
[subset] Minor
2018-12-12 21:21:26 -05:00
Michiharu Ariza
9ae954f43a
Merge branch 'master' into cff-subset
2018-11-30 15:00:52 -08:00
Behdad Esfahbod
861bc75349
[vector] Make pointer cast explicit
...
Too bad this doesn't help MSVC 2008 build, as explicit operators are
C++11.
2018-11-29 14:34:44 -05:00
Michiharu Ariza
b403be8ad9
Merge branch 'master' into cff-subset
2018-11-16 12:29:18 -08:00
Ebrahim Byagowi
11aa0468ac
[subset] minor, adjust spaces
2018-11-16 00:02:47 +03:30
Michiharu Ariza
1682d1bbec
Merge branch 'master' into cff-subset
2018-11-04 13:25:41 -08: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
Michiharu Ariza
e600e5440b
Merge branch 'master' into cff-subset
2018-11-01 16:13:56 -07:00
Behdad Esfahbod
3a4e5dd425
Remove a few unnecessary hb_auto_t<>'s
...
See a85641446c30247c4e948263f0f8c1147ed4efb9
2018-10-29 22:27:20 -07:00
Behdad Esfahbod
955aa56b11
[vector] Make it act more like pointer
...
Add pointer cast operator and plus operator.
2018-10-25 16:50:38 -07:00
Michiharu Ariza
55942ad5c1
Merge branch 'master' into cff-subset
2018-10-06 14:49:44 -07:00
Behdad Esfahbod
341206eb60
[vector] Make hb_vector_t relocatable / nestable
...
Ugly, but...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1227
2018-10-05 18:39:48 +02:00
Michiharu Ariza
f212c050ad
Added VORG struct and its subsetter
...
new file: hb-ot-vorg-table.hh
2018-09-20 09:45:43 -07:00
Behdad Esfahbod
20a11a824d
Revert "[subset] Disable GSUB/GPOS subsetting for now"
...
This reverts commit 616fd34a69
.
2018-09-10 13:56:28 +02:00
Behdad Esfahbod
616fd34a69
[subset] Disable GSUB/GPOS subsetting for now
...
So I can get a release out. I haven't debugged those yet, and they
are producing bad tables.
2018-09-10 11:19:49 +02:00
Michiharu Ariza
1e88b1755c
Merge branch 'master' into cff-subset
2018-09-07 10:50:55 -07:00
Behdad Esfahbod
5f17dbc302
[subset] Fix div-by-zero
2018-09-07 10:24:22 -04:00
Michiharu Ariza
22b88632d5
Merge branch 'master' into cff-subset
2018-09-06 22:27:44 -07:00
Behdad Esfahbod
1e6599f596
Fix older compilers re '>>' at nested template declarations
2018-09-05 19:29:42 -07:00
Behdad Esfahbod
a1e5e07c73
[subset] Hook up GSUB/GPOS, but still disabled
...
They are still in the drop list.
2018-09-05 16:24:28 -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
93fe0faaee
[subset] Clean up hb_subset_input_t API
2018-08-29 18:24:03 -07:00
Behdad Esfahbod
d237ce7181
[subset] Bail if subsetting a table failed
2018-08-29 18:13:52 -07:00
Behdad Esfahbod
f39166f0c0
[subset] Remove unused hb_subset_profile_t
...
We might reintroduce it later, but for now remove, as it was unused.
Some things that should have been in this object (drop_hints, etc)
are already in hb_subset_input_t. So, for now, keep everything there.
2018-08-29 18:09:55 -07:00
Michiharu Ariza
8af9690ac7
Merge branch 'master' into cff-subset
...
Renamed cff "private" source/headers without the suffix
2018-08-29 13:26:17 -07:00
Behdad Esfahbod
dae39c58fb
[face] Introduce character-map API
...
New API:
+hb_face_collect_unicodes
+hb_face_collect_variation_selectors
+hb_face_collect_variation_unicodes
2018-08-25 22:44:39 -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
b09a0336ca
[cmap] More hb_auto_t<>(...)
2018-08-25 22:04:39 -07:00
Behdad Esfahbod
1dcf5fb038
[cmap Add hb_subset_collect_variation_unicodes()
...
To be moved to hb-face.h later.
2018-08-25 16:12:18 -07:00
Behdad Esfahbod
4806b3800d
[cmap] Add hb_subset_collect_variation_selectors()
...
To be moved to hb-face later.
2018-08-25 15:58:40 -07:00
Behdad Esfahbod
d60c465627
Rename get_all_codepoints() to collect_unicodes()
2018-08-25 08:48:42 -07:00
Behdad Esfahbod
aadb2a9188
Add face-builder
...
New API:
+hb_face_builder_create
+hb_face_builder_add_table
2018-08-25 08:18:53 -07:00
Michiharu Ariza
e67bb3fbcf
renamed OT::cff to OT::cff1 for consistency
...
along with HB_OT_TAG_cff1
2018-08-16 00:25:57 -07:00
Michiharu Ariza
fdbfa1848b
renamed CFF version 1 structs and sources to CFF1 from CFF
...
"CFF" is used for shared structs & sources between CFF1 & CFF2
except OT:cff is for CFF version 1 table
2018-08-16 00:13:09 -07:00
Michiharu Ariza
64c5412264
Added CFF support
...
Added sources hb-ot-cff-table.hh, hb-subset-cff.cc & hh
Templatized Index because CFF uses 16-bit count while CFF2 uses 32-bit
Misc code cleanup & bug fixes
2018-08-10 11:07:07 -07:00
Michiharu Ariza
161ece4c30
Merge branch 'master' into cff-subset
2018-08-06 11:23:50 -07:00
Behdad Esfahbod
b912fbea17
Remove most uses of direct comparison to Null objects
2018-08-06 06:38:59 -07:00
Michiharu Ariza
e2fd49e477
Merge branch 'master' into cff-subset
2018-08-02 11:39:22 -07:00
Behdad Esfahbod
ed7b2e58fc
Remove OT namespace from hb-machinery-private.hh
2018-08-02 00:08:08 -07:00
Michiharu Ariza
161b642ec5
Merge branch 'master' into cff-subset
2018-07-30 12:22:09 -07:00
Behdad Esfahbod
9583e0077d
Port more off of Sanitizer<>
2018-07-22 22:43:25 -07:00
Michiharu Ariza
3a61c3e935
first push of CFF/CFF2 work
...
Index, Dict structs
hooked up to hb-subset (takes CFF2, outputs empty CFF2)
2018-07-18 14:17:52 -07:00
Behdad Esfahbod
be458eb059
Include more basic internal headers from hb-private.hh
2018-07-10 14:41:04 +02:00
Behdad Esfahbod
bddeb2b10c
Minor renamings of internal inline functions
2018-07-10 14:13:21 +02:00
Behdad Esfahbod
cc0b04f48f
[subset] Remove HB_SUBSET_BUILTIN
...
Just include hb-static.cc in libharfbuzz-subset.so source list as
well. Those building it built-in will include hb-static.cc once
already. No need for any gymnastics.
2018-06-12 18:24:54 -04:00
Behdad Esfahbod
b8e406f0c7
More fixes for SunStudio 12.6 build
...
Followup to https://github.com/harfbuzz/harfbuzz/pull/1053
2018-06-10 17:22:38 -04:00
Garret Rieger
a5673da9be
[subset] Add drop_ot_layout setting to subset input.
2018-06-08 12:09:34 -06:00
Behdad Esfahbod
f9abbf83b6
Fix fallout from 975bdd5ef5
...
Ouch!
2018-06-02 15:46:08 -07:00
Behdad Esfahbod
f7515769fd
[vector] Use Crap pool in push() as well
2018-06-01 17:48:37 -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
fd3d004231
Move pool definitions to hb-static.cc
2018-05-24 15:58:26 -07:00
Behdad Esfahbod
7f7b1370d3
Fix Uniscribe build
...
If a pointer type was passed to Null(), reinterpret_cast<> was
complaining about qualifiers being removed. Turns out I need the const on
the other side of "Type" to fix that. Also remove unused const from
NullPool type.
2018-05-24 14:09:04 -07:00
Behdad Esfahbod
f83e992c8b
Mark CrapPool thread_local
...
Not sure if I like to keep it. For now, aim for correctness.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
5d80129891
Add CrapPool
...
Common Regoin for Access Protection. Like the NullPool, but writable.
2018-05-24 13:53:02 -07:00
Behdad Esfahbod
63f57f4dab
Mark more unsized array's as arrayZ
2018-05-08 16:56:11 -07: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
abc12f7b81
Move null pool to hb-private
2018-05-08 02:23:36 -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
Behdad Esfahbod
a60ba7964e
s/finish/fini
...
For consistency.
2018-05-01 19:01:25 -04:00
Garret Rieger
21a181af2b
[subset] sketch out support for a call that lists all codepoints present in a font. Implement support for it in format 4 cmap sub table.
2018-04-16 16:29:26 -06:00
Garret Rieger
1c3372786c
[subset] fix infinite loop bug in looping through tables for subsetting.
2018-03-27 13:47:42 -06:00
Garret Rieger
07851aae9d
[subset] Couple of fixes for fuzzer discovered issues. ( #924 )
...
* [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.
* [subset] Fix out of bounds read with non-two byte align glyphs.
* [subset] Just use size_device_record >= DeviceRecord::min_size.
* [subset] Add TODO.
* [subset] Re-order checks in hdmx sanitize.
2018-03-26 19:56:56 -07:00
Behdad Esfahbod
e4d1cbfb4f
Add HB_SUBSET_BUILTIN
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/865
2018-03-26 14:09:29 -07:00
Garret Rieger
7251181b56
[subset] Fix infinite loop in there are more then 32 tables.
2018-03-20 19:47:36 -06:00
Garret Rieger
39b2f69fab
[subset] Drop the same tables by default as fontTools does.
2018-03-08 16:30:36 -08:00
Garret Rieger
dd10769993
[subset] drop all glyph names from the post table.
2018-03-07 11:36:54 -08:00
Garret Rieger
91867cda6a
[subset] cleanup.
2018-03-07 10:17:06 -08:00
Garret Rieger
0e8f9430c8
[subset] Skip subsetting vhea.
2018-03-07 10:03:52 -08:00