Sync usp10 with Wine again, fixes the corrupted text display in AbiWord.
[reactos.git] / reactos / dll / win32 / usp10 / usp10.c
index 8980a82..57e6611 100644 (file)
@@ -1407,27 +1407,22 @@ HRESULT WINAPI ScriptTextOut(const HDC hdc, SCRIPT_CACHE *psc, int x, int y, UIN
                              int iReserved, const WORD *pwGlyphs, int cGlyphs, const int *piAdvance,
                              const int *piJustify, const GOFFSET *pGoffset)
 {
                              int iReserved, const WORD *pwGlyphs, int cGlyphs, const int *piAdvance,
                              const int *piJustify, const GOFFSET *pGoffset)
 {
-    HFONT hfont;
     HRESULT hr = S_OK;
 
     TRACE("(%p, %p, %d, %d, %04x, %p, %p, %p, %d, %p, %d, %p, %p, %p)\n",
          hdc, psc, x, y, fuOptions, lprc, psa, pwcReserved, iReserved, pwGlyphs, cGlyphs,
          piAdvance, piJustify, pGoffset);
 
     HRESULT hr = S_OK;
 
     TRACE("(%p, %p, %d, %d, %04x, %p, %p, %p, %d, %p, %d, %p, %p, %p)\n",
          hdc, psc, x, y, fuOptions, lprc, psa, pwcReserved, iReserved, pwGlyphs, cGlyphs,
          piAdvance, piJustify, pGoffset);
 
-    if (!hdc && psc && !*psc) return E_INVALIDARG;
+    if (!hdc || !psc) return E_INVALIDARG;
     if (!piAdvance || !psa || !pwGlyphs) return E_INVALIDARG;
     if (!piAdvance || !psa || !pwGlyphs) return E_INVALIDARG;
-    if ((hr = get_script_cache(hdc, psc))) return hr;
-
-    hfont = select_cached_font(psc);
 
     fuOptions &= ETO_CLIPPED + ETO_OPAQUE;
     if  (!psa->fNoGlyphIndex)                                     /* Have Glyphs?                      */
         fuOptions |= ETO_GLYPH_INDEX;                             /* Say don't do translation to glyph */
 
 
     fuOptions &= ETO_CLIPPED + ETO_OPAQUE;
     if  (!psa->fNoGlyphIndex)                                     /* Have Glyphs?                      */
         fuOptions |= ETO_GLYPH_INDEX;                             /* Say don't do translation to glyph */
 
-    if (!ExtTextOutW(get_cache_hdc(psc), x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL))
+    if (!ExtTextOutW(hdc, x, y, fuOptions, lprc, pwGlyphs, cGlyphs, NULL))
         hr = S_FALSE;
 
         hr = S_FALSE;
 
-    unselect_cached_font(psc, hfont);
     return hr;
 }
 
     return hr;
 }
 
@@ -1731,11 +1726,3 @@ HRESULT WINAPI ScriptGetLogicalWidths(const SCRIPT_ANALYSIS *sa, int nbchars, in
     for (i = 0; i < nbchars; i++) widths[i] = glyph_width[i];
     return S_OK;
 }
     for (i = 0; i < nbchars; i++) widths[i] = glyph_width[i];
     return S_OK;
 }
-
-
-VOID WINAPI LpkPresent()
-{
-    /* FIXME */
-    DbgPrint("LPK: %s is unimplemented, please try again later.\n", __FUNCTION__);
-}
-