Jonathan Kew
1faf0caae1
Special-case 'smcp' when checking for exposed AAT features.
...
This may be implemented by selectors under either LETTER_CASE or LOWER_CASE feature types
in AAT, so we need to check for the presence of either one.
Fixes #2307 .
2020-04-03 19:57:43 +04:30
Jonathan Kew
b87cf6e8d4
Fix sense of comparsion in hb_aat_map_builder_t::feature_info_t.
...
This makes bsearch actually work for the features array.
Fixes #2305 .
2020-04-03 19:20:48 +04:30
Jonathan Kew
b027cb518d
Set sequence number when adding feature to aat map builder, to support stable sort.
...
Fixes #2288 .
2020-04-03 03:22:06 +04:30
Ebrahim Byagowi
89fa70f511
[aat] minor over previous feat related changes
2020-04-03 01:08:01 +04:30
Jonathan Kew
b1c0b9da2f
[AAT] Don't map OT tags to AAT feature types that are not exposed.
...
If an AAT feature type is not exposed in the 'feat' table, we assume it is not intended
to be user-controllable and so we should not map any OT feature tag requests to it.
Fixes #2285 .
2020-04-02 23:58:32 +04:30
Qunxin Liu
e0c3979af1
typo fix
2020-04-02 12:05:57 +04:30
ariza
65f4136303
minor; fixes #2292
2020-04-01 19:49:18 -07:00
Garret Rieger
014e038b2c
[subset] Bail out of context lookup expansion once the lookup limit is encountered.
2020-04-01 11:14:41 +04:30
Garret Rieger
5d345d0cd1
[subset] Limit the number of lookup indices processed subsetting Feature.
...
> Also, remove two unnessecary full iterations of the lookup index iterator during serialization of the index array. Fixes fuzzer found timeout.
2020-04-01 11:13:05 +04:30
Simon Cozens
bdda2ff609
More strictly follow noun/verb/identifier format for GPOS/GSUB lookups
...
Less generic than the previous commit, but more descriptive and more consistent.
2020-03-30 16:40:29 +01:00
Simon Cozens
bef7ef81da
Reformat kerx/morx instrumentation to 'verb noun identifier'
2020-03-30 16:39:43 +01:00
Simon Cozens
42aac64030
Add table index to lookup messages
...
We could say GSUB/GPOS explicitly, but using the index is more general, in case future tables (such as JSTF, Silf) become supported.
2020-03-30 16:06:30 +01:00
Simon Cozens
2cea796b75
Instrument entering GSUB/GPOS tables
2020-03-30 16:04:17 +01:00
Khaled Hosny
1b64b73080
Revert "Add messages for GPOS/GSUB phases"
...
This reverts commit b07714d6b5
.
2020-03-30 16:49:23 +02:00
Ebrahim Byagowi
2e1bf61dd5
[gsubgpos] Use FeatureVariations::NOT_FOUND_INDEX instead Index::
...
As noted by https://github.com/harfbuzz/harfbuzz/issues/2280#issuecomment-604386389
Added on b143e34
, fixed on 2571891
Closes #2280
2020-03-26 22:59:28 +04:30
Ebrahim Byagowi
96d792ae80
[avar] Prevent mul overflow
...
Fixes https://crbug.com/oss-fuzz/21350
2020-03-26 15:01:14 +00:00
Ebrahim Byagowi
18fc9197e2
[meson] Run check-symbols.sh and check-static-inits.sh correctly
...
* Search src/ build directory for objects in check-static-inits.sh
* Find .def files in src/ build directory in src/check-symbols.sh
* Pass builddir also in autotools also, we may just remove libs passing after autotools removal
* Move harfbuzz_subset_def target so can be referenced as a check-static-inits.sh dependency
2020-03-26 09:40:14 +00:00
Ebrahim Byagowi
9c2c9553eb
[test] Check -subset also doesn't link to lib[std]c++
2020-03-26 09:40:14 +00:00
Ebrahim Byagowi
25718913d4
[gsubgpos] minor build fix
2020-03-26 14:04:37 +04:30
Ebrahim Byagowi
b143e34ee1
[gsubgpos] Initialize variation index on HB_NO_VAR
...
hb_shape_plan_key_t::equal expects hb_ot_shape_plan_key_t be initialized by
hb_ot_layout_table_find_feature_variations calls but it won't get initialized
when HB_NO_VAR build config is used.
Related to https://github.com/harfbuzz/harfbuzz/issues/2280
2020-03-26 12:06:12 +04:30
Ebrahim Byagowi
071e2e345f
minor
2020-03-26 12:03:07 +04:30
Ebrahim Byagowi
cc977b6e5c
[gsubgpos] Minor simplification
...
Just changed the order, no functional change
2020-03-26 11:19:43 +04:30
Ebrahim Byagowi
1a48278511
[gsubgpos] Minor style improve
2020-03-26 11:15:09 +04:30
Garret Rieger
4ad686b9c0
[subset] fix fuzzer timeout in layout closure
...
Bail out of chain context lookup expansion once the lookup limit is encountered.
2020-03-26 06:32:28 +00:00
Ebrahim Byagowi
f0ce56bbd0
[meson] Don't compile test-bimap on msvc either
...
MSVC doens't like its NullPool,
test-bimap.cc.obj : error LNK2019: unresolved external symbol "unsigned __int64 const * const _hb_NullPool" (?_hb_NullPool@@3QB_KB) referenced in function
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
22f311e100
[meson] Don't compile noinst_programs in msvc for now
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
7054b12206
[meson] Mark rest of non-install executables explicitly
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
e8808c1c20
[meson] Minor, replace tabs with spaces
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
2db8279162
[meson] Don't compile test-{algs,iter,meta} on msvc
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
3385afacd3
[meson] Don't run check-includes if is amalgam build
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
6a8a1dc5bb
[meson] Port src/ binary artifacts to meson
2020-03-24 19:06:09 +00:00
Ebrahim Byagowi
4738dff18e
[make] minor move on Makefile.am
2020-03-24 19:06:09 +00:00
Simon Cozens
b07714d6b5
Add messages for GPOS/GSUB phases
2020-03-23 22:02:44 +02:00
Ebrahim Byagowi
748e1cf898
[subset] Avoid linking to libstdc++ in libharfbuzz-subset.so
...
Just like other targets (except harfbuzz-icu) avoid linking to libstdc++
2020-03-23 18:06:02 +00:00
Ebrahim Byagowi
a0c58be371
[tools] Remove py2 remains
2020-03-18 23:41:20 +03:30
Tim-Philipp Müller
93b3e30215
[meson] fix icu-related linking errors in test with amalgam build
...
test-unicode.c:960: undefined reference to `hb_icu_get_unicode_funcs'
test-unicode.c:961: undefined reference to `hb_icu_get_unicode_funcs'
For now add the icu sources to libharfbuzz also for the amalgam
build, later we need to have a separate harfbuzz-icu module and
link against that, and/or generate harfbuzz.cc.
2020-03-14 15:16:00 +03:30
Garret Rieger
2f556c38c0
[subset] Fix crash when serializer runs out of room during gpos subsetting.
2020-03-14 00:55:47 +03:30
Chun-wei Fan
838346c54a
meson: Support GDI integration
...
...and supersede the configuration option uniscribe with gdi, as Uniscribe is
tightly tied to GDI. This means that enabling GDI would also mean enabling
Uniscribe.
2020-03-13 14:30:17 +03:30
Chun-wei Fan
4b4d5c295d
src/meson.build: Some cleanups for Visual Studio builds
...
We don't actually need the .def files (vs_module_defs) entry when we are
building DLLs with Visual Studio as long as we have HB_DLL_EXPORT defined.
Plus, to maintain compatibility with the CMake builds, for Visual Studio builds
we do not prefix the libraries with 'lib', nor have a '-0' suffix for the DLL
file name.
2020-03-13 14:30:17 +03:30
Chun-wei Fan
91ca17e1fd
src/hb-gobject-enums.cc.tmpl: Replace © with (C)
...
This was, we also avoid Visual Studio compiler warnings C4828 as that sign is
not favored when /utf-8 is enabled, which is the norm nowadays as Visual Studio
2015 or later is required to build harfbuzz nowadays.
2020-03-13 14:30:17 +03:30
Chun-wei Fan
62fb6738d5
Fix gen-def for harefbuzz-gobject
...
The © sign is causing issues for the script, so replace those with (C)
2020-03-13 14:30:17 +03:30
Chun-wei Fan
8d425ed446
meson: Fix harfbuzz-gobject builds without introspection
...
Make the `sources:` field reflect the items depending on whether introspection
is being built
2020-03-13 14:30:17 +03:30
Chun-wei Fan
3341d5346e
meson: Don't apply -DHB_DLL_EXPORT to all targets
...
Only have it apply to the libraries when they are not built statically on
Visual Studio
2020-03-13 14:30:17 +03:30
Ebrahim Byagowi
a224f4179f
Turn more of simple dagger chains to foreach
...
Less noise, as was agreed before and applied 385741d
also
2020-03-13 08:33:34 +03:30
Ebrahim Byagowi
755a77d660
Move outline draw API behind HB_EXPERIMENTAL_API directive
2020-03-13 08:25:53 +03:30
Ebrahim Byagowi
1dd3896688
[meson] Make it work on autotools dist
2020-03-12 14:49:40 +03:30
Garret Rieger
834a224a50
[subset] Put a limit on the number of lookup indices that can be visited during closures
...
Fixes https://crbug.com/oss-fuzz/21025
2020-03-12 13:32:36 +03:30
Ebrahim Byagowi
f8c8be0564
[meson] Add amalgam build option
2020-03-12 00:25:48 +03:30
Aaron Boxer
68f982415b
meson: update to latest master
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
535186fd84
meson: provide a harfbuzz-config for use from CMake
...
See #822 and #1437 .
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
7eaf3754dc
meson: update for changes in master
...
And remove header files from sources list, Meson figures
out header dependencies by itself (via the compiler).
2020-03-11 19:18:57 +03:30
Khaled Hosny
04438554c8
meson: Update build files after rebase
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
618584e923
meson: rename incbase to incconfig
...
Makes it clearer what it's for: config.h. See #4 .
2020-03-11 19:18:57 +03:30
Khaled Hosny
14b5c774c2
meson: Fix include directory when used as subproject
...
HarfBuzz headers are under src/ not the root directory, without using
incsrc no headers will be found by the dependent project. I think
incbase is superfluous, it should be replaced by incsrc or dropped.
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
6abe7983ed
meson: add g-i introspection
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
d230a02048
meson: generate .def file for MSVC symbol export on the fly
...
Fix symbol export with MSVC when features are disabled,
such as GLib. We need to generate the list of exported
symbols on the fly to make sure we only export symbols
that are actually available.
Needs some minor modifications to the gen-def.py script:
- accept header list also via command line args; we can't
pass things to a configure_file() command via the environment
in Meson.
- strip any leading 'src/' from library filename. This might
be there because in Meson the script might be called from
the top-level directory and not the current source directory.
Remove .def files again which had been checked in for earlier
versions of the Meson port.
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
4840c8237e
meson: add option and build system plumbing for CoreText on macOS/iOS
...
Untested though.
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
83ebbe4ade
meson: add option and build system plumbing for DirectWrite on Windows
...
Untested though.
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
b7796a5d69
meson: add option and build system plumbing for uniscribe on Windows
...
Untested though.
2020-03-11 19:18:57 +03:30
Tim-Philipp Müller
c81290b0c1
meson: add feature option for internal ucdn lib
2020-03-11 19:18:57 +03:30
Nirbheek Chauhan
f65def4dc7
meson: Declare dependencies for use as a subproject
...
Also use fallbacks for dependencies that have meson build files
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
29c47d8eb5
meson: pass subdirs to pkgconfig.generate()
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
484313ff36
meson: install
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
d4a7237327
meson: all tests passing on Windows / MSVC
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
99b26789d2
meson: more windows fixes
2020-03-11 19:18:57 +03:30
Mathieu Duponchelle
920efc0ef7
Add Meson build definitions
...
Fixes #490
http://mesonbuild.com
2020-03-11 19:18:57 +03:30
Khaled Hosny
0615c7b64b
Remove workaround for old pkg-config
...
Add FreeType dependency to .pc, Ubuntu 14.4 is long dead.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1565
2020-03-10 22:04:35 +02:00
Ebrahim Byagowi
47f5a86036
minor, use NN on every OffsetTo<UnsizedArrayOf<>>
2020-03-10 13:57:46 +03:30
Ebrahim Byagowi
648338c7d4
[gvar] Add fields docs from ot-spec as other tables
2020-03-10 13:20:56 +03:30
Ebrahim Byagowi
1b3b96973b
[gvar] Don't copy shared tuples into gvar's accelerator
2020-03-10 12:46:09 +03:30
Ebrahim Byagowi
29dd1fe506
[gvar] Don't check again against face num glyph
...
Done once by sanitize_shallow
2020-03-10 11:41:58 +03:30
Ebrahim Byagowi
d4b1181760
[gvar] minor, rename gvar_table to table
2020-03-10 11:29:56 +03:30
Ebrahim Byagowi
5c37693864
[gvar] Remove axisCount comparison with fvar as we runtime check that
2020-03-10 11:25:47 +03:30
Ebrahim Byagowi
ba22df36ad
minor
...
makes search for sanitize calls easier for me
2020-03-10 10:43:27 +03:30
Ebrahim Byagowi
8ca9df7acb
[subset] Remove not needed blob sanitize call
2020-03-10 10:40:05 +03:30
Ebrahim Byagowi
07acd1a042
[subset] Rename src_base args to base to match sanitize methods
...
So it will become easier to follow that serialize methods signatures should
match with their sanitize methods counterparts.
2020-03-08 23:39:26 +03:30
ariza
188a0a47c2
removed default base; replaced w/ bias if required
2020-03-08 22:59:43 +03:30
blueshade7
4c3af7d406
add "add_link()" with bias arg
...
issue #2227
2020-03-08 18:48:56 +03:30
Ebrahim Byagowi
bdf372b24c
[subset/cbdt] Release the referenced cbdt table on error
...
Just accidentally spotted it, when the table has less than 4 bytes
2020-03-08 00:49:40 +03:30
Ebrahim Byagowi
0d729b4b72
[avar] Fix out-of-bound read when input is bigger than all the coords
...
'i' shouldn't become equal to array's length which as the increament
is happened at end of the loop, if the input is bigger than all the
table coords, it will be equal to array's length.
Fixes https://crbug.com/oss-fuzz/21092
2020-03-07 13:20:41 +03:30
Ebrahim Byagowi
6924e29f62
[var] Fix hb_ot_var_get_axis_infos's offset semantic
...
The API was adding offset to input's infos buffer index also which is
unusual between our APIs and wrong.
2020-03-06 02:01:04 +03:30
Ebrahim Byagowi
b7617f6b3c
[glyf] Update to latests of ttf-parser
2020-03-05 15:08:06 +03:30
ariza
0b29053864
removed unused code
2020-03-05 10:11:23 +03:30
ariza
e8f010d793
removed unused code & data; rename
2020-03-05 10:11:23 +03:30
Garret Rieger
14a7b6f1ab
Set hb_buffer_t to use array_t.reverse().
2020-03-04 16:52:29 -08:00
ariza
5935a1dc0b
add pop_discard() calls to errror returns
2020-03-05 01:22:51 +03:30
ariza
c05458ec7f
update cff & cff2 subsetters
2020-03-05 01:22:51 +03:30
Ebrahim Byagowi
9004848560
[gvar] Make sure font's num_coords matches with gvar.axisCount
2020-03-04 12:43:26 +03:30
Ebrahim Byagowi
1af3363f9e
[gvar] Use hb_array_t instead indexing raw pointers
2020-03-04 12:43:26 +03:30
Ebrahim Byagowi
99b5b3f1b1
[gvar] Make sure TupleVarHeader has the needed size
...
Fixes https://crbug.com/oss-fuzz/21026
2020-03-04 12:43:26 +03:30
Ebrahim Byagowi
b398748d8b
[algs] Add hb_clamp
...
Similar to stl and glsl's clamp
2020-03-04 11:18:19 +03:30
Ebrahim Byagowi
f745777c60
minor, debug bit, ops
2020-03-03 19:14:41 +03:30
Ebrahim Byagowi
f253f06cf3
[fuzz] Add another fixed case
...
https://crbug.com/oss-fuzz/14626
another numerous subtables count which is fixed by d38360397
2020-03-03 19:12:04 +03:30
Ebrahim Byagowi
d383603976
Limit OT::Lookup subtables ( #2219 )
...
Fixes https://crbug.com/oss-fuzz/13943
2020-03-02 22:41:08 +03:30
Ebrahim Byagowi
60262e4ca9
[var] Build end-points array on gvar itself
2020-02-29 22:57:59 +03:30
Ebrahim Byagowi
44169f3396
[draw] Fix invalid rendering of some glyph on Estedad-VF
...
Basically reverts 11f3fca
so I can do the same tested and better later
Fixes #2215
2020-02-29 16:04:03 +03:30
Michiharu Ariza
5ab50eebd7
collect_unicodes() with clamp, calling add_range()
...
Use add_range instead an inner loop, clamp its input number by
number of glyphs a face has.
Even the face cmap12 and 13 have 32-bit hb_codepoint_t, which is here
used to make timeout, face's maxp has 16-bit gid limitation at least for now,
using that makes sure we both fix and the timeout and don't need to change
much things here also in order to support 32-bit gids also someday.
Fixes #2204
2020-02-29 13:02:29 +03:30
Garret Rieger
414529e45a
[subset] Limit the number of feature indices processed during script subsetting.
2020-02-28 16:10:14 -08:00
Garret Rieger
75622b0d24
[subset] Limit the number of features processed in the feature closure.
2020-02-28 16:10:14 -08:00
Garret Rieger
c66ee213b7
Limit the number of feature indices processed during feature collection.
2020-02-28 16:10:14 -08:00
Ebrahim Byagowi
758fda728b
[glyf] Don't accept gids higher than maxp's glyphs number
...
This specially becomes concerning on sub-components where a gvar table
that is sanitized using maxp's glyphs number overflows when a high gid
accepted here goes to it, maybe an additional check can be put there
also, this however feels to be enough.
Fixes https://crbug.com/oss-fuzz/20944
2020-02-28 23:19:06 +03:30
Ebrahim Byagowi
e642aab116
[subset] Add source_blob as a hb_subset_context_t field ( #2203 )
...
So no more double sanitizing source table.
2020-02-28 22:24:25 +03:30
Ebrahim Byagowi
e90213868b
Revert "collect_unicodes() to check gid < num_glyphs with cmap 12"
...
Didn't fix the case actually, making bots to fail.
This reverts commit 15b43a4104
.
2020-02-28 21:24:51 +03:30
Ebrahim Byagowi
61208401f4
[gvar] Use hb_bytes_t.check_range instead having in house one
...
And use TupleVarHeader calculated size for validity check.
Fixes https://crbug.com/oss-fuzz/20919 and possibly other gvar related issues
2020-02-28 21:09:07 +03:30
Michiharu Ariza
15b43a4104
collect_unicodes() to check gid < num_glyphs with cmap 12
...
fixes #2204
2020-02-28 20:15:39 +03:30
Qunxin Liu
b0749bfaa5
[subset] GDEF LigCaretList subsetting support
2020-02-28 14:51:52 +03:30
ariza
002f0e20c4
reimplment serialize_int using check_assign()
2020-02-28 14:21:58 +03:30
Ebrahim Byagowi
14b134379d
[gvar] Minor, check whether sub_array result also have enough room
2020-02-27 21:01:48 +03:30
Ebrahim Byagowi
8eba66c1c6
[gvar] Fix invalid memory access by refactoring GlyphVarData fetch logic
...
Fixes https://crbug.com/oss-fuzz/20906
2020-02-27 20:26:54 +03:30
Evgeniy Reizner
f44e1dc07d
Fix spelling.
2020-02-27 13:33:56 +03:30
Qunxin Liu
5ad761b943
[subset] GDEF MarkGlyphSets subsetting support
2020-02-26 15:15:21 -08:00
Qunxin Liu
fcd7f33bbb
[subset] GDEF glyphClassDef subsetting support
...
glyphClassDef uses the same ClassDef format. However, glyphClassDef table
uses predefined class values so we do not remap class values.
2020-02-26 11:10:31 -08:00
Garret Rieger
50129b03a1
Add a reverse () call to hb_array_t.
2020-02-26 11:09:54 -08:00
Garret Rieger
38c6598c1c
Switch to C style comments.
2020-02-26 11:09:54 -08:00
Garret Rieger
52b6e0baa0
When serializing cmap14 order the offsets from smallest to largest.
...
Current versions of OTS fail fonts with cmap 14's who's last offset does not point to the a block at the end of the table.
2020-02-26 11:09:54 -08:00
ariza
d0aaba5c50
fixes oss-fuzz 20886
...
hb_set_t::resize () is needed after compact()
2020-02-26 09:35:32 -08:00
Ebrahim Byagowi
05a25c1a5b
[cff] minor, remove unused fields
2020-02-26 19:35:27 +03:30
Ebrahim Byagowi
9fe0dc3464
[draw] Pass draw_helper_t itself around instead recreating it
...
Specially helpful if we want to change the design
2020-02-26 17:40:46 +03:30
Ebrahim Byagowi
4cdaa9d1f4
[glyf] Simplify contour end logic
...
So no need for infinite loop here
2020-02-26 16:29:14 +03:30
Ebrahim Byagowi
84163c83d3
[draw] Skip commands and paths not contributing anything
...
They aren't contributing to rendering and making issue for stroking, let's skip them
ourselves as Skia does also https://skia-review.googlesource.com/c/skia/+/268166
They are useful for extracting extents and so which that functionality won't be effected by this change.
2020-02-26 16:09:28 +03:30
Ebrahim Byagowi
073d4954e0
[draw] Port glyf path extract to draw_helper_t
2020-02-26 15:40:40 +03:30
Ebrahim Byagowi
0ebf3a4e62
[draw] Move common CFF path building logic to draw_helper_t
2020-02-26 15:15:22 +03:30
Michiharu Ariza
c400cb8863
Re-implement hb_set_t::del_range ( #2194 )
...
* optimize hb_set_del_range()
fix issue #2193
* fixed bug & added tests
* coding & comment tweaks
2020-02-25 16:06:03 -08:00
Ebrahim Byagowi
c21eb86bfd
Merge pull request #2163 from harfbuzz/absolute-link
...
added add_link_abs()
2020-02-26 02:54:38 +03:30
ariza
4081439d2a
tweak reflecting review & add test cases
2020-02-25 15:03:12 -08:00
ariza
de896278f7
coding & comment tweaks
2020-02-25 07:12:20 -08:00
Ebrahim Byagowi
2f97aa65e5
[cff] Make sure previous is ended on processing a seac
2020-02-25 18:07:44 +03:30
Ebrahim Byagowi
acc2d4738e
[cff] Make path extract easier to read and more defensive
2020-02-25 18:05:48 +03:30
Ebrahim Byagowi
b59eb54f70
[glyf] Refactor, move get_points inside Glyph
2020-02-25 12:56:32 +03:30
ariza
173b745da8
fixed bug & added tests
2020-02-24 22:56:57 -08:00
ariza
a5012e97c4
optimize hb_set_del_range()
...
fix issue #2193
2020-02-24 17:09:48 -08:00
Ebrahim Byagowi
1f5a54c768
[gvar] fix infinite loop introduced by 11f3fca
...
The attempt on removing end_points had made the code unreadable
and has intrdouced infinite, fixed by making the code clear what
it tries to achieve.
2020-02-24 14:30:07 +03:30
Ebrahim Byagowi
f00eb4ebfa
[gvar] Don't compare against Null address
2020-02-24 09:25:19 +03:30
Ebrahim Byagowi
19b78d56cd
[gvar] Accept coord_count even if is higher than gvar's axisCount
2020-02-24 09:25:18 +03:30
Ebrahim Byagowi
197e2e929b
[gvar] Return gracefully even if gvar wasn't used at all
2020-02-24 08:55:35 +03:30
Ebrahim Byagowi
346ab9884b
[gvar] Return gracefully even if coords_count != gvar's axis count
...
It shouldn't be that common to have the situation, even so, no need to
reject entire a glyph even if gvar isn't used.
2020-02-24 08:48:54 +03:30
Ebrahim Byagowi
5f23a76e99
[cff] Don't remove coords const qualification
...
We should find some way to audit all the const removals, perhaps by
enabling -Wold-style-cast warning on the project and turning all the
implicit const removals to const_cast.
2020-02-24 08:23:25 +03:30
Michiharu Ariza
ff5223ba60
remove invalid glyphs from closure ( #2188 )
...
fix issue #2186
2020-02-23 15:53:21 -08:00
Ebrahim Byagowi
e17fd0d91c
[tools] More on py3 compatibility
2020-02-24 00:10:11 +03:30
Ebrahim Byagowi
0cf050a7b1
[draw] Merge consequent move-to commands of CFF/CFF2
2020-02-23 23:23:50 +03:30
Ebrahim Byagowi
86bd5a0ba1
[draw] End CFF paths with a line-to
...
Issue a line-to command when start and end point of a path isn't same, matches freetype also.
2020-02-23 23:23:50 +03:30
Ebrahim Byagowi
a46ba770ab
[number] minor
2020-02-22 17:15:06 +03:30
ariza
4aa354beba
chain second OffsetTo::serialize_copy() to first
2020-02-21 10:17:26 -08:00
ariza
6120f50c8f
fix Head with link.bias
2020-02-21 10:17:26 -08:00
ariza
e65bff0943
workaround whence_t as bit-field
2020-02-21 10:17:26 -08:00
ariza
1aed6d223c
fix whence=Head; position as 28 bits
2020-02-21 10:17:25 -08:00
ariza
4ca8e0d989
re-implement Tail; rewrote name table with it
2020-02-21 10:17:25 -08:00
ariza
c1313e4be2
minor: undid unintended change
2020-02-21 10:17:25 -08:00
ariza
9c65680b48
rename enums to avoid conflict on win
2020-02-21 10:17:25 -08:00
ariza
555f6f1daa
merge add_link_abs() into add_link()
2020-02-21 10:17:25 -08:00
ariza
017cd945bf
added add_link_abs()
2020-02-21 10:17:25 -08:00
Ebrahim Byagowi
07504569d5
[gsub] minor format
2020-02-21 13:05:44 +03:30
Garret Rieger
411225426f
Fix glyph closure for alternate substitution.
...
It was not filtering on the glyphs to be retained.
2020-02-21 13:01:23 +03:30
Ebrahim Byagowi
da37880e17
[draw] Add a private bit field instead null-checking quad-to callback
...
This doesn't imply the the design is good or stable just is better
to not fail due to null quad-to callback so as our quad-cubic curves
translation is currently table limited which can be revisited anytime.
2020-02-20 19:04:20 +03:30
Ebrahim Byagowi
8c652f72fc
Minor, switch to https links where possible
2020-02-19 16:32:44 +03:30
Ebrahim Byagowi
bbcbcafc25
[tool] Minor, move input files link
2020-02-19 16:21:47 +03:30
Ebrahim Byagowi
8d19907704
Remove python2 support from tests/utils scripts
2020-02-19 16:17:45 +03:30
Rico Tzschichholz
2c9fbf5561
Improve GIR build
2020-02-19 14:12:29 +03:30
Qunxin Liu
493e40ff78
[subset] add one empty byte to glyf table
...
if it's going to end up empty after subsetting
This will make OTS happy and match what fontTools is doing now.
2020-02-19 12:24:38 +03:30
Ebrahim Byagowi
a7dec0cb51
[glyf] Tweak path_builder_t
2020-02-18 16:22:12 +03:30
Ebrahim Byagowi
d52ea2a42c
[glyf] minor
2020-02-18 15:46:02 +03:30
Ebrahim Byagowi
3b0c58f811
[glyf] minor, use private font coords to simplify
2020-02-18 15:43:25 +03:30
Ebrahim Byagowi
dcd2729e71
[glyf] Move contour_bounds_t into scope it is actually used
2020-02-18 15:38:57 +03:30
Ebrahim Byagowi
8bb47fa17d
[glyf] minor, spacing
2020-02-18 15:06:58 +03:30
Ebrahim Byagowi
21a5fe4f09
[glyf] Make returning phantoms to not require another vector
2020-02-18 14:38:55 +03:30
Ebrahim Byagowi
5c03fbe7e0
[glyf] do a phantom only iteration when possible
2020-02-18 14:08:37 +03:30
Ebrahim Byagowi
11f3fca01d
[glyf/gvar] Remove need of passing end points vector around
2020-02-18 14:08:37 +03:30
Ebrahim Byagowi
0f2c2d989b
[glyf] Push consumer machine one more level further
2020-02-18 14:08:37 +03:30
Ebrahim Byagowi
11f5f7c59c
[glyf] Adopt a state machine like style for the path builder
...
Toward making glyf path reader alloc free at least on gvar absence.
2020-02-18 00:49:09 +03:30
Ebrahim Byagowi
60f8f384f9
[glyf] Switch to ttf-parser's glyf to path algorithm
...
It consumes each point at a time and doesn't need to know contour size before hand
2020-02-18 00:49:09 +03:30
ariza
3c792c2aa5
add test cases for hb_unwrap_type
2020-02-17 21:16:15 +00:00
ariza
168ceeac49
renamed to hb_unrwap_type(); now recursive
2020-02-17 21:16:15 +00:00
ariza
71552ecc26
add hb_get_type
2020-02-17 21:16:15 +00:00
ariza
6585846352
pop_pack(share=false) in end_serialize()
...
issue #2177
2020-02-16 17:16:29 -08:00
Michiharu Ariza
39fb57c0e4
add share option to pop_pack() ( #2176 )
...
as a solution for #2164
2020-02-16 08:38:41 -08:00
ariza
9c6499d9f4
rewrite read_points() to take lambda & consts args
...
replacing awkward x/y_setter_t structs
2020-02-16 00:56:31 -08:00
Behdad Esfahbod
d663e28af1
[serialize] Catch signedness overflows in check_assign()
...
Should address https://github.com/harfbuzz/harfbuzz/pull/2163#pullrequestreview-355137936
2020-02-12 15:41:21 +00:00
Ebrahim Byagowi
ff984ed3cd
Use multiplication to avoid undefined behaviour per clang
...
Newer versions of MSVC with /we4146 don't like putting negative sign behind a
unsigned number as https://github.com/harfbuzz/harfbuzz/pull/2069
That however have made https://crbug.com/1050424 this complain:
src/hb-ot-color-sbix-table.hh:304:28: runtime error: negation of -2147483648 cannot be represented in type 'int';
cast to an unsigned type to negate this value to itself
which apparently can be fixed using this change.
Let's see if this won't make another ubsan complain!
2020-02-11 19:51:52 +03:30
Ebrahim Byagowi
21e1b1310a
[colr] minor style fix
2020-02-11 17:10:34 +03:30
Ebrahim Byagowi
cbb45c3ee7
[subset/colr] minor improve to resolve msvc complain
...
MSVC says,
hb-ot-color-colr-table.hh(215): warning C4700: uninitialized local variable 'new_record' used [build\harfbuzz-subset.vcxproj]
harfbuzz-subset.vcxproj -> build\Debug\harfbuzz-subset.lib
2020-02-11 16:46:18 +03:30
Ebrahim Byagowi
352ac63ef9
Fix an unlikely UAF on the deprecated _set_glyph_func API
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2168
2020-02-11 03:05:04 +03:30
Ebrahim Byagowi
6a390df8af
[tools] Print unicode links on gen-* tools output
...
As Behdad's review
2020-02-10 17:20:09 +03:30
Evgeniy Reizner
4dc87365d7
Add links to files used by python scripts.
...
Closes #2150
2020-02-09 20:52:49 +03:30
Ebrahim Byagowi
40166eb0e5
[var] Fix the just introduced hb_font_set_var_coords_design storing bug
...
The memcpy call was using the current coords count which is zero initially so no copy at all.
Sad that no test has caught it, should see why, will however with the upcoming style API tests.
2020-02-08 13:22:01 +03:30
Ebrahim Byagowi
5c1a023f67
[tool] Optimize COLR glyph dump
...
Move palette colors fetching out of gid iteration so not
fetching all the colors of a palette each time.
2020-02-08 11:07:33 +03:30
Ebrahim Byagowi
0b76e8130e
Don't use _normalize_variations to avoid twice axis fetch
2020-02-08 11:04:34 +03:30
Ebrahim Byagowi
ab2d3ec542
[var] Implement hb_font_get_var_coords_design
...
Hold design coords and simulate when normalized coords are set directly.
2020-02-08 11:04:34 +03:30
Garret Rieger
5a10f3a055
Use vector instead of map during page compaction in hb-set.
2020-02-08 10:27:44 +03:30
Garret Rieger
2742c81624
Fix page_map corruption in hb_set_t during process().
...
If a process operation results in less pages then the current set has, it will likely corrupt the page_map since it overwrites page_map entries ahead of where it's processing. This fixes that problem by removing page_map entries that will be dropped. Then dropping orphaned pages and re-indexing retained pages.
2020-02-08 10:27:44 +03:30
Qunxin Liu
eb7849a806
[subset] GPOS6 MarkToMark subsetting support
2020-02-06 10:46:05 -08:00
Qunxin Liu
82afc75835
[subset] GPOS4 MarkBase subsetting support
2020-02-06 10:46:05 -08:00
Ebrahim Byagowi
4dc3db7344
Minor, fix warnings raised when built with -std=c++2a
...
Follow up to c184180
,
It was raising,
src/hb-ot-layout-common.hh:1067:63: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
| hb_filter ([=] (const OffsetTo<TSubTable> &_) { return (this+_).intersects (glyphset, lookup_type); })
^
src/hb-ot-layout-common.hh:1067:19: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_filter ([=] (const OffsetTo<TSubTable> &_) { return (this+_).intersects (glyphset, lookup_type); })
^
, this
and
src/hb-ot-layout-common.hh:2626:38: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
{ r.collect_lookups (this, lookup_indexes); })
^
src/hb-ot-layout-common.hh:2625:18: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_apply ([=] (const FeatureTableSubstitutionRecord& r)
^
, this
and
src/hb-ot-hdmx-table.hh:141:44: error: implicit capture of 'this' with a capture default of '=' is deprecated [-Werror,-Wdeprecated-this-capture]
return device_record->widthsZ.as_array (get_num_glyphs ()) [_];
^
src/hb-ot-hdmx-table.hh:137:17: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_map ([=] (hb_codepoint_t _)
^
, this
2020-02-06 16:25:54 +03:30
Ebrahim Byagowi
b4d3bf1d8a
[draw] Add hb_draw_funcs_is_immutable and hb_draw_funcs_make_immutable
2020-02-06 11:52:32 +03:30
Ebrahim Byagowi
3a98c7fae1
[glyf] Skip empty contours
...
As https://savannah.nongnu.org/bugs/index.php?57701
2020-02-06 11:35:48 +03:30
ckitagawa
03f778cf3c
[cmap] remove dead code
2020-02-05 18:00:39 +03:30
Ebrahim Byagowi
71a2018600
[cbdt] minor, tweak spaces
2020-02-05 17:40:51 +03:30
Ebrahim Byagowi
eaa2402a79
[cbdt] Merge hb-ot-color-cbdt-table.cc into its header file
...
Not needed as far as can be said.
2020-02-05 17:09:12 +03:30
Ebrahim Byagowi
a7f694d4b0
Merge branch 'subset_cblc' into master
2020-02-05 16:31:21 +03:30
Ebrahim Byagowi
43016715e1
[subset] minor on _subset
2020-02-05 15:02:20 +03:30
Ebrahim Byagowi
dcb5dfc970
[subset] minor on tables iteration
2020-02-05 15:01:25 +03:30
Ebrahim Byagowi
a8593339e2
[subset] minor on switch statements
2020-02-05 15:00:25 +03:30
Ebrahim Byagowi
b1f63109c6
[subset] Optimize _is_table_present
...
One call for most of the fonts and no malloc
2020-02-05 00:30:40 +03:30
Ebrahim Byagowi
25707e37e3
[cff] minor
2020-02-05 00:27:28 +03:30
ckitagawa
0d61926ca7
[subset] Keep head when no glyf table
2020-02-04 23:31:33 +03:30
Ebrahim Byagowi
7f9b2228a6
[glyf] minor
...
Improve using https://developer.blender.org/diffusion/B/browse/master/source/blender/blenlib/intern/freetypefont.c$572
2020-02-04 23:05:49 +03:30
Ebrahim Byagowi
5b43603385
[subset] Rename _subset2 to _subset
2020-02-04 21:29:24 +03:30
ariza
2792fb8ba1
first rewrite of cff/cff2 _subset with _subset2
2020-02-04 21:20:43 +03:30
ckitagawa
b114b26a56
Add guard to copy_glyph_at_idx
2020-02-04 09:49:24 -05:00
Ebrahim Byagowi
b2a68ed587
[name] Minor, use subtraction instead ternary operator
...
Guess ternary was a bit more legible, apparently however we agreed to use subtraction,
https://github.com/harfbuzz/harfbuzz/pull/2139#discussion_r372582005
2020-02-01 23:16:45 +03:30
Qunxin Liu
490ef1cc23
[subset] Fix namerecord ordering
...
This will fix inconsistency with fontTools.
Also according to the spec, namerecords must be sorted
first by platform ID, then by platform-specific ID,
then by language ID, and then by name ID.
2020-02-01 23:07:47 +03:30
ckitagawa
e128f80278
parent 777ba47b50
...
author ckitagawa <ckitagawa@chromium.org> 1579631743 -0500
committer ckitagawa <ckitagawa@chromium.org> 1580506176 -0500
[subset] Add CBLC support
2020-01-31 16:37:30 -05:00
Evgeniy Reizner
b4377afd28
Minor hb_ot_layout documentation fixes.
2020-01-31 22:57:38 +03:30
Qunxin Liu
0216a96b0f
[subset] Fix simple glyph trim_padding in glyf table
...
Detail: when numOfContours = 1 and flag = 0x31
xCoordinates and yCoordinates would be empty
2020-01-31 10:49:44 -08:00
Qunxin Liu
b6a8f5e63c
[subset] CMAP table subsetting fix
...
Not all codepoints smaller than 0xFFFF go to cmap4 table.
Only subset codepoints existing in each table.
This will also make harfbuzz consistent with fontTools' behavior
2020-01-31 10:49:44 -08:00
Ebrahim Byagowi
777ba47b50
Merge pull request #2132 from ckitagawa-work/subset_colr
...
[subset] Add COLR support
2020-01-30 22:38:43 +03:30
Ebrahim Byagowi
5b069c3612
[draw][docs] update to new terminology
2020-01-30 18:05:01 +03:30
Ebrahim Byagowi
920dca4550
[draw][docs] update to new terminlogy
2020-01-30 18:03:06 +03:30
Ebrahim Byagowi
1632726c1f
[draw] minor
2020-01-30 16:48:34 +03:30
ckitagawa
92f43a99c6
[subset] COLR, simplify logic and use add_array
2020-01-29 16:06:55 -05:00
ckitagawa
fba5128a9e
Fix build
2020-01-29 10:24:55 -05:00
ckitagawa
7d542a5274
Refactor to two iterators
2020-01-29 10:21:00 -05:00
ckitagawa
0aed54dca6
Use one-liner methods
2020-01-28 15:35:53 -05:00
ckitagawa
81c469eb62
Try to fix Wrange-loop-analysis
2020-01-28 15:35:53 -05:00
ckitagawa
0d1ba94ac7
Minor style fixes
2020-01-28 15:35:53 -05:00
ckitagawa
ed857c4680
[subset] Add COLR support
2020-01-28 15:35:53 -05:00
Ebrahim Byagowi
d106900bfd
[draw][glyf] Implement quadratic to cubic call translation
2020-01-28 15:27:27 +03:30
Ebrahim Byagowi
74fdcdcac8
[draw] Rename conic_to to quadratic_to
2020-01-28 13:45:22 +03:30
Ebrahim Byagowi
ac81e94016
Rename hb_outline_decompose to hb_font_draw_glyph and hb_outline_decompose_funcs_t to hb_draw_funcs_t
2020-01-28 13:24:49 +03:30
Ebrahim Byagowi
cf5f946756
[outline] use hb_object_is_immutable instead comparing to Null
2020-01-27 23:43:54 +03:30
Ebrahim Byagowi
981125aa2a
Rename hb_ot_glyph_* to hb_outline_*
2020-01-27 23:43:54 +03:30
Evgeniy Reizner
cd7b46ca15
Use correct return type in _unsafe_to_break_find_min_cluster.
2020-01-26 23:59:36 +03:30
Ebrahim Byagowi
cd266e4f3d
minor
2020-01-25 21:33:38 +03:30
Ebrahim Byagowi
f9070cfef8
Run morx if run is horizontal or GSUB doesn't exist
2020-01-25 00:36:36 +03:30
Ebrahim Byagowi
8e0898080f
[sbix] minor style fixes
2020-01-24 23:42:53 +03:30
Qunxin Liu
36a5c042d7
[subset] Add "--name-languages" and "--name-legacy" options
...
Make name table subsetting consistent with fontTools
2020-01-24 23:17:04 +03:30
Ebrahim Byagowi
b7762c7068
Disable hb_ot_glyph_decompose in HB_TINY
2020-01-24 21:20:07 +03:30
ckitagawa-work
0e4b2676bd
[subset] sbix fix missed offset is_null() check
2020-01-24 20:46:07 +03:30
Ebrahim Byagowi
2d14735588
[src/main] separate the places use private API, minor
2020-01-24 19:56:06 +03:30
Ebrahim Byagowi
23277beef9
Fold src/test-ot-glyph and src/test-ot-color into src/main
2020-01-24 19:56:06 +03:30
Ebrahim Byagowi
b72337e57e
[test] Adopt test-ot-color with ot-glyph and remove freetype/cairo dependecy
2020-01-24 19:56:06 +03:30
Ebrahim Byagowi
e171beeb5f
Revert "[subset] Add "--name-languages" and "--name-legacy" options"
...
Causes tests failures, please reapply when tests are fixed, thanks.
This reverts commit fd85818b5b
.
2020-01-24 19:51:32 +03:30
Dominik Röttsches
298c46afbf
Only prefer AAT morx for horizontal layout
...
Fixes #2124 .
2020-01-24 19:48:36 +03:30
Qunxin Liu
fd85818b5b
[subset] Add "--name-languages" and "--name-legacy" options
...
Make name table subsetting consistent with fontTools
2020-01-23 17:24:05 -08:00
Qunxin Liu
c370da45ff
[subset] Cmap table: remove encodingRecord entry for empty cmap4 subtable
2020-01-23 17:23:55 -08:00
ckitagawa
d3fff622b3
Move push call to caller
2020-01-23 23:46:22 +03:30
ckitagawa
7dc341fe74
[subset] Fix UBSAN issue in sbix
2020-01-23 23:46:22 +03:30
ariza
1ab3924b31
refix PR #2087 subset PairPos1
...
also added oss-fuzz 20211 data fixed by this
2020-01-23 10:50:52 -08:00
Ebrahim Byagowi
7633b7695e
Merge pull request #2016 from ebraminio/glyf
...
Implement glyph outline path API
2020-01-23 18:51:40 +03:30
Ebrahim Byagowi
02f324c949
[ot-glyph] remove open callback
...
Apparently it wasn't requested actually and can be detected easily
as paths are opened usually when move command is issued anyway.
2020-01-23 15:12:15 +03:30
Ebrahim Byagowi
684ff3e0cd
[ot-glyph] noop->nil, fix close path
2020-01-23 14:48:59 +03:30
ckitagawa
3747b329b2
Address garretrieger@'s comments
2020-01-22 10:11:15 -08:00
ckitagawa
af62c1c3b0
Fix style issue
2020-01-22 10:11:15 -08:00
ckitagawa
8614a30bc9
[subset] Fix sbix fuzz problem
2020-01-22 10:11:15 -08:00
ariza
72cbfb9059
remove empty lookup subtables
...
Added a variant of subset_offset_array which takes an extra arg passed to serialize_subset for this impl.
Added a new api test "test-subset-gpos" for this.
2020-01-21 16:53:19 -08:00
Michiharu Ariza
8f49aaa16f
minor: un-include glyf.hh in gvar.hh
2020-01-16 15:15:15 -08:00
Michiharu Ariza
c828d7bf76
[subset] fixed GPOS device table sanitize & serialize ( #2087 )
2020-01-15 15:32:44 -08:00
Qunxin Liu
e565d1f9bc
[subset] subset lookup/feature/script lists for GSUB/GPOS
2020-01-15 14:04:33 -08:00
ckitagawa
93376a6436
Add unittests
2020-01-15 13:36:01 -08:00
ckitagawa
6bcf57eaa3
Simplify copy and add fuzzing coverage
2020-01-15 13:36:01 -08:00
ckitagawa
78b50a67be
Address initial comments
2020-01-15 13:36:01 -08:00
ckitagawa
43b6c865ae
[subset] Support sbix subsetting
2020-01-15 13:36:01 -08:00
Ebrahim Byagowi
79fed9a1e4
[ot-glyph] Add open/close callbacks
2020-01-14 17:34:59 +03:30
Ebrahim Byagowi
ec1fba1388
[ot-glyph] make hb_ot_glyph_decompose_funcs_t struct opaque
2020-01-14 15:55:23 +03:30
Qunxin Liu
8ffc9add22
[subset] layout closure_features and store them in subset-plan
2020-01-14 07:24:48 +03:30
Dominik Röttsches
66dfd605b5
Fix duplicate check in hb_ot_rotate chars
...
Fixes #2099 . Fix indentation in mirroring section as well.
2020-01-13 18:20:12 +03:30
Ebrahim Byagowi
d7c3cb18ee
[ot-glyph] minor on tests
2020-01-13 18:17:21 +03:30
Ebrahim Byagowi
dc03a993d0
Fix collect lookups logic of FeatureTableSubstitution ( #2097 )
...
https://crbug.com/oss-fuzz/20036
2020-01-12 14:21:29 +03:30
Ebrahim Byagowi
a32ecc15ae
Fix collect lookups logic of FeatureVariationRecord
...
As "Offset to a feature table substitution table, from beginning of the FeatureVariations table."
from https://docs.microsoft.com/en-us/typography/opentype/spec/chapter2 the record should
match its sanitize logic not the reverse way.
Fixes https://crbug.com/oss-fuzz/20021 and https://crbug.com/oss-fuzz/20022
2020-01-11 15:37:24 +03:30
Ebrahim Byagowi
1a4c658b43
Use REPLACEME tag
...
So we can use the version we like when we decide what it should be while the next release
and can review the API before the release one other time.
2020-01-11 01:30:05 +03:30
Qunxin Liu
0b39c48064
[subset] closure lookups for GSUB/GPOS
2020-01-10 13:11:06 -08:00
Ebrahim Byagowi
42f4f1ea50
[ot-glyph] Add tests for hb_ot_glyph_decompose
2020-01-11 00:33:31 +03:30
Ebrahim Byagowi
06a1fcb3b4
[ot-glyphs] fix the tests
2020-01-10 23:12:30 +03:30
Ebrahim Byagowi
084a8182fb
[ot-glyphs] Move CFF glyph decompose logic to their tables
...
Thus making path decompose zero alloc on CFF/CFF2
2020-01-10 22:56:43 +03:30
Ebrahim Byagowi
6118523502
[ot-glyph] move glyph decompose logic of glyf to itself
...
One less vector allocation yet isn't zero alloc yet
which needs more work.
2020-01-10 21:08:26 +03:30
Ebrahim Byagowi
017f606c83
[ot-glyph] rewrite the API
2020-01-10 20:44:15 +03:30
Ebrahim Byagowi
05443e55bc
[ot-glyph] Return empty path for empty faces
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
6e7602c104
[ot-glyph] Fix leaks
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
5b08596d60
[gvar] Don't apply anything when no coords is given
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
742aaa1363
[ot-glyf] Fix leak issue
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
fddf79fc37
[glyf] minor
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
0b559d750f
[ot-glyph] Improve API names
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
af08f388ab
[ot-glyph] Support CFF1's seac
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
04ac7fb1c9
[ot-glyph] Add cff2 support
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
5cc09c462b
[ot-glyph] Initial cff1 support
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
3dcba9f215
[ot-glyph] Redesign the API
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
b8b3ff1a02
[glyph] Don't copy, write directly into result
2020-01-10 14:25:07 +03:30
Ebrahim Byagowi
f883c31cce
Implement glyph outline path API
...
Got help from https://github.com/opentypejs/opentype.js/blob/4e0bb99/src/tables/glyf.js#L222
2020-01-10 14:25:06 +03:30
Michiharu Ariza
d2ab1ec65b
fixes oss-fuzz 19978: Null-dereference READ ( #2091 )
2020-01-10 07:54:16 +03:30
Ebrahim Byagowi
5e55a6d691
[subset/hvar] minor
...
not super excited about state of the code around, assuming was needed
so let's add this may unlikely check also.
2020-01-09 23:40:40 +03:30
Ebrahim Byagowi
257a197ae7
Fail serialize when map has incorrect value
...
fixes https://crbug.com/oss-fuzz/19956
am not super happy with the fix, guess we should do some check
before the memcpy anyway as @blueshade7 thinks also,
so let's have it or revert it when we have a better approach for the case.
2020-01-09 22:55:45 +03:30
Qunxin Liu
1db2c1d0da
fix for cmap4 and OS_2 subsetting: maximum character code allowed is 0xFFFF
2020-01-09 10:00:32 -08:00
Ebrahim Byagowi
7950beecfc
[subset] Fix null pointer dereference in hvar/vvar subset ( #2085 )
...
Rest of the code assumes there is at least one subtable, lets return here if not.
* https://crbug.com/oss-fuzz/19827
* https://crbug.com/oss-fuzz/19847
2020-01-06 21:25:00 +03:30
Ebrahim Byagowi
8ed27757b1
Remove _POSIX_C_SOURCE definition from the project
...
Added fpr suncc support but apparently is causing more issues
even on suncc so let's see if we can go without it.
Fixes #2084
2020-01-06 19:01:13 +03:30
Ebrahim Byagowi
e7d1aeb610
[hvar] minor, fix unlikely statement
2020-01-06 12:48:22 +03:30
Ebrahim Byagowi
57b1534198
[glyf] minor, fix unlikely statements
2020-01-06 12:46:50 +03:30
Ebrahim Byagowi
9e48c6e9ef
minor, use private API of hb_set_t where possible
2019-12-31 15:57:39 +03:30
Ebrahim Byagowi
ce114d6b27
minor, tweak spaces
2019-12-31 15:53:02 +03:30
Ebrahim Byagowi
33c3d63a0a
Merge pull request #1594 from harfbuzz/var-subset
...
Issue 1558: [subset] TrueType/CFF2 variable font
2019-12-31 13:52:50 +03:30
Khaled Hosny
68c1798a67
[coretext] Use kCTFontOpenTypeFeatureTag
...
Instead of trying to map OpenType features to AAT feature selectors
which only works for a small subset of OpenType features, use the
simpler kCTFontOpenTypeFeatureTag with OpenType feature tags directly.
With this change, features like cvXX can be enabled in coretext shaper,
while they were previously ignored due to missing mapping.
This seems to work even with AAT fonts that don’t have OpenType layout
tables, which suggests that CoreText is doing the mapping itself in this
case.
kCTFontOpenTypeFeatureTag seems to have been introduced in macOS 10.10
and iOS 8.0, though, so its use is conditional on version check for now.
Not sure how to check iOS version, so I left this out.
2019-12-22 06:27:48 -08:00
Marcel Fabian Krüger
b28c282585
Check to avoid overflows
2019-12-16 18:08:22 -08:00