Commit Graph

793 Commits

Author SHA1 Message Date
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
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
Aric Stewart 5bb7590fad usp10: Properly handle invalid arguments to ScriptBreak. 2012-03-26 12:41:28 +02:00
Aric Stewart 9af6b11808 usp10: Better handle 0 cases when caching scripts, languages and features. 2012-02-28 11:56:56 +01:00
Aric Stewart 17cd9d3325 usp10: We do not yet shape hangul properly so allow for SSA_LINK flags to take effect. 2012-02-02 09:52:45 +01:00
Aric Stewart 3ae30a676a usp10: Implement SSA_LINK flag. 2012-02-01 16:42:43 +01:00
Aric Stewart f50f05da23 usp10: Limit runs in ScriptStringAnalyse to 255. 2012-01-30 20:44:46 +01:00
Aric Stewart 4df4929198 usp10: Use a bsearch function to find a glyph in the LogClust array. 2012-01-30 20:44:45 +01:00
Aric Stewart 2ab625bf2f usp10: pwLogClust is ordered so its max will be on one end. 2012-01-30 20:44:45 +01:00
Thomas Faber 8ab4f85bbb usp10: Fix build with MSVC. 2012-01-27 14:57:55 +01:00
Aric Stewart 4019987391 usp10: Move GSUB functions to opentype.c. 2012-01-04 19:00:13 +01:00
Aric Stewart bf1ef214e6 usp10: Move GDEF functions to opentype.c. 2012-01-04 18:59:57 +01:00
Aric Stewart 6311ccfe97 usp10: Move CMAP functions to opentype.c. 2012-01-04 18:59:52 +01:00
Aric Stewart ece423b858 usp10: Add more Microsoft Sans Serif fallbacks. 2012-01-04 18:58:27 +01:00
André Hentschel d845510170 usp10: Check for pointer before using it (Coverity). 2012-01-04 18:54:27 +01:00
Aric Stewart f7a21f8cba usp10: Cache feature lookups. 2012-01-03 18:06:53 +01:00
Aric Stewart c632f71e08 usp10: Have load_GSUB_feature return LoadedFeature*. 2012-01-03 18:06:47 +01:00
Aric Stewart f04b6b2fc8 usp10: Replace GSUB_get_feature with GSUB_GetFontFeatureTags. 2012-01-03 18:06:38 +01:00