Behdad Esfahbod
3b64122a7f
[buffer] Fix immutable case with end_ptr==nullptr
2020-10-09 22:27:55 -06:00
Simon Cozens
7c0bc0bb92
Serialize invalid buffer to !! (text) or [] (json)
...
There is no generic deserialize - you have to choose glyphs or unicode - so there is no way to deserialize this buffer.
2020-10-09 22:27:55 -06:00
Simon Cozens
5bb88c4f45
Oops debug print
2020-10-09 22:27:55 -06:00
Simon Cozens
f56eb402f0
Immutable buffer fix
2020-10-09 22:27:55 -06:00
Simon Cozens
150f391438
Prohibit mixed glyphs/unicode buffers in deserialization
2020-10-09 22:27:55 -06:00
Simon Cozens
6b1726b6ef
Typos
2020-10-09 22:27:55 -06:00
Simon Cozens
3d3c87e7e7
Put the flags back in and serialize clusters.
...
Note that now JSON glyph buffers and Unicode buffers look very similar, except for the g/u property difference.
2020-10-09 22:27:55 -06:00
Simon Cozens
432a05b2af
(Simple) tests for Unicode serialization/deserialization
2020-10-09 22:27:55 -06:00
Simon Cozens
c03a2001b2
Deserialization routines for Unicode buffers
2020-10-09 22:27:55 -06:00
Simon Cozens
c0716bb5dc
Move delimiter addition into hb-buffer-serialize
2020-10-09 22:27:55 -06:00
Simon Cozens
36ede56962
Fix docs
...
Note the delimiters stuff isn’t true yet, will be working on that
2020-10-09 22:27:55 -06:00
Simon Cozens
bb7b634cd0
Simplify JSON unicode serialization
...
It’s just an array of codepoints; no need to turn them into objects
2020-10-09 22:27:55 -06:00
Simon Cozens
57a528ab2c
Convert tabs to spaces
2020-10-09 22:27:55 -06:00
Simon Cozens
aff6a36266
Use auxbuffer for serialize_unicode_text
2020-10-09 22:27:55 -06:00
Simon Cozens
a0203a28bb
Use hb_buffer_serialize to trace in utils
2020-10-09 22:27:55 -06:00
Simon Cozens
58bcc1cedd
Serialize Unicode buffers
2020-10-09 22:27:55 -06:00
Garret Rieger
be33704c00
Add gpos 5 tests to meson build file.
2020-10-09 16:46:46 -07:00
David Corbett
c39ab82c90
Fix usage text of gen-use-table.py
2020-10-06 16:51:40 -04:00
Garret Rieger
aace09a3ad
[subset] Use glyphset gsub for layout variation indices collection.
2020-10-06 10:26:17 -07:00
Garret Rieger
1d9801e012
[subset] In AnchorMatrix::subset eliminate the use of dynamically allocated vector.
2020-10-05 14:43:29 -07:00
Garret Rieger
093909b2ff
[subset] Fix wrong offset base for subsetting LigatureArray.
...
Offsets from LigatureArray must be relative to the beginning of the LigatureArray table. For the serialization mechanism to use the correct beginning point the LigatureArray must be created using the push()/pop() mechanism. So convert LigatureArray subsetting to use serialize_subset() instead of a manually called serialize and subset.
2020-10-05 13:14:53 -07:00
Garret Rieger
147e93b910
[subset] Fixes to get GPOS 5 subsetting code compiling.
2020-10-01 16:45:57 -07:00
Qunxin Liu
3a0b05faf1
[subset] GPOS 5 MarkToLigature subsetting support
2020-10-01 15:59:16 -07:00
Garret Rieger
718bf5aab3
[subset] only keep features reachable from script in the final subset.
...
Matches fontTools behaviour.
2020-09-29 13:16:01 -07:00
Garret Rieger
e583505334
[subset] Use plan->glyphset_gsub instead of plan->glyphset for GSUB/GPOS
...
This matches fontTools behaviour. glyphset_gsub does not contain gids added from closing over composite glyphs in glyf, since these cannot particpate in GSUB/GPOS processing.
2020-09-29 11:16:15 -07:00
David Corbett
a99e8721bf
[use] Fix tests with MSVC
2020-09-29 09:54:33 -04:00
Garret Rieger
010accb3d5
[subset] Add additional test cases for the Amiri tests.
2020-09-28 17:39:09 -07:00
Garret Rieger
940e1c6f98
[subset] ChainContextFormat3 - don't subset glyph sequences.
...
The backtrack, input, and lookahead sequence must be matched in their entirety so these sequences should not be subset. If any of the coverage tables in a sequence subsets to empty then the whole subtable should be dropped since it's not possible for this lookup to be activated.
2020-09-28 17:22:01 -07:00
Garret Rieger
e31c2690f8
[subset] remove unnecessary returns.
2020-09-28 16:51:25 -07:00
Garret Rieger
3271a7cdaa
[subset] Remove redundant langys from Amiri test font.
...
FontTools removes these when subsetting but harfbuzz does not yet support redundant langsys removal. So this gets the Amiri tests passing for now.
2020-09-28 16:46:15 -07:00
Garret Rieger
ad241f9917
[subset] check that sub rules in ChainContextFormat 1 and 2 intersect the glyphs set before recursing during closure lookups.
2020-09-28 15:26:13 -07:00
Garret Rieger
9fad540245
[subset] check that sub rules in ContextFormat 1 and 2 intersect the glyphs set before recursing during closure lookups.
2020-09-28 13:24:25 -07:00
Koji Ishii
7e6070a47f
Set *coord to nullptr
2020-09-28 08:36:41 -06:00
Koji Ishii
4e0bddb7fe
get_baseline
2020-09-28 08:36:41 -06:00
Behdad Esfahbod
48fcb9094a
[docs] Remove misleading wording re OpenType
...
HarfBuzz has not *just* been implementing OpenType for a while.
At least since 2.0, where we added native AAT support in Oct 2018.
2020-09-27 16:53:32 -06:00
Khaled Hosny
5539d158b7
Merge pull request #1679 from n8willis/docs-gtkdoc-extern
...
[Docs] Add GTK-Doc comments for external APIs
2020-09-26 10:41:38 +02:00
Khaled Hosny
1a15bf1c53
Merge pull request #2695 from khaledhosny/docs-fix
...
Minor build docs improvement
2020-09-26 10:41:04 +02:00
Khaled Hosny
cc7b3a1abd
[Docs] Address review comments
2020-09-26 10:22:39 +02:00
n8willis
41b46a3cb2
Update hb-face.cc
2020-09-26 09:47:27 +02:00
n8willis
726e320ece
Update inline doc for hb_face_create: explain index
2020-09-26 09:47:27 +02:00
Nathan Willis
70331ca485
[Docs] Minor
...
update GTK-Doc comments in hb-ot-layout.
2020-09-26 09:47:13 +02:00
Nathan Willis
eb10ef46aa
[Docs] Add GTK-Doc comments for hb-ot-font and hb-ot-shape.
2020-09-26 09:46:15 +02:00
Nathan Willis
3e72febde0
[Docs] Add GTK-Doc comments for hb-face.
2020-09-26 09:46:15 +02:00
Nathan Willis
88cdea60e0
[Docs] Add GTK-Doc comments to hb-shape-plan.
2020-09-26 09:46:10 +02:00
Nathan Willis
5b43eb5a4c
[Docs] Add GTK-Dod comments to hb-unicode.
2020-09-26 09:42:22 +02:00
Khaled Hosny
fb0195ba83
[docs] Fix syntax and expand Windows section a tiny bit
2020-09-26 09:33:41 +02:00
Khaled Hosny
db2381c92d
[docs] Fix indentation of commands
...
DocBook outputs the extra spacing before the commands verbatim.
2020-09-26 09:30:25 +02:00
Garret Rieger
a5c0ec7516
[subset] For [Chain]ContextFormat3 make sure the sub table intersects the retained glyphset before recursing to its lookups.
...
Otherwise the lookup closure will potentially pull in lookups which cannot be accessed via the retained glyph set.
2020-09-25 14:57:20 -07:00
Garret Rieger
dc375559fd
[subset] shrink the serialize buffer when pruning empty offsets in ChainContextFormat2.
...
Currently the code reduces the array length, but does not trim back the space allocated in the serializer for those empty offsets.
2020-09-25 13:08:46 -07:00
Garret Rieger
90eb1a40eb
[subset] In ChainContextFormat3 don't skip subsetting if backtrack or lookahead are empty.
...
It's valid to have a ChainContextFormat3 with either an empty backtrack or lookahead. Only drop the lookup if the input sequence is empty.
2020-09-25 12:36:32 -07:00