Commit Graph

9059 Commits

Author SHA1 Message Date
Jonathan Kew
e5d6fe9782 Don't skip setting the .end field of the first range
Fixes a bug in CoverageFormat2::serialize whereby the first range
was not serialized correctly if it consists of only a single glyph ID.
This broke shaping of U+0626 in the Arabic fallback shaper, because it
is not found in the coverage table of the 'init' and 'medi' lookups.

Also fix similar bug in ClassDefFormat2::serialize, noted during code
inspection (I haven't observed a case that was actually affected by
this, but it looks broken).

Fixes https://github.com/harfbuzz/harfbuzz/issues/1504
2019-03-31 19:02:47 -07:00
Behdad Esfahbod
8a8d45b924 [iter] Adjust hb_copy() and use it
Untested.
2019-03-31 19:00:09 -07:00
Ebrahim Byagowi
ba4b7be455
Remove coretext_aat shaper (#1581)
coretext_aat was a temporary shaper to redirect shaping of AAT fonts
to CoreText and leaving the rest for HarfBuzz.  As HarfBuzz now supports
AAT and Chrome now actually ships that on a stable version on macOS,
we no longer care about such use-case.  If a client really wants 100%
metrics compatibility with CoreText better to use it directly or through
our API.  Replicating the same behavior still is possible using
hb_shape_full, something we don't care or like to offer anymore.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1478
2019-03-31 01:32:30 -07:00
Michiharu Ariza
ef11305bfd fixed tt var extents
max bounds were not correctly initialized
2019-03-31 00:23:58 -07:00
Michiharu Ariza
f7700fc479 Merge branch 'master' into var-subset 2019-03-30 20:49:34 -07:00
Behdad Esfahbod
d6005b49b3 [serialize] Start implementing linking 2019-03-30 19:49:56 -07:00
Behdad Esfahbod
313b3057c3 [serializer] Implement dedup! 2019-03-30 19:46:35 -07:00
Behdad Esfahbod
b189bbc48f Implement hashing of objects
Should be improved for hb_bytes_t.
2019-03-30 19:41:48 -07:00
Behdad Esfahbod
d6b28057a5 Fix hb_hash(pointer) 2019-03-30 19:31:51 -07:00
Behdad Esfahbod
d74dc3ef65 [serialize] Don't insert empty object into tree 2019-03-30 19:26:37 -07:00
Behdad Esfahbod
7fd8228326 [serialize] Towards maintaining hashmap 2019-03-30 19:16:20 -07:00
Behdad Esfahbod
f254f45a1e [serialize] Only pack main object if there are other objects
Avoids a memmove for tables that don't use the object packing mechanism.
2019-03-30 19:05:51 -07:00
Behdad Esfahbod
946d446f9b [serialize] Copy both sides of the buffer 2019-03-30 19:03:55 -07:00
Behdad Esfahbod
8512dc565d [serialize] Simplify copy 2019-03-30 19:01:23 -07:00
Michiharu Ariza
43725d3632 Merge branch 'master' into var-subset 2019-03-30 18:51:15 -07:00
Behdad Esfahbod
0b1fe7b716 [serializer] Unbreak for now 2019-03-30 18:48:26 -07:00
Behdad Esfahbod
10f062234e [map] Shuffle fini code 2019-03-30 18:44:01 -07:00
Behdad Esfahbod
e6b78003ef [vector] Add move semantics 2019-03-30 18:33:30 -07:00
Behdad Esfahbod
4c4d3c3ed5 [vector] Add some move and forwarding 2019-03-30 18:30:50 -07:00
Behdad Esfahbod
7c9ceabcef [meta] Add hb_move and hb_forward ala std:: 2019-03-30 18:23:24 -07:00
Behdad Esfahbod
9a19b885f9 [serialize] Flesh out packing 2019-03-30 18:14:30 -07:00
Behdad Esfahbod
357c7c611c [vector] Add copy constructor and assignment operator 2019-03-30 18:13:57 -07:00
Behdad Esfahbod
6f69c9d26f [serialize] Minor 2019-03-30 18:00:03 -07:00
Behdad Esfahbod
a43290192b [serialize] Add packed_map 2019-03-30 17:57:33 -07:00
Behdad Esfahbod
bed150bd2e [serialize] Start fleshing out object stack 2019-03-30 17:43:43 -07:00
Behdad Esfahbod
63c3565189 [serialize] Simplify propagate_error() 2019-03-30 17:12:40 -07:00
Behdad Esfahbod
dbe9ba6711 [serialize] Add object_t, link_t, and snapshot_t 2019-03-30 17:10:59 -07:00
Behdad Esfahbod
38d57b9a66 [map] Add another TODO item 2019-03-30 16:38:06 -07:00
Behdad Esfahbod
7fd940f899 [map] Add TODO 2019-03-30 16:29:19 -07:00
Behdad Esfahbod
6dcf7c4017 [serialize] Add unused 'tail' 2019-03-30 15:08:39 -07:00
Behdad Esfahbod
fe05e48086 [serialize] Add ran_out_of_room 2019-03-30 15:06:25 -07:00
Behdad Esfahbod
a7c63cd8f8 Split sanitize and dispatch into their own files 2019-03-30 14:59:40 -07:00
Behdad Esfahbod
be66b575fc Move serializer to hb-serialize.hh 2019-03-30 14:53:54 -07:00
Behdad Esfahbod
bb22462f29 Whitespace 2019-03-30 14:46:54 -07:00
Behdad Esfahbod
ef33b5d1f6 [map] Deref pointers before equality check 2019-03-30 14:39:21 -07:00
Behdad Esfahbod
c98f51da71 [map] Templatize hb_map_t
Template name is hb_hashmap_t<K,V>.
2019-03-30 14:32:52 -07:00
Michiharu Ariza
294d520f65 more iter changes from master 2019-03-30 13:58:22 -07:00
Behdad Esfahbod
4b7f4dbc0c Add hb_deref_pointer() 2019-03-30 13:48:32 -07:00
Michiharu Ariza
8f2ce82f76 hb.hh from master 2019-03-30 11:50:24 -07:00
Michiharu Ariza
3bfd3a367c fix build 2019-03-30 00:27:02 -07:00
Michiharu Ariza
c7ca8853ae more change set() to = 2019-03-30 00:11:58 -07:00
Michiharu Ariza
d75b73a309 fix rebase errors 2019-03-30 00:06:54 -07:00
Michiharu Ariza
3fbd242ba6 replace .set() with =
remove .gitignore
2019-03-29 23:53:06 -07:00
Michiharu Ariza
8a8965be39 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset 2019-03-29 23:38:16 -07:00
Michiharu Ariza
cc94a9ed3b Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset
rebase master
2019-03-29 23:37:50 -07:00
Behdad Esfahbod
e530692799 [iter] Fix bug in hb_any() and hb_none() 2019-03-29 23:31:39 -07:00
Michiharu Ariza
ce6093a96b Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset 2019-03-29 23:24:12 -07:00
Michiharu Ariza
a1177fec8f Merge branch 'master' into var-subset
rebase master
2019-03-29 23:23:49 -07:00
Behdad Esfahbod
f505b5d5c9 [iter] Port remaining "for (auto" instances to daggers 2019-03-29 22:55:02 -07:00
Behdad Esfahbod
668d2d562f [iter] One more dagger 2019-03-29 22:48:38 -07:00