Nikolay Sivov
a8e29f0ed7
dwrite/tests: Handle missing English font names.
...
Same as 0e4172a0c2
but for another test file.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:47 +01:00
Nikolay Sivov
7b540f8bc8
dwrite: Limit to exactly one font file per fontface.
...
Multiple files only existed in initial API version, formats using multiple
files were never supported, and newer API often operates on a single file
instance.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:43 +01:00
Nikolay Sivov
df9e20fadc
dwrite: Remove duplicated trace call.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:41 +01:00
Giovanni Mascellani
23d6ac27db
dwrite/tests: Remove overzealous test.
...
While this test happens to always be true on Windows, this is just a
property of the fallback fonts installed on the system, not a property
of the code. Since we cannot control the fonts installed on users'
computers, it makes no sense to do this test.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-05 17:55:44 +01:00
Nikolay Sivov
3049c94753
dwrite: Implement GetFontSet() for families.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov
f40c2a19e2
dwrite: Return font set for matched font list.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov
c8ac1909bc
dwrite: Silence GetPropertyValues() fixme.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov
a6bdbc7146
dwrite: Implement IDWriteFontSet::GetFontFaceReference().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov
91ab9018d2
dwrite: Implement font set object stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Giovanni Mascellani
0e4172a0c2
dwrite/tests: Do not assume that fonts have a en-us name.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Giovanni Mascellani
65f5033702
dwrite: Do not segfault when there are no typographic features to return.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:45 +01:00
Nikolay Sivov
eac1ca616d
dwrite: Implement set builder methods that don't specify font properties.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:44 +01:00
Nikolay Sivov
1aa26bfe94
dwrite/tests: Add more tests for font sets.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:44 +01:00
Nikolay Sivov
1cbc74a3ab
dwrite/layout: Implement axis values property for the format object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 16:11:35 +01:00
Nikolay Sivov
fba2788d83
dwrite: Remove unused function.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 15:48:03 +01:00
Nikolay Sivov
8dac512e8c
dwrite/layout: Add support for character spacing attributes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 19:59:16 +01:00
Nikolay Sivov
f18acbfef3
dwrite: Use newer analyzer interface internally.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 19:59:16 +01:00
Nikolay Sivov
76f421b090
dwrite: Use correct glyph origins during rendering.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 19:59:16 +01:00
Nikolay Sivov
87bc6aac20
dwrite: Correct return glyph origins for RTL runs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 19:59:03 +01:00
Nikolay Sivov
4b0f2eb6e5
dwrite/layout: Remove unnecessary argument check from GetFontCollection().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:09 +01:00
Nikolay Sivov
68cfa3a411
dwrite/layout: Remove unnecessary argument check from GetFontWeight().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:09 +01:00
Nikolay Sivov
352df11516
dwrite/layout: Remove unnecessary argument check from GetInlineObject().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:09 +01:00
Nikolay Sivov
7129b3e14d
dwrite/layout: Remove unnecessary argument check from GetPairKerning().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:09 +01:00
Nikolay Sivov
4fd206adba
dwrite/layout: Check text range boundaries when setting properties.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:09 +01:00
Nikolay Sivov
aa1bd1e0a0
dwrite/layout: Pass user features to shaping calls.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 16:27:58 +01:00
Nikolay Sivov
d4784a9211
dwrite: Fix character range to glyph range matching for user features.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 16:27:58 +01:00
Nikolay Sivov
1b10b88d32
dwrite: Always initialize output glyph count in GetGlyphs().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00
Nikolay Sivov
2e0ce5b8e7
dwrite/layout: Grow output buffer on GetGlyphs() failure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:38 +01:00
Nikolay Sivov
2655576be9
dwrite/layout: Split run shaping between two helpers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:37 +01:00
Nikolay Sivov
d489f1ddff
dwrite: Pass features to stage functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:37 +01:00
Nikolay Sivov
8c4b47c6f9
dwrite/arabic: Mark glyphs with assigned action as unsafe to break.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 10:12:09 +01:00
Nikolay Sivov
7d264424ce
dwrite/arabic: Use resolved codepoint for joining types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 10:12:07 +01:00
Nikolay Sivov
b91548d059
dwrite: Fix setting canBreakShapingAfter when applying ligatures.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 10:12:04 +01:00
Nikolay Sivov
23638b44ed
dwrite/shaping: Make sure initial glyph buffer can fit at least one glyph per WCHAR.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 20:05:03 +01:00
Nikolay Sivov
ec648ea7d0
dwrite: Adjust comment regarding digits substitution during shaping.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:10:05 +01:00
Nikolay Sivov
988dc7753a
dwrite: Use attachment chain for marks positioning.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 11:09:34 +01:00
Nikolay Sivov
db3a258f97
dwrite: Track attachment chain during cursive positioning.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 11:09:32 +01:00
Nikolay Sivov
6c639de5b8
dwrite: Call shaper masks setup only when doing substitutions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 11:09:28 +01:00
Nikolay Sivov
fdc56196ef
dwrite/layout: Implement desired orientation get/set methods.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 15:41:02 +01:00
Nikolay Sivov
4914f51c09
dwrite: Change remaining traces to have consistent format.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 15:41:02 +01:00
Nikolay Sivov
d905919cfa
dwrite: Fix vtable variables types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-01 17:10:37 +01:00
Nikolay Sivov
23a2213e27
dwrite/shape: Fix iterator skipping logic on ignorable characters.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
4ae8191ee9
dwrite/arabic: Set per-glyph mask.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
bea9c706eb
dwrite/arabic: Set per-glyph action.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
864745e7bb
dwrite: Call stage function for substitution loop.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
dfb94e6f8e
dwrite: Add per shaping stage functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
3c0836bfa3
dwrite: Mark features that were not found.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
f064acbdd9
dwrite/arabic: Mark some features for fallback.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:32 +01:00
Nikolay Sivov
e03febf2a2
dwrite: Add a stub Arabic shaper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov
142c06e55e
dwrite: Set script id in shaping context.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov
dc9f12170c
dwrite: Add font set builder stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov
239530e8a8
dwrite/tests: Add some tests for text format properties.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov
612652bb9c
dwrite: Zero initialize font data structure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov
5197fd7c91
dwrite: Zero-initialize run analysis object structure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:07 +01:00
Nikolay Sivov
94b367e3e9
dwrite: Fix feature mask for non-global features.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:04 +01:00
Nikolay Sivov
9ec274083f
dwrite/layout: Fail to create layouts with negative size.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 11:20:57 +01:00
Haoyang Chen
b5dbd180b4
dwrite/layout: Handle NULL format in CreateEllipsisTrimmingSign().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov
6ebbf619cb
dwrite: Use table access helpers for reading names.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov
590d5b535c
dwrite: Set joiners mode for gsub case.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov
db55f74b3a
dwrite: Use joiner modes for matching.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov
8b419d29df
dwrite: Propagate joiners mode to iterators.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov
9118160524
dwrite: Set lookup flags for joiners.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Alexandre Julliard
9d7a710fc0
dwrite: Avoid a compiler warning when FreeType is missing.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-23 22:07:50 +01:00
Nikolay Sivov
4539525c07
dwrite: Add a notice regarding HarfBuzz.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-22 17:26:33 +01:00
Nikolay Sivov
24508594ba
dwrite: Use consistent trace format for rendering object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Nikolay Sivov
62b6b9a952
dwrite: Use consistent trace format for font data access objects.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Nikolay Sivov
87d6e45514
dwrite: Use consistent trace format for rendering parameters object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:40 +01:00
Nikolay Sivov
3112144223
dwrite: Use consistent trace format for strings object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:35 +01:00
Nikolay Sivov
8726091836
dwrite: Remove explicit lookup type check in GetVerticalGlyphVariants().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:32 +01:00
Nikolay Sivov
240567a8b3
dwrite/shaping: Merge extension subtables handling with existing helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:26 +01:00
Alexandre Julliard
6ca76dc5e7
include: Remove some no longer used Unicode functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:38:25 +01:00
Nikolay Sivov
b3c27c4792
dwrite: Use font data access helpers when reading metrics tables.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:08 +01:00
Nikolay Sivov
feefc6a908
dwrite/font: Reimplement HasVerticalGlyphVariants() flag using general shaping logic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:06 +01:00
Nikolay Sivov
40d30cf454
dwrite/gdiinterop: Use consistent traces for the interop object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:03 +01:00
Nikolay Sivov
061372438e
dwrite/gdiinterop: Use consistent trace format for the bitmap render target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:00 +01:00
Nikolay Sivov
5f219eccd5
dwrite/font: Use consistent traces for the font object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:29:57 +01:00
Nikolay Sivov
44e444487f
dwrite/layout: Use consistent tracing format for default trimming sign.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov
a067d119bd
dwrite/layout: Zero-initialize initial runs and ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov
03897554c0
dwrite/layout: Zero-initialize layout structure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov
2903090ecc
dwrite/layout: Zero-initialize format structure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov
2a74ed80be
dwrite/layout: Keep automatic axes property.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov
ab94abb14f
dwrite: Add partial implementation for IDWriteFontFace5::Equals().
...
Issue with missing method spotted by Brendan Shanks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 19:07:55 +02:00
Nikolay Sivov
f5e342b2a6
dwrite: Simplify ligature substitution handler.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:28:02 +02:00
Nikolay Sivov
5909ab5303
dwrite: Simplify alternate substitution handler.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:28:00 +02:00
Nikolay Sivov
78ea46f6a9
dwrite: Simplify multiple substitution handler.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:58 +02:00
Nikolay Sivov
a13469374f
dwrite: Simplify single substitution handler.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:56 +02:00
Nikolay Sivov
0a0872910b
dwrite: Add missing script tags.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov
122cac563d
dwrite: Use mark array helper in mark to mark attachment handler.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov
81d8a0980b
dwrite: Use mark array helper in mark to base attachment handler.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov
240305660a
dwrite: Implement mark to ligature attachment (GPOS lookup 5).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov
c928c1cbd8
dwrite: Use single table pointer in GPOS handlers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov
51d4e5c134
dwrite: Remove some unused types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov
b2d9d552c0
dwrite: Keep current lookup feature mask in context.
...
Lookups referenced from context-based lookups need to have access to
original feature mask, set it once instead of propagating it on every
recursive call. It's used for input matching and parametrized cases
like alternate substitutions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:26 +02:00
Jacek Caban
ce4083eccc
dwrite: Use BitScanReverse instead of dwrite_log2i.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:52:38 +02:00
Jacek Caban
f5e67202cc
dwrite: Use BitScanForward instead of dwrite_ctz.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:52:28 +02:00
Nikolay Sivov
c440d87464
dwrite: Implement another GetFontFamily() variant.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:19 +02:00
Nikolay Sivov
292dff589e
dwrite: Implement ligature substitution.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:19 +02:00
Nikolay Sivov
cd9f374879
dwrite: Normalize glyph data before passing it to matching function.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Nikolay Sivov
a6c0eab6de
dwrite: Set initial canBreakShapingAfter flags.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Nikolay Sivov
f7fc249e8f
dwrite: Update clustermap once after all features have been applied.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00