Commit Graph

596 Commits

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