Commit Graph

4690 Commits

Author SHA1 Message Date
Behdad Esfahbod
219cb29c5d Fix build after rebasing opentype-gx branch on top of MATH table 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
0aedfd59be [GX] Apply 'rvrn' feature before any other feature 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
42c8142531 [GX] Fix build with older FreeType 2016-12-16 19:06:26 -06:00
Sascha Brawer
72873cf522 Call hb_font_set_var_coords_normalized() from FT_Face coords 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
4ebbeb7c50 [GX] Make FeatureVariations actually work
Yay!!!!
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
72ada4f0c6 [GX] Hook up feature variations
Shape-plan caching is not implemented.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
ec87ba9ba3 [GX] Add hb_ot_layout_feature_with_variations_get_lookups() 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
30c42b644e [GX] Add hb_ot_layout_table_find_feature_variations() 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
7ceadbe981 Shuffle code around 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
bde5e3959c Move add_lookups from map to map-builder
In prep for more changes.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
26648cebcd [GX] Remove (partial) support for anisotropic variations
It doesn't always work, not part of FreeType, and we were not going
to expose it in the API anyway.  Can always be added later.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
c22176d4ba [GX] Handle setting var coords to NULL 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
59055b5494 [GX] Implement Feature Variations
Not hooked up to shaper yet.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
85ec494434 [GX] Fix another x/y thinko
Thanks Werner!
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
cf3de4d8f7 [GX] Rename VarStore to VariationStore 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
1f6ed356e0 [GX] Fix build with some compilers
Eg. https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.48/job/o9mnd33kcdeeg30r

hb-open-type-private.hh:103:29: error: static data member 'OT::Device::<anonymous union>::<anonymous struct>::static_size' in unnamed class [-fpermissive]
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
250bcd6fb6 [GX] Skip tail zero entries when setting variation coordinates 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
1124d2ece5 [GX] Fix thinko 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
ad69e8f07c [GX] Add new API hb_font_set_var_coords_normalized()
Will probably change.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
151d93de8a [GX] Hook up GPOS to Variation Store stored in GDEF
Untested.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
dcfd309533 [GX] Change GDEF API to return varStore 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
49cb87850c [GX] Pass apply-context down to get_anchor()
Needed to access GDEF for varStore.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
f0c3fd8c9a [GX] Add varStore member to GDEF
Still not hooked up from GPOS.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
5c971f8dbc Minor change to GDEF, in prep for new version 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
dc9f229799 [GX] Port variation stuff to Variation Store design
Not hooked up to GDEF yet.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
a7edeb6f02 Make OffsetArrayOf take OffsetType template argument 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
8dddc231cf [GX] Revert "[GX] Add VariationAlternates, to allow conditional lookups in GSUB/GPOS"
This reverts commit 2859f1c7174d6f7ae5dcf0db5411bc0182b21594.
We are going in a different direction.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
bb4d2e6ed5 [GX] Free GX coordinates 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
baa329c6a1 [GX] Add compact VariationDevice implementation
Add compact format that uses signed bytes instead of shorts.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
71b06fd392 [GX] Add VariationAlternates, to allow conditional lookups in GSUB/GPOS
Not hooked up to runtime yet.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
976eeb8e02 [GX] Minor 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
ed8a9067ca [GX] Minor 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
15c5ee6747 [GX] Minor rename 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
4c535a822f [GX] Hookup VariationDevice to Device table implementation 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
a0c2366075 [GX] Break out early if factor is zero
Also disable sanity-checking of variation records.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
ca28670316 [GX] Towards anisotropic interpolation
Also hookup to ValueRecord and Anchors.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
6d9d3c55bb [GX] Add data types for encoding numerical variations 2016-12-16 19:06:26 -06:00
Behdad Esfahbod
b843c6d8b6 1.3.4 2016-12-05 13:45:15 -08:00
Behdad Esfahbod
8c842e4a44 [hb-fuzzer] Get glyph extents for output glyphs
To exercise glyph-extents codepaths (glyf / CBLC+CBDT).
2016-12-04 20:28:38 -08:00
Behdad Esfahbod
9f6144cdb9 [CBDT] Add test for fetching glyph extents 2016-12-04 19:55:17 -08:00
Behdad Esfahbod
e4bfccfb2a [CBDT] Minor 2016-12-04 19:45:46 -08:00
Behdad Esfahbod
b7068af423 [CBDT] Fix thinko! 2016-12-04 19:36:30 -08:00
Behdad Esfahbod
a141d1da9b [CBDT] Implement IndexSubtableFormat3 2016-12-04 19:26:54 -08:00
Behdad Esfahbod
9eda74c92c [cbdt] Move some more code around 2016-12-04 19:12:52 -08:00
Behdad Esfahbod
654f9ab0d8 [cbdt] Fix sign bug
Was introduced in d495fc5e38
2016-12-04 18:56:24 -08:00
Behdad Esfahbod
c27d6fcf8d [cbdt] Last of sanitization fixes
Should be all good now..
2016-12-02 22:43:05 -08:00
Behdad Esfahbod
d495fc5e38 [cbdt] Clean up some more
Almost there..
2016-12-02 21:52:33 -08:00
Behdad Esfahbod
ce09e90e15 [cbdt] More sanitize work 2016-12-02 20:12:57 -08:00
Behdad Esfahbod
70eb2ff682 Check for offset overflows during sanitize 2016-12-02 19:51:23 -08:00
Behdad Esfahbod
4b58c9e326 [cbdt] Start fixing sanitization (or lack thereof) 2016-12-02 19:25:54 -08:00