winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
July
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
November 2011
----- 2025 -----
July 2025
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
2 participants
852 discussions
Start a n
N
ew thread
Aric Stewart : usp10: Cache the script with the feature so that in caches with multiple scripts we do not fetch the wrong feature from the cache .
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: 25d43d7a09f15fe84f19d31940a64160fc1c8c97 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=25d43d7a09f15fe84f19d3194…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:06:18 2011 -0700 usp10: Cache the script with the feature so that in caches with multiple scripts we do not fetch the wrong feature from the cache. --- dlls/usp10/shape.c | 8 +++++++- dlls/usp10/usp10_internal.h | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index c463681..66d65c2 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -1094,11 +1094,16 @@ static const char* get_opentype_script(HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCach static LPCVOID load_GSUB_feature(HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc, const char* feat) { const GSUB_Feature *feature; + const char* script; int i; + script = get_opentype_script(hdc,psa,psc,FALSE); + for (i = 0; i < psc->feature_count; i++) - if (strncmp(psc->features[i].tag,feat,4)==0) + { + if (strncmp(psc->features[i].tag,feat,4)==0 && strncmp(psc->features[i].script,script,4)==0) return psc->features[i].feature; + } feature = NULL; @@ -1146,6 +1151,7 @@ static LPCVOID load_GSUB_feature(HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc psc->features = HeapAlloc(GetProcessHeap(), 0, psc->feature_count * sizeof(LoadedFeature)); lstrcpynA(psc->features[psc->feature_count - 1].tag, feat, 5); + lstrcpynA(psc->features[psc->feature_count - 1].script, script, 5); psc->features[psc->feature_count - 1].feature = feature; return feature; } diff --git a/dlls/usp10/usp10_internal.h b/dlls/usp10/usp10_internal.h index ebf9667..6f5d3d1 100644 --- a/dlls/usp10/usp10_internal.h +++ b/dlls/usp10/usp10_internal.h @@ -82,7 +82,8 @@ #define GLYPH_MAX 65536 typedef struct { - char tag[4]; + char tag[5]; + char script[5]; LPCVOID feature; } LoadedFeature;
1
0
0
0
Aric Stewart : usp10: Itemize numbers outside of the basic ascii set in a seperate script.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: 9097226a3c65228c78726280ded88a9edef543b4 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=9097226a3c65228c78726280d…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:05:45 2011 -0700 usp10: Itemize numbers outside of the basic ascii set in a seperate script. --- dlls/usp10/shape.c | 1 + dlls/usp10/tests/usp10.c | 9 +++++++++ dlls/usp10/usp10.c | 17 ++++++++++++++--- dlls/usp10/usp10_internal.h | 1 + 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index dd4d23b..c463681 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -584,6 +584,7 @@ static const ScriptShapeData ShapingData[] = {{ devanagari_features, 6}, required_telugu_features, "mlym", "mlm2", ContextualShape_Malayalam, ShapeCharGlyphProp_Malayalam}, {{ standard_features, 2}, NULL, "" , "", NULL, NULL}, {{ standard_features, 2}, NULL, "latn" , "", NULL, NULL}, + {{ standard_features, 2}, NULL, "" , "", NULL, NULL}, }; static INT GSUB_is_glyph_covered(LPCVOID table , UINT glyph) diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c index b29f592..dffc6a1 100644 --- a/dlls/usp10/tests/usp10.c +++ b/dlls/usp10/tests/usp10.c @@ -291,6 +291,11 @@ static void test_ScriptItemize( void ) static const itemTest t222[3] = {{{0,0,0,0,0},0,1,1,1,latn_tag,FALSE},{{0,0,0,0,0},3,1,1,1,0,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; static const itemTest t223[2] = {{{0,0,0,0,0},0,1,1,1,latn_tag,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + /* Number 2*/ + static const WCHAR test23[] = {'1','2','3',0x00b2,0x00b3,0x2070,0}; + static const itemTest t231[3] = {{{0,0,0,0,0},0,0,0,0,0,FALSE},{{0,0,0,0,0},3,0,0,0,0,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + static const itemTest t232[3] = {{{0,0,0,0,0},0,0,1,2,0,FALSE},{{0,0,0,0,0},3,0,1,2,0,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + SCRIPT_ITEM items[15]; SCRIPT_CONTROL Control; @@ -347,6 +352,7 @@ static void test_ScriptItemize( void ) test_items_ok(test20,5,NULL,NULL,2,t201,FALSE,0); test_items_ok(test21,5,NULL,NULL,1,t211,FALSE,0); test_items_ok(test22,6,NULL,NULL,2,t221,FALSE,0); + test_items_ok(test23,6,NULL,NULL,2,t231,FALSE,0); State.uBidiLevel = 0; test_items_ok(test1,4,&Control,&State,1,t11,FALSE,0); @@ -376,6 +382,7 @@ static void test_ScriptItemize( void ) test_items_ok(test20,5,&Control,&State,2,t201,FALSE,0); test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); test_items_ok(test22,6,&Control,&State,2,t221,FALSE,0); + test_items_ok(test23,6,&Control,&State,2,t231,FALSE,0); State.uBidiLevel = 1; test_items_ok(test1,4,&Control,&State,1,t12,FALSE,0); @@ -405,6 +412,7 @@ static void test_ScriptItemize( void ) test_items_ok(test20,5,&Control,&State,2,t202,FALSE,0); test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); test_items_ok(test22,6,&Control,&State,2,t222,FALSE,1); + test_items_ok(test23,6,&Control,&State,2,t232,FALSE,0); State.uBidiLevel = 1; Control.fMergeNeutralItems = TRUE; @@ -435,6 +443,7 @@ static void test_ScriptItemize( void ) test_items_ok(test20,5,&Control,&State,2,t202,FALSE,0); test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); test_items_ok(test22,6,&Control,&State,1,t223,FALSE,2); + test_items_ok(test23,6,&Control,&State,2,t232,FALSE,0); } static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string, diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 72c00cf..1cff0ee 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -52,11 +52,12 @@ typedef struct _scriptRange static const scriptRange scriptRanges[] = { /* Basic Latin: U+0000–U+007A */ + { Script_Latin, 0x00, 0x07a , Script_Numeric, Script_Punctuation}, /* Latin-1 Supplement: U+0080–U+00FF */ /* Latin Extended-A: U+0100–U+017F */ /* Latin Extended-B: U+0180–U+024F */ /* IPA Extensions: U+0250–U+02AF */ - { Script_Latin, 0x00, 0x2af , Script_Numeric, Script_Punctuation}, + { Script_Latin, 0x80, 0x2af , Script_Numeric2, Script_Punctuation}, /* Combining Diacritical Marks : U+0300–U+036F */ { Script_Diacritical,0x300, 0x36f, 0, 0}, /* Greek: U+0370–U+03FF */ @@ -119,9 +120,15 @@ static const scriptRange scriptRanges[] = { /* Greek Extended: U+1F00–U+1FFF */ { Script_Greek, 0x1f00, 0x1fff, 0, 0}, /* General Punctuation: U+2000 –U+206f */ + { Script_Latin, 0x2000, 0x206f, 0, 0}, /* Superscripts and Subscripts : U+2070 –U+209f */ /* Currency Symbols : U+20a0 –U+20cf */ - { Script_Latin, 0x2000, 0x20cf, 0, 0}, + { Script_Numeric2, 0x2070, 0x2070, 0, 0}, + { Script_Latin, 0x2071, 0x2073, 0, 0}, + { Script_Numeric2, 0x2074, 0x2079, 0, 0}, + { Script_Latin, 0x207a, 0x207f, 0, 0}, + { Script_Numeric2, 0x2080, 0x2089, 0, 0}, + { Script_Latin, 0x208a, 0x20cf, 0, 0}, /* Letterlike Symbols : U+2100 –U+214f */ /* Number Forms : U+2150 –U+218f */ /* Arrows : U+2190 –U+21ff */ @@ -366,6 +373,10 @@ static const scriptData scriptInformation[] = { {LANG_ENGLISH, 0, 0, 0, 0, ANSI_CHARSET, 0, 0, 0, 0, 0, 0, 0, 0, 0}, MS_MAKE_TAG('l','a','t','n'), {0}}, + {{Script_Numeric2, 0, 0, 0, 0, 0, 0, { 0,0,0,0,0,0,0,0,0,0,0}}, + {LANG_ENGLISH, 1, 0, 0, 0, ANSI_CHARSET, 0, 0, 0, 0, 0, 0, 1, 0, 0}, + 0x00000000, + {0}}, }; static const SCRIPT_PROPERTIES *script_props[] = @@ -392,7 +403,7 @@ static const SCRIPT_PROPERTIES *script_props[] = &scriptInformation[38].props, &scriptInformation[39].props, &scriptInformation[40].props, &scriptInformation[41].props, &scriptInformation[42].props, &scriptInformation[43].props, - &scriptInformation[44].props + &scriptInformation[44].props, &scriptInformation[45].props }; typedef struct { diff --git a/dlls/usp10/usp10_internal.h b/dlls/usp10/usp10_internal.h index fc9bb7f..ebf9667 100644 --- a/dlls/usp10/usp10_internal.h +++ b/dlls/usp10/usp10_internal.h @@ -74,6 +74,7 @@ /* More supplemental */ #define Script_Diacritical 44 #define Script_Punctuation2 45 +#define Script_Numeric2 46 #define GLYPH_BLOCK_SHIFT 8 #define GLYPH_BLOCK_SIZE (1UL << GLYPH_BLOCK_SHIFT)
1
0
0
0
Aric Stewart : usp10: Windows breaks punctuation into 2 different script types.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: 2fe60ff696cd7a0ba3716a15f45a5c3d22d3c035 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=2fe60ff696cd7a0ba3716a15f…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:05:22 2011 -0700 usp10: Windows breaks punctuation into 2 different script types. --- dlls/usp10/shape.c | 1 + dlls/usp10/tests/usp10.c | 11 +++++++++++ dlls/usp10/usp10.c | 11 ++++++++++- dlls/usp10/usp10_internal.h | 1 + 4 files changed, 23 insertions(+), 1 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 3662bc8..dd4d23b 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -583,6 +583,7 @@ static const ScriptShapeData ShapingData[] = {{ devanagari_features, 6}, required_telugu_features, "mlym", "mlm2", ContextualShape_Malayalam, ShapeCharGlyphProp_Malayalam}, {{ devanagari_features, 6}, required_telugu_features, "mlym", "mlm2", ContextualShape_Malayalam, ShapeCharGlyphProp_Malayalam}, {{ standard_features, 2}, NULL, "" , "", NULL, NULL}, + {{ standard_features, 2}, NULL, "latn" , "", NULL, NULL}, }; static INT GSUB_is_glyph_covered(LPCVOID table , UINT glyph) diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c index ede7603..b29f592 100644 --- a/dlls/usp10/tests/usp10.c +++ b/dlls/usp10/tests/usp10.c @@ -285,6 +285,13 @@ static void test_ScriptItemize( void ) static const WCHAR test21[] = {0x0710, 0x0712, 0x0308, 0x0712, 0x0714,0}; static const itemTest t211[2] = {{{0,0,0,0,0},0,1,1,1,syrc_tag,FALSE},{{0,0,0,0,0},5,0,0,0,-1,FALSE}}; + /* Latin Punctuation */ + static const WCHAR test22[] = {'#','$',',','!','\"','*',0}; + static const itemTest t221[3] = {{{0,0,0,0,0},0,0,0,0,latn_tag,FALSE},{{0,0,0,0,0},3,0,0,0,0,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + static const itemTest t222[3] = {{{0,0,0,0,0},0,1,1,1,latn_tag,FALSE},{{0,0,0,0,0},3,1,1,1,0,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + static const itemTest t223[2] = {{{0,0,0,0,0},0,1,1,1,latn_tag,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + + SCRIPT_ITEM items[15]; SCRIPT_CONTROL Control; SCRIPT_STATE State; @@ -339,6 +346,7 @@ static void test_ScriptItemize( void ) test_items_ok(test19,6,NULL,NULL,1,t191,FALSE,0); test_items_ok(test20,5,NULL,NULL,2,t201,FALSE,0); test_items_ok(test21,5,NULL,NULL,1,t211,FALSE,0); + test_items_ok(test22,6,NULL,NULL,2,t221,FALSE,0); State.uBidiLevel = 0; test_items_ok(test1,4,&Control,&State,1,t11,FALSE,0); @@ -367,6 +375,7 @@ static void test_ScriptItemize( void ) test_items_ok(test19,6,&Control,&State,1,t191,FALSE,0); test_items_ok(test20,5,&Control,&State,2,t201,FALSE,0); test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); + test_items_ok(test22,6,&Control,&State,2,t221,FALSE,0); State.uBidiLevel = 1; test_items_ok(test1,4,&Control,&State,1,t12,FALSE,0); @@ -395,6 +404,7 @@ static void test_ScriptItemize( void ) test_items_ok(test19,6,&Control,&State,1,t192,FALSE,0); test_items_ok(test20,5,&Control,&State,2,t202,FALSE,0); test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); + test_items_ok(test22,6,&Control,&State,2,t222,FALSE,1); State.uBidiLevel = 1; Control.fMergeNeutralItems = TRUE; @@ -424,6 +434,7 @@ static void test_ScriptItemize( void ) test_items_ok(test19,6,&Control,&State,1,t192,FALSE,0); test_items_ok(test20,5,&Control,&State,2,t202,FALSE,0); test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); + test_items_ok(test22,6,&Control,&State,1,t223,FALSE,2); } static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string, diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index ae3a7b4..72c00cf 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -362,6 +362,10 @@ static const scriptData scriptInformation[] = { {LANG_ENGLISH, 0, 1, 0, 1, ANSI_CHARSET, 0, 0, 0, 0, 0, 1, 1, 0, 0}, 0x00000000, {0}}, + {{Script_Punctuation2, 0, 0, 0, 0, 0, 0, { 0,0,0,0,0,0,0,0,0,0,0}}, + {LANG_ENGLISH, 0, 0, 0, 0, ANSI_CHARSET, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + MS_MAKE_TAG('l','a','t','n'), + {0}}, }; static const SCRIPT_PROPERTIES *script_props[] = @@ -522,14 +526,19 @@ static WCHAR mirror_char( WCHAR ch ) static WORD get_char_script( WCHAR ch) { + static const WCHAR latin_punc[] = {'#','$','&','\'',',',';','<','>','?','@','\\','^','_','`','{','|','}','~', 0x00a0, 0}; WORD type = 0; int i; if (ch == 0xc || ch == 0x20 || ch == 0x202f) return Script_CR; + /* These punctuation are seperated out as Latin punctuation */ + if (strchrW(latin_punc,ch)) + return Script_Punctuation2; + /* These chars are itemized as Punctuation by Windows */ - if (ch == 0x2212 || ch == 0x2044 || ch == 0x00a0) + if (ch == 0x2212 || ch == 0x2044) return Script_Punctuation; GetStringTypeW(CT_CTYPE1, &ch, 1, &type); diff --git a/dlls/usp10/usp10_internal.h b/dlls/usp10/usp10_internal.h index d6c910f..fc9bb7f 100644 --- a/dlls/usp10/usp10_internal.h +++ b/dlls/usp10/usp10_internal.h @@ -73,6 +73,7 @@ #define Script_Malayalam_Numeric 43 /* More supplemental */ #define Script_Diacritical 44 +#define Script_Punctuation2 45 #define GLYPH_BLOCK_SHIFT 8 #define GLYPH_BLOCK_SIZE (1UL << GLYPH_BLOCK_SHIFT)
1
0
0
0
Aric Stewart : usp10: Handle Combining Diacritical Marks.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: 714408684dbbc269d4d321d5b5f2d01f84d48dcf URL:
http://source.winehq.org/git/wine.git/?a=commit;h=714408684dbbc269d4d321d5b…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:05:00 2011 -0700 usp10: Handle Combining Diacritical Marks. --- dlls/usp10/shape.c | 1 + dlls/usp10/tests/usp10.c | 16 ++++++++++++++++ dlls/usp10/usp10.c | 23 ++++++++++++++++++++++- dlls/usp10/usp10_internal.h | 2 ++ 4 files changed, 41 insertions(+), 1 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index bd383b9..3662bc8 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -582,6 +582,7 @@ static const ScriptShapeData ShapingData[] = {{ devanagari_features, 6}, required_telugu_features, "knda", "knd2", ContextualShape_Kannada, ShapeCharGlyphProp_Kannada}, {{ devanagari_features, 6}, required_telugu_features, "mlym", "mlm2", ContextualShape_Malayalam, ShapeCharGlyphProp_Malayalam}, {{ devanagari_features, 6}, required_telugu_features, "mlym", "mlm2", ContextualShape_Malayalam, ShapeCharGlyphProp_Malayalam}, + {{ standard_features, 2}, NULL, "" , "", NULL, NULL}, }; static INT GSUB_is_glyph_covered(LPCVOID table , UINT glyph) diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c index 492564e..ede7603 100644 --- a/dlls/usp10/tests/usp10.c +++ b/dlls/usp10/tests/usp10.c @@ -277,6 +277,14 @@ static void test_ScriptItemize( void ) static const itemTest t191[2] = {{{0,0,0,0,0},0,0,0,0,mlym_tag,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; static const itemTest t192[2] = {{{0,0,0,0,0},0,0,0,2,mlym_tag,FALSE},{{0,0,0,0,0},6,0,0,0,-1,FALSE}}; + /* Diacritical */ + static const WCHAR test20[] = {0x0309,'a','b','c','d',0}; + static const itemTest t201[3] = {{{0,0,0,0,0},0,0,0,0,0x0,FALSE},{{0,0,0,0,0},1,0,0,0,latn_tag,FALSE},{{0,0,0,0,0},5,0,0,0,-1,FALSE}}; + static const itemTest t202[3] = {{{0,0,0,0,0},0,0,0,2,0,TRUE,{-1,1,1,1,-1}},{{0,0,0,0,0},1,0,0,2,latn_tag,FALSE},{{0,0,0,0,0},5,0,0,0,-1,FALSE}}; + + static const WCHAR test21[] = {0x0710, 0x0712, 0x0308, 0x0712, 0x0714,0}; + static const itemTest t211[2] = {{{0,0,0,0,0},0,1,1,1,syrc_tag,FALSE},{{0,0,0,0,0},5,0,0,0,-1,FALSE}}; + SCRIPT_ITEM items[15]; SCRIPT_CONTROL Control; SCRIPT_STATE State; @@ -329,6 +337,8 @@ static void test_ScriptItemize( void ) test_items_ok(test17,6,NULL,NULL,1,t171,FALSE,0); test_items_ok(test18,5,NULL,NULL,1,t181,FALSE,0); test_items_ok(test19,6,NULL,NULL,1,t191,FALSE,0); + test_items_ok(test20,5,NULL,NULL,2,t201,FALSE,0); + test_items_ok(test21,5,NULL,NULL,1,t211,FALSE,0); State.uBidiLevel = 0; test_items_ok(test1,4,&Control,&State,1,t11,FALSE,0); @@ -355,6 +365,8 @@ static void test_ScriptItemize( void ) test_items_ok(test17,6,&Control,&State,1,t171,FALSE,0); test_items_ok(test18,5,&Control,&State,1,t181,FALSE,0); test_items_ok(test19,6,&Control,&State,1,t191,FALSE,0); + test_items_ok(test20,5,&Control,&State,2,t201,FALSE,0); + test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); State.uBidiLevel = 1; test_items_ok(test1,4,&Control,&State,1,t12,FALSE,0); @@ -381,6 +393,8 @@ static void test_ScriptItemize( void ) test_items_ok(test17,6,&Control,&State,1,t172,FALSE,0); test_items_ok(test18,5,&Control,&State,1,t182,FALSE,0); test_items_ok(test19,6,&Control,&State,1,t192,FALSE,0); + test_items_ok(test20,5,&Control,&State,2,t202,FALSE,0); + test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); State.uBidiLevel = 1; Control.fMergeNeutralItems = TRUE; @@ -408,6 +422,8 @@ static void test_ScriptItemize( void ) test_items_ok(test17,6,&Control,&State,1,t172,FALSE,0); test_items_ok(test18,5,&Control,&State,1,t182,FALSE,0); test_items_ok(test19,6,&Control,&State,1,t192,FALSE,0); + test_items_ok(test20,5,&Control,&State,2,t202,FALSE,0); + test_items_ok(test21,5,&Control,&State,1,t211,FALSE,0); } static inline void _test_shape_ok(int valid, HDC hdc, LPCWSTR string, diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 06cde93..ae3a7b4 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -57,6 +57,8 @@ static const scriptRange scriptRanges[] = { /* Latin Extended-B: U+0180–U+024F */ /* IPA Extensions: U+0250–U+02AF */ { Script_Latin, 0x00, 0x2af , Script_Numeric, Script_Punctuation}, + /* Combining Diacritical Marks : U+0300–U+036F */ + { Script_Diacritical,0x300, 0x36f, 0, 0}, /* Greek: U+0370–U+03FF */ { Script_Greek, 0x370, 0x3ff, 0, 0}, /* Cyrillic: U+0400–U+04FF */ @@ -110,6 +112,8 @@ static const scriptRange scriptRanges[] = { { Script_Devanagari, 0x1cd0, 0x1cff, Script_Devanagari_Numeric, 0}, /* Phonetic Extensions: U+1D00–U+1DBF */ { Script_Latin, 0x1d00, 0x1dbf, 0, 0}, + /* Combining Diacritical Marks Supplement: U+1DC0–U+1DFF */ + { Script_Diacritical,0x1dc0, 0x1dff, 0, 0}, /* Latin Extended Additional: U+1E00–U+1EFF */ { Script_Latin, 0x1e00, 0x1eff, 0, 0}, /* Greek Extended: U+1F00–U+1FFF */ @@ -354,6 +358,10 @@ static const scriptData scriptInformation[] = { {LANG_MALAYALAM, 1, 1, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 0, 0, 0, 0, 0, 0}, MS_MAKE_TAG('m','l','y','m'), {'K','a','r','t','i','k','a',0}}, + {{Script_Diacritical, 0, 0, 0, 0, 0, 0, { 0,0,0,0,0,0,0,0,0,0,0}}, + {LANG_ENGLISH, 0, 1, 0, 1, ANSI_CHARSET, 0, 0, 0, 0, 0, 1, 1, 0, 0}, + 0x00000000, + {0}}, }; static const SCRIPT_PROPERTIES *script_props[] = @@ -379,7 +387,8 @@ static const SCRIPT_PROPERTIES *script_props[] = &scriptInformation[36].props, &scriptInformation[37].props, &scriptInformation[38].props, &scriptInformation[39].props, &scriptInformation[40].props, &scriptInformation[41].props, - &scriptInformation[42].props, &scriptInformation[43].props + &scriptInformation[42].props, &scriptInformation[43].props, + &scriptInformation[44].props }; typedef struct { @@ -870,6 +879,10 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int Right-to-Left Mark U+200F) will force us into bidi mode */ if (!forceLevels && pwcInChars[i] >= 0x200B && pwcInChars[i] <= 0x200F) forceLevels = TRUE; + + /* Diacritical marks merge with other scripts */ + if (scripts[i] == Script_Diacritical && i > 0) + scripts[i] = scripts[i-1]; } for (i = 0; i < cInChars; i++) @@ -927,6 +940,14 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int } BIDI_GetStrengths(pwcInChars, cInChars, psControl, strength); + /* We currently mis-level leading Diacriticals */ + if (scripts[0] == Script_Diacritical) + for (i = 0; i < cInChars && scripts[0] == Script_Diacritical; i++) + { + levels[i] = odd(levels[i])?levels[i]+1:levels[i]; + strength[i] = BIDI_STRONG; + } + for (i = 0; i < cInChars; i++) { /* Script_Numeric and select puncuation at level 0 get bumped to level 2 */ diff --git a/dlls/usp10/usp10_internal.h b/dlls/usp10/usp10_internal.h index 9f13b40..d6c910f 100644 --- a/dlls/usp10/usp10_internal.h +++ b/dlls/usp10/usp10_internal.h @@ -71,6 +71,8 @@ #define Script_Kannada_Numeric 41 #define Script_Malayalam 42 #define Script_Malayalam_Numeric 43 +/* More supplemental */ +#define Script_Diacritical 44 #define GLYPH_BLOCK_SHIFT 8 #define GLYPH_BLOCK_SIZE (1UL << GLYPH_BLOCK_SHIFT)
1
0
0
0
Aric Stewart : usp10: Add a facility to mark itemization test elements as broken.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: 2abb8193b9a7376207f30f406ee8fe3ad739f9a0 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=2abb8193b9a7376207f30f406…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:04:35 2011 -0700 usp10: Add a facility to mark itemization test elements as broken. --- dlls/usp10/tests/usp10.c | 130 +++++++++++++++++++++++++--------------------- 1 files changed, 71 insertions(+), 59 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=2abb8193b9a7376207f30…
1
0
0
0
Aric Stewart : usp10: Some unicode code points will force us into bidi mode .
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: fce22eadc1cfa6ced6f0f79a2b6a781c82a7916c URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fce22eadc1cfa6ced6f0f79a2…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:04:13 2011 -0700 usp10: Some unicode code points will force us into bidi mode. --- dlls/usp10/usp10.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index ce4dbcd..06cde93 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -844,6 +844,7 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int BOOL new_run; WORD last_indic = -1; WORD layoutRTL = 0; + BOOL forceLevels = FALSE; TRACE("%s,%d,%d,%p,%p,%p,%p\n", debugstr_wn(pwcInChars, cInChars), cInChars, cMaxItems, psControl, psState, pItems, pcItems); @@ -864,6 +865,11 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int scripts[i] = last_indic; else if (is_indic(scripts[i])) last_indic = base_indic(scripts[i]); + + /* Some unicode points (Zero Width Space U+200B - + Right-to-Left Mark U+200F) will force us into bidi mode */ + if (!forceLevels && pwcInChars[i] >= 0x200B && pwcInChars[i] <= 0x200F) + forceLevels = TRUE; } for (i = 0; i < cInChars; i++) @@ -902,7 +908,7 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int for (i = 0; i < cInChars; i++) if (levels[i]!=levels[0]) break; - if (i >= cInChars && !odd(baselevel) && !odd(psState->uBidiLevel)) + if (i >= cInChars && !odd(baselevel) && !odd(psState->uBidiLevel) && !forceLevels) { heap_free(levels); levels = NULL;
1
0
0
0
Aric Stewart : usp10: Improve handling for ZWJ and ZWNJ in itemization.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: bba75dd0a71645103cf3d6c094a3eaa3f010fdb2 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=bba75dd0a71645103cf3d6c09…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:03:53 2011 -0700 usp10: Improve handling for ZWJ and ZWNJ in itemization. --- dlls/usp10/usp10.c | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 41 insertions(+), 4 deletions(-) diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 535441f..ce4dbcd 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -866,6 +866,28 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int last_indic = base_indic(scripts[i]); } + for (i = 0; i < cInChars; i++) + { + /* Joiners get merged preferencially right */ + if (i > 0 && (pwcInChars[i] == ZWJ || pwcInChars[i] == ZWNJ)) + { + int j; + if (i+1 == cInChars) + scripts[i] = scripts[i-1]; + else + { + for (j = i+1; j < cInChars; j++) + { + if (pwcInChars[j] != ZWJ && pwcInChars[j] != ZWNJ && pwcInChars[j] != Numeric_space) + { + scripts[i] = scripts[j]; + break; + } + } + } + } + } + if (psState && psControl) { levels = heap_alloc_zero(cInChars * sizeof(WORD)); @@ -899,9 +921,9 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int } BIDI_GetStrengths(pwcInChars, cInChars, psControl, strength); - /* Script_Numeric and select puncuation at level 0 get bumped to level 2 */ for (i = 0; i < cInChars; i++) { + /* Script_Numeric and select puncuation at level 0 get bumped to level 2 */ if ((levels[i] == 0 || (odd(psState->uBidiLevel) && levels[i] == psState->uBidiLevel+1)) && inNumber && strchrW(math_punc,pwcInChars[i])) { scripts[i] = Script_Numeric; @@ -914,6 +936,21 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int } else inNumber = FALSE; + + /* Joiners get merged preferencially right */ + if (i > 0 && (pwcInChars[i] == ZWJ || pwcInChars[i] == ZWNJ)) + { + int j; + if (i+1 == cInChars && levels[i-1] == levels[i]) + strength[i] = strength[i-1]; + else + for (j = i+1; j < cInChars && levels[i] == levels[j]; j++) + if (pwcInChars[j] != ZWJ && pwcInChars[j] != ZWNJ && pwcInChars[j] != Numeric_space) + { + strength[i] = strength[j]; + break; + } + } } if (psControl->fMergeNeutralItems) { @@ -956,7 +993,7 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int } } - while ((!levels || (levels && levels[cnt+1] == levels[0])) && (pwcInChars[cnt] == Numeric_space || pwcInChars[cnt] == ZWJ || pwcInChars[cnt] == ZWNJ) && cnt < cInChars) + while ((!levels || (levels && levels[cnt+1] == levels[0])) && (pwcInChars[cnt] == Numeric_space) && cnt < cInChars) cnt++; if (cnt == cInChars) /* All Spaces */ @@ -1000,12 +1037,12 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int for (cnt=1; cnt < cInChars; cnt++) { - if(pwcInChars[cnt] != Numeric_space && pwcInChars[cnt] != ZWJ && pwcInChars[cnt] != ZWNJ) + if(pwcInChars[cnt] != Numeric_space) New_Script = scripts[cnt]; else if (levels) { int j = 1; - while (cnt + j < cInChars - 1 && (pwcInChars[cnt+j] == Numeric_space || pwcInChars[cnt+j] == ZWJ || pwcInChars[cnt+j] == ZWNJ) && levels[cnt] == levels[cnt+j]) + while (cnt + j < cInChars - 1 && pwcInChars[cnt+j] == Numeric_space && levels[cnt] == levels[cnt+j]) j++; if (cnt + j < cInChars && levels[cnt] == levels[cnt+j]) New_Script = scripts[cnt+j];
1
0
0
0
Aric Stewart : usp10: In Arabic only fallback to presentation form B for isolated glyphs.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: ed15053837cada42ae3eb3cd59f229d4beb46581 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=ed15053837cada42ae3eb3cd5…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Sun Nov 20 21:02:58 2011 -0700 usp10: In Arabic only fallback to presentation form B for isolated glyphs. --- dlls/usp10/shape.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 7464b4a..bd383b9 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -1567,13 +1567,16 @@ static void ContextualShape_Arabic(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *p if (!shaped) { - WORD newGlyph = pwOutGlyphs[i]; - if (pwcChars[i] >= FIRST_ARABIC_CHAR && pwcChars[i] <= LAST_ARABIC_CHAR) + if (context_shape[i] == Xn) { - /* fall back to presentation form B */ - WCHAR context_char = wine_shaping_forms[pwcChars[i] - FIRST_ARABIC_CHAR][context_shape[i]]; - if (context_char != pwcChars[i] && GetGlyphIndicesW(hdc, &context_char, 1, &newGlyph, 0) != GDI_ERROR && newGlyph != 0x0000) - pwOutGlyphs[i] = newGlyph; + WORD newGlyph = pwOutGlyphs[i]; + if (pwcChars[i] >= FIRST_ARABIC_CHAR && pwcChars[i] <= LAST_ARABIC_CHAR) + { + /* fall back to presentation form B */ + WCHAR context_char = wine_shaping_forms[pwcChars[i] - FIRST_ARABIC_CHAR][context_shape[i]]; + if (context_char != pwcChars[i] && GetGlyphIndicesW(hdc, &context_char, 1, &newGlyph, 0) != GDI_ERROR && newGlyph != 0x0000) + pwOutGlyphs[i] = newGlyph; + } } i++; }
1
0
0
0
Michael Stefaniuc : include: Drop some superfluous l modifiers from numeric constants.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: f869a1618667c57c94a0eb8fe82a47ca7946c37b URL:
http://source.winehq.org/git/wine.git/?a=commit;h=f869a1618667c57c94a0eb8fe…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Mon Nov 21 01:11:46 2011 +0100 include: Drop some superfluous l modifiers from numeric constants. --- include/advpub.h | 2 +- include/prsht.h | 14 +++++++------- include/sti.h | 2 +- include/strsafe.h | 6 +++--- include/winhttp.h | 2 +- include/wininet.h | 2 +- include/winioctl.h | 4 ++-- include/winsock2.h | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/advpub.h b/include/advpub.h index c31df33..b213b1f 100644 --- a/include/advpub.h +++ b/include/advpub.h @@ -26,7 +26,7 @@ extern "C" { #endif #ifndef S_ASYNCHRONOUS -#define S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8L) +#define S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8) #endif typedef struct _CabInfoA diff --git a/include/prsht.h b/include/prsht.h index d538c8e..21fc266 100644 --- a/include/prsht.h +++ b/include/prsht.h @@ -454,25 +454,25 @@ typedef struct _PSHNOTIFY SNDMSG(hDlg, PSM_ADDPAGE, 0, (LPARAM)hpage) #define PropSheet_Changed(hDlg, hwnd) \ - SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0L) + SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0) #define PropSheet_RestartWindows(hDlg) \ - SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0L) + SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0) #define PropSheet_RebootSystem(hDlg) \ - SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0L) + SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0) #define PropSheet_CancelToClose(hDlg) \ - PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0L) + PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0) #define PropSheet_QuerySiblings(hDlg, wParam, lParam) \ SNDMSG(hDlg, PSM_QUERYSIBLINGS, wParam, lParam) #define PropSheet_UnChanged(hDlg, hwnd) \ - SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0L) + SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0) #define PropSheet_Apply(hDlg) \ - SNDMSG(hDlg, PSM_APPLY, 0, 0L) + SNDMSG(hDlg, PSM_APPLY, 0, 0) #define PropSheet_SetTitle(hDlg, wStyle, lpszText)\ SNDMSG(hDlg, PSM_SETTITLE, wStyle, (LPARAM)(LPCTSTR)lpszText) @@ -496,7 +496,7 @@ typedef struct _PSHNOTIFY (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg) #define PropSheet_GetCurrentPageHwnd(hDlg) \ - (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L) + (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0) #define PropSheet_InsertPage(hDlg, index, hpage) \ SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage)) diff --git a/include/sti.h b/include/sti.h index 204492d..cda2c1c 100644 --- a/include/sti.h +++ b/include/sti.h @@ -29,7 +29,7 @@ extern "C" { #endif -DEFINE_GUID(CLSID_Sti, 0xB323F8E0L, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C); +DEFINE_GUID(CLSID_Sti, 0xB323F8E0, 0x2E68, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C); DEFINE_GUID(IID_IStillImageW, 0x641BD880, 0x2DC8, 0x11D0, 0x90, 0xEA, 0x00, 0xAA, 0x00, 0x60, 0xF8, 0x6C); diff --git a/include/strsafe.h b/include/strsafe.h index 2beb53f..842075f 100644 --- a/include/strsafe.h +++ b/include/strsafe.h @@ -25,8 +25,8 @@ /* Windows version includes this header. */ /* #include <specstring.h> */ -#define STRSAFE_E_INSUFFICIENT_BUFFER ((HRESULT)0x8007007AL) -#define STRSAFE_E_INVALID_PARAM ((HRESULT)0x80070075L) -#define STRSAFE_E_END_OF_FILE ((HRESULT)0x80070026L) +#define STRSAFE_E_INSUFFICIENT_BUFFER ((HRESULT)0x8007007A) +#define STRSAFE_E_INVALID_PARAM ((HRESULT)0x80070075) +#define STRSAFE_E_END_OF_FILE ((HRESULT)0x80070026) #endif diff --git a/include/winhttp.h b/include/winhttp.h index 077c277..b54bd92 100644 --- a/include/winhttp.h +++ b/include/winhttp.h @@ -408,7 +408,7 @@ typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME; | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE \ | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR) #define WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS 0xffffffff -#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1L)) +#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1)) #define API_RECEIVE_RESPONSE (1) #define API_QUERY_DATA_AVAILABLE (2) diff --git a/include/wininet.h b/include/wininet.h index ce09821..6db41ca 100644 --- a/include/wininet.h +++ b/include/wininet.h @@ -687,7 +687,7 @@ INTERNETAPI INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallbackW(HINTERNET #define INTERNET_STATE_IDLE 0x00000100 #define INTERNET_STATE_BUSY 0x00000200 -#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L)) +#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1)) #define FTP_TRANSFER_TYPE_UNKNOWN 0x00000000 #define FTP_TRANSFER_TYPE_ASCII 0x00000001 diff --git a/include/winioctl.h b/include/winioctl.h index 3a56d17..36d6e24 100644 --- a/include/winioctl.h +++ b/include/winioctl.h @@ -457,9 +457,9 @@ typedef struct _FILE_PIPE_PEEK_BUFFER { /* Device GUIDs */ #ifdef DEFINE_GUID -DEFINE_GUID(GUID_DEVINTERFACE_COMPORT, 0x86E0D1E0L, 0x8089, +DEFINE_GUID(GUID_DEVINTERFACE_COMPORT, 0x86E0D1E0, 0x8089, 0x11D0, 0x9C, 0xE4, 0x08, 0x00, 0x3E, 0x30, 0x1F, 0x73); -DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR, 0x4D36E978L, 0xE325, +DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR, 0x4D36E978, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18); /* obsolete GUID names */ diff --git a/include/winsock2.h b/include/winsock2.h index 5e1f489..b884587 100644 --- a/include/winsock2.h +++ b/include/winsock2.h @@ -359,7 +359,7 @@ typedef struct _OVERLAPPED* LPWSAOVERLAPPED; #define WSA_INVALID_EVENT ((WSAEVENT)NULL) #define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS) -#define WSA_WAIT_FAILED ((DWORD)-1L) +#define WSA_WAIT_FAILED ((DWORD)-1) #define WSA_WAIT_EVENT_0 (WAIT_OBJECT_0) #define WSA_WAIT_IO_COMPLETION (WAIT_IO_COMPLETION) #define WSA_WAIT_TIMEOUT (WAIT_TIMEOUT)
1
0
0
0
Michael Stefaniuc : include: Drop "l" modifiers from numeric constants in shlguid.h.
by Alexandre Julliard
21 Nov '11
21 Nov '11
Module: wine Branch: master Commit: 4e3a581d16893e4223f2c4da972b253b5c2a6c51 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=4e3a581d16893e4223f2c4da9…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Mon Nov 21 01:10:15 2011 +0100 include: Drop "l" modifiers from numeric constants in shlguid.h. --- include/shlguid.h | 96 ++++++++++++++++++++++++++-------------------------- 1 files changed, 48 insertions(+), 48 deletions(-) diff --git a/include/shlguid.h b/include/shlguid.h index f01ec73..ebae98d 100644 --- a/include/shlguid.h +++ b/include/shlguid.h @@ -19,61 +19,61 @@ #ifndef __WINE_SHLGUID_H #define __WINE_SHLGUID_H -DEFINE_OLEGUID(CLSID_ShellDesktop, 0x00021400L, 0, 0); +DEFINE_OLEGUID(CLSID_ShellDesktop, 0x00021400, 0, 0); -DEFINE_OLEGUID(CATID_BrowsableShellExt, 0x00021490L, 0, 0); -DEFINE_OLEGUID(CATID_BrowseInPlace, 0x00021491L, 0, 0); -DEFINE_OLEGUID(CATID_DeskBand, 0x00021492L, 0, 0); -DEFINE_OLEGUID(CATID_InfoBand, 0x00021493L, 0, 0); -DEFINE_OLEGUID(CATID_CommBand, 0x00021494L, 0, 0); +DEFINE_OLEGUID(CATID_BrowsableShellExt, 0x00021490, 0, 0); +DEFINE_OLEGUID(CATID_BrowseInPlace, 0x00021491, 0, 0); +DEFINE_OLEGUID(CATID_DeskBand, 0x00021492, 0, 0); +DEFINE_OLEGUID(CATID_InfoBand, 0x00021493, 0, 0); +DEFINE_OLEGUID(CATID_CommBand, 0x00021494, 0, 0); /* shell32 formatids */ -DEFINE_OLEGUID(FMTID_Intshcut, 0x000214A0L, 0, 0); -DEFINE_OLEGUID(FMTID_InternetSite, 0x000214A1L, 0, 0); +DEFINE_OLEGUID(FMTID_Intshcut, 0x000214A0, 0, 0); +DEFINE_OLEGUID(FMTID_InternetSite, 0x000214A1, 0, 0); /* command group ids */ -DEFINE_OLEGUID(CGID_Explorer, 0x000214D0L, 0, 0); -DEFINE_OLEGUID(CGID_ShellDocView, 0x000214D1L, 0, 0); -DEFINE_OLEGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0); -DEFINE_OLEGUID(CGID_ExplorerBarDoc, 0x000214D3L, 0, 0); - -DEFINE_OLEGUID(IID_IShellDetails, 0x000214ECL, 0, 0); -DEFINE_OLEGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0); -DEFINE_OLEGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0); -DEFINE_OLEGUID(IID_IFileViewerA, 0x000214F0L, 0, 0); -DEFINE_OLEGUID(IID_IFileViewerSite, 0x000214F3L, 0, 0); -DEFINE_OLEGUID(IID_IPropSheetPage, 0x000214F6L, 0, 0); -DEFINE_OLEGUID(IID_IFileViewerW, 0x000214F8L, 0, 0); -DEFINE_OLEGUID(IID_IShellCopyHookW, 0x000214FCL, 0, 0); -DEFINE_OLEGUID(IID_IRemoteComputer, 0x000214FEL, 0, 0); -DEFINE_OLEGUID(IID_IQueryInfo, 0x00021500L, 0, 0); - -DEFINE_GUID(IID_IACList, 0x77A130B0L,0x94FD,0x11D0,0xA5,0x44,0x00,0xC0,0x4F,0xD7,0xD0,0x62); -DEFINE_GUID(IID_IACList2, 0x470141A0L,0x5186,0x11D2,0xBB,0xB6,0x00,0x60,0x97,0x7B,0x46,0x4C); -DEFINE_GUID(IID_IObjMgr, 0x00BB2761L,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62); +DEFINE_OLEGUID(CGID_Explorer, 0x000214D0, 0, 0); +DEFINE_OLEGUID(CGID_ShellDocView, 0x000214D1, 0, 0); +DEFINE_OLEGUID(CGID_ShellServiceObject, 0x000214D2, 0, 0); +DEFINE_OLEGUID(CGID_ExplorerBarDoc, 0x000214D3, 0, 0); + +DEFINE_OLEGUID(IID_IShellDetails, 0x000214EC, 0, 0); +DEFINE_OLEGUID(IID_IDelayedRelease, 0x000214ED, 0, 0); +DEFINE_OLEGUID(IID_IShellCopyHookA, 0x000214EF, 0, 0); +DEFINE_OLEGUID(IID_IFileViewerA, 0x000214F0, 0, 0); +DEFINE_OLEGUID(IID_IFileViewerSite, 0x000214F3, 0, 0); +DEFINE_OLEGUID(IID_IPropSheetPage, 0x000214F6, 0, 0); +DEFINE_OLEGUID(IID_IFileViewerW, 0x000214F8, 0, 0); +DEFINE_OLEGUID(IID_IShellCopyHookW, 0x000214FC, 0, 0); +DEFINE_OLEGUID(IID_IRemoteComputer, 0x000214FE, 0, 0); +DEFINE_OLEGUID(IID_IQueryInfo, 0x00021500, 0, 0); + +DEFINE_GUID(IID_IACList, 0x77A130B0,0x94FD,0x11D0,0xA5,0x44,0x00,0xC0,0x4F,0xD7,0xD0,0x62); +DEFINE_GUID(IID_IACList2, 0x470141A0,0x5186,0x11D2,0xBB,0xB6,0x00,0x60,0x97,0x7B,0x46,0x4C); +DEFINE_GUID(IID_IObjMgr, 0x00BB2761,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0xD7,0xD0,0x62); DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4); /* avoid duplicate definitions with shobjidl.h (FIXME) */ -/* DEFINE_OLEGUID(IID_IShellPropSheetExt, 0x000214E9L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IExtractIconA, 0x000214EBL, 0, 0); */ -/* DEFINE_OLEGUID(IID_IExtractIconW, 0x000214FAL, 0, 0); */ -/* DEFINE_OLEGUID(IID_IContextMenu, 0x000214E4L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IContextMenu2, 0x000214F4L, 0, 0); */ -/* DEFINE_OLEGUID(IID_ICommDlgBrowser, 0x000214F1L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellBrowser, 0x000214E2L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellView, 0x000214E3L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellFolder, 0x000214E6L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellExtInit, 0x000214E8L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IPersistFolder, 0x000214EAL, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellLinkA, 0x000214EEL, 0, 0); */ -/* DEFINE_OLEGUID(IID_IEnumIDList, 0x000214F2L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellLinkW, 0x000214F9L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0); */ -/* DEFINE_OLEGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0); */ -/* DEFINE_OLEGUID(IID_INewShortcutHookA, 0x000214E1L, 0, 0); */ -/* DEFINE_OLEGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellPropSheetExt, 0x000214E9, 0, 0); */ +/* DEFINE_OLEGUID(IID_IExtractIconA, 0x000214EB, 0, 0); */ +/* DEFINE_OLEGUID(IID_IExtractIconW, 0x000214FA, 0, 0); */ +/* DEFINE_OLEGUID(IID_IContextMenu, 0x000214E4, 0, 0); */ +/* DEFINE_OLEGUID(IID_IContextMenu2, 0x000214F4, 0, 0); */ +/* DEFINE_OLEGUID(IID_ICommDlgBrowser, 0x000214F1, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellBrowser, 0x000214E2, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellView, 0x000214E3, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellFolder, 0x000214E6, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellExtInit, 0x000214E8, 0, 0); */ +/* DEFINE_OLEGUID(IID_IPersistFolder, 0x000214EA, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellLinkA, 0x000214EE, 0, 0); */ +/* DEFINE_OLEGUID(IID_IEnumIDList, 0x000214F2, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellLinkW, 0x000214F9, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellExecuteHookA, 0x000214F5, 0, 0); */ +/* DEFINE_OLEGUID(IID_IShellExecuteHookW, 0x000214FB, 0, 0); */ +/* DEFINE_OLEGUID(IID_INewShortcutHookA, 0x000214E1, 0, 0); */ +/* DEFINE_OLEGUID(IID_INewShortcutHookW, 0x000214F7, 0, 0); */ DEFINE_GUID(CLSID_CUrlHistory, 0x3c374a40, 0xbae4, 0x11cf, 0xbf, 0x7d, 0x00, 0xaa, 0x00, 0x69, 0x46, 0xee); #define SID_SUrlHistory CLSID_CUrlHistory @@ -98,9 +98,9 @@ DEFINE_GUID(SID_SCommDlgBrowser, 0x80f30233, 0xb7df, 0x11d2, 0xa3, 0x3b, 0x00, #define IID_IShellExecuteHook WINELIB_NAME_AW(IID_IShellExecuteHook) #define IID_INewShortcutHook WINELIB_NAME_AW(IID_INewShortcutHook) -DEFINE_GUID(IID_IDockingWindowSite, 0x2A342FC2L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8); -DEFINE_GUID(IID_IInputObject, 0x068284FAA, 0x6A48, 0x11D0, 0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4); -DEFINE_GUID(IID_IInputObjectSite, 0x0F1DB8392, 0x7331, 0x11D0, 0x8C, 0x99, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8); +DEFINE_GUID(IID_IDockingWindowSite, 0x2A342FC2, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8); +DEFINE_GUID(IID_IInputObject, 0x68284FAA, 0x6A48, 0x11D0, 0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4); +DEFINE_GUID(IID_IInputObjectSite, 0xF1DB8392, 0x7331, 0x11D0, 0x8C, 0x99, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8); /**************************************************************************** * the next IID's are the namespace elements of the pidls
1
0
0
0
← Newer
1
...
27
28
29
30
31
32
33
...
86
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Results per page:
10
25
50
100
200