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
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
Aric Stewart
6b8c910b37
usp10: MarkToMark calculations may need to happen even if the offset is 0.
2013-01-18 14:47:11 +01:00
Aric Stewart
62b4f31d6d
usp10: Implement GPOS Cursive Attachment Positioning Subtable.
2013-01-17 20:28:48 +01:00
Aric Stewart
e5ab22d684
ups10: Mark to Base, Mark and Ligature are not cumulative offsets.
2013-01-15 14:39:08 +01:00
Huw Davies
6ae41d015c
usp10: Fix MarkToMark offset for RTL text.
2013-01-14 17:35:25 +01:00
Huw Davies
464bf22fdf
usp10: Fix pair adjustment for RTL text.
2013-01-14 17:35:24 +01:00
Huw Davies
0783987a26
usp10: Don't compute a pair adjustment for the last glyph.
2013-01-14 17:35:24 +01:00
Huw Davies
7ba38ad62e
usp10: Fix MarkToBase offset for RTL text.
2013-01-14 17:35:23 +01:00
Huw Davies
b864b4aae2
usp10: Propagate the script analysis to the GPOS lookup functions.
2013-01-14 17:35:14 +01:00
Huw Davies
a66efc2631
usp10: Don't invert the y-offsets in RTL mode.
2013-01-14 17:30:09 +01:00
Huw Davies
bd08cecbb6
usp10: Fix the offset calculations for rtl display.
2013-01-11 18:14:07 +01:00
Huw Davies
f5ab208ce8
usp10: Handle an offset of the first glyph.
2013-01-11 18:14:07 +01:00
Huw Davies
83cbc07141
usp10: Simplify the reordering of glyphs.
2013-01-11 18:14:07 +01:00
Aric Stewart
7254a0ab4c
usp10: Implement GPOS MarkToLigature Attachment Positioning Subtable.
2013-01-10 12:23:01 +01:00
Huw Davies
082f989575
usp10: Simplify the offset calculation by always using ETO_PDY.
2013-01-08 19:09:45 +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
Francois Gouget
f963f93964
Assorted spelling fixes.
2013-01-07 11:10:40 +01:00
Marcus Meissner
02722c4d8e
usp10: Mark SHAPE_ApplyOpenTypePositions as hidden.
2012-12-28 11:25:25 +01:00
Andrew Talbot
c5ce8c8e08
usp10: Indentation fix.
2012-12-24 13:31:42 +01:00
Huw Davies
496898db51
usp10: Add support for format 2 pair adjustments.
2012-12-20 18:04:41 +01:00
Huw Davies
08fcdd5f6f
usp10: Move the application of pair values to a helper function.
2012-12-20 18:04:37 +01:00
Huw Davies
79cbcf9612
usp10: Glyph class tables are just generic class tables.
2012-12-20 18:04:33 +01:00
Huw Davies
b83216c124
usp10: PairValueRecord is a variable length struct, so don't use a C array to index into them.
2012-12-19 14:38:59 +01:00
Huw Davies
c28897f3e9
usp10: Add the ability to just return the size of the value record.
2012-12-19 14:38:59 +01:00
Qian Hong
dd2be15118
usp10/tests: Added tests for wgBlank, wgDefault, wgInvalid and wgKashida.
2012-11-21 15:21:37 +01:00
Qian Hong
33cefcf8ea
usp10: Fixed wgBlank, wgDefault, wgInvalid and wgKashida.
2012-11-21 15:21:30 +01:00
Michael Stefaniuc
b4712d2e16
usp10: Use FIELD_OFFSET to calculate the size of a struct with variable length array.
2012-10-31 18:07:19 +01:00
André Hentschel
4ee73e69b5
usp10: Avoid memory leak in ScriptTextOut (coverity).
2012-10-31 16:12:27 +01:00
André Hentschel
c41bdf98bb
usp10: Add missing break in switch (coverity).
2012-10-24 11:33:27 +02:00
Aric Stewart
af318c5fd0
usp10: Implement MarkToMark Attachment Positioning Subtable.
2012-08-16 17:13:09 +02:00
Aric Stewart
cd8c1b28ad
usp10: Correct rounding of negative offsets in GPOS.
2012-08-15 13:58:46 +02:00
Aric Stewart
e2250ce6cb
usp10: Correct implementation of Pair Positioning Adjustment: Format 1.
2012-08-15 13:55:25 +02:00
Aric Stewart
7819ce61b5
usp10: Use cached values in GPOS functions.
2012-08-13 12:07:39 +02:00
Aric Stewart
ef5daa9aa5
usp10: Cache OUTLINETEXTMETRICW in addition to TEXTMETRICW.
2012-08-13 12:07:34 +02:00
Aric Stewart
6ae4cfe973
usp10: Implement GPOS Coverage-based Chaining Context Glyph Positioning.
2012-07-17 14:23:53 +02:00
Aric Stewart
ea9f2266de
ups10: Implement Single Adjustment Positioning: Format 2.
2012-07-17 14:23:44 +02:00
Aric Stewart
5a45e34741
usp10: Implement GPOS Pair Adjustment Positioning Subtable.
2012-07-16 17:03:14 +02:00
Aric Stewart
e3a98b437b
usp10: Implement GPOS Single Adjustment Positioning.
2012-07-16 17:03:05 +02:00
Aric Stewart
1dc148d7cc
usp10: Handle GPOS ValueRecords.
2012-07-16 17:02:56 +02:00
Aric Stewart
85c9984389
usp10: Implement GPOS MarkToBase.
2012-07-16 17:02:45 +02:00
Aric Stewart
b65d0b96ce
usp10: In ScriptTextOut make use of piAdvance and pGoffset to position glyphs.
2012-07-16 17:02:36 +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
69351a9cea
usp10: Implement GPOS Anchor formats.
2012-07-16 17:02:14 +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
Aric Stewart
6189568072
ups10: Rename common opentype tables used in both GSUB and GPOS to OT_.
2012-07-16 16:59:41 +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
6c43ef46d8
usp10: Properly handle fonts with scripts without a default language.
2012-06-11 21:03:45 +02:00
Aric Stewart
7fbf72c400
usp10: Correct glyph caching beyond the BMP.
2012-06-05 10:24:07 +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
Aric Stewart
1f4554d141
usp10: Check bounds before checking value in array.
2012-05-25 15:56:38 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Francois Gouget
7796895b74
usp10: Fix the spelling of the Consonant_is_post_base_form() function.
2012-05-15 16:26:42 +02:00
Aric Stewart
9f6217e831
usp10: Add fallback font for Myanmar.
2012-03-27 11:38:19 +02:00