What does HRESULT 0x8898500A (DWRITE_E_TEXTRENDERERINCOMPATIBLE) mean?

 
Previous Next
DWRITE_E_UNSUPPORTEDOPERATION DWRITE_E_FLOWDIRECTIONCONFLICTS

DWRITE_E_TEXTRENDERERINCOMPATIBLE

DWRITE_E_TEXTRENDERERINCOMPATIBLE has a specific documented cause when drawing vertical text: a layout with top-to-bottom or bottom-to-top reading direction was passed to a renderer implementing only IDWriteTextRenderer. The original renderer interface supports horizontal text; the vertical path requires IDWriteTextRenderer1.

What to check

  • The reading direction configured on the IDWriteTextLayout.
  • The actual interface implemented by the object supplied to IDWriteTextLayout::Draw, not only its concrete class name.
  • Whether a renderer wrapper or COM query discards the newer renderer interface before the draw call.

Fix the compatibility contract

Implement and pass IDWriteTextRenderer1 for vertical-layout support, or use a supported horizontal reading direction where vertical text is not required. Retrying the same draw call cannot convert an older renderer interface into a compatible one.

Microsoft: IDWriteTextLayout::Draw · Microsoft: DWRITE_READING_DIRECTION


Looking for a different code? Search another status or error code.