Behdad Esfahbod
fd03449094
Rename hb_apply_context_t to hb_ot_apply_context_t
2018-01-19 16:40:13 -08:00
Behdad Esfahbod
94b49beee9
Whitespace
2018-01-19 16:40:13 -08:00
Cosimo Lupo
c8f2a4f5b9
hb-common.cc: Hatran script is right-to-left ( #714 )
...
"Hatran is written from right to left horizontally"
http://www.unicode.org/L2/L2012/12312-n4324-hatran.pdf
This ancient script was added with Unicode 8.0.
Also this spreadsheet (referenced in an inline comment in the
source code) has it as RTL: http://goo.gl/x9ilM
2018-01-19 01:19:40 +03:30
Ebrahim Byagowi
00806149b9
Improve avoiding C++ linkage, definition creation and cmake tests ( #710 )
2018-01-19 01:12:31 +03:30
Behdad Esfahbod
461a605fde
[aat] Allocate set dynamically
2018-01-17 10:02:48 -08:00
Behdad Esfahbod
949f6af289
Disallow sanitize recursing into Extension subtables multiple times
...
Fixes https://oss-fuzz.com/v2/testcase-detail/5216838347653120
which is a stack overflow, not by way of infinite recursion, just
being deep. That's disallowed anyway, so catch it as it happens,
not afterwards.
2018-01-15 20:44:10 -05:00
Behdad Esfahbod
bcb6f1ae0a
Whitespace
2018-01-15 20:34:05 -05:00
Behdad Esfahbod
12fffce10e
[aat] Sanitize classTable in StateTable
2018-01-15 15:41:51 -05:00
Behdad Esfahbod
e6263c7142
[aat] Wire up table length to apply()
2018-01-15 15:37:55 -05:00
Behdad Esfahbod
679ae744d0
[aat] Towards implementing LigatureSubtable
2018-01-14 15:03:31 -05:00
Behdad Esfahbod
c9e12a2b9b
Fix set initializer
2018-01-13 17:05:12 +00:00
Behdad Esfahbod
9009b341c4
[aat] Fix some struct sizes
...
I hate it that with my compiler at least, it doesn't catch totally uncompilable
statements in templates if they are not used...
2018-01-12 12:04:53 +01:00
Behdad Esfahbod
57051b4f67
[aat] Flush rest of buffer if state machine failed
2018-01-12 11:42:25 +01:00
Behdad Esfahbod
25364c4f00
[aat] Fix symbol visibility
...
Not sure why only one of the bots sees this as visible...
2018-01-12 11:31:20 +01:00
Behdad Esfahbod
ee16b9d8d3
Revert accidental morx enablement
2018-01-12 11:28:09 +01:00
Behdad Esfahbod
cdfa801ff4
[aat] Tweak previous commit
2018-01-12 11:12:20 +01:00
Behdad Esfahbod
f7600228a4
[aat] Detect infinite-loops in state machine
2018-01-12 11:09:21 +01:00
Behdad Esfahbod
dd38db523a
[aat] Fix more builds
...
Maybe I should disable C++11 detection such that my compiler also catches
these. Doesn't look like we can switch to it for a while anyway...
2018-01-12 09:45:42 +01:00
Behdad Esfahbod
72cb2b1f57
[aat] Fix builds
2018-01-12 09:38:55 +01:00
Ting-Wei Lan
e3a15d0c6d
Update _POSIX_C_SOURCE to the latest version
...
Defining _POSIX_C_SOURCE to an old version on FreeBSD can cause C99 to
be disabled in libc.
2018-01-12 09:19:41 +01:00
Behdad Esfahbod
c70d58f97d
[aat] Port RearrangementSubtable to StateTableDriver
2018-01-12 00:08:22 +01:00
Behdad Esfahbod
117cfe7bb7
[aat] Add StateTableDriver and convert ContextualSubtable to it
2018-01-12 00:01:36 +01:00
Behdad Esfahbod
1f1c85a54a
[aat] Remove 'mort' support
...
It's dead, Jim!
2018-01-11 22:43:57 +01:00
Behdad Esfahbod
7e2fed6d73
[aat] Allow DontAdvance
...
Apparently CoreText does allow these. To be done: detect infinite
loops.
Fixes MORX-12 test.
2018-01-11 19:25:21 +01:00
Behdad Esfahbod
17f01aff91
[aat] Sanitize ContextualSubtable
2018-01-11 18:54:49 +01:00
Behdad Esfahbod
9b82aa19d8
More warning fixes
2018-01-11 18:19:42 +01:00
Behdad Esfahbod
680cbc2eb3
[aat] Sanitize StateTable
2018-01-11 18:15:53 +01:00
Behdad Esfahbod
0e3b3379a0
[aat] Actually fix d887f93148
2018-01-11 18:01:10 +01:00
Behdad Esfahbod
3f291ffd5a
[buffer] Fix compiler warnings
...
line 323: Warning: info hides hb_buffer_t::info
...
2018-01-11 17:57:46 +01:00
Behdad Esfahbod
d887f93148
[aat] Make bots happy
...
Don't know why this is not caught by my compiler. Looks like clang catches it
while gcc doesn't.
In file included from ../src/hb-aat-layout-morx-table.hh:31:
../src/hb-aat-layout-common-private.hh:523:30: error: no member named 'static_size' in 'AAT::ContextualSubtable<AAT::MorxTypes>::EntryData'
DEFINE_SIZE_STATIC (4 + T::static_size);
~~~^
2018-01-11 17:41:34 +01:00
Behdad Esfahbod
f6be730994
[aat] In NoncontextualSubtable, handle MarkLast with end-of-line transition
...
Fixes MORX-11 test.
2018-01-11 15:23:24 +01:00
Behdad Esfahbod
f9be673814
[aat] Implement ContextualSubtable
...
Tested with Zapfino and text "2nd". Sascha will create tests later.
2018-01-11 15:15:36 +01:00
Behdad Esfahbod
335a9c1fe4
[aat] Towards implementing ContextualSubtable
2018-01-11 15:15:36 +01:00
Behdad Esfahbod
62348f647f
[aat] Implement end-of-text in state machine
...
Passes MORX-10 test now.
2018-01-11 15:15:36 +01:00
Behdad Esfahbod
9adbd938fa
Minor
2018-01-11 15:15:36 +01:00
Behdad Esfahbod
94644d7ea4
[aat] Generate finegrained unsafe-to-break in state-machine!
...
Neato.
2018-01-11 11:49:07 +01:00
Behdad Esfahbod
994eb7744c
[buffer] Fix crash
2018-01-11 11:37:12 +01:00
Behdad Esfahbod
7c32e01d04
Minor
2018-01-11 10:47:31 +01:00
Behdad Esfahbod
14b4d84eef
[aat] Fix RearrangementSubtable action
2018-01-11 10:43:30 +01:00
Behdad Esfahbod
800e4ae802
[aat] Mark state-machine-based lookup as completely unsafe-to-break
...
To be improved later.
2018-01-11 10:43:30 +01:00
Behdad Esfahbod
ca42d96129
[aat] Implement RearrangementSubtable
2018-01-11 10:43:30 +01:00
Ebrahim Byagowi
5dbbd0fdb9
Move the #define of _GNU_SOURCE to the top of hb-private.hh ( #697 )
...
This fixes the build on Cygwin.
2018-01-11 12:33:22 +03:30
Behdad Esfahbod
80fd574320
[aat] Add Class subtable thingy
...
From old 'mort' table.
2018-01-10 13:58:41 +01:00
Khaled Hosny
0b22da9541
Improve HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docs
...
Add the note about absolute glyph positions from the commit message.
2018-01-10 07:12:07 +02:00
Behdad Esfahbod
188ee6e5ee
Calculate anchor positions in float, then round
...
Hoping to reduce rounding error, to make tests happier...
No luck.
2018-01-10 05:13:47 +01:00
Behdad Esfahbod
7cdd6ab068
Round, instead of floor, when applying variations
...
Hoping this would fix remaining text-rendering-tests failures,
but so far no luck.
2018-01-10 04:44:33 +01:00
Behdad Esfahbod
3b1e97f364
Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
...
New API:
HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
hb-shape / hb-view --remove-default-ignorables
One more text-rendering-tests test passing. Eleven failing.
2018-01-10 03:36:03 +01:00
Behdad Esfahbod
6b19178ee3
Prefix int types with HB
...
Such a headache that Windows defines UINT8, ...; Just prefix it.
2018-01-10 03:07:30 +01:00
Behdad Esfahbod
81e321c802
[aat] Try fixing VC bots
...
c:\projects\harfbuzz\src\hb-aat-layout-common-private.hh(51): error C2872: 'UINT16': ambiguous symbol [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\shared\basetsd.h(80): note: could be 'unsigned short UINT16'
c:\projects\harfbuzz\src\hb-open-type-private.hh(648): note: or 'OT::UINT16'
2018-01-10 02:56:29 +01:00
Behdad Esfahbod
0ed69c9462
Disable processing of morx table in ot shaper
...
So I can merge this to master...
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
5f94b4cc39
[kern] Mark unsafe-to-break
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
71fd6325b6
Add option to buffer serialization to not output glyph advances
...
When advances are not printed, glyph offsets reflect absolute glyph
positions.
New API:
HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES
hb-shape --no-advances
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
748b989a1f
[aat/morx] Implement NoncontextualSubtables
...
Also makes hb-ot-shape call morx for now instead of GSUB... Just for testing.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
4cf3ab1d81
Minor
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
470fe5b603
[aat] Implement Lookup table
...
Untested, but compiles.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
4646a80a87
Minor
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
7c7cb42d81
[aat] Update previous commits for rebase on master
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
a0175e75bc
[aat] Start implementing common table formats
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
c71b55a223
[aat] Start implementing Apple AAT morx table
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
0473d95e27
[ft] Use FT_Done_MM_Var() if available
2018-01-08 10:07:46 +00:00
Behdad Esfahbod
66d7beff96
[khmer] Relax!
...
Apparently we don't use OT_A either.
2018-01-05 18:10:25 +00:00
Behdad Esfahbod
db0207baff
[khmer] Drop another joiner
2018-01-05 18:06:00 +00:00
Behdad Esfahbod
90affe831f
[khmer] Shuffle
2018-01-05 18:04:56 +00:00
Behdad Esfahbod
65795e3ca2
[khmer] Simplify grammar some more
...
Numbers down (from 38):
KHMER: 299090 out of 299124 tests passed. 34 failed (0.0113665%)
2018-01-05 18:03:00 +00:00
Behdad Esfahbod
e13ee93731
[khmer] Clean
2018-01-05 18:01:01 +00:00
Behdad Esfahbod
a71c7eb2ca
[khmer] Limit number of joiners
2018-01-05 17:59:43 +00:00
Behdad Esfahbod
574e42e1cf
[khmer] Relax number of consonants / matras allowed
...
New numbers (down from 39):
KHMER: 299086 out of 299124 tests passed. 38 failed (0.0127038%)
2018-01-05 17:58:02 +00:00
Behdad Esfahbod
80c870bcda
[khmer] Allow Independent Vowels where stacked consonants are allowed
...
New numbers (down from 44):
KHMER: 299085 out of 299124 tests passed. 39 failed (0.0130381%)
2018-01-05 17:54:52 +00:00
Behdad Esfahbod
9bd486c480
[khmer] Drop some more joiners
2018-01-05 17:47:35 +00:00
Behdad Esfahbod
5278265853
[khmer] Drop some more
2018-01-05 17:46:49 +00:00
Behdad Esfahbod
efefd87f33
[khmer] Drop some more grammar
2018-01-05 17:45:48 +00:00
Behdad Esfahbod
82e6bf8e0c
[khmer] Drop some more from grammar
2018-01-05 17:44:18 +00:00
Behdad Esfahbod
957e8ea8a9
[khmer] Drop final_halant_group
2018-01-05 17:43:31 +00:00
Behdad Esfahbod
bbfdbbdc5e
Minor
2018-01-05 17:34:26 +00:00
Behdad Esfahbod
f6df251521
[indic] Remove unused OT_VD category
2018-01-05 17:27:48 +00:00
Behdad Esfahbod
e6618f3bdf
[khmer] Shave off some more from the grammar
2018-01-05 17:27:42 +00:00
Behdad Esfahbod
014494d5c0
[khmer] Remove unused symbol clusters
2018-01-05 17:18:12 +00:00
Behdad Esfahbod
bbac984b93
Minor
2018-01-05 17:15:31 +00:00
Behdad Esfahbod
185b68946a
[khmer] Remove medials from grammar
2018-01-05 17:14:27 +00:00
Behdad Esfahbod
c265dffdf6
[khmer] Better fix for dangling final Coeng
...
This is how 1471cfee3b
should have
been done.
2018-01-05 17:06:29 +00:00
Behdad Esfahbod
e3fdf1fc2f
[khmer] Remove reph/repha support from grammar
2018-01-05 17:05:53 +00:00
Behdad Esfahbod
0d3a274de1
[khmer] Remove forced_rakar from grammar
...
Used by Sinhala only.
2018-01-05 17:01:37 +00:00
Behdad Esfahbod
1471cfee3b
[khmer] Allow a dangling final Coeng after matras
...
Uniscribe seems to allow that. New numbers:
KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)
2018-01-05 16:34:20 +00:00
Behdad Esfahbod
9eaf077ded
[khmer] Remove some more unused code
2018-01-05 16:28:00 +00:00
Behdad Esfahbod
bfad6ab897
[khmer] Remove features not used by Khmer
2018-01-05 16:13:09 +00:00
Behdad Esfahbod
92a99ce084
[khmer] Remove rphf feature
2018-01-05 16:08:44 +00:00
Behdad Esfahbod
238b90e77c
[khmer] Remove non-Khmer matra positioning code
2018-01-05 16:06:53 +00:00
Behdad Esfahbod
f8553c898a
[khmer] Remove indic_config_t
2018-01-05 16:04:02 +00:00
Behdad Esfahbod
a119a8bce5
[khmer] Remove indic_config->reph_mode
2018-01-05 16:02:55 +00:00
Behdad Esfahbod
c135324af1
[khmer] Remove indic_config->reph_pos
2018-01-05 16:02:55 +00:00
Behdad Esfahbod
ffcd6c7efd
[khmer] Remove indic_config->base_pos
2018-01-05 15:50:05 +00:00
Behdad Esfahbod
0c91638d48
[khmer] Remove other scripts
2018-01-05 15:45:30 +00:00
Behdad Esfahbod
4c0199c573
[khmer] Remove indic_config->script
2018-01-05 15:43:48 +00:00
Behdad Esfahbod
9b135d9524
[khmer] Remove indic_config->virama
2018-01-05 15:43:11 +00:00
Behdad Esfahbod
7eb3ac29d3
[khmer] Remove indic_config->has_old_spec
2018-01-05 15:41:31 +00:00
Behdad Esfahbod
961ebf85f1
[khmer] Remove Halant from Khmer shaper
2018-01-05 15:36:53 +00:00
Behdad Esfahbod
9761f9d782
[indic] Remove more Khmer-specific stuff from Indic shaper
...
No numbers changed.
2018-01-05 15:33:11 +00:00
Behdad Esfahbod
0758953644
[indic] Remove main Khmer stuff
2018-01-05 15:08:28 +00:00
Behdad Esfahbod
dcf4d95fea
[khmer] Split off Khmer shaper from Indic
...
Towards fixing https://github.com/harfbuzz/harfbuzz/issues/667
The Khmer spec is different enough from other Indic ones to require
its own grammar.
No change in functionality. Test numbers are:
BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
2018-01-05 14:54:31 +00:00
Behdad Esfahbod
1e05ea79d0
[ot] Short-circuit base instance advance variation
2018-01-05 14:01:37 +00:00