Commit Graph

7291 Commits

Author SHA1 Message Date
Behdad Esfahbod
b186274362 [set/map] Fix uninitialized memory
I keep forgetting that primitive types are NOT initialized during construction. :|
2018-10-29 23:21:14 -07:00
Behdad Esfahbod
ad3cededdd [fuzzing] Make test runners less verbose 2018-10-29 22:53:16 -07:00
Behdad Esfahbod
4ef671f25f [unicode] Fix a long-standing double-declaration warning 2018-10-29 22:46:19 -07:00
Behdad Esfahbod
166ae8b0aa Remove now unused hb_auto_t<> 2018-10-29 22:40:37 -07:00
Behdad Esfahbod
56e0fd345c Remove last use of hb_auto_t<> 2018-10-29 22:35:44 -07:00
Behdad Esfahbod
ca5e5a4979 Port Coverage::Iter off hb_auto_t<> 2018-10-29 22:30:21 -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
67a22f377d [set/map/vector] Make constructable, but not copy or assignable
Disable copy/assign on them, as they shouldn't.

Make constructor / destructor call init_shallow/fini_shallow,
and make those idempotent.  So, these three can be constructed
on stack now and no init/fini call is needed.  As such,
hb_auto_t<> is not needed anymore.  I'll remove that separately.
2018-10-29 22:23:22 -07:00
Behdad Esfahbod
ea0e51d1b1 Add HB_NO_CREATE_COPY_ASSIGN 2018-10-29 16:00:23 -07:00
Behdad Esfahbod
5b563640b2 Remove HB_DISALLOW_COPY_AND_ASSIGN from hb_ot_shape_planner_t
It was arbitrary that this struct had it and not dozens of others.
2018-10-29 15:58:44 -07:00
Behdad Esfahbod
14b353c185 One more iteration 2018-10-29 15:29:13 -07:00
Behdad Esfahbod
c7c5df9ffd Try fixing older bots
Older C++ doesn't allow struct-with-constructor in union.
2018-10-29 15:16:52 -07:00
Behdad Esfahbod
be87959a67 [cmap] Minor 2018-10-29 15:16:38 -07:00
Behdad Esfahbod
35d410f2ba Remove ASSERT_POD
Newer compilers / language allows structs with constructor in union.
So, this was not actually testing anything.  Indeed, the recent
change in DISALLOW_COPY *is* making some of our types non-POD.
That broke some bots.

Just remove this since it wasn't doing much, and I'd rather have
DISALLOW_COPY.
2018-10-29 14:45:44 -07:00
Behdad Esfahbod
6f0454e176 Fix extra-semicolon warnings 2018-10-29 13:51:15 -07:00
Behdad Esfahbod
a256a92b3f Make Array types uncopyable-unassignable
Finally!  Catches hard-to-find errors like this:

-    const SortedArrayOf<SVGDocumentIndexEntry> docs = this+svgDocEntries;
+    const SortedArrayOf<SVGDocumentIndexEntry> &docs = this+svgDocEntries;

We implement this for our array types.  This, in turn, trickles down
into all types that embed the arrays.  So, as long as we define all
open-ended structs in terms of Array types (all can be done using
UnsizedArrayOf), this achieves the goal of making uncopyable all
structs that are variable-sized.  Yay!
2018-10-29 11:40:21 -07:00
Behdad Esfahbod
31cc1f74b7 [svg] Minor 2018-10-29 11:14:37 -07:00
Behdad Esfahbod
1366bb9760 Fix g-i warnings 2018-10-29 11:01:25 -07:00
Ebrahim Byagowi
ae802c2c6e
[test-ot-color] Minor 2018-10-29 13:42:14 +03:30
Ebrahim Byagowi
7170e35096
Rename deprecated symbols list file name and clean it up (#1328) 2018-10-29 13:11:01 +03:30
Ebrahim Byagowi
1dfe964378
Merge pull request #1326 from ebraminio/test-ot-color
Revive and rename dump-emoji to test-ot-color but use public APIs instead
2018-10-29 12:34:33 +03:30
Ebrahim Byagowi
9c692e5b8d [test-ot-color] Use public APIs on the tool 2018-10-29 12:22:39 +03:30
Ebrahim Byagowi
fb525f8943 Rename dump-emoji to test-ot-color 2018-10-29 11:40:06 +03:30
Ebrahim Byagowi
81bcf47e9e Revive dump-emoji 2018-10-29 11:40:06 +03:30
Ebrahim Byagowi
f10252b4b6
[svg] Fix incorrect array referencing 2018-10-29 10:29:58 +03:30
Behdad Esfahbod
5eb251aab0 [cbdt] Implement strike selection logic 2018-10-28 23:16:13 -07:00
Behdad Esfahbod
98bddbc8ef [sbix] Minor 2018-10-28 23:14:15 -07:00
Behdad Esfahbod
8cffee0577 [cbdt] Simplify more 2018-10-28 23:07:59 -07:00
Behdad Esfahbod
574579d376 [color] Rename get_strike() to choose_strike() 2018-10-28 23:04:37 -07:00
Behdad Esfahbod
0aa90271fd [tests] Fix for recent rounding change in CBDT 2018-10-28 23:03:20 -07:00
Behdad Esfahbod
e2ba96da4c [cbdt] Refactor get_strike() 2018-10-28 23:01:57 -07:00
Behdad Esfahbod
6983cca9c8 [cbdt] Minor 2018-10-28 22:46:18 -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
a8c9facf7a [svg] Cosmetic 2018-10-28 18:33:10 -07:00
Behdad Esfahbod
9c1460e568 [svg] Use SortedArrayOf.bsearch 2018-10-28 18:33:10 -07:00
Behdad Esfahbod
18dd6363a5 [svg] Minor 2018-10-28 18:33:10 -07:00
Behdad Esfahbod
4876c938a2 [sbix] Comment 2018-10-28 18:33:10 -07:00
Behdad Esfahbod
519fca1014 [color] Minor 2018-10-28 18:33:10 -07:00
Behdad Esfahbod
e8ff27c208 Minor 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