Commit Graph

278 Commits

Author SHA1 Message Date
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 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 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 74a0a3fdd8 usp10: In ScriptXtoX use cChars as the item is the character index. 2011-08-24 15:05:51 +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
André Hentschel a6a7bceb1a usp10: Fix possible crashes (clang). 2011-07-14 14:46:56 +02:00
Aric Stewart 95166855bb usp10: Implement ScriptBreak using the Unicode Line Breaking Algorithm. 2011-07-07 14:56:50 +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
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 eaaf157f6c usp10: Zero Width Joiners and Non-Joiners should, like spaces, not split runs. 2011-05-26 16:32:03 +02:00
Aric Stewart d26bdd9121 usp10: Framework for determing glyph properties after shaping. 2011-05-24 12:47:27 +02:00
Aric Stewart 3c26fa9136 usp10: Correct default fCanGlyphAlone value. 2011-05-18 10:51:02 +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 f221aea66c usp10: Implement ScriptItemizeOpenType. 2011-05-11 18:12:51 +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
Aric Stewart 7891f05b88 ups10: Corrected rtl implementation for ScriptStringXtoCP and ScriptStringXtoCP. 2010-11-01 11:32:30 +01: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
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
Aric Stewart f4d142e277 usp10: Update pwLogClust with glyph transformations. 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 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
Marcus Meissner 163c7021b1 usp10: Check heap_alloc return value (Coverity). 2010-05-24 11:15:25 +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
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 4377cc62f8 usp10: Implement mirroring for bidi support. 2010-05-06 19:54:58 +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
Jeff Latimer b367e902c9 usp10: Check that there are sufficient script_items before setting the last pointer. 2010-04-27 14:38:03 -05: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 51bbd9299f usp10: Have ScriptShape respect fLogicalOrder and fRTL when ordering glyphs. 2010-04-15 14:18:04 +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
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
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 0af0bafd6a usp10: Remove an unneeded check. 2009-04-10 11:21:39 +02: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
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 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
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
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 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
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
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
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
Hans Leidekker 578260745a usp10: Add a stub implementation and a test for ScriptLayout. 2006-09-29 14:40:53 +02:00
Albert Lee b2182f9d82 usp10: Implement and test Script{Apply, Record}DigitSubstitution. 2006-09-08 11:01:26 +02:00
Jeff Latimer ff421fde8e usp10: ScriptItemize will break up the string into script_items. 2006-08-08 20:07:09 +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 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
Jeff Latimer 8bdeffa4ef usp10: ScriptTextOut updated to reflect that it must have a hdc passed to it. 2006-06-09 18:13:44 +02:00
Jeff Latimer 51ac1039db usp10: Update ScriptStringAnalyse and tests for ScriptString functions. 2006-06-08 11:37:35 +02:00
Jeff Latimer 422ca43d14 usp10: Update ScriptGetCMap to conform to Windows. 2006-06-08 11:35:22 +02:00