Commit Graph

590 Commits

Author SHA1 Message Date
Marcus Meissner 76702f3391 usp10: Fixed some oom handling (Coverity). 2011-10-17 17:45:05 +02:00
Aric Stewart 29b52fa575 usp10: Add fallback font for Armenian and Georgian. 2011-10-14 20:26:42 +02:00
Aric Stewart 85d33f4139 usp10: Correct buffer reading overrun.
Found by Dan Kegel using valgrind.
2011-10-14 20:26:42 +02:00
Aric Stewart c1607a04b9 usp10: Correct where the trailing flag transitions in the middle of a glyph. 2011-10-12 20:52:46 +02:00
Aric Stewart 14eaa18dae usp10: Implement SSA_FALLBACK. 2011-10-11 13:37:49 +02:00
Aric Stewart 314553f194 usp10: Improve handling of tabs and SSA_TAB. 2011-10-11 13:37:49 +02:00
Aric Stewart 95ca444692 usp10: Handle the SSA_PASSWORD flag in ScriptStringAnalyse. 2011-10-08 20:21:26 +02:00
Aric Stewart 63490ce038 usp10: Correct ScriptStringGetLogicalWidths to be based on char not glyph. 2011-10-06 12:28:06 -05:00
Aric Stewart b8f1b5adfe usp10: ScriptShape needs a number of SCRIPT_VISATTR equal to glyphs not chars. 2011-09-23 17:40:49 +02:00
Aric Stewart 7ccf31bde8 usp10: Set fNoGlyphIndex only if the fonts has no opentype/truetype tables. 2011-09-14 17:00:19 +02:00
Aric Stewart 7ae0b72e2f usp10: Respect the presence or absence of the SSA_GLYPHS flag. 2011-09-09 13:32:54 +02:00
Aric Stewart dd4dd261f5 usp10: Respect the presence or absence of the SSA_BREAK flag. 2011-09-09 13:32:49 +02:00
Aric Stewart 4e760d8914 usp10: Disable glyph indexes for Symbol, non-TrueType, and device fonts. 2011-09-06 15:59:16 +02:00
Aric Stewart 8b14f3f542 usp10: When calling ShapeIndicSyllables we need to use cChars which is the actual number of original characters. 2011-08-30 11:54:32 +02:00
Aric Stewart 49dc1570b7 usp10: Draw selected glyphs in ScriptStringOut. 2011-08-29 17:09:00 +02:00
Aric Stewart f1796a94a5 usp10: Modify ScriptStringOut to paint the string item by item. 2011-08-29 17:03:51 +02:00
Aric Stewart a7071662f7 usp10: Display and handle bidi runs in the correct order in ScriptString functions. 2011-08-29 17:03:42 +02:00
Aric Stewart 515dd2543e usp10/test: Test ScriptXtoX on an RTL set with differing cChars and cGlyphs. 2011-08-25 17:56:26 +02:00
Francois Gouget c992ca277d Assorted spelling fixes. 2011-08-24 19:07:46 +02:00
Aric Stewart 74a0a3fdd8 usp10: In ScriptXtoX use cChars as the item is the character index. 2011-08-24 15:05:51 +02:00
Aric Stewart 126c779832 usp10/tests: Refactor test_ScriptXtoX to make testing varying datasets easier. 2011-08-24 15:05:44 +02:00
Aric Stewart 1ad1474be5 usp10: Always use a SCRIPT_STATE and SCRIPT_CONTROL structure in ScriptStringAnalyse. 2011-08-24 11:58:14 +02:00
Aric Stewart fda05436d1 usp10: Implement Multiple Substitution Subtable. 2011-08-23 16:53:51 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
André Hentschel a6a7bceb1a usp10: Fix possible crashes (clang). 2011-07-14 14:46:56 +02:00
Aric Stewart 94e057dde5 usp10: Add missing Bengali entry. 2011-07-09 11:47:08 +02:00
Alexandre Julliard b99b9565e8 usp10: Make the various lookup tables more compact. 2011-07-07 17:30:35 +02:00
Aric Stewart 7339c04b7b usp10: Shift to using the unicode data for most of the indic lexical functions. 2011-07-07 14:59:37 +02:00
Aric Stewart 95166855bb usp10: Implement ScriptBreak using the Unicode Line Breaking Algorithm. 2011-07-07 14:56:50 +02:00
Aric Stewart cf40ef178e usp10: Restart Indic syllable processing immediately after malformed syllable. 2011-06-27 15:08:16 -05:00
Aric Stewart df16d37b67 usp10: Correct Pre Base glyph index shifting. 2011-06-24 11:56:34 -05:00
Aric Stewart 152d179149 usp10: Non modern Indic fonts want blwf applied pre and post base. 2011-06-23 09:47:33 +02:00
Aric Stewart 1fed1473a0 usp10: Update Indic framework to handle non-modern fonts. 2011-06-23 09:47:33 +02:00
Aric Stewart 3d56d674aa usp10: Correct ralf glyph offset calculation in PostBase. 2011-06-21 17:38:16 +02:00
Aric Stewart 648b7f2afa usp10: Correct Post Base glyph index shifting. 2011-06-21 17:38:13 +02:00
Marcus Meissner c2748cfba5 usp10: Removed 2 superflous lines of code (Coverity). 2011-06-16 21:04:28 +02:00
Aric Stewart 520f07a4b0 usp10: Pre-base consonants need to be reordered like pre-base matras for scripts that have them. 2011-06-16 21:04:17 +02:00
Aric Stewart 9a849038ec usp10: Do matra second reorderings for Tamil and Malayalam to prevent blocking consonant ligatures. 2011-06-16 21:04:12 +02:00
Aric Stewart 4a6364d3c0 usp10: Enable a second reorder step after basic shaping. 2011-06-16 21:04:03 +02:00
Aric Stewart 75520505de usp10: Refine post-matra Ralf reordering to be post below form consonants as well. 2011-06-16 21:03:58 +02:00
Aric Stewart 2a8e004bcf usp10: More corrections to the Telugu lexical function. 2011-06-16 21:03:42 +02:00
Aric Stewart 88ad318fb8 usp10: Correct an error with the Telugu lexical function. 2011-06-16 18:24:45 +02:00
Aric Stewart 4709b0bf58 usp10: Condense duplicate Indic feature sets. 2011-06-15 20:04:41 +02:00
Aric Stewart 1be7e1bd62 usp10: Apply 'cjct' to the Indic syllable. 2011-06-15 20:04:41 +02:00
Aric Stewart c582e3b2a2 usp10: Apply 'vatu' to the Indic syllable. 2011-06-15 20:04:41 +02:00
Aric Stewart 7f0b49fd9d usp10: Apply 'pstf' to the Indic syllable. 2011-06-15 20:04:41 +02:00
Aric Stewart 5a315fed8d usp10: Apply 'pref' only to the pre-base consonants in Indic syllables. 2011-06-15 20:04:41 +02:00
Aric Stewart d942d959a6 usp10: Apply 'blwf' only to the below-base consonants in Indic syllables. 2011-06-15 20:04:41 +02:00
Aric Stewart f670d3b184 usp10: Apply 'rphf' only to the reph forms in Indic syllables. 2011-06-15 20:04:41 +02:00
Aric Stewart c1d4db0d78 usp10: Apply 'half' only to the pre-base consonants in Indic syllables. 2011-06-15 20:04:41 +02:00
Aric Stewart e626019be8 usp10: Apply 'rkrf' to the Indic syllable. 2011-06-15 20:04:41 +02:00
Aric Stewart 7058b3a38b usp10: Shape Indic syllables basic forms per syllable. 2011-06-15 20:04:41 +02:00
Aric Stewart 80531cac3f usp10: Ignore ralf as well as pre, post and below base consonants when finding base. 2011-06-15 20:04:41 +02:00
Aric Stewart 5f22264c1d usp10: Do not require a separate call to find Indic base consonant. 2011-06-15 20:04:40 +02:00
Aric Stewart 35948c6fdd usp10: Return the set of Indic syllables after reorder. 2011-06-15 20:04:40 +02:00
Aric Stewart 4b2bfb4a8b usp10: Correct an endless loop in Chaining Contextual Substitution if it is a dead rule. 2011-06-14 17:52:54 +02:00
Aric Stewart 0f795650f8 usp10: Strip dangling joiners for Sinhala. 2011-06-09 13:23:43 +02:00
Aric Stewart 428d3b025e usp10: Sinhala vowels are not fully decomposed. The Kombuva is simply split off. 2011-06-09 13:23:41 +02:00
Aric Stewart 4fbb13a2c8 usp10: Bengali initial form is only applied to the beginning of words. 2011-06-08 17:16:12 +02:00
Aric Stewart b913e44d89 usp10: Execute half after pstf. 2011-06-08 17:16:02 +02:00
Aric Stewart 3cc6129681 usp10: Refine Ralf reordering location for Devanagari and Gujarati. 2011-06-08 17:07:19 +02:00
Henri Verbeet 90d673e961 usp10: Store the GDEF table in the script cache.
To avoid reloading it all the time.
2011-06-08 14:12:40 +02:00
Henri Verbeet 90cf60c796 usp10: Fix a memory leak in GDEF_UpdateGlyphProps(). 2011-06-08 14:12:40 +02:00
Aric Stewart 5bf7622fc3 usp10: Correct matra type for Oriya 0x0B57. 2011-06-07 18:54:10 +02:00
Aric Stewart ab36da264b usp10: Gurmukhi has Ras but no Ralf. So do not treat them as a lex_Ra for reordering. 2011-06-07 18:12:13 +02:00
Aric Stewart 6657bf2d69 usp10: Do not over increment glyph index in Chaining Contextual Substitution. 2011-06-07 18:12:08 +02:00
Aric Stewart 1e115d65e0 usp10: Don't return prematurely from Chaining Contextual Substitution. 2011-06-06 21:49:19 +02:00
Aric Stewart 7ab744d3c7 usp10: Correct indic vowel marker name. 2011-06-06 21:49:17 +02:00
Aric Stewart 687b030c85 usp10/tests: Add Malayalam shaping test. 2011-06-03 13:44:28 +02:00
Aric Stewart e3f92669ed usp10/tests: Add Telugu shaping test. 2011-06-03 13:44:24 +02:00
Aric Stewart bdb3a53269 usp10/tests: Add Tamil shape test. 2011-06-03 13:44:20 +02:00
Aric Stewart ee45ab66ba usp10/tests: Add Oriya shaping test. 2011-06-03 13:44:16 +02:00
Aric Stewart a1795cfc9a usp10/tests: Add Gujarati shaping test. 2011-06-03 13:44:12 +02:00
Aric Stewart 856b272635 usp10/tests: Add Gurmukhi shaping test. 2011-06-03 13:44:09 +02:00
Aric Stewart bd07f67571 usp10/tests: Add Bengali shaping test. 2011-06-03 13:44:05 +02:00
Aric Stewart adfd870ba6 usp10/tests: Add Devanagari shaping test. 2011-06-03 13:44:01 +02:00
Aric Stewart 8d83e5d370 ups10: Add Malayalam script. 2011-06-03 13:43:55 +02:00
Aric Stewart 20f5613e61 usp10: Add Kannada script. 2011-06-03 13:43:47 +02:00
Aric Stewart af02c0e29c usp10: Add Telugu script. 2011-06-03 13:43:38 +02:00
Aric Stewart c5747304f0 usp10: Add Tamil script. 2011-06-03 13:43:32 +02:00
Aric Stewart bafc5f0f30 usp10: Add Oriya script. 2011-06-03 13:43:25 +02:00
Aric Stewart 858ecd1c54 usp10: Add Gujarati script. 2011-06-03 13:43:19 +02:00
Aric Stewart fdf2ab5bfa usp10: Add Gurmukhi script. 2011-06-03 13:43:12 +02:00
Aric Stewart 19857ec45b usp10: Add Bengali script. 2011-06-03 13:42:30 +02:00
Aric Stewart b8aad9d3cd usp10: Add Devanagari script. 2011-06-03 13:42:22 +02:00
Aric Stewart 397c3ac51f usp10: Improve Sinhala shaping using Indic rules. 2011-06-03 13:41:58 +02:00
Aric Stewart 2bd19a89ff usp10: Handle new OpenType tags for Microsoft Indic fonts. 2011-06-02 16:24:35 +02:00
Alexandre Julliard 76319e3a8d usp10/tests: Load GetGlyphIndicesW dynamically. 2011-05-27 12:19:35 +02:00
Aric Stewart eaaf157f6c usp10: Zero Width Joiners and Non-Joiners should, like spaces, not split runs. 2011-05-26 16:32:03 +02:00
Francois Gouget 792a9eb689 usp10/tests: Make enumFontProc() static. 2011-05-25 16:35:05 +02:00
Aric Stewart c5f2ac3eea usp10/test: Add Tibetan shaping test. 2011-05-25 11:54:42 +02:00
Aric Stewart 2b3da5389c usp10: Determine glyph properties after shaping for Tibetan script. 2011-05-25 11:54:38 +02:00
Aric Stewart 850336d936 usp10/test: Make sure to only trace on _test_shape_ok number of glyphs if font is not valid. 2011-05-25 11:54:31 +02:00
Marcus Meissner f9779bbee2 usp10: Mark internal symbols with hidden visibility. 2011-05-25 11:52:05 +02:00
Aric Stewart b22b80019a usp10/test: Add Lao shaping test. 2011-05-24 18:12:36 +02:00
Aric Stewart 852c8fd60e usp10/test: Add Phags-pa shaping test. 2011-05-24 18:12:33 +02:00
Aric Stewart 42274ed8ab usp10/test: Add Thaana shaping test. 2011-05-24 18:12:31 +02:00
Aric Stewart 2d8955429c usp10/tests: Add Syriac shaping test. 2011-05-24 18:12:28 +02:00
Aric Stewart ee450d5041 usp10: Add Thai shaping test. 2011-05-24 16:55:51 +02:00
Aric Stewart 0d324b1fab usp10: Add Arabic shaping test. 2011-05-24 16:55:48 +02:00
Aric Stewart 670f27104a usp10: Add Hebrew shaping test. 2011-05-24 16:55:42 +02:00
Aric Stewart 50a1ed1b94 usp10/tests: Update test_ScriptShapeOpenType framework to shape in a given font. 2011-05-24 16:55:39 +02:00
Aric Stewart 953c7a3427 usp10: Determine glyph properties after shaping for scripts with no justification. 2011-05-24 12:47:27 +02:00
Aric Stewart 9dd700206a usp10: Determine glyph properties after shaping for Thai and other SE asian scrpts. 2011-05-24 12:47:27 +02:00
Aric Stewart 38d4409641 usp10: Determine glyph properties after shaping for Arabic. 2011-05-24 12:47:27 +02:00
Aric Stewart 342de4c128 usp10: Update LogClust from glyph properties. 2011-05-24 12:47:27 +02:00
Aric Stewart 8e8d4be5a4 usp10: Use the font GDEF table to update glyph properties. 2011-05-24 12:47:27 +02:00
Aric Stewart c7e42c05a5 usp10: Add default glyph properties proc. 2011-05-24 12:47:27 +02:00
Aric Stewart d26bdd9121 usp10: Framework for determing glyph properties after shaping. 2011-05-24 12:47:27 +02:00
Aric Stewart 9a6cf4a391 usp10: If a feature changes a glyph reapply the feature to the new glyph. 2011-05-20 10:29:15 +02:00
Aric Stewart ecd43b4bd8 usp10: Correct lookahead offset in Coverage-based Chaining Context Glyph Substitution. 2011-05-20 10:29:09 +02:00
Aric Stewart 2587f702c5 usp10: Make use of MS_MAKE_TAG instead of numeric constants. 2011-05-18 16:56:00 +02:00
Aric Stewart 9f7c390ec8 usp10/test: Rewrite test_ScriptShapeOpenType to be more expandable. 2011-05-18 10:51:05 +02:00
Aric Stewart 3c26fa9136 usp10: Correct default fCanGlyphAlone value. 2011-05-18 10:51:02 +02:00
Aric Stewart 9edaaae99b usp10/tests: Add ScriptShapeOpenType tests mirroring ScriptShape tests. 2011-05-18 10:50:59 +02:00
Aric Stewart d0012622d3 usp10: Correct a few fallback conditions in Syriac shaping. 2011-05-18 10:49:49 +02:00
Francois Gouget f73b860bc2 usp10/tests: Add a '\n' to an ok() call. 2011-05-16 16:35:29 +02:00
Aric Stewart e3ed47bf95 usp10: Implementation of ScriptPlaceOpenType. 2011-05-13 10:45:44 +02:00
Aric Stewart 3ad7822d85 usp10: Implementation of ScriptShapeOpenType. 2011-05-13 10:45:38 +02:00
Aric Stewart 4d8012795f usp10/tests: Test ScriptItemizeOpenType. 2011-05-11 18:14:18 +02:00
Aric Stewart f221aea66c usp10: Implement ScriptItemizeOpenType. 2011-05-11 18:12:51 +02:00
Francois Gouget 5920de5ffb Assorted spelling and case fixes. 2011-05-09 12:09:27 +02:00
Aric Stewart f026616c22 usp10: Rewrite ScriptStringXtoCP to make use of ScriptXtoCP. 2011-03-28 17:10:18 +02:00
Aric Stewart d7ea24d56d usp10: Rewrite ScriptStringCPtoX to make use of ScriptCPtoX. 2011-03-28 17:09:52 +02:00
Aric Stewart c7b4964b7e usp10: Rewrite of ScriptXtoCP to handle pwLogClust for LTR and RTL runs. 2011-03-18 11:30:52 +01:00
Aric Stewart 7acd2ba264 usp10: Correct fTrailing handling for RTL runs in ScriptCPtoX. 2011-03-18 11:30:39 +01:00
Aric Stewart 3f7ad460ef usp10: Update ScriptCPtoX to handle RTL runs. 2011-03-14 12:15:43 +01:00
Aric Stewart 73f743f6d2 usp10: Corrections to ScriptCPtoX. 2011-03-10 16:30:15 +01:00
Austin English 408d068915 usp10/tests: Remove dead assignment (LLVM/Clang). 2011-02-17 18:33:42 +01:00
Andrew Nguyen 6d0983972e usp10/tests: Avoid passing optional pointers to uninitialized structures in ScriptString tests. 2011-02-16 14:26:26 +01:00
Austin English fe628d4932 usp10/tests: Make sure to use return value (LLVM/Clang). 2011-02-07 10:10:39 -06:00
Hans Leidekker ba107a0de1 usp10: Add stub exports for the OpenType functions. 2010-11-18 12:37:04 +01:00
Francois Gouget b990617a95 Assorted spelling fixes. 2010-11-02 13:16:57 +01:00
Aric Stewart 7891f05b88 ups10: Corrected rtl implementation for ScriptStringXtoCP and ScriptStringXtoCP. 2010-11-01 11:32:30 +01:00
Alexandre Julliard 6410ab1ce8 libwine: Update Unicode tables to the Unicode 6.0 standard. 2010-10-30 20:42:09 +02:00
Aric Stewart fa7cc46063 usp10/tests: Update test_ScriptStringXtoCP_CPtoX to test both rtl and ltr characters. 2010-10-29 14:24:15 +02:00
Aric Stewart 0c5d0f80bc usp10: When checking font for shaping the font needs at least 1 of the features but does not need all. 2010-10-07 15:58:09 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Francois Gouget 0d3b4b3c0c usp10: Add a trailing '\n' to a TRACE() call. 2010-09-13 13:27:09 -05:00
Aric Stewart 7bf4db877a usp10: Check font for required features and report error if missing. 2010-09-13 09:55:49 -05:00
Aric Stewart 29d2c5a208 usp10: Improve handling of spaces during Itemization. 2010-09-13 09:55:46 -05:00
Aric Stewart facc7b0306 usp10: Implement handling fMergeNeutralItems. 2010-09-09 19:56:36 +02:00
Aric Stewart e881635741 usp10: Attempt to shape with non TMPF_TRUETYPE fonts.
Just do not do the parts that are known to require ttf tables.
2010-09-08 21:03:37 +02:00
Francois Gouget 673d7538cb usp10: Add a trailing '\n' to a TRACE() call. 2010-08-31 14:23:47 +02:00
Francois Gouget f0253f3035 usp10: Make SHAPE_ApplyOpenTypeFeatures() static. 2010-08-26 13:44:45 +02:00
Aric Stewart 68ab5e2689 usp10: Add Lao script. 2010-08-25 11:58:04 +02:00
Aric Stewart 331c8cdef6 usp10: Add Thai Script. 2010-08-25 11:57:57 +02:00
Aric Stewart 57053fa51e usp10: Add Phags-pa Script. 2010-08-25 11:57:50 +02:00
Aric Stewart 29d896e40a usp10: Add Tibetan Script. 2010-08-25 11:57:41 +02:00
Aric Stewart 2fe30b377c usp10: Add Sinhala Script. 2010-08-25 11:57:35 +02:00
Aric Stewart 7b11524ec3 usp10: Add Georgian script. 2010-08-24 12:29:34 +02:00
Aric Stewart 703dd4b1fc usp10: Add Armenian script. 2010-08-24 12:29:26 +02:00
Aric Stewart b21ca5628e usp10: Add Cyrillic script. 2010-08-24 12:29:13 +02:00
Aric Stewart 2701b8f97a usp10: Add Greek Script. 2010-08-24 12:28:57 +02:00
Aric Stewart 2585d41eeb usp10: Add Thaana script. 2010-08-24 12:28:43 +02:00
Henri Verbeet 7200f91c06 usp10: Pass the correct buffer size to lstrcpynA() in load_GSUB_feature(). 2010-08-20 13:21:20 +02:00
Aric Stewart f4d142e277 usp10: Update pwLogClust with glyph transformations. 2010-08-16 15:54:23 +02:00
Aric Stewart 4ffd3e6af6 usp10: Add Syriac contextual shaping. 2010-08-16 15:54:23 +02:00
Aric Stewart 0401f6c088 usp10: Add contextual shaping proc to the script shaping data. 2010-08-16 15:54:23 +02:00
Aric Stewart 2fb344c117 usp10: Generalize out applying Opentype features and define default features for currently known scripts. 2010-08-16 15:54:22 +02:00
Aric Stewart b6f2f10b12 usp10: Have ScriptIsComplex reflect information in our scripts. 2010-08-16 15:54:22 +02:00
Aric Stewart 08c6d79d45 usp10: Report accurate information about our currently known scripts. 2010-08-16 15:54:22 +02:00
Aric Stewart 8c0e5483d8 usp10: Factor out script ranges in an more expandable way. 2010-08-16 15:54:22 +02:00
Aric Stewart d4befda3c7 usp10: Add beginning support for GSUB Alternate Substitution Subtable. 2010-08-03 19:24:07 +02:00
Aric Stewart 1b37809dba usp10: Start implementing Chaining Context Substitution Format 3: Coverage-based Chaining Context Glyph Substitution. 2010-07-23 11:43:08 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Francois Gouget 7649c75b40 Assorted typo and spelling fixes. 2010-06-24 10:37:05 +02:00
Francois Gouget e39b983f49 usp10/tests: Add a trailing '\n' to an ok() call. 2010-06-22 20:03:44 +02:00
Aric Stewart baaaee823f usp10/tests: Windows 95 does not set invalid glyphs to 0 but instead 0x80. 2010-06-17 11:48:07 +02:00
Aric Stewart 5c5e6a5fc9 usp10/tests: Remove a test for a bug corrected in later versions of usp10.
The undocumented interaction with ScriptStringCPtoX causing
ScriptStringFree is an undocumented bug that appears to have been
fixed in later versions of Uniscribe. We should not be trying to
conform to that.
2010-06-17 11:47:57 +02:00
Aric Stewart 25f45df11d usp10/tests: Having numbers in the ScriptStringXtoCP tests causes unpredictable behavior. 2010-06-16 11:44:49 +02:00
Aric Stewart cddb5d6455 usp10: Apply all the GSUB features specified in Microsofts Typesetting documentation for Arabic Shaping. 2010-05-28 16:22:24 +02:00
Aric Stewart 5ad2f6e152 usp10: Break out a function to apply a GSUB feature to an entire string of glyphs. 2010-05-28 16:22:23 +02:00
Austin English 21dac9f6cd usp10/tests: Check return value of SelectObject. 2010-05-24 12:53:15 +02:00
Aric Stewart 18b310a703 usp10: Apply the GSUB 'rlig' feature for Required ligature substitution. 2010-05-24 11:19:03 +02:00
Aric Stewart 6c73258725 usp10: Handle Ligature Substitution Subtable from GSUB.
This also involves a restructuring of the handling of glyph lookups
from GSUB since Ligature Substitution can result in many glyphs being
replaced with 1 glyph, and future looksup may result in one glyph
being replaces with many glyphs.
2010-05-24 11:18:59 +02:00
Aric Stewart a27e03bf5d usp10: Use font chartype only as a fallback if we do not know the characters script already. 2010-05-24 11:18:15 +02:00
Marcus Meissner 163c7021b1 usp10: Check heap_alloc return value (Coverity). 2010-05-24 11:15:25 +02:00
Aric Stewart e276fbc222 usp10: Correct Left and Right confusions for Arabic joining and shaping. 2010-05-21 18:58:05 +02:00
Aric Stewart 8412028562 usp10: Attempt to do shaping via the font GSUB table first.
Modern fonts expect this and the presentation form B glyphs are a fallback.
2010-05-19 18:02:08 +02:00
Aric Stewart 32b9b63a42 usp10: Add Arabic shaping. 2010-05-19 17:59:35 +02:00
Alexandre Julliard a5fe688704 libwine: Generate Unicode data for Arabic shaping. 2010-05-19 17:52:42 +02:00
Aric Stewart 421a997085 usp10: Add ETO_IGNORELANGUAGE when calling ExtTextOut so we do not re-reverse already formated RTL strings inside of GDI. 2010-05-08 13:12:54 +02:00
Aric Stewart 1ee497ae25 usp10/test: Initialize local structures. 2010-05-08 13:12:28 +02:00
Aric Stewart 4377cc62f8 usp10: Implement mirroring for bidi support. 2010-05-06 19:54:58 +02:00
Alexandre Julliard 6f3f505f04 libwine: Generate a table for BiDi character mirroring. 2010-05-06 19:54:45 +02:00
Aric Stewart 2ba0048541 usp10: ScriptTextOut reorders glyphs that are RTL if they have been processed with fLogicalOrder in previous calls. 2010-05-06 14:18:17 +02:00
Aric Stewart abae85b976 usp10: Fix ScriptGetCMap handling of unsupported glyphs. 2010-05-06 14:18:04 +02:00
Aric Stewart d5672fee0a usp10: Update ScriptItemize to use the baselevel of a unified run. 2010-04-29 10:19:40 -05:00
Aric Stewart d979afc4c8 usp10/test: Restructure test_ScriptItemize to make the test easier to manage and expand. 2010-04-28 15:04:18 -05:00
Jeff Latimer a7fc0c65c1 usp10/tests: Remove some redundant tests and fully test bidi flag setting. 2010-04-27 14:38:21 -05:00
Jeff Latimer b367e902c9 usp10: Check that there are sufficient script_items before setting the last pointer. 2010-04-27 14:38:03 -05:00
Jeff Latimer 0b9b96a81b usp10/tests: Add tests for CR and LF chars and remove some trailing white space. 2010-04-22 12:19:45 +02:00
Aric Stewart af3dfc198a usp10: Improve support for Syriac in ScriptItemize. 2010-04-19 16:22:29 +02:00
Aric Stewart 4459c5b619 usp10: Improve Hebrew support in ScriptItemize. 2010-04-19 16:22:23 +02:00
Aric Stewart d4b8536952 usp10/tests: Expanded tests for ScriptShape. 2010-04-15 17:06:10 +02:00
Aric Stewart 51bbd9299f usp10: Have ScriptShape respect fLogicalOrder and fRTL when ordering glyphs. 2010-04-15 14:18:04 +02:00
Alexandre Julliard 65ad399032 usp10: Use the more detailed libwine information to classify bidi chars. 2010-04-14 18:00:45 +02:00
Aric Stewart b9c30445c7 ups10: Reimplement ScriptLayout to properly handle mixed runs. 2010-04-14 18:00:45 +02:00
Aric Stewart 6c3659c3d4 usp10: Improve ScriptItemize with a SCRIPT_CONTROL and SCRIPT_STATE set.
Reduce bidi duplications from gdi32 by using the newly corrected usp10 
functions.
2010-04-14 18:00:44 +02:00
Mikhail Maroukhine 2a8972378f usp10: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:16:58 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Jeff Latimer ee891d3b59 usp10: Change default glyph returned from 0xffff to 0. 2010-03-15 15:08:02 +01:00
Jeff Latimer 3b6498a520 usp10: Remove duplicate code. 2010-03-04 17:29:17 +01:00
Jeff Latimer d970ea7fd7 usp10: Fix trace to remove an incorrect assignment. 2010-03-01 11:48:35 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Eric van Beurden 2d3caa516e usp10: Change the header includes to pull in 'windows.h' instead of the component headers. 2009-12-18 13:14:02 +01:00
Hans Leidekker 7d3f37fcbd usp10: Fix a memory leak.
Found by Valgrind.
2009-12-07 14:18:29 +01:00
Hans Leidekker d974a4b29f usp10: Add a stub implementation of ScriptJustify. 2009-11-23 10:35:35 +01:00
Hans Leidekker 7714a3f798 usp10: Add a stub implementation of ScriptApplyLogicalWidth. 2009-11-23 10:35:31 +01:00
Hans Leidekker f7a4936fc4 usp10: Make tests pass on Win7. Conform to the more recent behavior. 2009-09-08 12:12:18 +02:00
Paul Vriens 69d27865f6 usp10/tests: Skip some tests on WinME. 2009-04-13 17:33:31 -05:00
Paul Vriens a12cc39ca3 usp10/tests: Fix some test failures on Vista and W2K8 (ScriptPlace). 2009-04-10 14:49:39 +02:00
Paul Vriens 277a84a989 usp10/tests: Fix some test failures on Vista and W2K8 (ScriptShape). 2009-04-10 14:49:31 +02:00
Paul Vriens 0af0bafd6a usp10: Remove an unneeded check. 2009-04-10 11:21:39 +02:00
Hans Leidekker 8a2d97ac3d usp10: Don't test digit substitution data.
It has apparently changed in Vista.
2009-03-04 13:06:11 +01:00
Hans Leidekker 9a847b3ab0 usp10: Improve some traces. 2009-01-06 14:52:18 +01:00
Hans Leidekker 83f66d0246 usp10: Set better visual attribute values in ScriptShape. 2009-01-06 14:52:13 +01:00
Hans Leidekker 8a5eae2122 usp10: Handle CR/LF in ScriptItemize. 2009-01-06 14:52:08 +01:00
Hans Leidekker 020456f71b usp10: Improve handling of whitespace in ScriptBreak. 2009-01-06 14:52:00 +01:00
Andrew Talbot bf92d68330 usp10: Sign-compare warnings fix. 2008-11-20 12:18:29 +01:00
Paul Vriens 80011be100 usp10/tests: Use win_skip instead of trace. 2008-10-21 11:43:56 +02:00
Hans Leidekker addcf866cb usp10: Store glyph mappings and widths in the script cache. 2008-10-10 12:26:41 +02:00
Rob Shearman 89a3ad7626 usp10: Add explicit "!= S_OK" to expressions that use HRESULTs as booleans. 2008-09-12 16:50:05 +02:00
Hans Leidekker e691de4a1a usp10: Use a valid string analysis when testing ScriptXtoCP and ScriptCPtoX. 2008-07-24 11:52:04 +02:00
Jeff Latimer 85d191937b usp10/tests: Remove incorrect tests. 2008-07-08 12:01:14 +02:00
James Hawkins a4c10fda8e usp10: Fix several failing test in win2k3. 2008-05-27 19:37:52 +02:00
Hans Leidekker c1e686429a usp10: Fix a few failing tests and make them pass on Wine. 2008-05-01 19:36:27 +02:00
Hans Leidekker 20ae9be595 usp10: Remove redundant code from ScriptTextOut. 2008-05-01 19:36:19 +02:00
Guy Albertelli c0aa44bb6c usp10: Use passed hdc instead of cached one for ScriptTextOut with test to check. 2008-05-01 12:35:44 +02:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Francois Gouget 29ef0b90ee Assorted spelling, punctuation and case fixes. 2008-03-03 12:04:48 +01:00
James Hawkins eedfacdfe7 janitorial: Remove links to any microsoft site. 2008-03-01 12:04:03 +01:00
Hans Leidekker 25e836e83c usp10: Do glyph translation for truetype fonts only. 2007-12-13 13:09:14 +01:00
Hans Leidekker d5e76042c5 usp10: Add some tests for ScriptShape/Place and make them pass. 2007-12-12 13:49:19 +01:00
Michael Stefaniuc 8f1b74a846 usp10: Rename the wrappers around HeapAlloc() &Co to use the standard names. 2007-12-11 12:09:00 +01:00
Hans Leidekker e19b2360f0 usp10: Don't trace char to glyph mappings. 2007-12-10 12:04:54 +01:00
Hans Leidekker 68efae1615 usp10: Store original font in the script cache and reselect it on successive calls. 2007-12-10 12:04:45 +01:00
Hans Leidekker 143f2421b6 usp10: Use GetCharABCWidthsI to implement ScriptGetGlyphABCWidth. 2007-12-10 12:04:35 +01:00
Hans Leidekker 106dbd5617 usp10: Fix some more memory leaks. 2007-11-09 12:25:38 +01:00
Hans Leidekker 66c6b84ff0 usp10: Fix a test to not rely on uninitialized memory. 2007-11-09 12:25:30 +01:00
Hans Leidekker 1e445c4932 usp10: Fully initialize LOGFONT structure. 2007-11-09 12:25:21 +01:00
Hans Leidekker ab4d8aec35 usp10: Fix a memory leak. 2007-11-09 12:25:11 +01:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
Francois Gouget 149ac3fcdc usp10/tests: Fix a signed/unsigned int mismatch. 2007-05-29 12:11:51 +02:00
Aric Stewart 73bec11865 usp10: Do not crash in ScriptPlace if pABC is null. 2007-04-25 11:49:54 +02:00
Hans Leidekker df2c8a2551 usp10: Implement ScriptGetLogicalWidths. 2007-02-19 12:40:19 +01:00
Hans Leidekker dfcdbba181 usp10: Document ScriptPlace and ScriptShape. 2007-01-24 11:57:53 +01:00
Hans Leidekker 06ed81ecc0 usp10: Move text metrics into the script cache. Start using accessor functions. 2007-01-24 11:57:44 +01:00
Hans Leidekker 6a12d679b0 usp10: Remove duplicate font selection code from the tests. 2007-01-24 11:57:15 +01:00
Francois Gouget 13136c6e23 usp10/tests: Use '%u' to print GetLastError(). 2007-01-18 12:55:06 +01:00
Hans Leidekker fb46c5f1c1 usp10: Initialise the caller supplied ABC structure in ScriptPlace.
Fixes a regression found by Lei Zhang.
2007-01-12 20:41:02 +01:00
Hans Leidekker 586e16de76 usp10: Document ScriptItemize. Get rid of the remaining tabs. 2007-01-04 09:51:45 +01:00
Hans Leidekker f152153f15 usp10: Implement and test ScriptStringGetOrder and ScriptString_pcOutChars. 2007-01-04 09:51:30 +01:00
Hans Leidekker e0c38fd10f usp10: Use macro functions for memory allocation and start checking for allocation failures. 2007-01-04 09:51:14 +01:00
Hans Leidekker 23b3299cdb usp10: Make the script cache accessible from a string analysis. 2007-01-04 09:50:48 +01:00
Hans Leidekker 44fd9a2705 usp10: Document ScriptFreeCache, ScriptGetFontProperties, ScriptStringFree and ScriptGetCMap. 2007-01-02 20:31:05 +01:00
Hans Leidekker 21987d3dec usp10: Downgrade some more FIXME's to TRACE's. 2007-01-02 20:30:49 +01:00
Hans Leidekker bb3a903b94 usp10: Implement ScriptStringValidate. 2007-01-02 20:30:40 +01:00
Jeff Latimer c2680edc33 usp10: Implement ScriptStringOut. 2007-01-02 13:20:29 +01:00
Hans Leidekker 7d37e8e9c7 usp10: Factor out script cache handling. 2006-12-29 20:54:35 +01:00
Clinton Stimpson fd21610ca9 usp10: Downgrade fixme's to trace's with comments. 2006-12-28 12:17:20 +01:00
Clinton Stimpson 46bb89e7da usp10: Implement ScriptStringGetLogicalWidths. 2006-12-26 12:54:57 +01:00
Hans Leidekker 55f385c8d7 usp10: Fix all failing tests on Windows and Wine. 2006-12-26 12:53:19 +01:00
Hans Leidekker d2f213013e usp10: Reduce multiple assignments to a single memset in ScriptItemize. 2006-12-26 12:52:58 +01:00
Hans Leidekker cd6fe7dfa7 usp10: Implement ScriptString_pLogAttr. 2006-12-24 13:09:21 +01:00
Hans Leidekker 960372f2fe usp10: Match output of WinXP for ScriptGetProperties. 2006-12-24 13:09:01 +01:00
Hans Leidekker 02d30df085 usp10: Improve the stub for ScriptBreak. 2006-12-24 13:08:34 +01:00
Hans Leidekker 092edd81e6 usp10: Implement ScriptString_pSize. 2006-12-24 13:08:29 +01:00
Clinton Stimpson e0829eb70f usp10: Implement ScriptStringCPtoX. 2006-12-18 12:19:53 +01:00
Clinton Stimpson bdbab217c9 usp10: Implement ScriptStringXtoCP. 2006-12-18 12:18:48 +01:00
Clinton Stimpson 857e330e77 usp10: Implement ScriptStringFree. 2006-12-18 12:17:19 +01:00
Clinton Stimpson b91eb5a110 usp10: Implement ScriptStringAnalyse. 2006-12-18 12:17:12 +01:00
Paul Vriens 012861100c usp10/tests: Make tests run on win9x and NT4 again. 2006-12-18 11:40:14 +01:00
Francois Gouget 367f91fb5c Assorted spelling fixes. 2006-12-14 20:25:05 +01:00
Clinton Stimpson 39a5b0760c usp10: Add tests and fix for ScriptXtoCP . 2006-12-12 20:24:43 +01:00
Marcus Meissner 4d52a421d7 Made some functions static. 2006-12-12 12:10:57 +01:00
Jeff Latimer a8e5b9ae70 usp10: Add tests for ScriptStringCptoX and ScriptStringXtoCp for activation in later patches. 2006-10-24 20:02:19 +02:00
Jeff Latimer 37e7de1208 usp10: Add tests for ScriptStringAnalyse and ScriptStringFree. 2006-10-24 20:02:05 +02:00
Jeff Latimer 292c99e329 usp10: Fix dead code in ScriptItemize. 2006-10-17 13:06:28 +02:00
Francois Gouget 58162f87fd Assorted spelling fixes. 2006-10-13 11:55:04 +02:00
Michael Ploujnikov f37c0aa279 usp10/tests: Win64 printf format warning fixes. 2006-10-11 12:09:18 +02:00
Francois Gouget dd28d5be08 Tweak TRACE()s to simplify '\n' checks. 2006-10-06 17:29:27 +02:00
Hans Leidekker 539a96240a usp10: Add a stub implementation of ScriptStringValidate. 2006-10-06 17:29:09 +02:00
Michael Stefaniuc f3cfb89b89 usp10: Win64 printf format warning fixes. 2006-10-05 11:33:21 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Hans Leidekker 578260745a usp10: Add a stub implementation and a test for ScriptLayout. 2006-09-29 14:40:53 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Albert Lee b2182f9d82 usp10: Implement and test Script{Apply, Record}DigitSubstitution. 2006-09-08 11:01:26 +02:00
Alexandre Julliard 5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Jeff Latimer dd8f067fb0 usp10: Remove unnecessary casts in test suite. 2006-08-15 13:32:11 +02:00
Jeff Latimer ff421fde8e usp10: ScriptItemize will break up the string into script_items. 2006-08-08 20:07:09 +02:00
Francois Gouget b149f3c717 usp10/tests: Add trailing '\n's to ok() calls. 2006-08-07 13:53:03 +02:00
Hans Leidekker 0c0ab500b9 usp10: Implement ScriptGetGlyphABCWidth.
Add a test for ScriptGetGlyphABCWidth and ScriptCacheGetHeight.
2006-08-04 20:45:01 +02:00
Hans Leidekker c340ddd310 usp10: Implement ScriptIsComplex. 2006-08-04 13:25:42 +02:00
Jeff Latimer 34f3e88b88 usp10: Fix glyph comparsion between tests. 2006-08-04 12:24:53 +02:00
Jeff Latimer 8d139c8b96 usp10: Add functionality for ScriptXtoCP and ScriptCPtoX calls. 2006-07-21 10:52:19 +02:00
Hans Leidekker 401e32ee38 usp10: Implement and test ScriptCacheGetHeight. 2006-07-20 12:12:05 +02:00
Jeff Latimer ac40febae2 usp10: Add ScriptStringCPtoX and ScriptStringXtoCP stubs. 2006-07-19 18:12:35 +02:00