Rémi Bernon
17ac4059a5
dwrite: Statically init the system_fallback locale list.
...
To avoid a crash on DLL unload if it wasn't initialized.
2023-01-24 20:06:18 +01:00
Nikolay Sivov
28efff3855
dwrite: Handle higher planes characters in line breaking logic.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-06 21:40:39 +02:00
Nikolay Sivov
4a7a979e79
dwrite/bidi: Prepare for characters above BMP.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-06 21:40:39 +02:00
Nikolay Sivov
d8584a16ed
dwrite: Handle higher planes when setting DWRITE_SCRIPT_SHAPES_NO_VISUAL.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-06 21:40:39 +02:00
Alexandre Julliard
ba58338b21
unicode: Add data for high Unicode planes to the linebreak table.
2022-09-05 18:41:47 +02:00
Alexandre Julliard
c848f42aa0
unicode: Add data for high Unicode planes to the scripts table.
2022-09-05 18:41:47 +02:00
Nikolay Sivov
eddf252aff
dwrite: Fix spans length reported by AnalyzeScript() for characters above BMP.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-02 22:10:21 +02:00
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
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
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
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
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
909f7aa7c2
dwrite: Use CRT allocation functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Nikolay Sivov
992e0a6045
dwrite: Add properties for new Unicode 13 scripts.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-18 16:01:34 +02:00
Nikolay Sivov
430145e431
dwrite: Check for allocation failures of glyph buffers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-11 18:30:50 +02:00
Nikolay Sivov
fcd8508993
dwrite: Use wide-char literals.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-31 22:16:25 +02:00
Nikolay Sivov
db516804cc
dwrite: Build with msvcrt.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-30 17:10:03 +02:00
Nikolay Sivov
118b080a08
dwrite: Use same name for refcount field across different object structures.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +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
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
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
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
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
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
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
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