Commit Graph

463 Commits

Author SHA1 Message Date
Aric Stewart e5d33f08c7 usp10: Devanagari danda and double danda are used for all Indic scripts. 2011-11-15 19:37:15 +01:00
Aric Stewart 6c3398d957 usp10: Pay attention to script changes for bidi run itemization. 2011-11-15 16:09:10 +01:00
Aric Stewart 145102c7fd usp10: Merge neutral scripts. 2011-11-15 16:09:10 +01:00
Aric Stewart 3767cebc88 usp10: Move scripts to an array initialized once to minimize get_char_script calls. 2011-11-15 16:09:09 +01:00
Aric Stewart 9c9513f94a usp10: Break with a better understanding on the handling of bidi strengths. 2011-11-15 16:09:09 +01:00
Aric Stewart e6ee421e88 usp10: Add some additional Latin script ranges. 2011-11-14 15:25:24 +01:00
Aric Stewart 65710af292 usp10: Better understand and handle numbers level in RTL runs. 2011-11-09 11:34:49 +01:00
Aric Stewart 2781ac1e6d usp10: Better handle the absorption of whitespace in bidi runs. 2011-11-09 11:34:45 +01:00
Aric Stewart c5db60200f usp10/tests: Add Kannada shaping test. 2011-11-08 18:19:18 +01:00
Aric Stewart cd3d305b60 usp10: Add a few chars that Windows itemizes as punctuation. 2011-11-08 18:19:18 +01:00
Aric Stewart 38aa7696c5 usp10: Avoid an end of buffer overrun when seeking non space characters at an end of a BiDi string. 2011-11-08 18:19:17 +01:00
Aric Stewart 89a53d6f81 usp10: Sinhala does glyph props like Indic languages. 2011-10-28 12:46:19 +02:00
Aric Stewart ec23fe6543 usp10: All glyphs in a single indic syllable are part of the same cluster. 2011-10-28 12:46:14 +02:00
Aric Stewart 729de083f3 usp10: Correct itemizing multiple spaces at the beginning of a run. 2011-10-24 11:14:06 +02:00
Aric Stewart f0c85ff83d usp10: Correct some reading buffer overruns when parsing indic syllables.
Found with help from Dan Kegel and Valgrind.
2011-10-20 11:02:47 +02:00
Aric Stewart 8836da818e usp10/tests: Initialize our SCRIPT_VISATTR array.
Found by Valgrind and Dan Kegel.
2011-10-20 11:02:37 +02:00
Aric Stewart 250a132545 usp10: Correct read overflow in ScriptBreak found by Valgrind. 2011-10-19 19:45:38 +02:00
Aric Stewart 0aa30c4673 usp10: Handle multi-glyph clusters in ScriptStringOut. 2011-10-19 12:25:35 +02:00
Aric Stewart 61e82e2c8c usp10: Properly adjust LogClust when decomposing indic vowels. 2011-10-18 15:11:58 +02:00
Aric Stewart db03d6452d usp10: Properly adjust LogClust when composing indic consonants. 2011-10-18 15:11:52 +02:00
Aric Stewart 42db0c0593 usp10: Handle advance for multi-glyph clusters correctly. 2011-10-18 15:09:53 +02:00
Aric Stewart 6fb71f5354 usp10: Break out get_cluster_size and use it to correct ScriptStringGetLogicalWidths for clusters. 2011-10-18 15:09:44 +02:00
Aric Stewart 8f4fab2483 usp10: Handle the fNeedsCaretInfo flag in XtoCP and CPtoX. 2011-10-17 17:45:08 +02:00
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