mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +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;
|
||||
unsigned baselevel = 0,j;
|
||||
unsigned baselevel = 0;
|
||||
INT j;
|
||||
TRACE("%s, %d\n", debugstr_wn(lpString, uCount), uCount);
|
||||
|
||||
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]);
|
||||
|
||||
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])
|
||||
{
|
||||
|
|
|
@ -1017,13 +1017,14 @@ HRESULT WINAPI ScriptFreeCache(SCRIPT_CACHE *psc)
|
|||
if (psc && *psc)
|
||||
{
|
||||
unsigned int i;
|
||||
INT n;
|
||||
for (i = 0; i < GLYPH_MAX / GLYPH_BLOCK_SIZE; i++)
|
||||
{
|
||||
heap_free(((ScriptCache *)*psc)->widths[i]);
|
||||
}
|
||||
for (i = 0; i < 0x10; i++)
|
||||
{
|
||||
int j;
|
||||
unsigned int j;
|
||||
if (((ScriptCache *)*psc)->page[i])
|
||||
for (j = 0; j < GLYPH_MAX / GLYPH_BLOCK_SIZE; 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)->CMAP_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;
|
||||
for (j = 0; j < ((ScriptCache *)*psc)->scripts[i].language_count; j++)
|
||||
for (j = 0; j < ((ScriptCache *)*psc)->scripts[n].language_count; j++)
|
||||
{
|
||||
int k;
|
||||
for (k = 0; k < ((ScriptCache *)*psc)->scripts[i].languages[j].feature_count; k++)
|
||||
heap_free(((ScriptCache *)*psc)->scripts[i].languages[j].features[k].lookups);
|
||||
heap_free(((ScriptCache *)*psc)->scripts[i].languages[j].features);
|
||||
for (k = 0; k < ((ScriptCache *)*psc)->scripts[n].languages[j].feature_count; k++)
|
||||
heap_free(((ScriptCache *)*psc)->scripts[n].languages[j].features[k].lookups);
|
||||
heap_free(((ScriptCache *)*psc)->scripts[n].languages[j].features);
|
||||
}
|
||||
for (j = 0; j < ((ScriptCache *)*psc)->scripts[i].default_language.feature_count; j++)
|
||||
heap_free(((ScriptCache *)*psc)->scripts[i].default_language.features[j].lookups);
|
||||
heap_free(((ScriptCache *)*psc)->scripts[i].default_language.features);
|
||||
heap_free(((ScriptCache *)*psc)->scripts[i].languages);
|
||||
for (j = 0; j < ((ScriptCache *)*psc)->scripts[n].default_language.feature_count; j++)
|
||||
heap_free(((ScriptCache *)*psc)->scripts[n].default_language.features[j].lookups);
|
||||
heap_free(((ScriptCache *)*psc)->scripts[n].default_language.features);
|
||||
heap_free(((ScriptCache *)*psc)->scripts[n].languages);
|
||||
}
|
||||
heap_free(((ScriptCache *)*psc)->scripts);
|
||||
heap_free(((ScriptCache *)*psc)->otm);
|
||||
|
@ -2534,8 +2535,9 @@ HRESULT WINAPI ScriptCPtoX(int iCP,
|
|||
|
||||
if (check >= cChars && !iMaxPos)
|
||||
{
|
||||
for (check = clust; check < cChars; check++)
|
||||
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, check, 1);
|
||||
int glyph;
|
||||
for (glyph = clust; glyph < cGlyphs; glyph++)
|
||||
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, glyph, 1);
|
||||
iSpecial = item;
|
||||
special_size /= (cChars - item);
|
||||
iPosX += special_size;
|
||||
|
@ -2666,8 +2668,9 @@ HRESULT WINAPI ScriptXtoCP(int iX,
|
|||
|
||||
if (check >= cChars && direction > 0)
|
||||
{
|
||||
for (check = clust; check < cChars; check++)
|
||||
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, check, direction);
|
||||
int glyph;
|
||||
for (glyph = clust; glyph < cGlyphs; glyph++)
|
||||
special_size += get_glyph_cluster_advance(piAdvance, psva, pwLogClust, cGlyphs, cChars, glyph, direction);
|
||||
iSpecial = item;
|
||||
special_size /= (cChars - item);
|
||||
iPosX += special_size;
|
||||
|
@ -2841,7 +2844,8 @@ HRESULT WINAPI ScriptShapeOpenType( HDC hdc, SCRIPT_CACHE *psc,
|
|||
SCRIPT_GLYPHPROP *pOutGlyphProps, int *pcGlyphs)
|
||||
{
|
||||
HRESULT hr;
|
||||
unsigned int i,g;
|
||||
int i;
|
||||
unsigned int g;
|
||||
BOOL rtl;
|
||||
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/url # Synced to Wine-1.5.19
|
||||
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/version # Autosync
|
||||
reactos/dll/win32/wer # Autosync
|
||||
|
|
Loading…
Reference in a new issue