Commit Graph

781 Commits

Author SHA1 Message Date
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
Huw Davies fc028e99c1 usp10: ScriptPlace should honour the fZeroWidth attribute.
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-02-11 01:26:43 +09:00
Alexandre Julliard cb65a3fbf9 make_unicode: Fix typo in Indic syllable table generation.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 17:23:27 +09:00
Aric Stewart e395d4e766 usp10: Implement fOverrideDirection.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 01:01:47 +09:00
Aric Stewart 144a7aa6ef usp10: Correct math punctuation handling in itemization.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 18:21:47 +09:00
Aric Stewart 6c470a8bd3 usp10: Directional control codes force complex itemization.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 18:20:45 +09:00
Aric Stewart c160ad9e89 usp10: Rewrite ScriptXtoCP.
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-01-19 21:48:03 +09:00
Nikolay Sivov f47f8d2acd usp10: Remove unused helper (Clang).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-29 12:46:08 +09:00
Nikolay Sivov 9cede2f0a6 usp10/tests: Use BOOL variable for BOOL retval (PVS-Studio).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:34 +09:00
Nikolay Sivov e8c1cf4402 Update data tables to Unicode 8.0.0. 2015-10-02 15:37:05 +09:00
Aric Stewart 6b657e0760 usp10/tests: fix some tests on Hebrew and Arabic locales.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
2015-10-01 16:34:45 +09:00
Aric Stewart 0072188b69 usp10/tests: Catch case where enumerated font name is too long.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
2015-10-01 16:27:57 +09:00
Jacek Caban efb1cf0299 usp10: Added test of ScriptStringAnalyse call with 0 length string. 2015-09-10 20:10:32 +09:00
Thomas Faller f1334dbb8d usp10: Fix invalid read. 2015-09-03 21:11:06 +09:00
Nikolay Sivov f01bab5be1 usp10/tests: Fix some tests failures caused by Tahoma changes (Win10). 2015-08-24 14:42:09 +09:00
Akihiro Sagawa e083986df5 usp10: Display the blank glyph for some control characters (non truetype/opentype). 2015-08-12 23:00:08 +09:00
Akihiro Sagawa 22e8046fcb usp10: Display the blank glyph for some control characters (truetype/opentype). 2015-08-12 23:00:06 +09:00
Akihiro Sagawa 311fce671d usp10/tests: Add tests for control character glyphs. 2015-08-12 23:00:03 +09:00
Nikolay Sivov 7a02782f48 usp10: Remove dead null check that can't fail (Coverity). 2015-06-08 18:52:02 +09:00
Nikolay Sivov c7b5a2f851 usp10/tests: Fix some leaks on error path (Valgrind). 2015-04-16 15:14:10 +09:00
Michael Stefaniuc 7d1203a741 usp10: Remove an unused assignment (PVS-Studio). 2015-01-22 12:04:19 +01:00
Aric Stewart b2ef877506 usp10: Correct an off-by-one error in page cache allocation. 2014-12-17 17:08:23 +01:00
André Hentschel bc94ee099a usp10: Remove unused function (Clang). 2014-12-05 20:48:04 +01:00
Qian Hong 0cf62bec41 usp10: Make sure fallbackFont is NULL terminated. 2014-12-03 21:34:28 +01:00
Sebastian Lackner ebd1b86bbb usp10: Silence repeated GSUB_apply_ChainContext[Subst|Pos] FIXMEs. 2014-11-06 23:47:11 +09:00
Michael Stefaniuc 7585859986 usp10: Removed unused variable (PVS-Studio). 2014-10-29 20:31:07 +09:00
Nikolay Sivov 5281bff120 usp10: Remove comment that's no longer true. 2014-10-01 18:08:10 +02:00
Nikolay Sivov e65307f29f usp10: Use proper type for return value. 2014-09-22 19:08:40 +02:00
Nikolay Sivov 1183a781ec usp10: Add a missing 'break' for rule LB20. 2014-09-05 14:41:29 +02:00
Nikolay Sivov 5f52333d34 usp10/tests: Test for S_OK return value in a clean way. 2014-08-29 09:57:52 +02:00
Piotr Caban 4387192120 usp10: Limit trace length in iso_dump_types. 2014-07-14 17:22:42 +02:00
Piotr Caban 6d7ce98fec usp10: Limit trace length in dump_types. 2014-07-14 17:22:41 +02:00
Aric Stewart 710e23797f usp10: Implement N0: bracketing pairs. 2014-07-09 16:21:33 +02:00
Aric Stewart 2a12c6a7d4 tools: Generate the Unicode Bidi Bracketing table. 2014-07-08 17:00:24 +02:00
Alexandre Julliard 18d410dec1 tools: Don't include wine/unicode.h if not necessary. 2014-07-08 17:00:22 +02:00
Alexandre Julliard 96ff3daaa3 usp10: Update the character data tables to Unicode 7.0.0. 2014-06-23 16:05:13 +02:00
Frédéric Delanoy 2ab8729020 Assorted spelling/grammar fixes. 2014-06-20 12:19:31 +02:00
Bruno Jesus 3c16044410 usp10: Fix a memory leak in _ItemizeInternal (valgrind). 2014-06-11 16:11:39 +02:00
Frédéric Delanoy 0ec7907c61 usp10: Silence a noisy fixme in ScriptPlaceOpenType. 2014-05-08 17:41:53 +02:00
Huw Davies ee14105afd usp10/tests: Mark two failing Hebrew strings as broken under win8.
The strings are tagged as Hebrew, yet the RTL and bidi levels are not correctly set.
2014-05-06 19:20:22 +02:00
Vijay Kiran Kamuju 8b50762b18 usp10: Show fixme once in ScriptShapeOpenType. 2014-05-06 09:56:13 +02:00
Thomas Faber 3f9c9eaa54 usp10: Do not write to last script item if buffer space is insufficient. 2014-05-01 10:18:11 +02:00
Marcus Meissner b6a081ea44 usp10: Fixed border condition in shifts (Coverity). 2014-04-08 18:28:29 +02:00
Hermès Bélusca-Maïto 8fb52c7c5d usp10: Avoid non-standard array initialization. 2014-03-25 19:01:33 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Frédéric Delanoy 62da5f2604 usp10: Constify a character string. 2013-12-18 11:39:36 +01:00
Aric Stewart 9ccfebd615 usp10: Implement resolveResolved (L1) for Unicode 6.3. 2013-11-04 11:30:34 +01:00
Aric Stewart de5dc96f85 usp10: Rewrite resolveNeutral and resolveImplicit for Unicode 6.3. 2013-11-04 11:30:32 +01:00
Aric Stewart c767733631 usp10: Rewrite resolveWeak for Unicode 6.3. 2013-11-04 11:24:54 +01:00
Aric Stewart 2531d40b51 usp10: Rewrite resolveExplicit for Unicode 6.3. 2013-11-04 11:20:23 +01:00
André Hentschel f309e01282 usp10/tests: Fix tests compilation with __WINESRC__ defined. 2013-10-25 13:36:01 +02:00
Alexandre Julliard 13479aa7b8 tools: Update the character data tables to Unicode 6.3.0. 2013-10-15 16:09:16 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Marcus Meissner 90117bd175 usp10: Added missing break (Coverity). 2013-08-19 12:53:20 +02:00
Alexandre Julliard 1f44de3f65 usp10: Update the character data tables to Unicode 6.2.0. 2013-07-22 17:16:01 +02:00
Alexandre Julliard 2c5c2b5546 usp10: Update the line breaking algorithm to Unicode 6.2.0. 2013-07-22 17:16:00 +02:00
Aric Stewart e909665db3 usp10: Correct access to -1 index of array.
Issue found by Phil Krylov.
2013-03-25 14:04:12 +01:00
Phil Krylov c9cbde73c0 usp10: Support GPOS extension lookup subtables. 2013-03-25 14:03:52 +01:00
Huw Davies 28adfd4c3c usp10: Don't read past the end of the context_type array. 2013-03-14 17:44:21 +01:00
Andrew Talbot 4ef6a96890 usp10: Avoid signed-unsigned integer comparisons. 2013-02-28 21:00:58 +01:00
Huw Davies 5e5d8d215b usp10: Clusters are represented by glyph indices not character positions. 2013-02-20 13:17:26 +01:00
Alexandre Julliard 6af3e91cf8 usp10: Remove an unnecessary DllMain entry point. 2013-02-14 21:38:00 +01:00
Aric Stewart 9a59d81f72 usp10: Correct error with ScriptLayout log2vis.
Issue found and test written by Huw Davies.
2013-02-14 20:05:11 +01:00
Aric Stewart 237ed21737 usp10: Fix memory leak when a font has 0 languages, scripts or features.
Based on original fix proposded by Wojciech Pyczak.
2013-02-08 19:31:31 +01:00
Aric Stewart c8b5a16f0c usp10: Free default_language items when freeing script cache. 2013-02-08 19:31:22 +01:00
Michael Stefaniuc 9f6f8bfc00 usp10: Let C look like C. 2013-02-07 12:04:05 +01:00
Aric Stewart ef4b7c5948 usp10: Update diacritical script handling for non OpenType Itemization. 2013-02-05 20:15:47 +01:00
Aric Stewart e70b9b1c1e usp10: Split the core Itemize function out to be able to support differences between the normal and OpenType versions. 2013-02-05 20:15:38 +01:00
Aric Stewart 8077975e70 usp10: Fix typo with Script_Khmer_Numeric. 2013-02-05 20:15:38 +01:00
Francois Gouget a5ff4b8088 Assorted spelling fixes. 2013-01-29 12:13:04 +01:00
Aric Stewart 6c4f35f345 usp10: Do not apply SSA_LINK to right to left text. 2013-01-25 17:31:07 +01:00