Henri Verbeet
34a9400a89
usp10: Validate positioning record sequence indices in GPOS_apply_ChainContextPos().
...
The issue is somewhat theoretical, since in reasonbale fonts the indices
should always be valid, and in fact are fairly likely to be 0. On the other
hand, web fonts exist.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:11:10 +02:00
Henri Verbeet
9694aeb06d
usp10: Avoid special handling if the substitution count is 0 in GSUB_apply_ChainContextSubst().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:34 +02:00
Henri Verbeet
f7b943edbc
usp10: Range check glyph counts in GSUB_apply_ChainContextSubst().
...
Like in GPOS_apply_ChainContextPos().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:32 +02:00
Henri Verbeet
24943fe5e2
usp10: Simplify the chaining context table assignments in GSUB_apply_ChainContextSubst().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:30 +02:00
Henri Verbeet
02316e6613
usp10: Rename the chaining context tables in GSUB_apply_ChainContextSubst() to something more descriptive.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 19:00:28 +02:00
Henri Verbeet
0389768568
usp10: Return early if the number of positioning operations is 0 in GPOS_apply_ChainContextPos().
...
This preserves the current logic, but I wonder if we're not supposed to always
return "input_count". Returning 1 seems questionable if we matched more input
glyphs than that, and so does including the lookahead count.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:39:54 +02:00
Henri Verbeet
7dfe9b9c94
usp10: Range check glyph counts in GPOS_apply_ChainContextPos().
...
I.e., avoid accessing outside the "glyphs" array. If we're particularly
unlucky we may actually get a match against data outside the array.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:39:54 +02:00
Henri Verbeet
f6c0146499
usp10: Simplify the chaining context table assignments in GPOS_apply_ChainContextPos().
...
And avoid some endian conversions in the process.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:39:54 +02:00
Henri Verbeet
fb3ea0ae05
usp10: Rename the chaining context tables in GPOS_apply_ChainContextPos() to something more descriptive.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:39:54 +02:00
Nikolay Sivov
04e5466e12
usp10: Handle invalid arguments in ScriptIsComplex().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 19:34:27 +02:00
Jacek Caban
4553871614
usp10: Check if corresponding headers are present before accessing their feature lists in _initialize_feature_cache.
...
Based on feedback from Henri, fixes regression from commit
63bcfa3354
.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-31 17:08:08 +02:00
Henri Verbeet
63bcfa3354
usp10: Get rid of the code duplication between GSUB_initialize_feature_cache() and GPOS_expand_feature_cache().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 16:04:13 +02:00
Henri Verbeet
9b0f3f1bac
usp10: Get rid of some code duplication in GPOS_expand_feature_cache().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 16:04:13 +02:00
Henri Verbeet
0ffd5b45ea
usp10: Double the languages array size when growing it in GPOS_expand_language_cache().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 16:04:13 +02:00
Henri Verbeet
218be443b6
usp10: Double the scripts array size when growing it in GPOS_expand_script_cache().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 16:03:16 +02:00
Henri Verbeet
9a15753d40
usp10: Introduce a helper function to lookup a language in a LoadedScript structure.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 14:33:57 +02:00
Henri Verbeet
2a0ffc9852
usp10: Introduce a helper function to lookup a script in the script cache.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 12:44:54 +01:00
Henri Verbeet
213d3588a7
usp10: Avoid LPVOID.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 12:44:52 +01:00
Henri Verbeet
1403087954
usp10: Avoid LPCVOID.
...
And cleanup a few style issues along the way.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 12:44:50 +01:00
Henri Verbeet
a204e589b5
usp10: Avoid LPWSTR.
...
And cleanup a few style issues along the way.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 12:44:48 +01:00
Henri Verbeet
cdd47c3dc3
usp10: Avoid LPCWSTR.
...
And cleanup some style issues along the way.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 15:13:42 +01:00
Henri Verbeet
af617aacca
usp10: Avoid LPBYTE.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 15:13:40 +01:00
Henri Verbeet
34c2f74518
usp10: Avoid LPWORD.
...
And cleanup a style issue along the way.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 15:13:38 +01:00
Henri Verbeet
ab8ec605b8
usp10: Avoid LPPOINT.
...
And cleanup some style issues along the way.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 15:13:35 +01:00
Henri Verbeet
ba66b626eb
usp10: Avoid LPOUTLINETEXTMETRICW.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:45 +01:00
Henri Verbeet
df21247491
usp10: Make the script cache parameter to get_opentype_script() const.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:43 +01:00
Henri Verbeet
c8f87ad3ed
usp10: Make the script cache parameter to GPOS_apply_MarkToBase() const.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:41 +01:00
Henri Verbeet
cd9db34e51
usp10: Pass const metrics to GPOS_convert_design_units_to_device().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:40 +01:00
Henri Verbeet
6e2161670d
usp10/tests: Explicitly skip tests when required fonts are not available.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 13:22:38 +01:00
Nikolay Sivov
2cc730b4ad
usp10/tests: Fix a buffer leak (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 22:07:36 +01:00
Henri Verbeet
c3dc9edc25
usp10: Use heap_free() instead of HeapFree().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:26 +01:00
Henri Verbeet
6a0e5bb79d
usp10: Use heap_alloc() instead of HeapAlloc().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:26 +01:00
Henri Verbeet
77e5a2fba9
usp10: Use heap_alloc_zero() instead of HeapAlloc() with HEAP_ZERO_MEMORY.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-10 23:21:26 +01:00
Henri Verbeet
3c704c2c16
usp10: Use bsearch() to lookup the script range in get_char_script().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:31:05 +01:00
Henri Verbeet
a523b46d0b
usp10: Introduce an enumeration for script types.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:31:03 +01:00
Henri Verbeet
502d23986c
usp10: Do not fall back to presentation form B if the contextual feature exists in ContextualShape_Arabic().
...
E.g., the base form of 'ا' may be the same as the isolated form, in which case
the "isol" feature may not have a substitution for it. At the same time, while
the presentation form B glyph may look the same or similar as the base form,
it may have a different glyph ID. This can break e.g.
GSUB_LOOKUP_CONTEXT_CHAINED substitutions because of the unexpected glyph ID.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 15:31:01 +01:00
Henri Verbeet
9db12225f4
usp10/tests: Add shaping tests for fLogicalOrder and fRTL.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:49:16 +01:00
Henri Verbeet
f13dea5684
usp10: Properly determine the glyph run direction when shaping Script_Arabic.
...
In particular, if fLogicalOrder and fRTL are both set, the glyph order is
swapped compared to the character order. In all other cases it's the same.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:49:16 +01:00
Henri Verbeet
c94a5fd28c
usp10: Take the script direction into account when applying OpenType features.
...
As opposed to just looking at the run direction.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:49:16 +01:00
Henri Verbeet
badb0a7530
usp10/tests: Add a ligature and diacritic to the syrc shaping test.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:49:15 +01:00
Henri Verbeet
04cd6029ea
usp10/tests: Add a latn shaping test with ligatures.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:49:15 +01:00
Henri Verbeet
1727dd4156
usp10: Use USP10_FindGlyphInLogClust() in UpdateClusters().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-01 15:56:58 +01:00
Henri Verbeet
bab506e1cd
usp10: Use memmove() in GSUB_apply_LigatureSubst().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-01 15:56:56 +01:00
Henri Verbeet
66df220c00
usp10: Make feature tables const.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-01 15:56:54 +01:00
André Hentschel
b32fb231e6
usp10: Fix ScriptGetProperties spec file entry.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:04:24 +01:00
Francois Gouget
1a42ee3198
usp10: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
...
And standardize their type names.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:04:18 +01:00
Nikolay Sivov
892393bb76
usp10: Filter out DeltaFormat == 0 too, valid range is [1, 3].
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:04:12 +01:00
Henri Verbeet
66dce1e75f
usp10: Introduce an enumeration for GSUB lookup types.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:04:06 +01:00
Nikolay Sivov
fefd15118f
usp10: Ignore device tables with invalid delta format.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:14:28 +01:00
Henri Verbeet
b6d541cac5
usp10: Iterate in visual order in GPOS_apply_feature().
...
In particular, cursive attachment application depends on previous visual order
glyph offsets. Affects e.g. wordpad with Nastaliq fonts.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:09:06 +01:00
Henri Verbeet
6fec9b1325
usp10: Return the logical offset in GPOS_apply_lookup().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:09:04 +01:00
Henri Verbeet
8d1566735f
usp10: Return the logical offset in GPOS_apply_ChainContextPos().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:09:02 +01:00
Henri Verbeet
22101966cf
usp10: Return the logical offset in GPOS_apply_ContextPos().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:09:00 +01:00
Henri Verbeet
6e84358bcd
usp10: Return the logical offset in GPOS_apply_PairAdjustment().
...
The base index is redundant, and actually makes it harder to iterate in
logical order in GPOS_apply_feature().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:08:58 +01:00
Henri Verbeet
61e8a388b2
usp10: Introduce an enumeration for GPOS lookup types.
...
As opposed to using magic numbers.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:08:53 +01:00
Henri Verbeet
4b22953ec5
usp10: Properly get glyph widths for OpenType fonts in ScriptPlaceOpenType().
...
I.e., don't use GetCharWidth32W() with glyph indices. This fixes glyph
advances for OpenType fonts in wordpad.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:08:34 +01:00
Henri Verbeet
d00f7315e0
usp10: Itemise ZWSP like ZWNJ and ZWJ.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 22:58:48 +01:00
Henri Verbeet
721fbf617b
usp10: Explicitly check for zero-width control characters in ScriptShapeOpenType().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 22:58:48 +01:00
Nikolay Sivov
7e6a4b2bf5
usp10: Fix LB27 rule that should check for prefix, not suffix.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 15:58:44 +01:00
Nikolay Sivov
c4626bba01
usp10: Fixed LB30 condition, breaking after CP class.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 15:58:44 +01:00
Aric Stewart
0c1419542f
usp10: Apply 'ccmp' before Arabic contextual shaping.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:47 +01:00
Aric Stewart
e2d4cf9e29
usp10: Fix next index for RTL MultipleSubst.
...
MultipleSubst will expand the glyph array to the right, so when the
writing direction is RTL the next index does not need to be modified by
the new count of glyphs.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:47 +01:00
Aric Stewart
0401bdfad6
usp10: Change GSUB_E_NOGLYPH value.
...
-1 is a potentially valid index to return for RTL languages.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:47 +01:00
Aric Stewart
10e9adfb27
usp10: Fix Contextual Shaping for Languages with RTL write order.
...
Including Arabic, Syriac, Phags pa, and Mongolian.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-30 21:38:47 +01:00
André Hentschel
961e1e6857
usp10: Fix ScriptRecordDigitSubstitution spec file entry.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-29 10:16:06 +01:00
Huw Davies
427caff915
usp10/tests: Reorder the todo and broken arrays to match the order of the expected values.
...
Also ensure that all elements of the broken arrays are explicitly initialized.
This allows many tests to run that were previously incorrectly skipped.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:57:26 +01:00
Aric Stewart
aae5a831e2
usp10: Implement Chaining Context Substitution Format 2: Class-based Chaining Context Glyph Substitution.
...
Used by the font Noto Nastaliq Urdu.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 20:04:52 +01:00
Aric Stewart
b98a70aa40
usp10: Implement Contextual Positioning Subtable: Format 2.
...
Used by the font Noto Nastaliq Urdu.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 20:04:52 +01:00
Aric Stewart
5e6b2c0ed6
usp10: Implement GSUB Context Substitution types 1 and 2.
...
Used by the font Noto Nastaliq Urdu.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 20:04:51 +01:00
Huw Davies
55c5a77b47
usp10/tests: Add a second set of glyph props that have changed in Windows 10.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 15:54:45 +01:00
Francois Gouget
c705eca8cb
usp10: A spelling fix in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-10 19:19:15 +01:00
Huw Davies
0dbd2e37f9
usp10: Free the final page.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 00:36:45 +09:00
Nikolay Sivov
0695368406
usp10: Better implementation for ScriptGetLogicalWidths().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 23:56:11 +09:00
Bernhard Übelacker
d900c758b7
usp10/tests: Reserve for InClass a byte for every character in teststr.
...
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 18:41:21 +09:00
Michael Stefaniuc
ac740f17dc
usp10/tests: Use SetRect() instead of open coding it.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-16 15:54:58 +09:00
Thomas Faber
3784524265
usp10: Avoid buffer overrun in ReplaceInsertChars.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 11:50:02 +09:00
Nikolay Sivov
58e0972c5c
Update data tables to Unicode 9.0.0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:09:28 +09:00
Hadrien Boizard
37840f84ff
usp10: Use wine_dbgstr_point in TRACES.
...
Signed-off-by: Hadrien Boizard <h.boizard@gmail.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:21 +09:00
Henri Verbeet
5098bddf90
usp10: Replace zero-width glyphs with 0x20 when psa->fNoGlyphIndex is set in ScriptShapeOpenType().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:03:19 +09:00
Henri Verbeet
9f5389de15
usp10: Replace more control characters with blanks.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:03:17 +09:00
Henri Verbeet
68830f12e7
usp10: Don't replace control characters with blanks when psa->fNoGlyphIndex is set.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:03:11 +09:00
Henri Verbeet
d73f2b02b0
usp10: Don't modify psa->fNoGlyphIndex in ScriptShapeOpenType().
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:03:09 +09:00
Henri Verbeet
acf2d54fb3
usp10: Set fZeroWidth when replacing control characters with blanks.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:03:06 +09:00
Henri Verbeet
21586466ac
usp10: Set the base embedding level for Script_Arabic_Numeric to 2.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:06:54 +09:00
Henri Verbeet
2ce0f7e4a3
usp10: Arabic numerals are written left-to-right.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:06:52 +09:00
Henri Verbeet
4be7accf2a
usp10: Handle C2_ARABICNUMBER as numeric.
...
I.e., make sure ٬ and ٫ get classified as Script_Arabic_Numeric.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:06:48 +09:00
Henri Verbeet
f1628183ab
usp10/tests: Add an itemisation test for Arabic numerals and punctuation.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-08 23:06:43 +09:00
Henri Verbeet
e54bee4415
usp10: Properly check for numeric scripts.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 22:04:49 +09:00
Henri Verbeet
ae1c02a27f
usp10: Set the base embedding level for Script_Persian to 2.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 22:04:49 +09:00
Henri Verbeet
8b114ddaf6
usp10: Persian numerals are written left-to-right.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 22:04:48 +09:00
Henri Verbeet
e49ad1cc5b
usp10: Fix the script tag and fallback font for Script_Persian.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 22:04:48 +09:00
Henri Verbeet
fd5860d2f2
usp10/tests: Add an itemisation test for Persian numerals and punctuation.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 22:04:47 +09:00
Francois Gouget
65893a7142
usp10: Punctuation fixes.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-31 11:30:54 +09:00
Henri Verbeet
71cabaa4b9
usp10: Resolve BNs and explicit formatting characters to the preceding level in resolveResolved().
...
As in section 5.2 of the Unicode Bidirectional Algorithm.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 21:26:20 +09:00
Nikolay Sivov
9da5adce66
usp10: Some spelling fixes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:31 +09:00
Nikolay Sivov
9aa8b1847f
usp10: Trace RECT arguments in text output functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 12:50:29 +09:00
Alexandre Julliard
0bbeaae678
make_unicode: Mark most data tables as hidden.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-25 00:25:01 +09:00
Nikolay Sivov
e6e0bc4a06
usp10/tests: Use todo_wine_if() in tests.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-18 00:22:01 +09:00
Aric Stewart
12fb74ac56
usp10: Handle GSUB SubType 7: Extension Substitution.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-13 13:23:31 +09:00
Nikolay Sivov
a8c6c9f49a
usp10: Use memcpy() to return ScriptLayout() results.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:13:33 +09:00