Commit Graph

596 Commits

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