Commit Graph

709 Commits

Author SHA1 Message Date
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