Commit Graph

4497 Commits

Author SHA1 Message Date
Behdad Esfahbod
de14c19d14 [fuzzer] Separate main() into a new file 2016-12-20 20:50:38 -06:00
Behdad Esfahbod
7ed71eb347 Protect collect_glyphs() and closure() against malicious DDOS fonts
Fixes https://github.com/behdad/harfbuzz/issues/363
2016-12-20 15:01:16 -06:00
Mike Hommey
1c98ff87c7 Support building with older glib versions
It is desirable to be able to build against older versions of glib.

fd7a245 changed the configure check to require glib > 2.38 for
G_TEST_DIST. Before that, version 2.16 was required, but in fact,
since aafe395, G_PASTE is being used, which was introduced in 2.19.1.
And since 0ef179e2, hb-glib uses GBytes, which were introduced in
2.31.10.

2.19.1 is rather old, but 2.38 is rather new. For Firefox, building
against 2.22 is still supported, although we could probably get away
with bumping that to 2.28. Either way, GBytes is not available.

Arguably, if you build against a glib that doesn't support GBytes,
you're not going to use the hb_glib_blob_create function, so we hide
the function when building against such a glib.

As for G_TEST_DIST, when building against versions of glib that don't
support it, we can fallback to the previous behavior, which, AIUI, was
just making the test not work when building in a separate directory.
2016-12-18 01:37:07 -06:00
Volker H. Simonis
ad273881c5 Minor fixes to pacify Coverity code scan
Fixes https://github.com/behdad/harfbuzz/pull/377
2016-12-18 00:14:06 -06:00
ebraminio
1e1825bf47 [dwrite] Provide an experimental API for justification (#279) 2016-12-17 10:30:40 +03:30
elmarb
4cd0cd6791 NMake ICU option builds with builtin ICU (#375) 2016-12-16 19:06:26 -06:00
Khaled Hosny
75fa884f92 [win32] Fix wrong description of the ICU option (#372) 2016-12-16 19:06:26 -06:00
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