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
729de083f3
usp10: Correct itemizing multiple spaces at the beginning of a run.
2011-10-24 11:14:06 +02:00
Aric Stewart
0aa30c4673
usp10: Handle multi-glyph clusters in ScriptStringOut.
2011-10-19 12:25:35 +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
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