Commit Graph

548 Commits

Author SHA1 Message Date
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
Aric Stewart 3d98085d65 usp10: Implement ScriptGetFontFeatureTags. 2012-01-03 18:06:31 +01:00
Aric Stewart dbe02b96c5 usp10: Convert tag in LoadedFeature to OPENTYPE_TAG. 2012-01-03 18:06:03 +01:00
Aric Stewart f07321a82b usp10: Replace GSUB_get_lang_table with GSUB_GetFontLanguageTags. 2012-01-03 18:05:52 +01:00
Aric Stewart 0661d2d202 usp10: Implement ScriptGetFontLanguageTags. 2012-01-03 18:05:47 +01:00
Marcus Meissner 77a3d90abf usp10: Mark two functions as hidden. 2012-01-03 12:37:32 +01:00
Aric Stewart ee2981c6ef usp10: Convert newOtTag to an OPENTYPE_TAG. 2011-12-30 15:41:09 +01:00
Aric Stewart ef98d143d7 usp10: Remove redundant information by making scriptData accessible and removing otTag. 2011-12-30 15:41:09 +01:00
Aric Stewart 419d3d7100 usp10: Update get_opentype_script to return OPENTYPE_TAG. 2011-12-30 15:41:08 +01:00
Aric Stewart 71373552ff usp10: Replace GSUB_get_script_table with GSUB_GetFontScriptTags. 2011-12-30 15:41:08 +01:00
Aric Stewart 1090cd2f11 usp10: Cache FontScriptTags information. 2011-12-30 15:41:08 +01:00
Aric Stewart 1fc015636e usp10: Updates to ScriptGetFontScriptTags. 2011-12-30 15:41:07 +01:00
Aric Stewart 91e0f56c05 usp10: Add currency scripts to match windows. 2011-12-23 13:44:45 +01:00
Aric Stewart 525d9d1519 usp10: Implement ScriptGetFontScriptTags. 2011-12-22 17:49:54 +01:00
Aric Stewart dbe168fe99 usp10: Improve selection drawing if selection starts in the middle of a cluster. 2011-12-20 20:06:33 +01:00
Aric Stewart 00588673c6 usp10: Add Mathematical Alphanumeric Symbols script. 2011-12-19 20:15:45 +01:00
Aric Stewart 88c6b7ef00 usp10: Add Osmanya script. 2011-12-19 20:15:45 +01:00
Aric Stewart 095276073c usp10: Add Deseret script. 2011-12-19 20:15:44 +01:00
Aric Stewart 4fbb6fd66d usp10: Handle surrogate pairs when shaping. 2011-12-19 20:15:44 +01:00
Aric Stewart 0404d68999 usp10: Decode surrogate pairs in get_char_script and handle ranges beyond the BMP. 2011-12-19 20:15:43 +01:00
Aric Stewart 10ec7dacde usp10: Code for the cmap format 12 table for unicode code points beyond the BMP. 2011-12-19 20:15:43 +01:00
Aric Stewart 6589516db1 usp10: N'Ko uses the Ebrima font as a fallback. 2011-12-19 11:06:01 +01:00
Aric Stewart 6fe14a0153 usp10: Do not try to fallback if no fallback font is specified. 2011-12-15 17:52:08 +01:00
Aric Stewart 447384e7b8 usp10: Add Spacing Modifier Letters to the Latin script block. 2011-12-14 19:35:19 +01:00
Aric Stewart 4d188aa20e usp10: Add Private Use Area and Surrogates Area from Unicode Chapter 16. 2011-12-14 19:35:19 +01:00
Aric Stewart ad71c95e59 usp10: Add Braille script. 2011-12-14 19:35:18 +01:00
Aric Stewart 1c079ad196 usp10: Add Runic Script. 2011-12-14 19:35:17 +01:00
Aric Stewart 8b415ee99f usp10: Add Ogham script. 2011-12-14 19:35:16 +01:00
Aric Stewart 1c40824572 usp10: Add Canadian Aboriginal Syllabics script. 2011-12-14 19:35:15 +01:00
Aric Stewart fa5d9da009 usp10: Add Cherokee script. 2011-12-14 19:35:15 +01:00
Aric Stewart c697d95967 usp10: Add Vai script. 2011-12-14 19:35:14 +01:00
Aric Stewart e7112792ef usp10: Add N'Ko script. 2011-12-14 19:35:14 +01:00
Aric Stewart e5ad5cd11a usp10: Add Tifinagh script. 2011-12-14 19:35:13 +01:00
Aric Stewart be9369e7fe usp10: Add Mongolian script. 2011-12-14 19:35:12 +01:00
Aric Stewart eb084562be usp10: Allow for multiple broken item counts. 2011-12-14 19:35:11 +01:00
Aric Stewart a65c818ca0 usp10: Add Ethiopic script. 2011-12-14 19:35:11 +01:00
Aric Stewart 4d34ea52ad usp10: Add Yi script. 2011-12-13 18:59:02 +01:00
Aric Stewart 345102ed13 usp10: Add Hangul script. 2011-12-13 18:59:01 +01:00
Aric Stewart 30dc47557a usp10: Add Kana script. 2011-12-13 18:59:00 +01:00
Aric Stewart 513a8c5020 usp10: Add Bopomofo script. 2011-12-13 18:59:00 +01:00
Aric Stewart df2e40bc34 usp10: Add CKJ Han and Ideographic scripts. 2011-12-13 18:58:59 +01:00
Aric Stewart f68c03c4b2 usp10: Add Khmer script. 2011-12-12 15:50:44 +01:00
Aric Stewart 05cd57b4f0 usp10: Add New Tai Lue script. 2011-12-12 15:50:44 +01:00
Aric Stewart 51b5e6090a usp10: Add script Tai Le. 2011-12-12 15:50:43 +01:00
Aric Stewart 1dc4c151d7 usp10/tests: Check broken value for script tag as well. 2011-12-12 15:50:42 +01:00
Aric Stewart 0d15c70a60 usp10: Resync script_props table. 2011-12-12 15:50:42 +01:00
Aric Stewart 486a20c17c usp10: Add Myanmar script. 2011-12-09 21:15:39 +01:00
Pierre Schweitzer 06f65740b2 usp10: Fix memory leak. 2011-12-09 21:15:25 +01:00
Aric Stewart 7b95ac8238 usp10: Some Indic scripts, Sinhala, want GDEF to set glyph properties. 2011-12-08 18:04:30 +01:00
Aric Stewart 746679e186 usp10: Handle dangling joiners when processing Indic GlyphProps. 2011-12-07 17:57:42 +01:00
Pierre Schweitzer 783683be2d usp10: Fix memory leaks. 2011-12-07 17:49:58 +01:00
Aric Stewart c481cdd25e usp10: Unicode does not compose the Gurmukhi letter SHA. 2011-12-07 17:49:57 +01:00
Aric Stewart acf1343f34 usp10: Handle Halant, ZWJ and ZWNJ in ShapeCharGlyphProp_BaseIndic. 2011-12-06 17:04:21 +01:00
Aric Stewart 93a8499b95 usp10: Sinhala, while behaving like a base Indic, does not set GlyphProps based on indic syllable. 2011-12-06 17:04:15 +01:00
Aric Stewart a9058605d6 usp10: Use UpdateClusters in DecomposeVowels. 2011-12-06 17:04:09 +01:00
Aric Stewart 4dffb0aa43 usp10: The top logclust value may be different than the number of chars. 2011-12-06 17:04:04 +01:00
Aric Stewart 894f2dc9ba usp10: Use GDEF in baseIndic GlyphProp processing. 2011-12-06 17:03:59 +01:00
Aric Stewart 9cddd18cb9 usp10: Initialize the GSUB table before doing any contextual shaping. 2011-12-06 17:03:51 +01:00
Aric Stewart 6673694847 usp10: Correct issues with LTR logclust indexing after Multiple substitution. 2011-12-05 17:39:10 +01:00
Aric Stewart 225de02a29 usp10: Handle Thai SARA AM differently than GDEF. 2011-12-02 17:25:52 +01:00
Aric Stewart 183fdedb90 usp10: More properly handle the glyph properties on glyphs added by multiple substitutions. 2011-12-02 15:59:59 +01:00
Aric Stewart ceca716999 usp10: Phags-Pa wants the calt feature enabled. 2011-12-02 15:59:54 +01:00
Aric Stewart ff9ae10ba5 usp10: Handle the Gurmukhi addak. 2011-12-01 18:16:20 +01:00
Aric Stewart 302409ebe4 usp10: Always apply features in logical order. 2011-12-01 18:16:11 +01:00
Aric Stewart c4c9f8b041 usp10: Apply lookups in order over the whole range of glyphs instead of individually to each glyph. 2011-12-01 18:16:03 +01:00
Aric Stewart 711dd9b13a usp10: Standard features are only ccmp and locl. 2011-12-01 18:15:06 +01:00
Aric Stewart 5ed8160ec7 usp10: Turn off dlig feature for hebrew. It is not used by default. 2011-12-01 18:14:59 +01:00
Francois Gouget 51a256e65f Assorted spelling fixes and wording tweaks. 2011-11-28 16:40:50 +01:00
Aric Stewart 25d43d7a09 usp10: Cache the script with the feature so that in caches with multiple scripts we do not fetch the wrong feature from the cache. 2011-11-21 11:02:53 +01:00
Aric Stewart 9097226a3c usp10: Itemize numbers outside of the basic ascii set in a seperate script. 2011-11-21 11:02:39 +01:00
Aric Stewart 2fe60ff696 usp10: Windows breaks punctuation into 2 different script types. 2011-11-21 11:02:34 +01:00
Aric Stewart 714408684d usp10: Handle Combining Diacritical Marks. 2011-11-21 11:02:28 +01:00
Aric Stewart 2abb8193b9 usp10: Add a facility to mark itemization test elements as broken. 2011-11-21 11:02:22 +01:00
Aric Stewart fce22eadc1 usp10: Some unicode code points will force us into bidi mode. 2011-11-21 11:02:10 +01:00
Aric Stewart bba75dd0a7 usp10: Improve handling for ZWJ and ZWNJ in itemization. 2011-11-21 11:01:58 +01:00
Aric Stewart ed15053837 usp10: In Arabic only fallback to presentation form B for isolated glyphs. 2011-11-21 11:01:50 +01:00
Aric Stewart 105704534d usp10: When converting common indic items use the main indic script not the Numeric or currency script, even if that was the most recent. 2011-11-17 18:10:19 +01:00
Aric Stewart 41db79a855 usp10: If leading with a strong character use its bidi level for our intial LayoutRTL. 2011-11-17 18:10:11 +01:00
Aric Stewart 2c8fb3aba1 usp10: Keep the levels array in more cases. 2011-11-17 18:09:56 +01:00
Aric Stewart 92f706cd74 usp10: Windows 7 defines a Tibetan numeric script but never uses it. 2011-11-17 18:09:52 +01:00
Aric Stewart 7868be6e70 usp10: Properly set LayoutRTL. 2011-11-15 19:37:28 +01:00
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