Nikolay Sivov
5d9f0be001
dwrite: Handle variation selectors 17-256 in MapCharacters().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-01 17:42:49 +02:00
Nikolay Sivov
8e1278684a
dwrite: Add NNBSP (202F) to Mongolian fallback range.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-31 21:52:25 +02:00
Nikolay Sivov
55439cc3ef
dwrite: Skip variation selectors in MapCharacters().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-31 21:52:25 +02:00
Nikolay Sivov
857ec56f45
dwrite/fallback: Add Georgian and Armenian ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-11 16:51:00 +02:00
Nikolay Sivov
1795fd7af9
dwrite/fallback: Fill in some more fallback ranges for various scripts.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-10 14:07:35 +02:00
Nikolay Sivov
5b46a8a065
dwrite/fallback: Add mappings for some CJK ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-09 15:53:32 +02:00
Nikolay Sivov
2879930172
dwrite/tests: Add a helper to create analyzer instance.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-09 15:53:32 +02:00
Nikolay Sivov
1bff5e5859
dwrite/fallback: Make sure all consecutively mapped characters belong to the same mapping.
...
Picked fallback font often has wider character support than the ranges it's configured for.
Desired behavior is to stop at the first character that doesn't belong to current mapping.
For example, in texts like "abc<some CJK sequence>abc" we'd want the same for both "abc" sequences,
as opposed to using fallback CJK font for trailing Latin range.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-08 18:51:25 +02:00
Nikolay Sivov
e25ff734cf
dwrite/fallback: Consider character size for returned mapped length.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-08 18:51:23 +02:00
Nikolay Sivov
c4c3e9fee4
dwrite: Add ff00-ffef range to the fallback configuration.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-05 20:13:33 +02:00
Nikolay Sivov
2dd903885b
dwrite: Fix stretch value validation in CreateTextFormat().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-08-03 15:09:02 +02:00
Nikolay Sivov
f6f2a1a3e5
dwrite: Fix fallback config ranges text parsing.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-29 18:55:38 +02:00
Nikolay Sivov
9ff62cb30a
dwrite: Add Arabic fallback ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-27 23:07:06 +02:00
Nikolay Sivov
b32acacb4f
dwrite: Add a few more fallback ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-25 22:47:47 +02:00
Nikolay Sivov
5259c1a1dc
dwrite: Use correct ranges to set DWRITE_SCRIPT_SHAPES_NO_VISUAL.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-25 22:47:47 +02:00
Nikolay Sivov
dcb8094a37
dwrite: Use u32-reads for AnalyzeScript().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-25 22:47:47 +02:00
Nikolay Sivov
d8fa0ff148
dwrite: Add some mappings for Tahoma in the system fallback.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:10 +02:00
Nikolay Sivov
26e717c565
dwrite: Remove old system fallback logic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:10 +02:00
Nikolay Sivov
d37eb0f144
dwrite: Implement MapCharacters() for custom fallback.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:09 +02:00
Nikolay Sivov
d800cd7437
dwrite: Extend matching font creation helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:09 +02:00
Nikolay Sivov
fcbb0f6c61
dwrite: Duplicate mapping data when creating fallback object.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:09 +02:00
Nikolay Sivov
f2ad1d8b93
dwrite: Override existing ranges with AddMapping().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:09 +02:00
Nikolay Sivov
76e675a011
dwrite: Keep locales separate for fallback data.
...
Each locale entry contains a "list" of its mappings.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:08 +02:00
Nikolay Sivov
78846236b9
dwrite: Filter out unusable ranges on AddMapping().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:08 +02:00
Nikolay Sivov
1cf2ac20c8
dwrite: Add additional structure for mappings array.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:08 +02:00
Nikolay Sivov
c4af69e0b7
dwrite: Use older interface version for fallback system collection.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-07-22 17:54:07 +02:00
Alexandre Julliard
194e09baec
makefiles: Add separate variables for Unix flags and libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
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