Commit Graph

1271 Commits

Author SHA1 Message Date
Nikolay Sivov 295599e2c2 dwrite/opentype: Fix GPOS PairSet array offset.
Passed offset already includes subtable offset.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 20:52:32 +02:00
Nikolay Sivov 979868aed5 dwrite/opentype: Do not include base advance to the mark advance offset.
This is handled later using attachment chains, after all positional features are applied.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 11:34:14 +02:00
Nikolay Sivov d2d91fba55 dwrite/opentype: Fix incorrect MarkGlyphSets table handling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 11:34:09 +02:00
Nikolay Sivov e71920d2f4 dwrite/opentype: Correct flags field size for layout lookup structure.
Higher 16 bits are used for mark filtering set index.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 11:34:05 +02:00
Nikolay Sivov f5e33215ee dwrite/opentype: Use stdint types for font file structures.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 13:25:10 +02:00
Nikolay Sivov b3291c80fb dwrite/opentype: Use stdint type for color font structures.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 13:25:07 +02:00
Nikolay Sivov e1270c99fe dwrite/opentype: Use stdint types for layout table structures.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:27:05 +02:00
Nikolay Sivov 2c408860ae dwrite: Implement variation axis value methods for the resource object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:27:02 +02:00
Nikolay Sivov 075730925a include: Fix IDWriteFontResource definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:26:59 +02:00
Nikolay Sivov cecf7d55a9 dwrite: Implement CreateTextFormat() for IDWriteFactory6.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:26:56 +02:00
Nikolay Sivov fe86eeceeb dwrite: Implement newer GetSystemFontCollection() variants.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:51 +02:00
Nikolay Sivov 38d2d2f350 dwrite: Initial implementation of CreateFontCollectionFromFontSet().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:46 +02:00
Nikolay Sivov 7e3edfabc5 dwrite: Prefer different family names for typographical collections.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:41 +02:00
Nikolay Sivov b3cf1df4f4 dwrite: Use separate structure for set entry description.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:36 +02:00
Nikolay Sivov 9250a3ab54 dwrite: Implement GetFontFamilyModel().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:31 +02:00
Nikolay Sivov e32f59461a dwrite: Simplify collection object initialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:27 +02:00
Nikolay Sivov fd56f8e31c dwrite: Remove already defined macros.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:23 +02:00
Nikolay Sivov 58ea0d81e5 dwrite/tests: Use table access helpers for CBLC tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:19 +02:00
Nikolay Sivov 76a4039e27 dwrite/tests: Add a test for unset axis for references created with IDWriteFactory3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 14:59:14 +02:00
Nikolay Sivov 76fa97cddd dwrite/tests: Fix context text.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-20 22:57:46 +02:00
Nikolay Sivov 77c06dfb29 dwrite/tests: Use safe table access helpers for GetFontSignature().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-20 22:57:42 +02:00
Dmitry Timoshkov a90d976bb4 dwrite/tests: Add some fallback tests for Segoe UI Symbol.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 10:49:22 +02:00
Alexandre Julliard 73b94f8f94 dwrite: Only use __builtin_popcount in PE builds.
It's not compatible with -mabi=ms.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 11:26:22 +01:00
Eric Pouech b70375e60b dwrite/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 19:02:18 +01:00
Eric Pouech 097191926a dwrite/tests: Don't outdent todo_wine*.
This prevents -Wmisleading-indentation warnings (Mingw GCC11).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 11:25:48 +01:00
Eric Pouech 46667959e7 dwrite: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:40 +01:00
Eric Pouech 04bb4424ef dwrite: Use correct integral types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:19 +01:00
Nikolay Sivov b7d24e2299 dwrite/tests: Remove remaining kernel32 heap calls.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Fabian Maurer ddb315bfd2 dwrite/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:51 +01:00
Nikolay Sivov 47f5a50260 dwrite/tests: Use a better invalid value to make a test pass reliably.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 14:46:50 +01:00
Nikolay Sivov cb0b746f9a dwrite: Partially implement newer TranslateColorGlyphRun() variant.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 14:46:47 +01:00
Nikolay Sivov a081fe8788 dwrite: Move text format object implementation to a separate file.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:15:02 +01:00
Nikolay Sivov 88bc8f948e dwrite: Implement GetMatchingFontsByLOGFONT().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:15:02 +01:00
Nikolay Sivov 6dbaba7cb3 dwrite/tests: Use CRT memory allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 16:27:03 +01:00
Eric Pouech de603a0d13 dwrite: Adjust implementation to match prototype.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 10:40:43 +01:00
Esme Povirk fad8d49606 dwrite: Account for position != 0 in fetch loops.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-13 11:29:56 +01:00
Esme Povirk 07fd82cdbd dwrite: Fix possible use of uninitialized memory.
If the text source returns fewer than length character, part
of the buffer will be uninitialized.

Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-13 11:29:52 +01:00
Esme Povirk 412b36e45a dwrite: Avoid calling memcpy with NULL source.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52187
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-13 11:29:25 +01:00
Nikolay Sivov 98d88f22e2 dwrite: Remove some unused fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Nikolay Sivov 94d7abce63 dwrite: Keep corresponding data context for created backend object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Nikolay Sivov 828e7173bc dwrite/layout: Simplify run direction check condition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Nikolay Sivov a005d43b98 dwrite: Implement Wow64 entry points for unixlib.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Nikolay Sivov 275a2d71d6 dwrite: Switch to unixlib syscall interface.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-08 22:14:44 +01:00
Nikolay Sivov 06742814ed dwrite: Remove unixlib callbacks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Nikolay Sivov b1dc908aa5 dwrite: Move bitmap cache to PE side.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Nikolay Sivov b3ad9000c0 dwrite: Move glyph box cache to PE side.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Nikolay Sivov 4ae2058e0b dwrite: Use separate argument for cache key for get_bbox/get_bitmap calls.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Nikolay Sivov 74e951a73e dwrite: Add flag for cached advance presence.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Nikolay Sivov eef8a44db7 dwrite: Move glyph advances cache to PE side.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-06 16:14:10 +01:00