Aric Stewart
9d32c2d31a
usp10: Fall back to 'dflt' language if shaping language tag isn't found.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-18 08:13:01 +09: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
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
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
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
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
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
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
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
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
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
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
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
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
Akihiro Sagawa
22e8046fcb
usp10: Display the blank glyph for some control characters (truetype/opentype).
2015-08-12 23:00:06 +09:00
Nikolay Sivov
7a02782f48
usp10: Remove dead null check that can't fail (Coverity).
2015-06-08 18:52:02 +09:00
Alexandre Julliard
96ff3daaa3
usp10: Update the character data tables to Unicode 7.0.0.
2014-06-23 16:05:13 +02:00
Huw Davies
28adfd4c3c
usp10: Don't read past the end of the context_type array.
2013-03-14 17:44:21 +01:00
Aric Stewart
6d1d7eedd9
usp10: Add ShapeCharGlyphProp and ContextualShape for Control characters.
2013-01-25 11:17:28 +01:00
Aric Stewart
8df64b8589
usp10: Add ShapeCharGlyphProp_Latin to properly handle zero width character properties for Latin.
2013-01-25 11:17:23 +01:00
Aric Stewart
f6bdaf369c
usp10: Only fall back to latin features if the base script tag is not found at all.
2013-01-21 16:27:27 +01:00
Aric Stewart
ddf6b6e585
usp10: Add locl and ccmp to Latin features.
2013-01-21 16:27:15 +01:00
Aric Stewart
c1f190a0c5
usp10: GPOS Mark to Base seeks back in the string to the first glyph that is not a mark for its base.
2013-01-21 12:14:34 +01:00
Aric Stewart
287243a9b9
usp10: Group the GDEF table loading with the other opentype tables.
2013-01-21 12:14:19 +01:00
Huw Davies
b864b4aae2
usp10: Propagate the script analysis to the GPOS lookup functions.
2013-01-14 17:35:14 +01:00
Aric Stewart
a1648ac5e7
usp10: Add GSUB ccmp feature to Hebrew.
2013-01-08 19:09:40 +01:00
Aric Stewart
9dd91d3198
usp10: Correct issues if a feature tag is duplicated between GSUB and GPOS.
...
Identified by Huw Davies.
2013-01-08 19:09:35 +01:00
Aric Stewart
7819ce61b5
usp10: Use cached values in GPOS functions.
2012-08-13 12:07:39 +02:00
Aric Stewart
f70864b827
usp10: Add GPOS features to scripts as defined by VOLT.
2012-07-16 17:02:25 +02:00
Aric Stewart
940961fcf7
usp10: Implement SHAPE_ApplyOpenTypePositions using GPOS table.
2012-07-16 17:02:02 +02:00
Aric Stewart
84b8dbfa8a
usp10: Change OpenType_GSUB_GetFontFeatureTags to OpenType_GetFontFeatureTags and load features from GPOS table.
2012-07-16 17:01:40 +02:00
Aric Stewart
2123f049d3
usp10: Change OpenType_GSUB_GetFontLangaugeTags to OpenType_GetFontLanguageTags and load languages from GPOS table as well.
2012-07-16 17:01:31 +02:00
Aric Stewart
e031293521
usp10: Change OpenType_GSUB_GetFontScriptTags to OpenType_GetFontScriptTags and load scripts from GPOS table as well.
2012-07-16 17:01:15 +02:00
Aric Stewart
9d408bbbf0
usp10: Load the GPOS table.
2012-07-16 17:00:38 +02:00
Michael Stefaniuc
f596c747ef
usp10: Remove unreachable break after return (Smatch).
2012-06-26 12:41:05 +02:00
Aric Stewart
91f161c8b1
usp10: Add ShapeCharGlyphProp_Hebrew.
2012-06-20 10:27:25 +02:00
Aric Stewart
9ea4543d12
usp10: In ShapeCharGlyphProp_BaseIndic set justification to SCRIPT_JUSTIFY_NONE for glyphs with no characters.
2012-06-12 17:27:19 +02:00
Aric Stewart
3447b716a6
usp10: Do not use custom indic ShapeCharGlyphProp when shaping Indic numeric scripts.
2012-06-12 17:27:12 +02:00
Aric Stewart
f241014f46
usp10: Corrections for ShapeCharGlyphProp_Thai.
2012-06-11 21:03:45 +02:00
Aric Stewart
4f7ea5737a
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Lao.
2012-06-04 16:35:37 +02:00
Aric Stewart
28854b452e
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Thai.
2012-06-04 16:35:34 +02:00
Aric Stewart
14f42cdcbc
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Thaana.
2012-06-04 16:35:32 +02:00
Aric Stewart
3fd459b232
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Syriac.
2012-06-04 16:35:29 +02:00
Aric Stewart
8b9a7a1ed8
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Hebrew.
2012-06-04 16:35:26 +02:00
Aric Stewart
a2c1bd1ff5
usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Arabic.
2012-06-01 17:46:42 +02:00