Michiharu Ariza
6ee71166b0
add api tests for subset gvar & HVAR; bug fixes
2019-03-29 18:26:20 -07:00
Michiharu Ariza
6e066464f0
replaced tt var api test with a composite glyph
...
for better coverage
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
139e87b56c
fix tt var extents & add test
2019-03-29 18:25:35 -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
Garret Rieger
d0b6d539f6
Make hb_subset_input_glyph_set () actually do something.
2019-03-29 18:14:59 -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
Garret Rieger
4f37ab63de
Make hb_subset_input_glyph_set () actually do something.
2019-03-01 10:49:46 -08:00
Michiharu Ariza
e2856c2d85
retain FDSelect & FDArray with --retain-gids
...
so in sync with fonttools behavior
2019-02-07 15:32:32 -08:00
Michiharu Ariza
c12862657f
added desubroutinize & retain-gids full test cases with CFF fonts
...
and CFF retain-gids fixes
2019-02-01 14:50:01 -08:00
Michiharu Ariza
f2908b4d8f
Implement subset --regain-gids option with CFF1/2
...
along with api tests & expected results
2019-01-31 14:16:37 -08:00
Garret Rieger
ccc59dc612
[subset] Add unit test for glyf subsetting and retain gids.
2019-01-29 13:19:21 -08:00
Behdad Esfahbod
789396ed6b
Remove wrongly added files
2019-01-22 10:51:21 +01:00
Michiharu Ariza
28917e58f9
init interp_env_t::hintmask_size
...
fixes issue #1547
2019-01-18 09:43:51 -08:00
Behdad Esfahbod
686e6f2e40
Fix automake warnings
...
[skip ci]
2018-12-30 11:28:06 -05:00
fanc999
3ee4ea9456
Fix build on older Visual Studio versions ( #1499 )
...
* src/hb-cff-interp-dict-common.hh: Use ull for unsigned int64_t
The llu suffix does not work for older Visual Studio versions
(pre-2013), but ull works for all the compilers that we attempt to
support.
* test/api: Fix build on pre-C99 compilers
Ensure variables are declared at the top of the block.
* src/hb-dsalgs.hh: Add specialization for hb_is_signed<> for __int8
Pre-Visual Studio 2010 does not consider __int8 (which is typedef'ed to
int8_t) to be equivilant to signed char, so the compiler cannot find the
corresponding hb_is_signed<> specialization that is needed.
The interesting thing is unsigned __int8 is considered to be equivilant
to unsigned char, so as the other types (short, int, long) that we look
for here, so only the specialization for __int8 is added here.
This will fix builds on Visual Studio 2008 at least.
2018-12-19 22:26:54 -05:00
Chun-wei Fan
1e09add232
test/api: Fix building on pre-C99 compilers
...
Ensure variables are declared at the top of the block.
2018-12-12 01:32:01 +08:00
Ebrahim Byagowi
01f628cf55
[aat] Expose hb_aat_layout_has_tracking API
2018-12-03 22:27:26 +03:30
Behdad Esfahbod
967a204ee9
Minor
2018-12-01 19:28:17 -05:00
Michiharu Ariza
32d291ae89
Merge branch 'master' into cff-subset
2018-11-28 16:27:45 -08:00
Behdad Esfahbod
926f512f35
[aat.feat] Rework API and implementation
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1346
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
2cb235d021
[aat.feat] Fix enum namespace
2018-11-25 01:16:02 -05:00
Behdad Esfahbod
e20f81f4fa
[aat] Rename feat API a bit more
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
54f4c17f0a
[feat] Rename API uses of setting to selector
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
9c64b216ec
[feat] Apply renamings and add documentation
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
4009a05ca7
[feat] Address Behdad comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
19b6025534
[feat] Address @behdad comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
fbad794bd2
[feat] Add feature iteration API
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
7a0471aa35
[feat] Turn AAT feature id into enum
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
a157b3e4eb
[feat] Apply @behdad comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
3aff3f822f
[feat] Apply @drott and @jfkthame comments
2018-11-25 01:16:02 -05:00
Ebrahim Byagowi
b791bbbae4
[feat] Apply @jfkthame reviews
2018-11-25 01:16:01 -05:00
Ebrahim Byagowi
95abd53758
[feat] Expose public API
...
* hb_aat_get_feature_settings
2018-11-25 01:16:01 -05:00
David Corbett
018ba46e4d
Don't canonicalize '@' to '-' in language tags
...
Fixes #1406 .
2018-11-23 13:21:22 -05:00
Behdad Esfahbod
f48bb9a393
[var] Deprecated axis enumeration API and add new version
...
New version has axis flags.
New API:
+hb_ot_var_axis_info_t
+hb_ot_var_find_axis_info()
+hb_ot_var_get_axis_infos()
Deprecated API:
-HB_OT_VAR_NO_AXIS_INDEX
-hb_ot_var_axis_t
-hb_ot_var_find_axis()
-hb_ot_var_get_axes()
2018-11-20 20:46:14 -05:00
Michiharu Ariza
1ecbf4d3e3
Merge branch 'master' into cff-subset
2018-11-20 17:19:05 -08:00
Behdad Esfahbod
831ba74382
Fix Codacy "issues"
2018-11-20 01:16:08 -05:00
Michiharu Ariza
b67a7c731f
drop dotsection as hint along with test case
2018-11-16 12:28:24 -08:00
Michiharu Ariza
072c7aba92
use 2-byte offset instead of 4-byte for local subrs
...
more than enough since local subrs immediately follow its corresponding private dict, as the result 2-byte redunction for each font dict with local subrs
updated api test expected subset fonts accordingly
2018-11-15 15:41:46 -08:00
Michiharu Ariza
3787c07856
Implemented seac for extents & subset along with API tests
2018-11-14 13:38:03 -08:00
Michiharu Ariza
0dfa584cb4
changed Adobe company name
2018-11-12 08:47:07 -08:00
Michiharu Ariza
fb2a037f54
Merge branch 'master' into cff-subset
2018-11-10 16:23:11 -08:00
Ebrahim Byagowi
b986fead0a
Hook AAT's lcar to _get_ligature_carets
2018-11-08 23:06:26 +03:30
Michiharu Ariza
0996c0ff62
implented no-desubroutinize with CFF2 along with API test
...
replaced AdobeVFPrototype.abc.otf with a hinted (maually) & subroutinized copy
replaced expected results as well
2018-11-07 14:48:37 -08:00
Michiharu Ariza
43ee0e4d00
Merge branch 'master' into cff-subset
2018-11-06 09:57:17 -08:00
Khaled Hosny
5c3ccbc634
Another missing backlash
...
Did this ever work?
2018-11-06 18:10:56 +02:00
Khaled Hosny
d29602b962
Add missing backslash
2018-11-06 18:07:47 +02:00
Behdad Esfahbod
b062378ce6
[test] Minor
2018-11-06 10:20:36 -05:00
Ebrahim Byagowi
b6112e5ea4
[test] Fix -Weverything bot complain
2018-11-06 11:42:47 +03:30
Ebrahim Byagowi
a49df419f0
[test] Test hb_ot_name_{list_names,get_utf8} on test-ot-name
2018-11-06 11:26:30 +03:30
Behdad Esfahbod
6482fda519
[fuzzing] Fuzz glyph-id etc in test-ot-face
2018-11-05 15:03:18 -05:00
Michiharu Ariza
1682d1bbec
Merge branch 'master' into cff-subset
2018-11-04 13:25:41 -08:00
Behdad Esfahbod
bce437cf0b
[test] Call test-ot-face.c test from hb-shape-fuzzer
...
Should increase coverage...
2018-11-04 02:53:25 -05:00
Behdad Esfahbod
777c22425c
[test] More funcs in test-ot-face
2018-11-04 02:40:20 -05:00
Behdad Esfahbod
9779e602ed
[test] Add test for empty face
2018-11-03 20:50:56 -04:00
Ebrahim Byagowi
b8a78ce201
[BASE] Improvements ( #1347 )
2018-11-03 22:28:30 +03:30
Michiharu Ariza
34b06d994a
fixed FDSelect size calcluation
2018-11-02 16:40:20 -07:00
Michiharu Ariza
481fdfdc23
Merge branch 'cff-subset' of https://github.com/harfbuzz/harfbuzz into cff-subset
2018-11-02 15:28:09 -07:00
Michiharu Ariza
1bc710a8c9
added CFF1 desubr api test cases & bug fixes
2018-11-02 15:28:01 -07:00
Michiharu Ariza
e600e5440b
Merge branch 'master' into cff-subset
2018-11-01 16:13:56 -07:00
Ebrahim Byagowi
cad90be4ea
[test] minor
2018-11-01 13:39:06 +03:30
Behdad Esfahbod
a7aba99baa
[name] Rename hb_name_id_t to hb_ot_name_id_t
...
https://github.com/harfbuzz/harfbuzz/pull/1254
2018-10-30 14:04:09 -07:00
Behdad Esfahbod
56738429d6
[test] Fix warnings
2018-10-30 01:33:22 -07:00
Ebrahim Byagowi
7170e35096
Rename deprecated symbols list file name and clean it up ( #1328 )
2018-10-29 13:11:01 +03:30
Ebrahim Byagowi
c929ccfcea
[ot-color/png] Consider strike ppem on scaling
2018-10-28 22:40:40 -07:00
Ebrahim Byagowi
307d61867a
[ot-color] Make PNGHeader reading actually work
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
632e9af862
[ot-color] Implement PNGHeader and test it, it doesn't work however
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
3d4c1f6a41
[ot-color] Apply Behdad reviews
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
8ef0d2ef92
[ot-color] Apply Behdad comment
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
dbd419bede
[ot-color] Add public API for CBDT/sbix/SVG color Emojis
2018-10-28 18:33:10 -07:00
Ebrahim Byagowi
524e854c15
Merge pull request #1318 from ebraminio/png
...
Add a non-hooked _png _svg get emoji blob
2018-10-27 15:04:43 +03:30
Ebrahim Byagowi
8180c37df0
[ot-color] Remove _png and _svg public APIs
2018-10-27 14:54:08 +03:30
Ebrahim Byagowi
9435fb24da
[ot-color/png] Implement CBDT part
2018-10-27 13:47:11 +03:30
Ebrahim Byagowi
265ad408ca
[ot-color/png] Implement sbix part
2018-10-27 10:43:46 +03:30
Ebrahim Byagowi
143ffe65aa
[fuzz] Add a new testcase
2018-10-26 12:14:30 +03:30
Ebrahim Byagowi
30f18039b3
[svg] Rename _svg_create_blob to _glyph_reference_blob_svg
2018-10-26 09:34:34 +03:30
Ebrahim Byagowi
5cb1ce8681
[svg] Collapse SVGDocumentIndex into SVG
2018-10-26 09:31:01 +03:30
Ebrahim Byagowi
4ceabb8c21
[svg] Hide start_glyph and end_glyph from API
2018-10-26 09:16:44 +03:30
Ebrahim Byagowi
c7a4e3dfb5
[svg] Add public API
...
* hb_ot_color_has_svg
* hb_ot_color_glyph_svg_create_blob
2018-10-26 09:16:44 +03:30
Michiharu Ariza
be746009e9
dropped support of legacy CFF CharString ops
...
along with test & font
2018-10-25 13:40:40 -07:00
Michiharu Ariza
e1241636d6
Merge branch 'master' into cff-subset
2018-10-23 11:25:51 -07:00
Michiharu Ariza
ba055a8d53
fix build attempt ^3
2018-10-22 16:20:04 -07:00
Michiharu Ariza
b11032afae
fix build attempt ^2
2018-10-22 15:52:37 -07:00
Michiharu Ariza
3d3df5575c
fix build attempt
2018-10-22 15:23:39 -07:00
Behdad Esfahbod
7997144b5f
[color] Revamp palette API
2018-10-22 14:22:31 -07:00
Behdad Esfahbod
1de17bdb80
[colr] Add hb_ot_color_layer_t
...
We never return parallel arrays from functions. That's inconvenient
and hard to bind.
2018-10-22 14:21:23 -07:00
Behdad Esfahbod
3b3668acc8
[color] Rename / reorder a bit
...
Implement has_data() for realz.
2018-10-22 14:21:23 -07:00
Michiharu Ariza
570b77f7d2
Merge branch 'master' into cff-subset
2018-10-22 13:06:47 -07:00
Behdad Esfahbod
9085a72deb
[cpal] Touch up palette flags
2018-10-22 13:03:29 -07:00
Ebrahim Byagowi
d440c8d3fb
Add chromacheck Emoji test fonts and minor preparations ( #1294 )
2018-10-22 22:07:59 +03:30
Michiharu Ariza
857c58279e
Merge branch 'master' into cff-subset
2018-10-22 09:57:20 -07:00
Ebrahim Byagowi
44f79b4bf8
Remove _palette_entry_count as can be done with _palette_colors
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
6795dcfc08
[test] Test hb_ot_color_has_{colr,cpal}_data
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
b8ee3a0ec8
[CPAL] Add palette entry and enable palette flag API
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
d4261b4bb6
Add API test for hb_ot_color_get_color_layers
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
456978d408
Address COLR/CPAL reviews and revive cpal_v1 tests
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
e9d798dc12
[test] Use hb_test_open_font_file
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
e8a6f5b803
Add three macros for separating color channels
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
0e33467e52
Make ot-color tests pass
2018-10-22 10:17:31 +02:00
Khaled Hosny
d4e928b142
[color] Minimal API for COLR/CPAL
2018-10-22 10:17:31 +02:00
Ebrahim Byagowi
c110878cb6
[test] Unify font file opening across the tests
2018-10-21 11:27:05 +03:30
Ebrahim Byagowi
8931bc4a6b
[test] Fix -Wunused-parameter on test-font.c
2018-10-20 23:23:32 +03:30
Behdad Esfahbod
f11c557662
[test] Fix leak
2018-10-20 12:20:57 -07:00
Behdad Esfahbod
f70f994112
Minor
2018-10-19 20:00:36 -07:00
Behdad Esfahbod
4e09fb8f7a
Oops. Fix build
2018-10-19 19:59:41 -07:00
Behdad Esfahbod
9e288d29d8
[test-map] Cosmetic
2018-10-19 19:47:27 -07:00
Behdad Esfahbod
77d5c3df07
[font] Add failing test amongst font-func parallels infinite-looping
...
Reported by Nona while updating Android to HarfBuzz 2.0.0.
2018-10-19 19:01:01 -07:00
Ebrahim Byagowi
114f66dda6
Fix hb_map_is_empty logic
...
This needs reviewing
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
9df2fb1611
Add API tests for hb_map_t
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
8a5eba7110
[test] cosmetic, use g_assert_cmpint
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
c6eb5e852c
Don't report deprecated symbols as unused symbols
2018-10-19 20:23:36 +03:30
Ebrahim Byagowi
34f357c78a
Add test for hb_set_del
2018-10-19 20:23:36 +03:30
Michiharu Ariza
51fba41cc9
Merge branch 'master' into cff-subset
2018-10-18 13:08:42 -07:00
Michiharu Ariza
e555ed961e
added flex extents test
2018-10-18 13:04:41 -07:00
Behdad Esfahbod
535ca678bf
[test] Don't use newer glib API
2018-10-18 05:58:04 -07:00
Behdad Esfahbod
3341c7fbfb
[fuzzing] Move fuzzing fonts from api/ here
2018-10-17 15:04:35 -07:00
Michiharu Ariza
1f34388e8b
Merge branch 'master' into cff-subset
2018-10-17 09:34:48 -07:00
Ebrahim Byagowi
61510b63c1
[test] Minor cleanup in test-multithread and test-ot-name ( #1256 )
2018-10-16 14:17:21 +03:30
Michiharu Ariza
db0d83ddc7
Merge branch 'master' into cff-subset
2018-10-13 17:25:38 -07:00
Michiharu Ariza
9228db06f4
added CFF1 Expert Encoding subset test & bug fixes
2018-10-13 17:25:09 -07:00
Behdad Esfahbod
c0a6814b49
Touch up new API
...
New API:
+hb_ot_layout_feature_get_name_ids()
+hb_ot_layout_feature_get_characters()
2018-10-12 16:06:39 -04:00
Ebrahim Byagowi
dc49bd8d81
Add two APIs for getting stylistic set labels
...
* hb_ot_layout_feature_get_characters
* hb_ot_layout_feature_get_name_ids
However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
2018-10-12 16:06:39 -04:00
Michiharu Ariza
fc0153a1d4
Merge branch 'master' into cff-subset
2018-10-12 12:16:50 -07:00
David Corbett
28d091d045
Parse Indic3 tags
2018-10-11 17:44:13 -04:00
Behdad Esfahbod
1d995a340b
Minor
2018-10-11 15:42:54 -04:00
Behdad Esfahbod
57b05210b1
[test] Fix use of deprecated symbols
2018-10-11 15:03:21 -04:00
Michiharu Ariza
ca37172ee3
fixed leak
2018-10-11 11:55:55 -07:00
David Corbett
7f1fbfe2e3
Add hb_ot_tags_to_script_and_language
2018-10-11 13:54:28 -04:00
David Corbett
7c7cb2a989
Match extlang subtags
...
If the second subtag of a BCP 47 tag is three letters long, it denotes
an extended language. The tag converter ignores the language subtag and
uses the extended language instead.
There are some grandfathered exceptions, which are handled earlier.
2018-10-11 13:54:28 -04:00
David Corbett
2f1f961cc0
Autogenerate the BCP 47 to OpenType mappings
...
The new script, gen-tag-table.py, generates `ot_languages` automatically
from the [OpenType language system tag registry][ot] and the [IANA
Language Subtag Registry][bcp47] with some manual modifications. If an
OpenType tag maps to a BCP 47 macrolanguage, all the macrolanguage's
individual languages are mapped to the same OpenType tag, except for
individual languages with their own OpenType mappings. Deprecated
BCP 47 tags are canonicalized.
[ot]: https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags
[bcp47]: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
Some OpenType tags correspond to multiple ISO 639 codes. The mapping
from ISO 639 codes lists OpenType tags in priority order, such that more
specific or more likely tags appear first.
Some OpenType tags have no corresponding ISO 639 code in the registry so
their mappings use BCP 47 subtags besides the language. For example, any
BCP 47 tag with a fonipa variant subtag is mapped to 'IPPH', and 'IPPH'
is mapped back to und-fonipa.
Other OpenType tags have no corresponding ISO 639 code because it is not
clear what they are for. HarfBuzz just ignores these tags.
One such ignored tag is 'ZHP ' (Chinese Phonetic). It probably means
zh-Latn. However, it is used in Microsoft JhengHei and Microsoft YaHei
with the script tag 'hani', implying that it is not a romanization
scheme after all. It would be simple enough to add this mapping to
gen-tag-table.py once a definitive mapping is determined.
The manual modifications are mainly either obvious mappings that the
OpenType registry omits or mappings for compatibility with previous
versions of HarfBuzz. Some of the old mappings were discarded, though,
for homophonous language names. For example, OpenType maps 'KUI ' to
kxu; previous versions of HarfBuzz also mapped it to kvd, because kvd
and kxu both happen to be called "Kui".
gen-tag-table.py also generates a function to convert multi-subtag tags
like el-polyton and zh-HK to OpenType tags, replacing `ot_languages_zh`
and the hard-coded list of special cases in `hb_ot_tags_from_language`.
It also generates a function to convert OpenType tags to BCP 47,
replacing the hard-coded list of special cases in
`hb_ot_tag_to_language`.
2018-10-11 13:54:28 -04:00
David Corbett
91067716f5
Refactor the selection of script and language tags
...
The old hb-ot-tag.cc functions, `hb_ot_tags_from_script` and
`hb_ot_tag_from_language`, are now wrappers around a new function:
`hb_ot_tags`. It converts a script and a language to arrays of script
tags and language tags. This will make it easier to add new script tags
to scripts, like 'dev3'. It also allows for language fallback chains;
nothing produces more than one language yet though.
Where the old functions return the default tags 'DFLT' and 'dflt',
`hb_ot_tags` returns an empty array. The caller is responsible for
using the default tag in that case.
The new function also adds a new private use subtag syntax for script
overrides: "x-hbscabcd" requests a script tag of 'abcd'.
The old hb-ot-layout.cc functions,`hb_ot_layout_table_choose_script` and
`hb_ot_layout_script_find_language` are now wrappers around the new
functions `hb_ot_layout_table_select_script` and
`hb_ot_layout_script_select_language`. They are essentially the same as
the old ones plus a tag count parameter.
Closes #495 .
2018-10-11 13:54:28 -04:00
Michiharu Ariza
a6b6faf2b8
Replaced CFF1 J subset font for better coverage
...
in api test-ot-extents-cff
2018-10-11 10:53:44 -07:00
Michiharu Ariza
b5aa5dbb11
Merge branch 'master' into cff-subset
2018-10-10 18:36:35 -07:00
Michiharu Ariza
af61c3b10f
added vsindex test & fixed process_vsindex
2018-10-10 18:35:12 -07:00
Behdad Esfahbod
1e8fdd285f
Remove HAVE_OT
...
We never tested compiling without it. Just kill it. We always build
our own shaper.
2018-10-10 16:32:35 -04:00
Michiharu Ariza
c06a5dff0b
Merge branch 'master' into cff-subset
2018-10-09 22:00:10 -07:00
Michiharu Ariza
83c5298f33
added cff1_legacyops.otf as test-ot-extents-cff test case
...
fixed roll operator bugs uncovered by the test
2018-10-09 21:59:36 -07:00
Michiharu Ariza
588518ea51
fixed test-ot-extents-cff failure on some platforms
2018-10-09 14:48:04 -07:00
Behdad Esfahbod
be2f148da4
[ft] Use mutex to lock access to FT_Face
...
Makes our FT-backed hb_font_t safe to use from multiple threads. Still,
the underlying FT_Face should NOT be used from other threads by client
or other libraries.
Maybe I add a lock()/unlock() public API ala PangoFT2 and cairo-ft.
Maybe not.
2018-10-09 16:24:50 -04:00
Behdad Esfahbod
9f79365c3b
Fix warning
...
How come this one is not generated by clang everything bot?!
../../../test/api/test-multithread.c:37:26: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
static char *font_path = "fonts/Inconsolata-Regular.abc.ttf";
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../test/api/test-multithread.c:38:21: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
2018-10-09 14:36:25 -04:00
Michiharu Ariza
f5f505b512
Merge branch 'master' into cff-subset
2018-10-09 10:10:35 -07:00
Chun-wei Fan
4035158de4
test/api/test-subset-*.c: Fix build on pre-C99
...
Ensure that we have the variables at the beginning of the block. These
are the only fixes that we need for building HarfBuzz on older
compilers.
2018-10-09 09:43:36 -04:00
Behdad Esfahbod
eb2be97f86
Port test off deprecated API
2018-10-09 07:48:52 -04:00
Behdad Esfahbod
a353c1768d
Remove test for deprecated hb_set_invert()
2018-10-09 01:05:28 -04:00
Michiharu Ariza
8b349040e9
Merge branch 'master' into cff-subset
2018-10-08 21:46:23 -07:00
Behdad Esfahbod
fc50916589
Remove deprecated decompose_compatibility stuff
2018-10-09 00:39:42 -04:00
Behdad Esfahbod
eed737f672
Remove deprecated eastasian_width
2018-10-09 00:37:10 -04:00
Michiharu Ariza
a90fd8b9fe
Merge branch 'master' into cff-subset
2018-10-08 15:07:58 -07:00
Michiharu Ariza
b51418f596
added CFF2 get_extents
...
added source hb-ot-cff2-table.cc
augmented VariationData to return scalars
misc bug fixes, renaming, cleanup
2018-10-08 15:05:36 -07:00
Behdad Esfahbod
f92330b5e0
Minor
2018-10-07 17:51:50 +02:00
Michiharu Ariza
6238edbd8b
added CFF glyph extents API test
2018-10-04 13:59:36 -07:00
Michiharu Ariza
1aeaee9dfc
fixed cff2 subset test data
2018-10-03 17:44:45 -07:00
Michiharu Ariza
8be5a9186b
Merge branch 'master' into cff-subset
2018-10-03 17:06:18 -07:00
Ebrahim Byagowi
4146c00caa
[test] Use an in-repo font for test-multithread ( #1218 )
...
As Khaled's suggestion, hard-coded font paths was only for my own testing.
2018-10-03 21:26:58 +03:30
lantw44
7a1ab0464d
Fix test-multithread build on FreeBSD ( #1217 )
...
Add the default font path used by FreeBSD ports.
2018-10-03 18:52:43 +03:30
Michiharu Ariza
9cdd70b344
Merge branch 'master' into cff-subset
2018-10-02 13:43:21 -07:00
Ebrahim Byagowi
bf5088b3dc
Minor, fix -Weverthing bot warnings ( #1210 )
2018-10-02 11:07:06 +03:30
Michiharu Ariza
3dd43f0234
Merge branch 'master' into cff-subset
2018-10-01 10:22:06 -07:00
Behdad Esfahbod
dcfcb950b8
[test] Fix -Wunused-parameter warnings
2018-09-30 18:14:50 +02:00
Behdad Esfahbod
be0b2ed316
More warning fixes
2018-09-30 18:02:04 +02:00
Ebrahim Byagowi
cefdef0247
Minor on test-multithread, align the actual and expected results
2018-09-29 10:19:54 +03:30
Behdad Esfahbod
c763b94401
[test-multithread] Disable FreeType funcs
2018-09-28 20:53:23 -04:00
Ebrahim Byagowi
7b68edf2ab
[tests] Don't try to get glyph names on failures
...
As it may cause a race unrelated to the issue actually happened
2018-09-28 20:53:48 +03:30
Behdad Esfahbod
33231a855f
Fix pthread fail for real
...
Using a hack...
2018-09-28 11:06:49 -04:00
Behdad Esfahbod
8cb8209c91
Fix bot fails
2018-09-28 10:55:28 -04:00
Behdad Esfahbod
4cd342baea
Fix ubsan bot
2018-09-28 09:47:45 -04:00
Behdad Esfahbod
7e6e094abd
[test-multithread] Install ot funcs before filling ref buffer
2018-09-28 08:45:57 -04:00
Behdad Esfahbod
21fbee831e
[test-multithread] Take num-threads and num-iters from command-line
2018-09-28 08:43:37 -04:00
Behdad Esfahbod
598be3bb38
Minor
2018-09-28 08:43:15 -04:00
Ebrahim Byagowi
c09bf3d505
test-multithread, check the results on every iteration ( #1194 )
2018-09-28 16:13:01 +03:30
Ebrahim Byagowi
dbc3070a15
Make test-multithread pass the tsan bot test ( #1193 )
2018-09-28 16:01:15 +03:30
Michiharu Ariza
dac70f252a
Added CFF1 J font subset to api test
...
Also fixed FDSelect3_4::get_fd
Fixed test_subset_cff1_strip_hints (wrong font names!)
2018-09-26 16:30:26 -07:00
Behdad Esfahbod
d183b33c1d
Rename test
2018-09-26 16:40:59 -04:00
Ebrahim Byagowi
39da1914b4
Test freetype funcs on test-multithread ( #1187 )
2018-09-26 23:32:45 +03:30
Ebrahim Byagowi
e88009a93f
Minor, remove the no longer needed comment on test-multithread
2018-09-26 22:53:02 +03:30
Behdad Esfahbod
34d5a25953
Fix test-multithread and increase num_threads to 30
...
What were you thinking? ;)
2018-09-26 15:02:21 -04:00
Ebrahim Byagowi
8bb73dad7f
Add a multithreaded test ( #1184 )
2018-09-26 20:50:51 +03:30
Michiharu Ariza
258b456566
Added CFF1 & CFF2 api tests
2018-09-24 16:50:47 -07:00
Behdad Esfahbod
d07f3111b4
Link API test programs with C++ linker
...
Needed to make ubsan work.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1174
2018-09-24 13:01:35 -04:00
Ebrahim Byagowi
403019482b
Fix test-subset-* leak issues
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 17:24:03 +03:30
Ebrahim Byagowi
f6ebe1f4dc
Fix test-ot-math leak issue
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 17:05:52 +03:30
Ebrahim Byagowi
669ac81ac5
Fix test-set leak issue
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 16:49:23 +03:30
Ebrahim Byagowi
ef9307fd22
Fix test-font leak issue
...
See also https://github.com/harfbuzz/harfbuzz/pull/1169
2018-09-22 16:45:31 +03:30
Garret Rieger
21bf147054
[subset] Fix hdmx subsetted size calculation.
2018-09-05 19:31:55 -07:00
Behdad Esfahbod
93fe0faaee
[subset] Clean up hb_subset_input_t API
2018-08-29 18:24:03 -07:00
Behdad Esfahbod
f39166f0c0
[subset] Remove unused hb_subset_profile_t
...
We might reintroduce it later, but for now remove, as it was unused.
Some things that should have been in this object (drop_hints, etc)
are already in hb_subset_input_t. So, for now, keep everything there.
2018-08-29 18:09:55 -07:00
Behdad Esfahbod
dae39c58fb
[face] Introduce character-map API
...
New API:
+hb_face_collect_unicodes
+hb_face_collect_variation_selectors
+hb_face_collect_variation_unicodes
2018-08-25 22:44:39 -07:00
Behdad Esfahbod
c77ae40852
Rename hb-*private.hh to hb-*.hh
...
Sorry for the noise, downstream custom builders. Please adjust.
2018-08-25 22:36:36 -07:00
Behdad Esfahbod
d60c465627
Rename get_all_codepoints() to collect_unicodes()
2018-08-25 08:48:42 -07:00
Garret Rieger
2bdd903c69
[subset] limit the max codepoint value to the unicode limit.
...
When collecting all codepoints in the cmap avoid using large amount of memory for fonts that declare coverage over all 32 bit integers.
2018-07-31 18:40:38 -07:00
Garret Rieger
7278d9df30
[subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt.
...
Add the fuzzer test case for feature collection timeout.
2018-07-31 18:26:09 -07:00
Garret Rieger
5edf454aa6
[subset] During lookup collection remember the features we've already processed.
2018-07-27 17:29:00 -07:00
Behdad Esfahbod
019d18e9ae
Minor
2018-07-17 11:00:24 +02:00
Behdad Esfahbod
58cb4d9f73
Minor
2018-07-11 16:44:21 +02:00
Garret Rieger
4f8753464a
[subset] Add fuzzer test case that caused a timeout to the corpus.
2018-06-25 18:37:59 -06:00
Jonathan Kew
a95cde15af
[hb-set] Additional testcase for hb-set-intersect.
2018-06-12 01:16:42 -04:00
Garret Rieger
fc246ec985
[subset] Move variable declaration out of loop.
2018-06-08 12:09:34 -06:00
Garret Rieger
197cb18b22
[subset] Add test cases for gsub closure in subsetting.
2018-06-08 12:09:34 -06:00
Behdad Esfahbod
11f1f4131b
[set] Add is_subset
...
New API:
+hb_set_is_subset()
2018-06-06 16:47:13 -07:00
Behdad Esfahbod
0644d92ef3
Merge pull request #1018 from googlefonts/cmap4
...
[subset] Add cmap format 4 subsetting.
2018-05-08 15:21:09 -07:00
Behdad Esfahbod
f673cfbd64
Support scripts that are written both LTR and RTL
...
Right now only Old Italic is marked as such.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1000
2018-05-07 14:12:17 -07:00
Garret Rieger
a8e7f9b958
[subset] Get cmap tests passing again.
2018-05-04 11:20:03 -07:00
Garret Rieger
c817992f49
[subset] Write out a format 4, plat 0 encoding record to match fontTools.
2018-05-04 11:20:03 -07:00
Ebrahim Byagowi
ce17340b23
Add hb_blob_create_from_file, a new API ( #926 )
2018-04-20 07:59:06 +02:00
Garret Rieger
4fa1c6705a
[subset] Check instruction offsets in glyph to ensure they are in bounds.
2018-04-19 17:19:38 -06:00
Garret Rieger
e29c8e33f3
[subset] Add a test for previous cmap breakage.
2018-04-19 12:51:51 -06:00
Garret Rieger
5dadbb0fa0
[subset] Add implementation of cmap format 12 codepoint listing. ( #988 )
2018-04-17 15:00:23 +02:00
Garret Rieger
21a181af2b
[subset] sketch out support for a call that lists all codepoints present in a font. Implement support for it in format 4 cmap sub table.
2018-04-16 16:29:26 -06:00
Ebrahim Byagowi
f24b0b9728
Update the links and revive the dead ones
2018-04-12 13:44:32 +04:30
Garret Rieger
1c3372786c
[subset] fix infinite loop bug in looping through tables for subsetting.
2018-03-27 13:47:42 -06:00
Garret Rieger
07851aae9d
[subset] Couple of fixes for fuzzer discovered issues. ( #924 )
...
* [subset] sanitize individual DeviceRecord's as part of hdmx sanitization.
* [subset] Fix out of bounds read with non-two byte align glyphs.
* [subset] Just use size_device_record >= DeviceRecord::min_size.
* [subset] Add TODO.
* [subset] Re-order checks in hdmx sanitize.
2018-03-26 19:56:56 -07:00
Behdad Esfahbod
44b6c77c64
Try fixing linking again
...
Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In 1.7.6
we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to
set these unconditionally.
Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope)
2018-03-26 14:26:45 -07:00
Garret Rieger
1396614040
[subset] don't use pointers returned from push after array has resized in hb-subset-glyf.cc
2018-03-20 19:47:36 -06:00
Garret Rieger
3531efdb4c
[subset] Fixed out of bounds read when subsetting hdmx.
2018-03-20 19:47:36 -06:00
Garret Rieger
e597436b99
[subset] Disable glyf accelerator_t methods if it didn't successfully init.
2018-03-20 19:47:36 -06:00
Garret Rieger
7251181b56
[subset] Fix infinite loop in there are more then 32 tables.
2018-03-20 19:47:36 -06:00
Garret Rieger
1a94804d35
[subset] Add a fix for segfault in hmtx/vmtx subsetting code.
2018-03-20 19:47:36 -06:00
Garret Rieger
31281d6a17
[subset] Add a test demonstrating a seg fault while subsetting hmtx.
2018-03-20 19:47:36 -06:00
Behdad Esfahbod
e6e2ee2b92
Remove extra stdbool includes
...
They are handled in our common header.
2018-03-15 09:05:22 -07:00
Chun-wei Fan
831d4a2dab
test/api: Fix building subset tests
...
Include stdbool.h in hb-setset-test.h instead of in the individual
sources, if it is found; otherwise use a simplistic fallback for it if
it is not found.
Also declare variables at the top of the block, to build on pre-C99
compiliers.
2018-03-13 20:17:58 +08:00
Chun-wei Fan
eda6a5ea80
CMake: Fix running tests on Windows
...
For the API tests, output the test programs at $(TOP_BUILDDIR) so that
the freshly-built DLLs will be available for the test programs. For
those that are run through the Python wrapper scripts, use
${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python
interpreter is not in the PATH.
2018-03-13 20:17:58 +08:00
Garret Rieger
ec47cd95ba
[subset] Unit test to check that post subsetting drops glyph names.
2018-03-07 11:36:54 -08:00
Garret Rieger
362f282406
[subset] fix author.
2018-03-07 11:08:55 -08:00
Garret Rieger
89465cb1c7
[subset] s/hmetrics/vmetrics.
2018-03-07 10:29:15 -08:00
Garret Rieger
91867cda6a
[subset] cleanup.
2018-03-07 10:17:06 -08:00
Garret Rieger
d9263f0230
[subset] add unit tests for vmtx subsetting.
2018-03-07 10:08:47 -08:00
Behdad Esfahbod
70ad69f244
[test] Fix build with older glib
2018-03-07 16:11:44 +01:00
Garret Rieger
9a6f9b4d42
[set] add a test demonstrating a bug in hb_set_union.
2018-03-07 09:25:53 +01:00
rsheeter
588a4e0f9b
Merge pull request #845 from googlefonts/drophints
...
[subset] drop hints from composites
2018-02-28 13:52:29 -08:00
Ebrahim Byagowi
772274625e
Merge pull request #841 from ebraminio/color
...
Support CPAL table
2018-02-28 12:05:49 +03:30
Ebrahim Byagowi
0eec33154a
[cmake] cleanup ( #846 )
2018-02-28 11:53:39 +03:30
Ebrahim Byagowi
5b9c234043
[CPAL] Refactor and address the reviews
2018-02-28 11:25:29 +03:30
Rod Sheeter
ffcb5cbf71
[subset] update the test file for composite, fix an offset calculation
2018-02-27 20:17:04 -08:00
Rod Sheeter
c8b230e437
Merge branch 'expand-tests' of github.com:googlefonts/harfbuzz into drophints
2018-02-27 17:25:32 -08:00
Rod Sheeter
b3790a65a1
[subset] add a (failing for now) test for composite glyf hint dropping
2018-02-27 17:23:30 -08:00
Garret Rieger
f14d1b64c2
[subset] when dropping hints, clear hint related fields in maxp.
2018-02-27 13:49:43 -08:00
Ebrahim Byagowi
101850f9e6
Merge with master
2018-02-27 20:17:25 +03:30
rsheeter
4a1d51ef15
Merge pull request #818 from googlefonts/drophints
...
[subset] Drop hints
2018-02-26 20:23:41 -08:00
Ebrahim Byagowi
cd28eb9f5d
Add -Werror=unused-function check to Travis ( #832 )
2018-02-24 14:17:54 +03:30
Rod Sheeter
5267520e07
[subset] update hdmx test to create input explicitly
2018-02-23 18:36:22 -08:00
Rod Sheeter
d78393b554
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
2018-02-23 17:53:26 -08:00
Rod Sheeter
0ac8c0c1e6
[subset] zero glyf and loca memory before writing so pads are clean. Test just the part of maxp we care about
2018-02-23 17:43:00 -08:00
Rod Sheeter
9bd6d25254
[subset] clone trim logic from fonttools glyf handling
2018-02-23 13:05:58 -08:00
Garret Rieger
15fc45bfed
[subset] Add a unit test for hdmx subsetting.
2018-02-22 15:42:39 -08:00
Rod Sheeter
4f07437dfe
[subset] sketch out dropping in-glyf instructions. Sometimes yields differnet size glyphs than fonttools, possibly due to padding not being corrected
2018-02-21 22:23:05 -08:00
Behdad Esfahbod
0bff6991de
Ugh. Really fix build.
2018-02-19 11:51:25 -08:00
Behdad Esfahbod
279c70a5b3
Merge pull request #796 from ebraminio/dev-run
...
Add a continuous builder using fswatch
2018-02-18 14:04:33 -08:00
Ebrahim Byagowi
89b82814b6
Add a continuous builder using fswatch
2018-02-18 23:56:00 +03:30
Behdad Esfahbod
0bd2d76bdd
[test] Fix a couple of coverity_scan issues
2018-02-18 11:55:46 -08:00
Behdad Esfahbod
fe8f40a418
Merge branch 'master' into bitops
2018-02-18 10:45:33 -08:00
Behdad Esfahbod
04dedec96b
[test] Remove unused var
2018-02-16 18:32:57 -08:00
Behdad Esfahbod
6d56db8983
[test/api] Distribute all fonts
2018-02-16 18:29:29 -08:00
Garret Rieger
df9e22656d
[subset] add a glyf subsetting test for a font with composite glyphs.
2018-02-16 18:29:29 -08:00
Garret Rieger
c36d015b0e
[subset] missing return.
2018-02-16 18:29:29 -08:00
Behdad Esfahbod
7b5ce74047
Fix warnings
2018-02-16 15:38:02 -08:00
Rod Sheeter
c7a633f957
[subset] try to get more info from bot where g_assert_cmpmem fails
2018-02-16 11:11:20 -08:00
Rod Sheeter
0bb2d7ac12
[subset] fix int type for blob length in hb-subset-test.h
2018-02-16 06:26:02 -08:00
Rod Sheeter
6122ad2442
[subset] add files to EXTRA_DIST
2018-02-15 11:40:28 -08:00
Rod Sheeter
27012526f9
[subset] whitespace
2018-02-14 19:01:00 -08:00
Garret Rieger
e0ffebead6
[subset] In hb-subset-test use hb_set_union instead of manually copying set.
2018-02-14 16:01:08 -08:00
Rod Sheeter
fa87770372
[subset] First pass at hmtx
2018-02-14 14:53:10 -08:00
Garret Rieger
e5edcc81bf
[subset] Fix codepoint iteration in hb-subset-test.
2018-02-14 11:17:53 -08:00
Garret Rieger
8b1dbbef1a
Fix compile error in hb-subset-test.
2018-02-14 11:05:19 -08:00
Behdad Esfahbod
f53627e191
[test] Fix warning
2018-02-14 10:59:22 -08:00
Garret Rieger
d008b62887
Merge remote-tracking branch 'upstream/master' into fixed
2018-02-14 10:38:52 -08:00
Garret Rieger
df6d780355
[subset] Extract maxp subsetting into hb-ot-maxp-table.
2018-02-14 10:19:50 -08:00
Garret Rieger
865b6971ad
[subset] Add a test for OS/2 fixes during subsetting.
2018-02-14 10:19:50 -08:00
Behdad Esfahbod
694eaf6367
[set] Add backwards iterator
...
New API:
- hb_set_previous()
- hb_set_previous_range()
2018-02-14 01:00:10 -08:00
Behdad Esfahbod
9046e92442
[subset] Rename constructor to hb_subset_input_create_or_fail()
...
To signify that unlike rest of library, returns nullptr on failure.
2018-02-13 22:07:12 -08:00
Behdad Esfahbod
d5b33f2fe1
[subset] hb_subset_input_t changes
2018-02-13 13:55:10 -08:00
Garret Rieger
8cf8b78faa
[subset] whitespace
2018-02-12 16:30:21 -08:00
Rod Sheeter
89ee20f1a3
basic wiring for a (failing) cmap test
2018-02-12 16:01:15 -08:00
Garret Rieger
1639bdd331
[subset] Remove test-subset, testing is planned to be done at the table level here with test/subset covering the complete subsetting operation.
2018-02-12 13:40:42 -08:00
Garret Rieger
4cdd1b16c9
[subset] added todo in test-subset-glyf.
2018-02-12 13:36:28 -08:00
Garret Rieger
1714feef4f
[subset] re-enable test-subset-glyf. Refactor to use common functions in hb-subset-test.h
2018-02-12 13:35:17 -08:00
Garret Rieger
d8d8bd8405
[subset] Add some helper functions for writing tests around subsetting.
2018-02-12 13:34:08 -08:00
Behdad Esfahbod
d33ba16361
Fix more warnings
2018-02-11 18:26:41 -08:00
Behdad Esfahbod
6c1848b1e3
Misc warning fixes
2018-02-10 15:52:35 -06:00
Behdad Esfahbod
4c5bdb4b39
[test] Disable test-subset-glyf for now
2018-02-10 15:40:54 -06:00
Behdad Esfahbod
43314ff4c0
More fixes
...
test-subset-glyf still failing. No idea why :(
2018-02-10 15:40:03 -06:00
Behdad Esfahbod
9682ef135f
Minor fixups
2018-02-08 17:35:57 -06:00
Garret Rieger
0f3c756cbf
Add CMake config for building a separate harfbuzz-subset.
2018-02-08 17:31:11 -06:00
Garret Rieger
f2ceb5ee4d
Comment out failing assert in test-subset-glyf for now. Should be re-enabled once hb_subset is writing out a new face.
2018-02-08 17:31:11 -06:00
Garret Rieger
89dbebd4ad
Add a basic test for glyf subsetting.
2018-02-08 17:31:11 -06:00
Behdad Esfahbod
c479a59988
[subset] Assemble font
2018-02-07 21:26:04 -06:00
Behdad Esfahbod
f70100417c
[test] Minor
2018-02-07 13:58:23 -05:00
Behdad Esfahbod
af02812fc5
[subset] Change hb_subset API to remove hb_subset_face_t
2018-02-07 13:07:46 -05:00
Garret Rieger
7481f0ce21
Add codepoints to subset input.
2018-02-07 12:41:21 -05:00
Ebrahim Byagowi
8cb8bfd5b5
[test] Fix test-subset on old distros ( #758 )
...
https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert-cmpmem
2018-02-06 20:40:42 +03:30
Behdad Esfahbod
b7b7f0ac59
[test] Minor
2018-02-05 19:40:31 -05:00
Garret Rieger
5f6eb1256f
Add libharfbuzz-subset.la to linking when building api tests.
2018-02-05 10:23:38 -08:00
Garret Rieger
76b84c36b9
Whitespace
2018-02-04 12:57:34 -08:00
Garret Rieger
a2965f2ea5
Add a basic implementation of hb-subset to enable compilation of test-subset.
2018-02-04 12:57:33 -08:00
Garret Rieger
b59c08eb04
Add the beginning of a unit test for hb-subset
2018-02-04 12:57:33 -08:00
Ebrahim Byagowi
e849b8a85b
[cmake] Always put test/api/CMakeLists.txt on distributions
2018-01-19 16:12:24 +03:30
Ebrahim Byagowi
2dbdeb1421
[cmake] Run fuzzing and shaping tests ( #666 )
2017-12-29 23:13:29 +03:30
Ebrahim Byagowi
50163976d2
[cmake] Enable cmake tests on distribution and test it ( #664 )
2017-12-25 01:55:48 +03:30
Khaled Hosny
c860955148
Add API tests to cmake build
2017-12-06 15:25:10 +02:00
Khaled Hosny
f19126dd35
We are already inside “if HAVE_GLIB” check
2017-12-06 15:25:10 +02:00
Behdad Esfahbod
20b4672754
[set] Fix recent changes
...
Ouch!
Add tests.
2017-12-02 15:15:50 -08:00