[uniscribe] Fix shaper

It's kinda working finally!
This commit is contained in:
Behdad Esfahbod 2011-08-07 00:59:38 -04:00
parent f22e661147
commit 2eb474afb4
1 changed files with 6 additions and 3 deletions

View File

@ -176,7 +176,7 @@ retry:
script_tags, script_tags,
&item_count); &item_count);
if (unlikely (FAILED (hr))) if (unlikely (FAILED (hr)))
FAIL ("ScriptItemizeOpenType() failed: %d", hr); FAIL ("ScriptItemizeOpenType() failed: 0x%08xL", hr);
#undef MAX_ITEMS #undef MAX_ITEMS
@ -248,8 +248,10 @@ retry:
FAIL ("Buffer resize failed"); FAIL ("Buffer resize failed");
goto retry; goto retry;
} }
if (unlikely (hr == USP_E_SCRIPT_NOT_IN_FONT))
FAIL ("ScriptShapeOpenType() failed: Font doesn't support script");
if (unlikely (FAILED (hr))) if (unlikely (FAILED (hr)))
FAIL ("ScriptShapeOpenType() failed: %d", hr); FAIL ("ScriptShapeOpenType() failed: 0x%08xL", hr);
hr = ScriptPlaceOpenType (hdc, hr = ScriptPlaceOpenType (hdc,
&script_cache, &script_cache,
@ -271,7 +273,7 @@ retry:
offsets + glyphs_offset, offsets + glyphs_offset,
NULL); NULL);
if (unlikely (FAILED (hr))) if (unlikely (FAILED (hr)))
FAIL ("ScriptPlaceOpenType() failed: %d", hr); FAIL ("ScriptPlaceOpenType() failed: 0x%08xL", hr);
glyphs_offset += glyphs_len; glyphs_offset += glyphs_len;
} }
@ -312,6 +314,7 @@ retry:
info->var1.u32 = offsets[i].du; info->var1.u32 = offsets[i].du;
info->var2.u32 = offsets[i].dv; info->var2.u32 = offsets[i].dv;
} }
buffer->len = glyphs_len;
/* Set glyph positions */ /* Set glyph positions */
buffer->clear_positions (); buffer->clear_positions ();