Commit Graph

1248 Commits

Author SHA1 Message Date
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
Nikolay Sivov 796f34e81f dwrite: Share same cluster for bases and following diacritics in initial map.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov 8cddbdd785 dwrite: Fix CreateInMemoryFontFileLoader() prototype.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov f51d0487a7 dwrite: Silence HasVariations() fixme.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov 03fe6c64bc dwrite: Implement GetVerticalGlyphVariants().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov f48ecfc83e dwrite: Return ranges for selected cmap.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov a767467d2e dwrite: Get rid of cmap cache.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov 1cfa1c6930 dwrite: Remove unused field from fontface data structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov 745452ee94 dwrite: Do not require fontface object for HasCharacter().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov fb5eec2c1e dwrite: Disallow recursing to reverse chaining substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov 3c415128f1 dwrite: Limit recursion level for context lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov 8a52d3e7d9 dwrite: Implement contextual positional lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Nikolay Sivov 102272a4a9 dwrite: Unify context lookup helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Nikolay Sivov b4b33e13d2 dwrite: Implement CheckTypographicFeature().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Nikolay Sivov 19e9b819f7 dwrite: Remove fixme from CreateFontFallback().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:32 +02:00
Nikolay Sivov b60796bd73 dwrite: Sort feature tags returned from GetTypographicFeatures().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:32 +02:00
Nikolay Sivov 384067bda6 dwrite: Use correct glyph array offset for alternate substitution table output.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:54:35 +02:00
Nikolay Sivov e89aa70555 dwrite: Fix global feature mask to match its shift.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-05 16:54:35 +02:00
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
Nikolay Sivov eadd97cbce dwrite: Use feature tags directly instead of SDK symbols.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Nikolay Sivov 33ec962e27 dwrite: Enable common positional features for all scripts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Nikolay Sivov 075f5b73fe dwrite: Partially implement chaining contextual substitution (GSUB lookup 6).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov a6be957919 dwrite: Implement single substitution lookup (GSUB lookup 1).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov 5eb742687d dwrite: Add a helper to collect gsub/gpos lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov bd6a500ab0 dwrite: Add helper functions to collect default GSUB features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov 7208bc40dc dwrite: Initialize GSUB offsets in shaping cache.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov b8f1aed6d9 dwrite: Add separate structure for top level gsub/gpos offsets.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov 73a6470d86 dwrite: Use unsigned types for single-bit fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 11:31:42 +02:00
Francois Gouget e24bd0b9d3 dwrite: Include config.h for HAVE___BUILTIN_POPCOUNT.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:30:48 +02:00
Alexandre Julliard 51903ba30e dwrite: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:41 +02:00
Alexandre Julliard b83af7c763 unicode: Update data tables to Unicode 13.0.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Nikolay Sivov 52a55f3e04 dwrite: Simplify LB22 rule according to Unicode 13.0 algorithm.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:41:26 +01:00
Nikolay Sivov c18d2d1c0d dwrite/tests: Use wide string literals for some tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:46:01 +01:00
Nikolay Sivov 6ee109c5aa dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Alexandre Julliard 44ce5d9283 unicode: Support fetching a zip containining the data files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-09 09:48:42 +01:00
Nikolay Sivov 282678cc70 dwrite: Return static axis values for weight/width/italic properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 21:30:26 +01:00
Nikolay Sivov fecd13e1bf dwrite: Implement GetFontFaceReference() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Nikolay Sivov 82df524e7e dwrite: Do not create intermediate object to return face reference from family.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Nikolay Sivov 9f1dd9fc3e dwrite: Fix potential strings object leak (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 12:42:08 +01:00
Alexandre Julliard f17a228d45 unicode: Try harder to reuse subsequences when compressing data arrays.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:26:13 +01:00
Alexandre Julliard fb87398b99 unicode: Use a standard two-level mapping table for the mirror map.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 18:58:50 +01:00
Nikolay Sivov 12a1ca5ca3 dwrite: Do not create fontface instance for GetUnicodeRanges().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:44 +01:00
Nikolay Sivov 6c1aff9fc7 dwrite/tests: Add a test for creating system collection with explicit family model.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:42 +01:00
Nikolay Sivov 4d3e0ba0a5 dwrite: Implement IDWriteFont::Equals().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:39 +01:00
Nikolay Sivov 0a5747bfa1 dwrite: Add support for dlng/slng metadata.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:36 +01:00
Nikolay Sivov 57a34227c2 dwrite: Enable DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME for GetInformationalStrings().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 6b0e68f2fa dwrite: Implement GetInformationalStrings() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 8d48f9d014 dwrite: Access font data directly at font level for GetInformationalStrings().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 2d289681eb dwrite: Implement GetFamilyNames() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 57665edc7b dwrite: Implement GetFaceNames() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:06 +01:00
Nikolay Sivov 2296bd73f2 dwrite: Update for newer font string names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:23 +01:00
Nikolay Sivov 15e62caa7a dwrite: Evaluate IsColorFont() flag at font level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:19 +01:00
Nikolay Sivov fec78e62ee dwrite: Evaluate IsMonospacedFont() flag at font level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:15 +01:00
Nikolay Sivov 0b0a2ce8fd dwrite: Evaluate IsSymbolFont() flag at font level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:09 +01:00
Nikolay Sivov 107599531a dwrite: Add a helper specifically for TryGetFontTable().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:03 +01:00
Nikolay Sivov bccac4d2a1 dwrite/tests: Improve DrawUnderline() test reliability by using text tested font actually supports.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-16 20:14:09 +01:00
Nikolay Sivov 3f754db537 dwrite/tests: Add IsColorFont() tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-23 20:13:23 +01:00
Nikolay Sivov ab9ac59cb2 dwrite/tests: Improve coverage of IsMonospacedFont() tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-23 20:13:23 +01:00
Nikolay Sivov b9a5ab67f1 dwrite/tests: Improve coverage of IsSymbolFont() tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-20 14:32:16 +01:00
Nikolay Sivov 624ed18b1f Update to Unicode 12.1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Nikolay Sivov 0d533dea5b dwrite: Implement returning axis values from face reference.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Nikolay Sivov f7f9339969 dwrite: Compare axis values when testing for face reference equality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Nikolay Sivov 725a787f45 dwrite/tests: Add some tests for reference objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Nikolay Sivov 07833cce8f dwrite: Remove unnecessary casts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Nikolay Sivov c8a2ab0964 dwrite: Use IDWriteFactory7 for analyzer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Nikolay Sivov 5c39a118c4 dwrite: Use IDWriteFactory7 for gdiinterop.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Nikolay Sivov 7a33f48ed2 dwrite: Use IDWriteFactory7 for layout internally.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Nikolay Sivov c95ebe7d9d dwrite: Use IDWriteFactory7 for collections internally.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Nikolay Sivov 4215984d8d dwrite: Use IDWriteFactory7 for fontface reference object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Nikolay Sivov 7e665fd267 dwrite: Add newer CreateFontFaceReference() variant.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Nikolay Sivov 6f7a9158f4 dwrite: Implement GetFontResource() for fontface.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Nikolay Sivov 16152993d6 dwrite: Use IDWriteFactory7 internall for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:22 +01:00
Nikolay Sivov 0f22205768 dwrite: Respond to IDWriteFontFace5 queries.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:17 +01:00
Nikolay Sivov 393d50f981 dwrite: Add partial implementation for IDWriteFontResource.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:16 +01:00
Nikolay Sivov 5536df1ee1 dwrite: Update to IDWriteFactory7 stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:57 +01:00
Nikolay Sivov 85691e732a dwrite/tests: Add some tests for IDWriteFontResource.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:57 +01:00
Nikolay Sivov 9808b91df7 dwrite: Update to IDWriteFontFace5.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:57 +01:00
Nikolay Sivov a49f56ef9b dwrite: Add support for IDWriteTextFormat3 for text layout object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 17:51:18 +01:00
Nikolay Sivov 33a57f8d1d dwrite: Update to IDWriteTextLayout4.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 17:51:16 +01:00
Nikolay Sivov 1b23a522af dwrite: Update to IDWriteColorGlyphRunEnumerator1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 17:51:14 +01:00
Nikolay Sivov f83d141454 dwrite/tests: Relax tests that fail on some Win10 versions.
GetString() return value contradicts other methods,and partially buffer writes
don't happen elsewhere. It's not worth to replicate this.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 17:11:43 +02:00
Nikolay Sivov 85ffc36b5e dwrite: Update font family object to use IDWriteFontList2.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 10:44:27 +02:00
Nikolay Sivov 0159812e21 dwrite: Update matches list to IDWriteFontList2.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 10:44:24 +02:00
Nikolay Sivov cd4101dbba dwrite: Update to IDWriteFontFallback1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 10:44:22 +02:00
Nikolay Sivov 28dc5ff191 dwrite: Update to IDWriteFontFaceReference1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 10:44:20 +02:00
Nikolay Sivov 30cf1bef0f dwrite: Update to IDWriteFontFamily2.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 13:48:41 +02:00
Nikolay Sivov 3360dfec40 dwrite: Update to IDWriteFontCollection3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 13:48:39 +02:00
Nikolay Sivov 3afa0d6346 dwrite: Add a stub for IDWriteTextFormat3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 13:48:36 +02:00
Nikolay Sivov 16c8b2569d dwrite/tests: Remove test failing on RTL locales.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 13:48:32 +02:00
Nikolay Sivov c435eb5c51 dwrite: Sort localized strings by locale name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 10:16:00 +02:00
Akihiro Sagawa ea07bc4190 dwrite: Prefer Windows platform names regardless of record order.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 10:10:43 +02:00
Akihiro Sagawa 9597ed5375 dwrite: Avoid a magic constant.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Francois Gouget f38c260ce7 dwrite: A couple of spelling fixes in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Gerald Pfeifer 66bd8e3288 dwrite/tests: Silence a compiler warning in test_fontsetbuilder.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 19:34:19 +02:00
Nikolay Sivov cd7dd5e895 dwrite: Add recent script properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-05 18:45:10 +02:00
Nikolay Sivov 5a33f86ec9 dwrite: Remove unused functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 10:00:29 +02:00
Alexandre Julliard c52b2f1284 make_unicode: Remove duplicate DECLSPEC_HIDDEN.
Spotted by Matteo Bruni.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 11:25:38 +02:00
Alexandre Julliard 01ebf1ade4 dwrite: Use the same BiDi direction table as usp10.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Alexandre Julliard 333e6b3c69 make_unicode: Avoid including wine/unicode.h in generated files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Nikolay Sivov 7c02ab5ed1 dwrite/tests: Fix a typo in test message.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov 1315098aef dwrite/layout: Use array allocation helper for line metrics.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov 0a3aef62d8 dwrite: Use array allocation helper for strings object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov a782605ef5 dwrite/analyzer: Use array allocation helper for fallback builder.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov 3cfd0a7a4b dwrite: Use array allocation helper for in-memory loader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov 0520b59377 dwrite: Use array allocation helper to manage collection entries.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov 958911c699 dwrite: Use array allocation helper to manage family entries.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 20:13:59 +02:00
Nikolay Sivov 421c83cd7b dwrite: Improve returned design glyph metrics.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:46:24 +02:00
Nikolay Sivov 45361bb65e dwrite/layout: Use interface pointer in text format method traces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:46:19 +02:00
Nikolay Sivov 93a852e262 dwrite/layout: Fix layout metrics width for whitespace-only lines.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:46:05 +02:00
Nikolay Sivov 6dc35e2d17 dwrite/font: Use existing helper for CreateFontFace().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:46:01 +02:00
Nikolay Sivov cbd83b4e80 dwrite/layout: Use array allocation helper for typography features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:45:56 +02:00
Nikolay Sivov a4b3420e67 dwrite/layout: Use a helper to update layout metrics.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:45:52 +02:00
Nikolay Sivov 13364151a4 tools: Update to Unicode 12.0.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Nikolay Sivov 571ffaf380 dwrite/layout: Fix invalid index access to cluster array.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45543
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-15 21:33:07 +02:00
Francois Gouget 1e819f00a5 dwrite: Remove freetype_get_design_glyph_bbox(). It's not used anymore.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 10:10:34 +01:00
Francois Gouget f72622bf0d dwrite/tests: Avoid a couple of unneeded lstrlenW() calls.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 09:27:44 +01:00
Michael Stefaniuc 6f5436f9f4 dwrite: Remove useless casts to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-01 09:37:28 +01:00
Nikolay Sivov 8d2e59edaa dwrite: Use more appropriate allocation helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 09:12:11 +01:00