Commit Graph

66 Commits

Author SHA1 Message Date
Khaled Hosny c9796d15e1 Fix sbix glyph extents
* The ‘height’ needs to be negated since the API returns “distance from
  top to bottom side”.
* Similarly, the ‘y_offset‘ needs to be added to the height to get the
  ‘y_bearing’, since sbix’s offset is “the point in the glyph relative
  to its lower-left corner which corresponds to the origin” while
  ‘y_bearing’ is the “top side of glyph from origin”.

With these changes the sbix glyph metrics return values similar to other
tables, as they were otherwise unusable.
2019-07-22 05:42:34 +02:00
Behdad Esfahbod dfc5780245 Fix more double-promotion errors
WHy do only some of the clang bots catch this I have no idea :(.
2019-05-07 23:26:09 -07:00
Behdad Esfahbod 41248cce0e Remove MIN/MAX in favor of hb_min/hb_max 2019-05-07 20:54:31 -07:00
Ebrahim Byagowi 92588782d7
Remove space between right angle brackets now that we have C++11 (#1689) 2019-04-30 13:05:10 -07: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
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 7ee5c52345
minor style fix, use void in methods on no argument 2018-12-12 15:14:37 +03:30
Behdad Esfahbod 5c4fead734 Convert "static const hb_tag_t" constants to enum 2018-11-29 15:05:47 -05:00
Behdad Esfahbod fc44dea341 Use atomic ints for upem and num_glyphs on face 2018-11-13 11:54:33 -05:00
Behdad Esfahbod da6aa3b033 Add hb_blob_ptr_t.destroy() 2018-11-11 11:40:57 -05:00
Behdad Esfahbod 0b0fad3ea8 [color] Port to hb_blob_ptr_t
Fix hb_blob_ptr_t::get_length () as well.
2018-11-11 00:26:55 -05:00
Behdad Esfahbod 0b0b38ec1e Fix null accelerator's
Fixes all except for cmap.  To be done separately.

Part of https://github.com/harfbuzz/harfbuzz/issues/1146
2018-11-03 16:16:31 -04:00
Behdad Esfahbod 995bf6c6f8 [sbix] Rely on blob->as<> checking size against Type::min_size 2018-10-31 13:21:33 -07:00
Khaled Hosny 0af3d176a6 [sbix] Fix memory leak in early return
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11210
2018-10-30 17:05:28 +02:00
Behdad Esfahbod 98bddbc8ef [sbix] Minor 2018-10-28 23:14:15 -07:00
Behdad Esfahbod 574579d376 [color] Rename get_strike() to choose_strike() 2018-10-28 23:04:37 -07:00
Behdad Esfahbod e998fb9fbf [color] Round extents when scaling 2018-10-28 22:45:53 -07:00
Ebrahim Byagowi c929ccfcea [ot-color/png] Consider strike ppem on scaling 2018-10-28 22:40:40 -07:00
Behdad Esfahbod 4876c938a2 [sbix] Comment 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 6562172381 [sbix] Use LOffsetLArrayOf<> 2018-10-28 18:33:10 -07:00
Behdad Esfahbod a3ddd8067f [sbix] Add get_strike 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 95524ed9bc [sbix] Remove sbix_len 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 69e9846452 [sbix] Fix get_glyph_blob() on Null object 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 4e0ee2af09 [sbix] Simplify ppem access
If struct members are simple and needed publicly, we make them public.
2018-10-28 18:33:10 -07:00
Behdad Esfahbod 6ac9a4eaa3 [sbix] Simplify glyph_length calc 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 0730d62385 [sbix] Check glyph data end is in range 2018-10-28 18:33:10 -07:00
Behdad Esfahbod b76dc03108 [sbix] Reduce code 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 50fb02a219 [sbix] Check glyph id before looking into unsafe array
That 'Z' at end of imageOffsetsZ is a reminder that you should check...
2018-10-28 18:33:10 -07:00
Behdad Esfahbod a8cb9c73da [sbix] Simplify 'dupe' handling logic 2018-10-28 18:33:10 -07:00
Behdad Esfahbod d7eb534e59 [sbix] Check offsets before proceeding 2018-10-28 18:33:10 -07:00
Behdad Esfahbod c8380bd3e4 [color] Remove more dump-emoji cruft 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 68f2c832c8 Remove dump-emoji 2018-10-28 18:33:10 -07:00
Behdad Esfahbod b46de42b3a [sbix] Fix order of parameters 2018-10-28 18:33:10 -07:00
Behdad Esfahbod a91cda72ab [sbix] Remove redundant parameter 2018-10-28 18:33:10 -07:00
Behdad Esfahbod c712005f55 [sbix] Add get_strike() 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 400bc3f030 [sbix] Remove a couple of extra checks 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 3770282c83 [sbix] Rename sbix_table to table in accelerator 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 1f33b8525d [sbix] Rename ugly reference_blob_for_glyph() to reference_png() 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 946b534419 [sbix] Fix uninitialized variables 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 01c7d53fb7 [sbix] Select best strike based on ppem 2018-10-28 18:33:10 -07:00
Behdad Esfahbod f9f26bff4c [sbix] Move code around. Add get_extents() 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 48bc3039cb [sbix] Check blob length against PNG header leangth 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi d3ec31a57c [ot-color] More on PNGHeader fields 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi 35fa3d3260 [ot-color] Apply Behdad comment 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi 307d61867a [ot-color] Make PNGHeader reading actually work 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi 632e9af862 [ot-color] Implement PNGHeader and test it, it doesn't work however 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi 38706a0746 [ot-color] Preparation for setting PNG width/height in extents 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi 3d4c1f6a41 [ot-color] Apply Behdad reviews 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi 8ef0d2ef92 [ot-color] Apply Behdad comment 2018-10-28 18:33:10 -07:00