Commit Graph

7271 Commits

Author SHA1 Message Date
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 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
Behdad Esfahbod d51452500f [iter] Remove more wrong &&'s
Sigh...
2019-03-29 22:48:12 -07:00
Behdad Esfahbod 05f2130a1c [iter] More daggers 2019-03-29 22:43:12 -07:00
Behdad Esfahbod 22ec4c3aa5 [iter] More daggers 2019-03-29 22:29:00 -07:00
Behdad Esfahbod 688069bbfb [iter] One more dagger 2019-03-29 22:17:31 -07:00
Behdad Esfahbod 90b60bd690 Remove HB_DEBUG_WOULD_APPLY
Not that useful.
2019-03-29 22:12:42 -07:00
Behdad Esfahbod 4d28267e59 [iter] Port more to daggers 2019-03-29 22:04:15 -07:00
Behdad Esfahbod 9d8c72042b Whitespace 2019-03-29 21:59:28 -07:00
Behdad Esfahbod 418e9d07e2 Simplify code 2019-03-29 21:57:26 -07:00
Behdad Esfahbod f5ef8a7347 [iter] Port one more function to dagger 2019-03-29 21:57:17 -07:00
Behdad Esfahbod bcab098c8f [iter] Port more code to daggers 2019-03-29 21:49:18 -07:00
Behdad Esfahbod 4c75158e18 [iter] Port two more functions to daggers 2019-03-29 21:46:13 -07:00
Behdad Esfahbod e70ccbe9ed Fix pair signature
Oh well.  Again, who does fully understand what is right???
2019-03-29 21:45:49 -07:00
Behdad Esfahbod 6237b47f0c [iter] Add hb_unzip() 2019-03-29 21:36:49 -07:00
Behdad Esfahbod f1dad91eb3 Whitespace 2019-03-29 21:17:08 -07:00
Behdad Esfahbod 896b31670d [iter] Port two more loops to dagger 2019-03-29 21:16:30 -07:00
Behdad Esfahbod 8e34cb251a [iter] Remove unneeded &&
Next commit needs this.  I never fully get this, sigh.
2019-03-29 21:14:20 -07:00
Behdad Esfahbod 12a4c0441f Whitespace 2019-03-29 21:06:10 -07:00
Behdad Esfahbod 4c38a9f601 Remove hb_assign()
Not needed anymore.  We just use operator= now.
2019-03-29 20:23:07 -07:00
Behdad Esfahbod b986c6a321 [C++11] Remove IntType::set() in favor of operator= 2019-03-29 20:21:21 -07:00
Behdad Esfahbod 58ad357951 [vector] Accept all types in push(...)
Let assignment operator worry about conversion.
2019-03-29 20:05:19 -07:00
Behdad Esfahbod 489faf826c [C++11] Use type aliases for template partial instantiations 2019-03-29 20:01:37 -07:00
Michiharu Ariza 435bc7f3e2 Update hb-ot-var-gvar-table.hh 2019-03-29 18:39:30 -07:00
Michiharu Ariza 8fdb8fcf80 fix rebase errors 2019-03-29 18:39:27 -07:00
Michiharu Ariza 1ccb457cbb fix gvar fuzz bug 2019-03-29 18:28:25 -07:00
Behdad Esfahbod 3f84589232 2.4.0 2019-03-29 18:27:21 -07:00
Behdad Esfahbod 282c76d9a0 Use internal bsearch() for language tags
Fixes https://github.com/harfbuzz/harfbuzz/pull/1639
2019-03-29 18:27:21 -07:00
Behdad Esfahbod 3bed03dc6a [indic] Add back medial-consonant to grammar
Fixes https://github.com/harfbuzz/harfbuzz/issues/1592
2019-03-29 18:27:21 -07:00
Behdad Esfahbod f8803fbace [khmer] Add trailing Coeng to syllable grammar
Fixes https://github.com/harfbuzz/harfbuzz/issues/1541
2019-03-29 18:27:21 -07:00
Michiharu Ariza f84342c094 minor 2019-03-29 18:27:21 -07:00
Michiharu Ariza 3e18447c64 fixed a fuzzer bug 2019-03-29 18:27:21 -07:00
Behdad Esfahbod 4774283a2c Fix shell syntax error
Fixes https://github.com/harfbuzz/harfbuzz/issues/1612
2019-03-29 18:27:21 -07:00
Behdad Esfahbod 4b763affa6 Comment 2019-03-29 18:27:21 -07:00
punchcutter d9d6649bf2 Override USE category for Grantha and Tirhuta visargas to allow marks 2019-03-29 18:27:21 -07:00
Egor Pugin 13ae138af3 Disable unwanted C++ definitions for MSVC.
MSVC does not set __cplusplus to the latest standard and also it does not like redefining some keywords.
2019-03-29 18:27:21 -07:00
Michiharu Ariza 53d40426e1 tweaked recursion checks 2019-03-29 18:27:21 -07:00
Michiharu Ariza 4f351754bb add recursion checks 2019-03-29 18:27:21 -07:00
Michiharu Ariza 0008963b28 add support of anchor point & SCALED/UNSCALED_COMPONENT_OFFSET
some code cleanup
2019-03-29 18:27:21 -07:00
Behdad Esfahbod ea281aa8d0 Use class templates for Null objects
This allows partial-instantiating custom Null object for template Lookup<T>.
Before, this had to be handcoded per instantiation.  Apparently I missed
adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic)
null for Lookup object, which is wrong and unsafe.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
2019-03-29 18:27:21 -07:00
Behdad Esfahbod 1dfc2dfff5 [aat] Add missing check to ankr table
Isn't absolutely needed.  But helps.
2019-03-29 18:27:21 -07:00
Qunxin Liu 2f97cd7a52 completely remove lines that are commented out 2019-03-29 18:27:21 -07:00
Qunxin Liu e74d646d9e update arguments in_populate_gids_to_retain() and _create_old_gid_to_new_gid_map()
so they don't use deprecated variable
2019-03-29 18:27:21 -07:00
Qunxin Liu b12a5daad7 try to remove deprecated variable from struct definition 2019-03-29 18:27:21 -07:00
Michiharu Ariza ae3db1f4e3 added api test for subset VVAR & bug fix
added a mod copy of SourceSerifVariable-Roman.ttf with VVAR as a test font
2019-03-29 18:27:08 -07:00
Michiharu Ariza fe5aa8b36c added TT VF full font test & fixed bugs
updated CFF2 VF api test results too
2019-03-29 18:26:46 -07:00
Michiharu Ariza 212dcb758c add api test cases for HVAR with index map (and fix) 2019-03-29 18:26:20 -07:00
Michiharu Ariza 6ee71166b0 add api tests for subset gvar & HVAR; bug fixes 2019-03-29 18:26:20 -07:00
Michiharu Ariza 84d0af456b move rounding advance width to glyf 2019-03-29 18:26:20 -07:00
Michiharu Ariza 10f264da75 fix empty glyf's advance width 2019-03-29 18:26:20 -07:00
Michiharu Ariza 511518c759 add api test for tt var advance widths
stripped HVAR from SourceSansVariable-Roman.abc.ttf so glyf gets parsed
2019-03-29 18:26:20 -07:00
Michiharu Ariza bee8d86671 fix build 2019-03-29 18:26:20 -07:00
Michiharu Ariza f74712a4e0 fix composite glyf extents 2019-03-29 18:26:20 -07:00
Michiharu Ariza cd817e7955 fix unpack_points 2019-03-29 18:26:20 -07:00
Michiharu Ariza a35e3dfc77 fix infer_delta
code cleanup
2019-03-29 18:26:20 -07:00
Michiharu Ariza 4f4fbb1d5e added explicit casts to metrics 2019-03-29 18:25:52 -07:00
Michiharu Ariza c302ec6d94 moved most of var code from gvar to glyf
initialize phantom points from metrics from htmx/vmtx & glyf bbox before execution
added source file hb-ot-hmtx-table.cc to call glyf from hmtx/vmtx indirectly & temporarily, workaround a cyclic reference between the two
2019-03-29 18:25:52 -07:00
Michiharu Ariza bd040a4354 add components transformation 2019-03-29 18:25:35 -07:00
Michiharu Ariza 139e87b56c fix tt var extents & add test 2019-03-29 18:25:35 -07:00
Michiharu Ariza 9584b090bb cff2 subset fuzzer issues (#1619)
* add check to FDArray::serialize

* add test files

* fix off by one
2019-03-29 18:25:21 -07:00
Michiharu Ariza 161e61fc3b minor edits 2019-03-29 18:25:06 -07:00
Michiharu Ariza ebbfe36510 calculate VF advance widths from gvar & glyf 2019-03-29 18:24:24 -07:00
Michiharu Ariza 9690461a91 Added hb-ot-var-gvar-table.hh
implemented sanitize()
placeholder subset()
some code cleanup
2019-03-29 18:22:32 -07:00
Michiharu Ariza 9168b32a1b renamed hb_map2_t to hb_bimap_h in its own .hh 2019-03-29 18:21:50 -07:00
Michiharu Ariza d102c7a652 unuse set in hb_map2_t impl
also some code cleanup
2019-03-29 18:21:15 -07:00
Michiharu Ariza dd67214210 subset HVAR
Re-implemented & repurposed CFF:remap_t as hb_map2_t (moved to hb-ot-layout-common.hh) for two-way mapping for use by index map subsetting.
Hooked up HVAR subsetter through _subset2.
Some renaming in CFF code.
2019-03-29 18:20:22 -07:00
Ebrahim Byagowi 5bbe78a0f3 Allow zero length ranges in sanitization (#1617)
Fixes fvar table sanitization where there are no named instance
by allowing zero length ranges starting from Null() address.

Fixes #1607
2019-03-29 18:15:00 -07:00
David Corbett 5d7725ad1a Categorize U+09FC as Consonant_Placeholder 2019-03-29 18:15:00 -07:00
Michiharu Ariza 628d457c87 add gvar::get_extents 2019-03-29 18:15:00 -07:00
Behdad Esfahbod 7b27fe5255 Remove redundant hb_ot_layout_lookup_would_substitute_fast 2019-03-29 18:15:00 -07:00
Khaled Hosny 56164f754f [doc] Add placeholder since version for new flag 2019-03-29 18:15:00 -07:00
David Corbett cb758f2669 Remove obsolete overrides from Indic/USE scripts 2019-03-29 18:15:00 -07:00
Eric Muller 40c4bd3e12 Update generation code for hb-ot-shape-complex-vowel-constraints.cc. Remove 'unlikely' 2019-03-29 18:15:00 -07:00
Eric Muller ce7f2c4da3 Fix coding style. 2019-03-29 18:15:00 -07:00
Eric Muller a86356913e Add a flag to hb_buffer_t to prevent the insertion of dotted circles on incorrect character sequences.
Current behavior unchanged if this flag is not set (and it isn't by default).
2019-03-29 18:15:00 -07:00
David Corbett 4a19d3b080 Update to Unicode 12.0.0 2019-03-29 18:15:00 -07:00
Adrian Wong 4f03d5c79d [indic] Remove superfluous ZWNJ check in final reorder of pre-base matras 2019-03-29 18:15:00 -07:00
Stephan Bergmann 7b7852efa5 Fix hb_atomic_* variants based on C++11 atomics
I stumbled over this when trying to upgrade the version of HarfBuzz used by
LibreOffice to 3.2.1 (see <https://gerrit.libreoffice.org/plugins/gitiles/core/
+/b7ddc514bff9bdf682abae537f990aa01dc2c0fb%5E!/> "Upgrade to latest
HarfBuzz 2.3.1"), where building with MSVC 2017 failed like

> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2440: 'reinterpret_cast': cannot convert from 'const int *' to 'std::atomic<int> *'
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): note: Conversion loses qualifiers
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2227: left of '->load' must point to class/struct/union/generic type

(see <https://ci.libreoffice.org/job/gerrit_windows/29916/>).

I added all the necessary "const" to make building of HarfBuzz 2.3.1 with
MSVC 2017 succeed for me.  There may be more missing at least conceptually.
2019-03-29 18:14:59 -07:00
Martin Hosken 7296242046 Fix offset drift in graphite integration 2019-03-29 18:14:59 -07:00
Michiharu Ariza 5fc99b3d34 fix build 2019-03-29 18:14:59 -07:00
Michiharu Ariza 696b841a5a minor edits 2019-03-29 18:14:59 -07:00
Michiharu Ariza 14be8b9e87 build fix attempt 2019-03-29 18:14:59 -07:00
Michiharu Ariza 618de1c7f9 more build fixes 2019-03-29 18:14:59 -07:00
Michiharu Ariza f2c556594a fix build attempt 2019-03-29 18:14:59 -07:00
Michiharu Ariza 40dfca7213 calculate VF advance widths from gvar & glyf 2019-03-29 18:14:59 -07:00
Garret Rieger d0b6d539f6 Make hb_subset_input_glyph_set () actually do something. 2019-03-29 18:14:59 -07:00
Michiharu Ariza a842fdfbf0 gvar::subset() 2019-03-29 18:14:59 -07:00
Ebrahim Byagowi c2e9d75035 [dwrite] hb_directwrite_face_create, a new API
It makes a hb_face_t from IDWriteFontFace, useful when using
DirectWrite facilities for font selection, loading and rendering
but using harfbuzz for shaping.
2019-03-29 18:14:59 -07:00
Michiharu Ariza 2c5ed7f152 Added hb-ot-var-gvar-table.hh
implemented sanitize()
placeholder subset()
some code cleanup
2019-03-29 18:14:59 -07:00
David Corbett 087b9a0ad0 Fix or document unsupported font-feature-settings 2019-03-29 18:14:59 -07:00
Michiharu Ariza f1e97c189e renamed hb_map2_t to hb_bimap_h in its own .hh 2019-03-29 18:14:59 -07:00
Michiharu Ariza 655bc96bc2 subset VVAR & outer indices 2019-03-29 18:14:59 -07:00
Michiharu Ariza 6ecfaaa6d5 unuse set in hb_map2_t impl
also some code cleanup
2019-03-29 18:14:59 -07:00
Michiharu Ariza a762cf5033 fixed compiler gripes 2019-03-29 18:14:59 -07:00
Michiharu Ariza a00d1d5e74 fix CFF2 local subr subsetting
bug exposed by impl change of fdmap
also fixed name of subr_remap_ts as subr_remaps_t
2019-03-29 18:14:59 -07:00
Michiharu Ariza 8bd9d28e2a fix HVAR & VarStore subsetting 2019-03-29 18:14:59 -07:00
Behdad Esfahbod 4fd02f6ee5 Remove unused line 2019-03-29 17:58:23 -07:00
Behdad Esfahbod 9a5b15dc1e [C++11] Replace BEInt.set() with operator= 2019-03-29 17:58:19 -07:00
Behdad Esfahbod 0aa59b1de3 [C++11] Add operator= to IntType<>
Now that we require C++11 we can do this.
2019-03-29 17:58:15 -07:00
Behdad Esfahbod eca466e6b1 Err. Fixup C++11 polyfill removal
Fixes 1d75db19fb
2019-03-29 15:59:04 -07:00
Behdad Esfahbod 3f36c89f2e Inline explicit_operator macro
Now that we require C++11, no need to macro.
2019-03-29 15:22:46 -07:00
Behdad Esfahbod 1d75db19fb Remove C++<11 polyfill
Leaving hb-atomic.hh as is since harmless and other projects might
copy from that file.
2019-03-29 15:20:34 -07:00
Behdad Esfahbod 8e7887ca5f Merge branch 'master' into iter 2019-03-29 14:37:04 -07:00
Ebrahim Byagowi b292772e6e
[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.
2019-03-29 13:00:56 -07:00
Behdad Esfahbod 59f36f3682 Replace REPLACEME's left out of 2.4.0
https://github.com/harfbuzz/harfbuzz/issues/1641
2019-03-29 10:55:12 -07:00
Behdad Esfahbod 443db2a246 [iter] Remove hb_len()
Not planning on using it.  So remove.  Can add later if needed.
2019-03-29 10:47:13 -07:00
Michiharu Ariza ddb84dcece fix gvar fuzz bug 2019-03-29 10:32:42 -07:00
Behdad Esfahbod bdd5a9c48d Add hb_hash()
I don't like the hb_remove_reference() hack, but necessary.
2019-03-28 21:58:07 -07:00
Behdad Esfahbod 343e6063dc Add hb_is_integer(T) 2019-03-28 21:44:12 -07:00
Behdad Esfahbod f639b9a8ea [iter] Add hb_len() function-object 2019-03-28 21:34:47 -07:00
Behdad Esfahbod a030ce4ff8 Merge branch 'master' into iter 2019-03-28 21:26:50 -07:00
Behdad Esfahbod d6fc1d49aa 2.4.0 2019-03-28 21:21:26 -07:00
Behdad Esfahbod d2db71fdc4 Use internal bsearch() for language tags
Fixes https://github.com/harfbuzz/harfbuzz/pull/1639
2019-03-28 21:04:34 -07:00
Behdad Esfahbod 21bb80ebf2 [indic] Add back medial-consonant to grammar
Fixes https://github.com/harfbuzz/harfbuzz/issues/1592
2019-03-28 20:50:04 -07:00
Behdad Esfahbod 5ab6de7a6f [khmer] Add trailing Coeng to syllable grammar
Fixes https://github.com/harfbuzz/harfbuzz/issues/1541
2019-03-28 20:23:12 -07:00
Michiharu Ariza 58c8c7a495 Merge branch 'master' into var-subset 2019-03-28 16:17:41 -07:00
Michiharu Ariza 485fe06f74 minor 2019-03-28 16:17:36 -07:00
Michiharu Ariza 5f36771c2a Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset 2019-03-28 15:07:53 -07:00
Michiharu Ariza 99f0c107f7 fixed a fuzzer bug 2019-03-28 15:07:49 -07:00
Behdad Esfahbod 160b4a2b01 Fix shell syntax error
Fixes https://github.com/harfbuzz/harfbuzz/issues/1612
2019-03-28 13:44:59 -07:00
Behdad Esfahbod 8665b9b0a2 Comment 2019-03-28 13:44:59 -07:00
punchcutter a7eed7e41d Override USE category for Grantha and Tirhuta visargas to allow marks 2019-03-28 13:31:45 -07:00
Egor Pugin cf040c0fef Disable unwanted C++ definitions for MSVC.
MSVC does not set __cplusplus to the latest standard and also it does not like redefining some keywords.
2019-03-28 11:10:42 -07:00
Michiharu Ariza 061bd0a99b Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset 2019-03-27 08:53:50 -07:00
Michiharu Ariza 67175987bd tweaked recursion checks 2019-03-27 08:52:46 -07:00
Michiharu Ariza feb712d8d8 add recursion checks 2019-03-26 20:35:01 -07:00
Michiharu Ariza bcd689bb10 Merge branch 'master' into var-subset 2019-03-26 17:13:31 -07:00
Michiharu Ariza 49f9359632 add support of anchor point & SCALED/UNSCALED_COMPONENT_OFFSET
some code cleanup
2019-03-26 17:10:46 -07:00
Behdad Esfahbod ec2a5dc859 Use class templates for Null objects
This allows partial-instantiating custom Null object for template Lookup<T>.
Before, this had to be handcoded per instantiation.  Apparently I missed
adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic)
null for Lookup object, which is wrong and unsafe.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
2019-03-26 16:23:40 -07:00
Behdad Esfahbod 96f1237794 [aat] Add missing check to ankr table
Isn't absolutely needed.  But helps.
2019-03-26 16:17:45 -07:00
Qunxin Liu 2d9034491e completely remove lines that are commented out 2019-03-26 13:39:33 -07:00
Qunxin Liu 3147133b61 update arguments in_populate_gids_to_retain() and _create_old_gid_to_new_gid_map()
so they don't use deprecated variable
2019-03-26 13:39:33 -07:00
Qunxin Liu 79a6c25849 try to remove deprecated variable from struct definition 2019-03-26 13:39:33 -07:00
Michiharu Ariza 3c4f041e9e fix uninitialized memory bug 2019-03-22 10:26:48 -07:00
Michiharu Ariza d2a0149c29 added api test for subset VVAR & bug fix
added a mod copy of SourceSerifVariable-Roman.ttf with VVAR as a test font
2019-03-21 18:09:37 -07:00
Michiharu Ariza 8ec279072e Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset 2019-03-21 10:38:12 -07:00
Michiharu Ariza 0593a95e28 refix short count 2019-03-21 10:36:53 -07:00
Michiharu Ariza 5390e39342 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset 2019-03-21 10:21:50 -07:00
Michiharu Ariza 084be9a0f4 Merge branch 'master' into var-subset 2019-03-21 10:21:31 -07:00
Michiharu Ariza 5f15fca662 fix short count optimization 2019-03-21 10:18:03 -07:00
Michiharu Ariza 325918172e added TT VF full font test & fixed bugs
updated CFF2 VF api test results too
2019-03-20 15:10:59 -07:00
Michiharu Ariza 1051faf7aa add api test cases for HVAR with index map (and fix) 2019-03-19 16:00:01 -07:00
Michiharu Ariza 2e6038a209 add api tests for subset gvar & HVAR; bug fixes 2019-03-19 00:41:41 -07:00
Michiharu Ariza 560bcd7744 move rounding advance width to glyf 2019-03-18 17:50:20 -07:00
Michiharu Ariza c7edd14dc9 fix empty glyf's advance width 2019-03-18 17:16:43 -07:00
Michiharu Ariza 9d3a252030 add api test for tt var advance widths
stripped HVAR from SourceSansVariable-Roman.abc.ttf so glyf gets parsed
2019-03-18 15:39:10 -07:00
Michiharu Ariza 9d9d5c706b fix build 2019-03-18 10:48:53 -07:00
Michiharu Ariza b6cc838888 fix composite glyf extents 2019-03-17 22:49:18 -07:00
Michiharu Ariza 597ad4df0c fix unpack_points 2019-03-17 18:45:30 -07:00
Michiharu Ariza cabe22fc69 fix infer_delta
code cleanup
2019-03-17 17:48:10 -07:00
Michiharu Ariza c8b31773a6 added explicit casts to metrics 2019-03-17 16:01:49 -07:00
Michiharu Ariza 8a7998fd6c moved most of var code from gvar to glyf
initialize phantom points from metrics from htmx/vmtx & glyf bbox before execution
added source file hb-ot-hmtx-table.cc to call glyf from hmtx/vmtx indirectly & temporarily, workaround a cyclic reference between the two
2019-03-17 15:36:26 -07:00
Michiharu Ariza 00b2653ac3 add components transformation 2019-03-16 16:27:33 -07:00
Michiharu Ariza 434ea06841 fix tt var extents & add test 2019-03-16 00:08:03 -07:00
Michiharu Ariza bcb4e505d6
cff2 subset fuzzer issues (#1619)
* add check to FDArray::serialize

* add test files

* fix off by one
2019-03-15 13:46:25 -07:00
Michiharu Ariza d23c201f5d add gvar::get_extents 2019-03-14 16:58:02 -07:00
Michiharu Ariza dde8bb1f6d fix build 2019-03-14 16:58:02 -07:00
Michiharu Ariza 5ec65f779b minor edits 2019-03-14 16:58:02 -07:00
Michiharu Ariza 2d7ad3f28b build fix attempt 2019-03-14 16:58:02 -07:00
Michiharu Ariza cf2ef92c74 more build fixes 2019-03-14 16:58:02 -07:00
Michiharu Ariza ae0a557c2e fix build attempt 2019-03-14 16:58:02 -07:00
Michiharu Ariza baf2ccf147 calculate VF advance widths from gvar & glyf 2019-03-14 16:58:02 -07:00
Michiharu Ariza 0b1ae2385b gvar::subset() 2019-03-14 16:58:02 -07:00
Michiharu Ariza eddbc9d0db Added hb-ot-var-gvar-table.hh
implemented sanitize()
placeholder subset()
some code cleanup
2019-03-14 16:58:02 -07:00
Michiharu Ariza f289ffe5ea renamed hb_map2_t to hb_bimap_h in its own .hh 2019-03-14 16:58:02 -07:00
Michiharu Ariza 8563169291 subset VVAR & outer indices 2019-03-14 16:58:02 -07:00
Michiharu Ariza 08dc86594b unuse set in hb_map2_t impl
also some code cleanup
2019-03-14 16:58:02 -07:00
Michiharu Ariza 1b13cc775c fixed compiler gripes 2019-03-14 16:58:02 -07:00
Michiharu Ariza c485b77c7c fix CFF2 local subr subsetting
bug exposed by impl change of fdmap
also fixed name of subr_remap_ts as subr_remaps_t
2019-03-14 16:58:02 -07:00
Michiharu Ariza c9b07c75a1 fix HVAR & VarStore subsetting 2019-03-14 16:58:02 -07:00
Michiharu Ariza c8420109cc subset HVAR
Re-implemented & repurposed CFF:remap_t as hb_map2_t (moved to hb-ot-layout-common.hh) for two-way mapping for use by index map subsetting.
Hooked up HVAR subsetter through _subset2.
Some renaming in CFF code.
2019-03-14 16:58:02 -07:00
Ebrahim Byagowi 8aaab78efc
Allow zero length ranges in sanitization (#1617)
Fixes fvar table sanitization where there are no named instance
by allowing zero length ranges starting from Null() address.

Fixes #1607
2019-03-14 16:49:42 -07:00
David Corbett 7de9f92ee9 Categorize U+09FC as Consonant_Placeholder 2019-03-13 12:59:56 -07:00
Behdad Esfahbod e52ec3fc23 Remove redundant hb_ot_layout_lookup_would_substitute_fast 2019-03-11 18:09:51 -07:00
Khaled Hosny c2442c90d6 [doc] Add placeholder since version for new flag 2019-03-12 01:10:52 +02:00
David Corbett 8c42f03215 Remove obsolete overrides from Indic/USE scripts 2019-03-11 16:07:52 -07:00
Eric Muller b38bab8622 Update generation code for hb-ot-shape-complex-vowel-constraints.cc. Remove 'unlikely' 2019-03-11 16:06:41 -07:00
Eric Muller 44a67ddeb8 Fix coding style. 2019-03-11 16:06:41 -07:00
Eric Muller 30d7c40f8c Add a flag to hb_buffer_t to prevent the insertion of dotted circles on incorrect character sequences.
Current behavior unchanged if this flag is not set (and it isn't by default).
2019-03-11 16:06:41 -07:00
David Corbett e723c04de1 Update to Unicode 12.0.0 2019-03-07 10:15:31 -08:00
Adrian Wong 2f125b0fa7 [indic] Remove superfluous ZWNJ check in final reorder of pre-base matras 2019-03-05 16:41:49 -08:00
Stephan Bergmann d936ad4582 Fix hb_atomic_* variants based on C++11 atomics
I stumbled over this when trying to upgrade the version of HarfBuzz used by
LibreOffice to 3.2.1 (see <https://gerrit.libreoffice.org/plugins/gitiles/core/
+/b7ddc514bff9bdf682abae537f990aa01dc2c0fb%5E!/> "Upgrade to latest
HarfBuzz 2.3.1"), where building with MSVC 2017 failed like

> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2440: 'reinterpret_cast': cannot convert from 'const int *' to 'std::atomic<int> *'
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): note: Conversion loses qualifiers
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2227: left of '->load' must point to class/struct/union/generic type

(see <https://ci.libreoffice.org/job/gerrit_windows/29916/>).

I added all the necessary "const" to make building of HarfBuzz 2.3.1 with
MSVC 2017 succeed for me.  There may be more missing at least conceptually.
2019-03-05 12:11:32 -08:00
Martin Hosken 731b13e4e9 Fix offset drift in graphite integration 2019-03-03 22:10:46 -08:00
Garret Rieger 4f37ab63de Make hb_subset_input_glyph_set () actually do something. 2019-03-01 10:49:46 -08:00
Ebrahim Byagowi 45149eb34f [dwrite] hb_directwrite_face_create, a new API
It makes a hb_face_t from IDWriteFontFace, useful when using
DirectWrite facilities for font selection, loading and rendering
but using harfbuzz for shaping.
2019-02-26 15:42:38 -08:00
David Corbett 45adc18526 Fix or document unsupported font-feature-settings 2019-02-25 17:48:16 -05:00
Michiharu Ariza 09df17e71b subset HVAR
Re-implemented & repurposed CFF:remap_t as hb_map2_t (moved to hb-ot-layout-common.hh) for two-way mapping for use by index map subsetting.
Hooked up HVAR subsetter through _subset2.
Some renaming in CFF code.
2019-02-20 15:48:29 -08:00
Michiharu Ariza 93739242e1 minor edit 2019-02-20 13:23:12 -08:00
Michiharu Ariza eebc21c8de fix crash in hb_map_t::clear()
in case called immediately after init()
2019-02-20 12:43:18 -08:00
Evgeniy Reizner d29c8424c8 Typo (#1588)
Fixed a small typo.
[skip ci]
2019-02-19 20:05:00 +03:30
Khaled Hosny 6bd4c082e4 [doc] Document hb_feature_from_string() syntax
Copied and edited from the util option documentation. The docbook table
syntax is too verbose, but that is the best I can come up with.
2019-02-18 17:00:44 -08:00
Behdad Esfahbod 11456b2d9c WHitespace 2019-02-15 16:58:43 -08:00
Behdad Esfahbod 77060bcda2 [iter] Add hb_all, hb_any, hb_none 2019-02-15 16:55:08 -08:00
Behdad Esfahbod 72dd5e34e0 [iter] Make hb_iter() into function-object 2019-02-15 16:15:50 -08:00
Behdad Esfahbod 98be7bd77a [iter] Make hb_map into function-object 2019-02-15 16:09:29 -08:00
Behdad Esfahbod c1e5ba81fe Merge remote-tracking branch 'origin/master' into iter 2019-02-15 16:06:03 -08:00
Behdad Esfahbod b8b3b3e38b [iter] Add hb_enumerate() and use it 2019-02-15 16:05:36 -08:00
Behdad Esfahbod 3da79dd5b9
Merge pull request #1557 from harfbuzz/cff-more-arrayof-fixes
CFF more arrayof fixes
2019-02-15 15:54:51 -08:00
Michiharu Ariza d8a68728a0 Merge branch 'master' into cff-more-arrayof-fixes 2019-02-15 14:48:10 -08:00
Michiharu Ariza 90c8bbf987 Merge branch 'master' into cff-retain-gids 2019-02-15 14:47:38 -08:00
Martin 5c2bb1de8d Support xlclang++ on AIX. (#1584) 2019-02-15 21:53:46 +03:30
Behdad Esfahbod 1558a43342 [test] Minor 2019-02-14 20:46:13 -08:00
Behdad Esfahbod fa373584de [algs] Test pair more 2019-02-14 20:15:07 -08:00
Behdad Esfahbod 0d7af5fb02 [algs] Use universal references for hb_pair()
Such that it carries lvalues inside.
2019-02-14 19:37:57 -08:00
Behdad Esfahbod 5b99c92d4c [iter] Use more 2019-02-14 17:10:04 -08:00
Behdad Esfahbod 72c1b59588 [iter] Use in more places 2019-02-14 15:43:20 -08:00
Behdad Esfahbod 40cce41eae [iter] Use in a couple more intersects() calls 2019-02-14 15:14:37 -08:00
Behdad Esfahbod bafdf1829d [iter] Use in a couple more closure() calls 2019-02-14 15:13:16 -08:00
Behdad Esfahbod fa35d3fd81 [iter] Add hb_drain 2019-02-14 14:04:05 -08:00
Behdad Esfahbod f4cfd6b6ad [iter] A couple more hb_apply() + lambda uses 2019-02-14 13:45:52 -08:00
Behdad Esfahbod 7514a49f21 [iter] Use hb_apply() with lambda functions in a few places 2019-02-14 13:16:33 -08:00
Behdad Esfahbod 0670e1a6f5 [iter] Remove excess use of universal references
Every time I have to study these to understand why a change is right..
2019-02-14 11:53:40 -08:00
Behdad Esfahbod 773d75637c [iter] Add hb_apply() 2019-02-14 11:40:22 -08:00
Behdad Esfahbod 00db94095d [iter] Make hb_filter() a function-object 2019-02-14 11:10:13 -08:00
Behdad Esfahbod aa4c321262 [iter] Make hb_zip() a function-object 2019-02-14 11:07:12 -08:00
Behdad Esfahbod f8fcfb263e [iter] Accept pointers to hb_sink() 2019-02-14 11:03:29 -08:00
Behdad Esfahbod b530573ad9 [iter] Make hb_sink function-object 2019-02-14 11:00:10 -08:00
Behdad Esfahbod bb139cb8d0 [iter] Back to dagger formatting for pipelines 2019-02-14 10:52:02 -08:00