David Corbett
dec52006d9
Map BCP 47 tags to all macrolanguages
...
The general rule is that if a BCP 47 macrolanguage maps to an OpenType
language system tag, all its individual languages map to it too.
Previously, a tag like "prs" (Dari) would not map to the language system
tag ('FAR ') of its macrolanguage ("fa") because "prs" already has its
own language system tag ('DRI '). That exception has been removed: now
"prs" maps to 'DRI ' and falls back to 'FAR '.
2020-10-11 11:38:40 -07:00
David Corbett
1d53268dfe
Fix two-way mapping of "man" and 'MNK '
2020-10-11 11:38:40 -07:00
David Corbett
ab38cf6746
Map hy-arevmda to 'HYE ' instead of HYE0
2020-10-11 11:38:40 -07:00
David Corbett
916c5a9007
Consistently emit BCP 47 subtag scope suffixes
2020-10-11 11:38:40 -07:00
Behdad Esfahbod
1c05f6789b
[buffer] Increase work limits
...
Our previous limits of 64 per input character was already hit
by David Corbett's under-development Duployan font.
Increase work limits by factor of 16, and number of glyphs by factor of 2.
Fixes https://github.com/harfbuzz/harfbuzz/issues/2707
2020-10-11 12:28:25 -06:00
Behdad Esfahbod
b37edebfcb
[buffer/deserialize] Do not clear() buffer upon content type mismatch
...
We return false. I don't see reason to clear buffer.
2020-10-09 22:27:56 -06:00
Behdad Esfahbod
c396e1600f
[buffer/deserialize] Accept arbitrary glyph names
...
Accepts escapes. Added TODO items for matching escaping in serialize().
2020-10-09 22:27:56 -06:00
Behdad Esfahbod
4a4eebcf86
[buffer/serialize] Minor renames in Ragel machines
...
As per my previous review on:
https://github.com/harfbuzz/harfbuzz/pull/2687
2020-10-09 22:27:56 -06:00
Behdad Esfahbod
78fb6a11af
Whitespace
2020-10-09 22:27:55 -06:00
Behdad Esfahbod
140552cec9
[buffer/serialize] Only serialize empty buffers of CONTENT_TYPE_INVALID
2020-10-09 22:27:55 -06:00
Behdad Esfahbod
8f5d8b155c
[buffer] Buffer start <= end <= len requirement in (de-)serialize
2020-10-09 22:27:55 -06:00
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
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
58bcc1cedd
Serialize Unicode buffers
2020-10-09 22:27:55 -06:00
David Corbett
c39ab82c90
Fix usage text of gen-use-table.py
2020-10-06 16:51:40 -04:00
David Corbett
a99e8721bf
[use] Fix tests with MSVC
2020-09-29 09:54:33 -04: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
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
df00f45e26
Fix annotation in previous commits
2020-09-24 11:57:46 +02:00
Nathan Willis
5a695a79a0
Swap # for () in gtk-doc function mention.
2020-09-24 11:57:46 +02:00
n8willis
379be7b7c8
Update src/hb-ot-var.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2020-09-24 11:57:46 +02:00
Nathan Willis
938add712a
Add GTK-Doc comments for hb-ot-var.
2020-09-24 11:55:09 +02:00
Khaled Hosny
9a1be3fed5
Fix enum documentation syntax
2020-09-22 16:46:03 +02:00
n8willis
3c9244e662
Update src/hb-aat-layout.cc
...
Co-Authored-By: Khaled Hosny <khaledhosny@eglug.org>
2020-09-22 15:59:42 +02:00
Nathan Willis
d619ba0681
Add gtk-doc documentation to AAT layout functions and enums.
2020-09-22 15:59:14 +02:00
Nathan Willis
514e6baaf0
[gtk-doc] document AAT functions and enums.
2020-09-22 15:59:11 +02:00
Behdad Esfahbod
a1f4d285e1
[buffer] Fix invalid write access in hb_buffer_deserialize_glyphs()
...
If buffer is immutable, we were trying to set content_type on it.
Ouch!
2020-09-21 16:50:11 -06:00
ebraminio
1f8b1e7f18
[ENOMEM] Return gracefully if stages isn't initialized correctly ( #2639 )
...
This happens if calls to 'm.lookups[table_index].push ()' has been
silently failed due to lack of memory.
This change just returns gracefully instead issuing the assert.
Fixes https://crbug.com/oss-fuzz/24494
2020-09-21 11:39:38 +03:30
Behdad Esfahbod
e40c0d82e2
[ENOMEM] Handle immutable buffer in shape_full()
...
Move the content_type changing to shape_plan_execute() where it belongs.
Skip setting if content type is UNKNOWN, which happens with empty buffers
only, including the immutable buffer.
Alternate fix to https://github.com/harfbuzz/harfbuzz/pull/2606
and https://github.com/harfbuzz/harfbuzz/pull/2625
2020-09-16 12:48:30 -06:00
Garret Rieger
bbbcad0dbb
Revert "[ENOMEM] don't perform set process operations if the other set is in an error state."
...
This reverts commit f3929abafe
.
2020-09-16 12:23:38 -06:00
Garret Rieger
f3929abafe
[ENOMEM] don't perform set process operations if the other set is in an error state.
...
Running a process while the other set is in an error state can potentially corrupt this sets map map (for example by overwritting all of the major values with 0).
2020-09-16 10:36:30 -07:00