mirror of
https://github.com/reactos/reactos.git
synced 2025-07-23 01:13:42 +00:00
[USP10]
* Sync with Wine 1.5.26. svn path=/trunk/; revision=58611
This commit is contained in:
parent
f9f8940500
commit
b67b211b59
4 changed files with 23 additions and 18 deletions
|
@ -749,7 +749,8 @@ BOOL BIDI_DetermineLevels(
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
WORD *chartype;
|
WORD *chartype;
|
||||||
unsigned baselevel = 0,j;
|
unsigned baselevel = 0;
|
||||||
|
INT j;
|
||||||
TRACE("%s, %d\n", debugstr_wn(lpString, uCount), uCount);
|
TRACE("%s, %d\n", debugstr_wn(lpString, uCount), uCount);
|
||||||
|
|
||||||
chartype = HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WORD));
|
chartype = HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WORD));
|
||||||
|
|
|
@ -931,7 +931,7 @@ static void mark_invalid_combinations(HDC hdc, const WCHAR* pwcChars, INT cChars
|
||||||
context_type[i] = lex(pwcChars[i]);
|
context_type[i] = lex(pwcChars[i]);
|
||||||
|
|
||||||
GetGlyphIndicesW(hdc, &invalid, 1, &invalid_glyph, 0);
|
GetGlyphIndicesW(hdc, &invalid, 1, &invalid_glyph, 0);
|
||||||
for (i = 1, g=1; i < cChars; i++, g++)
|
for (i = 1, g=1; i < cChars - 1; i++, g++)
|
||||||
{
|
{
|
||||||
if (context_type[i] != 0 && context_type[i+write_dir]==context_type[i])
|
if (context_type[i] != 0 && context_type[i+write_dir]==context_type[i])
|
||||||
{
|
{
|
||||||
|
|
|
@ -1017,13 +1017,14 @@ HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc)
|
||||||
if (psc && *psc)
|
if (psc && *psc)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
INT n;
|
||||||
for (i = 0; i < GLYPH_MAX / GLYPH_BLOCK_SIZE; i++)
|
for (i = 0; i < GLYPH_MAX / GLYPH_BLOCK_SIZE; i++)
|
||||||
{
|
{
|
||||||
heap_free(((ScriptCache *)*psc)->widths[i]);
|
heap_free(((ScriptCache *)*psc)->widths[i]);
|
||||||
}
|
}
|
||||||
for (i = 0; i < 0x10; i++)
|
for (i = 0; i < 0x10; i++)
|
||||||
{
|
{
|
||||||
int j;
|
unsigned int j;
|
||||||
if (((ScriptCache *)*psc)->page[i])
|
if (((ScriptCache *)*psc)->page[i])
|
||||||
for (j = 0; j < GLYPH_MAX / GLYPH_BLOCK_SIZE; j++)
|
for (j = 0; j < GLYPH_MAX / GLYPH_BLOCK_SIZE; j++)
|
||||||
heap_free(((ScriptCache *)*psc)->page[i]->glyphs[j]);
|
heap_free(((ScriptCache *)*psc)->page[i]->glyphs[j]);
|
||||||
|
@ -1033,20 +1034,20 @@ HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc)
|
||||||
heap_free(((ScriptCache *)*psc)->GDEF_Table);
|
heap_free(((ScriptCache *)*psc)->GDEF_Table);
|
||||||
heap_free(((ScriptCache *)*psc)->CMAP_Table);
|
heap_free(((ScriptCache *)*psc)->CMAP_Table);
|
||||||
heap_free(((ScriptCache *)*psc)->GPOS_Table);
|
heap_free(((ScriptCache *)*psc)->GPOS_Table);
|
||||||
for (i = 0; i < ((ScriptCache *)*psc)->script_count; i++)
|
for (n = 0; n < ((ScriptCache *)*psc)->script_count; n++)
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
for (j = 0; j < ((ScriptCache *)*psc)->scripts[i].language_count; j++)
|
for (j = 0; j < ((ScriptCache *)*psc)->scripts[n].language_count; j++)
|
||||||
{
|
{
|
||||||
int k;
|
int k;
|
||||||
for (k = 0; k < ((ScriptCache *)*psc)->scripts[i].languages[j].feature_count; k++)
|
for (k = 0; k < ((ScriptCache *)*psc)->scripts[n].languages[j].feature_count; k++)
|
||||||
heap_free(((ScriptCache *)*psc)->scripts[i].languages[j].features[k].lookups);
|
heap_free(((ScriptCache *)*psc)->scripts[n].languages[j].features[k].lookups);
|
||||||
heap_free(((ScriptCache *)*psc)->scripts[i].languages[j].features);
|
heap_free(((ScriptCache *)*psc)->scripts[n].languages[j].features);
|
||||||
}
|
}
|
||||||
for (j = 0; j < ((ScriptCache *)*psc)->scripts[i].default_language.feature_count; j++)
|
for (j = 0; j < ((ScriptCache *)*psc)->scripts[n].default_language.feature_count; j++)
|
||||||
heap_free(((ScriptCache *)*psc)->scripts[i].default_language.features[j].lookups);
|
heap_free(((ScriptCache *)*psc)->scripts[n].default_language.features[j].lookups);
|
||||||
heap_free(((ScriptCache *)*psc)->scripts[i].default_language.features);
|
heap_free(((ScriptCache *)*psc)->scripts[n].default_language.features);
|
||||||
heap_free(((ScriptCache *)*psc)->scripts[i].languages);
|
heap_free(((ScriptCache *)*psc)->scripts[n].languages);
|
||||||
}
|
}
|
||||||
heap_free(((ScriptCache *)*psc)->scripts);
|
heap_free(((ScriptCache *)*psc)->scripts);
|
||||||
heap_free(((ScriptCache *)*psc)->otm);
|
heap_free(((ScriptCache *)*psc)->otm);
|
||||||
|
@ -2534,8 +2535,9 @@ HRESULT WINAPI ScriptCPtoX(int iCP,
|
||||||
|
|
||||||
if (check >= cChars && !iMaxPos)
|
if (check >= cChars && !iMaxPos)
|
||||||
{
|
{
|
||||||
for (check = clust; check < cChars; check++)
|
int glyph;
|
||||||
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, check, 1);
|
for (glyph = clust; glyph < cGlyphs; glyph++)
|
||||||
|
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, glyph, 1);
|
||||||
iSpecial = item;
|
iSpecial = item;
|
||||||
special_size /= (cChars - item);
|
special_size /= (cChars - item);
|
||||||
iPosX += special_size;
|
iPosX += special_size;
|
||||||
|
@ -2666,8 +2668,9 @@ HRESULT WINAPI ScriptXtoCP(int iX,
|
||||||
|
|
||||||
if (check >= cChars && direction > 0)
|
if (check >= cChars && direction > 0)
|
||||||
{
|
{
|
||||||
for (check = clust; check < cChars; check++)
|
int glyph;
|
||||||
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, check, direction);
|
for (glyph = clust; glyph < cGlyphs; glyph++)
|
||||||
|
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, glyph, direction);
|
||||||
iSpecial = item;
|
iSpecial = item;
|
||||||
special_size /= (cChars - item);
|
special_size /= (cChars - item);
|
||||||
iPosX += special_size;
|
iPosX += special_size;
|
||||||
|
@ -2841,7 +2844,8 @@ HRESULT WINAPI ScriptShapeOpenType( HDC hdc, SCRIPT_CACHE *psc,
|
||||||
SCRIPT_GLYPHPROP *pOutGlyphProps, int *pcGlyphs)
|
SCRIPT_GLYPHPROP *pOutGlyphProps, int *pcGlyphs)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
unsigned int i,g;
|
int i;
|
||||||
|
unsigned int g;
|
||||||
BOOL rtl;
|
BOOL rtl;
|
||||||
int cluster;
|
int cluster;
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ reactos/dll/win32/unicows # Synced to Wine-1.3.32 (Win9x only, why do we
|
||||||
reactos/dll/win32/updspapi # Synced to Wine-1.5.4
|
reactos/dll/win32/updspapi # Synced to Wine-1.5.4
|
||||||
reactos/dll/win32/url # Synced to Wine-1.5.19
|
reactos/dll/win32/url # Synced to Wine-1.5.19
|
||||||
reactos/dll/win32/urlmon # Synced to Wine-1.5.26
|
reactos/dll/win32/urlmon # Synced to Wine-1.5.26
|
||||||
reactos/dll/win32/usp10 # Synced to Wine-1.5.24
|
reactos/dll/win32/usp10 # Synced to Wine-1.5.26
|
||||||
reactos/dll/win32/uxtheme # Forked
|
reactos/dll/win32/uxtheme # Forked
|
||||||
reactos/dll/win32/version # Autosync
|
reactos/dll/win32/version # Autosync
|
||||||
reactos/dll/win32/wer # Autosync
|
reactos/dll/win32/wer # Autosync
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue