Nikolay Sivov
|
c44a0e865b
|
dwrite: Partially implement GetBaseline().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-02 12:37:28 +02:00 |
Nikolay Sivov
|
4f7f3b7b8b
|
dwrite: Enable lookups from non-global features too.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-02 12:37:28 +02:00 |
Nikolay Sivov
|
15baea930a
|
dwrite: Include required feature when collecting lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-02 12:37:28 +02:00 |
Nikolay Sivov
|
aa222d7df8
|
dwrite: Use lookup fitering for context matching.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-02 12:37:28 +02:00 |
Nikolay Sivov
|
f2db3b58d6
|
dwrite: Implement reverse chain contextual substitution (GSUB lookup 8).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-02 12:37:28 +02:00 |
Nikolay Sivov
|
3e59649c9e
|
dwrite: Add main loop variant for reverse substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-01 22:10:28 +02:00 |
Nikolay Sivov
|
db6c4156af
|
dwrite: Fix offsets when stepping through chain rule fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-01 22:10:28 +02:00 |
Nikolay Sivov
|
e7324209e0
|
dwrite: Implement contextual subsitution (GSUB lookup 5).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-01 22:10:28 +02:00 |
Nikolay Sivov
|
75a34d9408
|
dwrite: Add properties for recently added scripts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-01 22:10:28 +02:00 |
Nikolay Sivov
|
d5cca52750
|
dwrite: Fix lookup collection when no suitable script was found.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-06-01 22:10:28 +02:00 |
Nikolay Sivov
|
d1ae4a5647
|
dwrite: Implement chaining contextual substitution of format 2.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
7e798dae37
|
dwrite: Implement chaining contextual substitution of format 1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
a1d1647131
|
dwrite: Use iterator matching for chain substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
4d23336882
|
dwrite: Add matching callback support for iterators.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
d7d276c34b
|
dwrite/tests: Enable glyph class tests on Wine.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
5c9129723c
|
dwrite: Implement mark glyph filtering.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
2e79405eec
|
dwrite: Simplify glyph properties helpers by using current glyph buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-29 20:05:30 +02:00 |
Nikolay Sivov
|
9479f87b8a
|
dwrite: Add stub handler for ligature substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-28 20:18:32 +02:00 |
Nikolay Sivov
|
2e4d71c721
|
dwrite: Update glyph component count on multiple substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-28 20:18:32 +02:00 |
Nikolay Sivov
|
9f31bf0e1c
|
dwrite: Implement multiple substitution (GSUB lookup 2).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-28 20:18:32 +02:00 |
Nikolay Sivov
|
684dd31cc2
|
dwrite: Use GPOS handlers for subtables, not whole lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-28 20:18:31 +02:00 |
Nikolay Sivov
|
a66668c129
|
dwrite: Keep text properties zero initialized.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-28 20:18:31 +02:00 |
Nikolay Sivov
|
cd8cdc7893
|
dwrite: Mark some of default ignorables as ZWS.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-27 10:22:56 +02:00 |
Nikolay Sivov
|
47272be6aa
|
dwrite: Use cluster map to apply use feature ranges.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-27 10:20:58 +02:00 |
Nikolay Sivov
|
d5058fb304
|
dwrite: Implement alternate substitution (GSUB lookup 3).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-27 10:20:54 +02:00 |
Nikolay Sivov
|
3abcf68af9
|
dwrite: Handle extension substitution (GSUB lookup 7).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-27 10:20:47 +02:00 |
Nikolay Sivov
|
3cf308d1b8
|
dwrite: Reference currently used layout table in context.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-27 10:20:41 +02:00 |
Nikolay Sivov
|
c9814f9098
|
dwrite: Use global cursor to glyph array for substitutions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-26 10:41:24 +02:00 |
Nikolay Sivov
|
2b5500ce12
|
dwrite: Prefetch all lookup entry fields when collecting them.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-26 10:41:22 +02:00 |
Nikolay Sivov
|
76b1f3fd72
|
dwrite: Use temporary buffers for GetGlyphs().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-26 10:41:20 +02:00 |
Nikolay Sivov
|
5625a8e52d
|
dwrite: Only enable single substitution lookups for chained substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-26 10:41:18 +02:00 |
Nikolay Sivov
|
e5c6a7beb3
|
dwrite: Update glyph properties on single substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-26 10:41:15 +02:00 |
Nikolay Sivov
|
db3eb6fc0b
|
dwrite: Simplify single substitution helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-25 20:22:37 +02:00 |
Nikolay Sivov
|
7f427f258d
|
dwrite: Use prefetched glyph class to match with lookup mask.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-25 20:22:35 +02:00 |
Nikolay Sivov
|
b1f215dd78
|
dwrite: Set glyph class properties when applying GPOS.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-25 20:22:33 +02:00 |
Nikolay Sivov
|
a99e466547
|
dwrite: Set glyph class for all initial glyphs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-25 20:22:31 +02:00 |
Nikolay Sivov
|
4490f8a274
|
dwrite: Fix array indexing when merging features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-25 20:22:29 +02:00 |
Nikolay Sivov
|
da55f010df
|
dwrite: Use mirrored character only if font supports it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-22 14:32:02 +02:00 |
Nikolay Sivov
|
bb91e877b3
|
dwrite: Silence warning for name entries with platform 3/encoding 10.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-22 14:32:02 +02:00 |
Nikolay Sivov
|
8962f82210
|
dwrite: Set per-glyph feature mask.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-22 14:32:02 +02:00 |
Nikolay Sivov
|
b8625c7f03
|
dwrite: Keep track of shaping stage feature applies to.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-22 14:32:02 +02:00 |
Nikolay Sivov
|
7780d7856b
|
dwrite: Propagate feature mask to lookups collected from it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-22 14:32:02 +02:00 |
Nikolay Sivov
|
c8f409ed93
|
dwrite: Keep user features values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-21 20:25:50 +02:00 |
Nikolay Sivov
|
bd0abb5968
|
dwrite: Append enabled user features that apply to whole text.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-21 20:25:50 +02:00 |
Nikolay Sivov
|
b9f580c990
|
dwrite: Enable 'vert' feature.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-21 20:25:50 +02:00 |
Nikolay Sivov
|
093d6966be
|
dwrite: Set feature indices before collecting lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-21 20:25:50 +02:00 |
Nikolay Sivov
|
2aaa6d1af9
|
dwrite: Remove feature duplicates before applying them.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-21 20:25:50 +02:00 |
Gijs Vermeulen
|
23543f2005
|
dwrite: Set ret on unimplemented lookup in opentype_layout_apply_gsub_lookup.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-11 21:24:58 +02:00 |
Nikolay Sivov
|
1f90b33daf
|
dwrite: Enable global directional substitution features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-06 19:02:03 +02:00 |
Nikolay Sivov
|
7e02e2e993
|
dwrite: Update DWRITE_SHAPING_TEXT_PROPERTIES definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
|
2020-05-06 19:02:01 +02:00 |