Behdad Esfahbod [Wed, 3 Apr 2019 00:49:52 +0000 (17:49 -0700)]
[serialize] Towards maintaining packed_map
Behdad Esfahbod [Wed, 3 Apr 2019 00:42:10 +0000 (17:42 -0700)]
[serialize] Minor
Behdad Esfahbod [Wed, 3 Apr 2019 00:21:54 +0000 (17:21 -0700)]
[serialize] Handle non-nullable offsets
Behdad Esfahbod [Wed, 3 Apr 2019 00:20:04 +0000 (17:20 -0700)]
[serialize] Movce empty-object handling earlier
Behdad Esfahbod [Wed, 3 Apr 2019 00:12:24 +0000 (17:12 -0700)]
[serialize] Minor
Behdad Esfahbod [Tue, 2 Apr 2019 23:53:05 +0000 (16:53 -0700)]
[serialize] Allow offset links that have base offset from the object base
Rarely used, but used, in name table or similar constructs.
Ebrahim Byagowi [Tue, 2 Apr 2019 20:18:59 +0000 (00:48 +0430)]
[test][iter] minor, fix double promotion warning
Ebrahim Byagowi [Tue, 2 Apr 2019 15:57:00 +0000 (20:27 +0430)]
[test] minor, c style comments
Ebrahim Byagowi [Tue, 2 Apr 2019 15:55:06 +0000 (20:25 +0430)]
[iter][test] Add another test for hb_reduce
Different initial and accumulator types
Behdad Esfahbod [Tue, 2 Apr 2019 04:36:13 +0000 (21:36 -0700)]
[serialize] Switch to tetris-packing
Behdad Esfahbod [Tue, 2 Apr 2019 04:36:03 +0000 (21:36 -0700)]
[serialize] Fix linking
Behdad Esfahbod [Tue, 2 Apr 2019 04:32:29 +0000 (21:32 -0700)]
[serialize] Minor
Behdad Esfahbod [Mon, 1 Apr 2019 23:50:28 +0000 (16:50 -0700)]
[cmap] Minor
Behdad Esfahbod [Mon, 1 Apr 2019 23:45:50 +0000 (16:45 -0700)]
[subset] Call serialize start/end around it
To be cleaned up.
Behdad Esfahbod [Mon, 1 Apr 2019 23:45:40 +0000 (16:45 -0700)]
[serialize] Assert stack
Behdad Esfahbod [Mon, 1 Apr 2019 23:17:30 +0000 (16:17 -0700)]
[serialize] Add add_link() to add link
Behdad Esfahbod [Mon, 1 Apr 2019 21:17:09 +0000 (14:17 -0700)]
[serialize] Add default template type to push()
Ebrahim Byagowi [Mon, 1 Apr 2019 20:00:06 +0000 (00:30 +0430)]
[iter] hb_reduce, accumulator with a different type
Ebrahim Byagowi [Sun, 31 Mar 2019 08:11:58 +0000 (12:41 +0430)]
[iter] Implement hb_reduce
Behdad Esfahbod [Mon, 1 Apr 2019 04:37:14 +0000 (21:37 -0700)]
[serialize] Implement linking
Untested!
Behdad Esfahbod [Mon, 1 Apr 2019 04:34:19 +0000 (21:34 -0700)]
Move BEInt to hb.hh
I knows...
Behdad Esfahbod [Mon, 1 Apr 2019 02:17:07 +0000 (19:17 -0700)]
[iter] Fix up build, ouch
Yeah, some things not very clear...
Jonathan Kew [Sun, 31 Mar 2019 18:17:32 +0000 (19:17 +0100)]
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
Behdad Esfahbod [Mon, 1 Apr 2019 02:00:09 +0000 (19:00 -0700)]
[iter] Adjust hb_copy() and use it
Untested.
Ebrahim Byagowi [Sun, 31 Mar 2019 08:32:30 +0000 (01:32 -0700)]
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
Behdad Esfahbod [Sun, 31 Mar 2019 02:49:56 +0000 (19:49 -0700)]
[serialize] Start implementing linking
Behdad Esfahbod [Sun, 31 Mar 2019 02:46:35 +0000 (19:46 -0700)]
[serializer] Implement dedup!
Behdad Esfahbod [Sun, 31 Mar 2019 02:41:48 +0000 (19:41 -0700)]
Implement hashing of objects
Should be improved for hb_bytes_t.
Behdad Esfahbod [Sun, 31 Mar 2019 02:31:51 +0000 (19:31 -0700)]
Fix hb_hash(pointer)
Behdad Esfahbod [Sun, 31 Mar 2019 02:26:37 +0000 (19:26 -0700)]
[serialize] Don't insert empty object into tree
Behdad Esfahbod [Sun, 31 Mar 2019 02:16:20 +0000 (19:16 -0700)]
[serialize] Towards maintaining hashmap
Behdad Esfahbod [Sun, 31 Mar 2019 02:05:51 +0000 (19:05 -0700)]
[serialize] Only pack main object if there are other objects
Avoids a memmove for tables that don't use the object packing mechanism.
Behdad Esfahbod [Sun, 31 Mar 2019 02:03:55 +0000 (19:03 -0700)]
[serialize] Copy both sides of the buffer
Behdad Esfahbod [Sun, 31 Mar 2019 02:01:23 +0000 (19:01 -0700)]
[serialize] Simplify copy
Behdad Esfahbod [Sun, 31 Mar 2019 01:48:26 +0000 (18:48 -0700)]
[serializer] Unbreak for now
Behdad Esfahbod [Sun, 31 Mar 2019 01:44:01 +0000 (18:44 -0700)]
[map] Shuffle fini code
Behdad Esfahbod [Sun, 31 Mar 2019 01:33:30 +0000 (18:33 -0700)]
[vector] Add move semantics
Behdad Esfahbod [Sun, 31 Mar 2019 01:30:50 +0000 (18:30 -0700)]
[vector] Add some move and forwarding
Behdad Esfahbod [Sun, 31 Mar 2019 01:19:36 +0000 (18:19 -0700)]
[meta] Add hb_move and hb_forward ala std::
Behdad Esfahbod [Sun, 31 Mar 2019 01:14:30 +0000 (18:14 -0700)]
[serialize] Flesh out packing
Behdad Esfahbod [Sun, 31 Mar 2019 01:13:57 +0000 (18:13 -0700)]
[vector] Add copy constructor and assignment operator
Behdad Esfahbod [Sun, 31 Mar 2019 01:00:03 +0000 (18:00 -0700)]
[serialize] Minor
Behdad Esfahbod [Sun, 31 Mar 2019 00:51:26 +0000 (17:51 -0700)]
[serialize] Add packed_map
Behdad Esfahbod [Sun, 31 Mar 2019 00:26:35 +0000 (17:26 -0700)]
[serialize] Start fleshing out object stack
Behdad Esfahbod [Sun, 31 Mar 2019 00:12:40 +0000 (17:12 -0700)]
[serialize] Simplify propagate_error()
Behdad Esfahbod [Sun, 31 Mar 2019 00:10:59 +0000 (17:10 -0700)]
[serialize] Add object_t, link_t, and snapshot_t
Behdad Esfahbod [Sat, 30 Mar 2019 23:38:06 +0000 (16:38 -0700)]
[map] Add another TODO item
Behdad Esfahbod [Sat, 30 Mar 2019 23:29:19 +0000 (16:29 -0700)]
[map] Add TODO
Behdad Esfahbod [Sat, 30 Mar 2019 22:08:39 +0000 (15:08 -0700)]
[serialize] Add unused 'tail'
Behdad Esfahbod [Sat, 30 Mar 2019 22:06:25 +0000 (15:06 -0700)]
[serialize] Add ran_out_of_room
Behdad Esfahbod [Sat, 30 Mar 2019 21:59:40 +0000 (14:59 -0700)]
Split sanitize and dispatch into their own files
Behdad Esfahbod [Sat, 30 Mar 2019 21:53:54 +0000 (14:53 -0700)]
Move serializer to hb-serialize.hh
Behdad Esfahbod [Sat, 30 Mar 2019 21:46:54 +0000 (14:46 -0700)]
Whitespace
Behdad Esfahbod [Sat, 30 Mar 2019 21:39:21 +0000 (14:39 -0700)]
[map] Deref pointers before equality check
Behdad Esfahbod [Sat, 30 Mar 2019 21:30:22 +0000 (14:30 -0700)]
[map] Templatize hb_map_t
Template name is hb_hashmap_t<K,V>.
Behdad Esfahbod [Sat, 30 Mar 2019 20:48:32 +0000 (13:48 -0700)]
Add hb_deref_pointer()
Behdad Esfahbod [Sat, 30 Mar 2019 06:31:07 +0000 (23:31 -0700)]
[iter] Fix bug in hb_any() and hb_none()
Behdad Esfahbod [Sat, 30 Mar 2019 05:55:02 +0000 (22:55 -0700)]
[iter] Port remaining "for (auto" instances to daggers
Behdad Esfahbod [Sat, 30 Mar 2019 05:48:38 +0000 (22:48 -0700)]
[iter] One more dagger
Behdad Esfahbod [Sat, 30 Mar 2019 05:48:12 +0000 (22:48 -0700)]
[iter] Remove more wrong &&'s
Sigh...
Behdad Esfahbod [Sat, 30 Mar 2019 05:40:13 +0000 (22:40 -0700)]
[iter] More daggers
Behdad Esfahbod [Sat, 30 Mar 2019 05:27:46 +0000 (22:27 -0700)]
[iter] More daggers
Behdad Esfahbod [Sat, 30 Mar 2019 05:17:31 +0000 (22:17 -0700)]
[iter] One more dagger
Behdad Esfahbod [Sat, 30 Mar 2019 05:12:42 +0000 (22:12 -0700)]
Remove HB_DEBUG_WOULD_APPLY
Not that useful.
Behdad Esfahbod [Sat, 30 Mar 2019 05:04:15 +0000 (22:04 -0700)]
[iter] Port more to daggers
Behdad Esfahbod [Sat, 30 Mar 2019 04:59:28 +0000 (21:59 -0700)]
Whitespace
Behdad Esfahbod [Sat, 30 Mar 2019 04:57:26 +0000 (21:57 -0700)]
Simplify code
Behdad Esfahbod [Sat, 30 Mar 2019 04:57:17 +0000 (21:57 -0700)]
[iter] Port one more function to dagger
Behdad Esfahbod [Sat, 30 Mar 2019 04:49:18 +0000 (21:49 -0700)]
[iter] Port more code to daggers
Behdad Esfahbod [Sat, 30 Mar 2019 04:46:13 +0000 (21:46 -0700)]
[iter] Port two more functions to daggers
Behdad Esfahbod [Sat, 30 Mar 2019 04:45:49 +0000 (21:45 -0700)]
Fix pair signature
Oh well. Again, who does fully understand what is right???
Behdad Esfahbod [Sat, 30 Mar 2019 04:36:49 +0000 (21:36 -0700)]
[iter] Add hb_unzip()
Behdad Esfahbod [Sat, 30 Mar 2019 04:17:08 +0000 (21:17 -0700)]
Whitespace
Behdad Esfahbod [Sat, 30 Mar 2019 04:16:30 +0000 (21:16 -0700)]
[iter] Port two more loops to dagger
Behdad Esfahbod [Sat, 30 Mar 2019 04:14:20 +0000 (21:14 -0700)]
[iter] Remove unneeded &&
Next commit needs this. I never fully get this, sigh.
Behdad Esfahbod [Sat, 30 Mar 2019 04:06:10 +0000 (21:06 -0700)]
Whitespace
Behdad Esfahbod [Sat, 30 Mar 2019 03:23:07 +0000 (20:23 -0700)]
Remove hb_assign()
Not needed anymore. We just use operator= now.
Behdad Esfahbod [Sat, 30 Mar 2019 03:17:46 +0000 (20:17 -0700)]
[C++11] Remove IntType::set() in favor of operator=
Behdad Esfahbod [Sat, 30 Mar 2019 03:05:19 +0000 (20:05 -0700)]
[vector] Accept all types in push(...)
Let assignment operator worry about conversion.
Behdad Esfahbod [Sat, 30 Mar 2019 03:01:37 +0000 (20:01 -0700)]
[C++11] Use type aliases for template partial instantiations
Behdad Esfahbod [Sat, 30 Mar 2019 00:57:59 +0000 (17:57 -0700)]
Remove unused line
Behdad Esfahbod [Sat, 30 Mar 2019 00:57:24 +0000 (17:57 -0700)]
[C++11] Replace BEInt.set() with operator=
Behdad Esfahbod [Sat, 30 Mar 2019 00:49:55 +0000 (17:49 -0700)]
[C++11] Add operator= to IntType<>
Now that we require C++11 we can do this.
Behdad Esfahbod [Fri, 29 Mar 2019 22:59:04 +0000 (15:59 -0700)]
Err. Fixup C++11 polyfill removal
Fixes
1d75db19fb5df139b9648ff3f5e6184a5c554345
Behdad Esfahbod [Fri, 29 Mar 2019 22:22:46 +0000 (15:22 -0700)]
Inline explicit_operator macro
Now that we require C++11, no need to macro.
Behdad Esfahbod [Fri, 29 Mar 2019 22:20:34 +0000 (15:20 -0700)]
Remove C++<11 polyfill
Leaving hb-atomic.hh as is since harmless and other projects might
copy from that file.
Behdad Esfahbod [Fri, 29 Mar 2019 21:37:04 +0000 (14:37 -0700)]
Merge branch 'master' into iter
Behdad Esfahbod [Fri, 29 Mar 2019 21:30:02 +0000 (14:30 -0700)]
Update RELEASING
Behdad Esfahbod [Fri, 29 Mar 2019 21:14:55 +0000 (14:14 -0700)]
[ci] Fix build
Ebrahim Byagowi [Fri, 29 Mar 2019 20:00:56 +0000 (13:00 -0700)]
[dwrite] A new API, hb_directwrite_face_get_font_face (#1600)
Can be useful when using HarfBuzz for font loading and shaping
but using DirectWrite for rendering.
Behdad Esfahbod [Fri, 29 Mar 2019 17:55:12 +0000 (10:55 -0700)]
Replace REPLACEME's left out of 2.4.0
https://github.com/harfbuzz/harfbuzz/issues/1641
Behdad Esfahbod [Fri, 29 Mar 2019 17:51:38 +0000 (10:51 -0700)]
[docs] Remove unexisting section
Behdad Esfahbod [Fri, 29 Mar 2019 17:46:44 +0000 (10:46 -0700)]
[iter] Remove hb_len()
Not planning on using it. So remove. Can add later if needed.
Behdad Esfahbod [Fri, 29 Mar 2019 04:58:07 +0000 (21:58 -0700)]
Add hb_hash()
I don't like the hb_remove_reference() hack, but necessary.
Behdad Esfahbod [Fri, 29 Mar 2019 04:44:12 +0000 (21:44 -0700)]
Add hb_is_integer(T)
Behdad Esfahbod [Fri, 29 Mar 2019 04:34:47 +0000 (21:34 -0700)]
[iter] Add hb_len() function-object
Behdad Esfahbod [Fri, 29 Mar 2019 04:26:50 +0000 (21:26 -0700)]
Merge branch 'master' into iter
Behdad Esfahbod [Fri, 29 Mar 2019 04:21:26 +0000 (21:21 -0700)]
2.4.0
Behdad Esfahbod [Fri, 29 Mar 2019 04:00:58 +0000 (21:00 -0700)]
Use internal bsearch() for language tags
Fixes https://github.com/harfbuzz/harfbuzz/pull/1639
Behdad Esfahbod [Fri, 29 Mar 2019 03:50:04 +0000 (20:50 -0700)]
[indic] Add back medial-consonant to grammar
Fixes https://github.com/harfbuzz/harfbuzz/issues/1592