217 BOOL bResult, bReorder;
221 fuOptions |= ETO_IGNORELANGUAGE;
225 fuOptions |= ETO_RTLREADING;
228 if (fuOptions & ETO_RTLREADING)
232 if (
ScriptIsComplex(lpString, uCount, dwSICFlags) ==
S_OK && !(fuOptions & ETO_GLYPH_INDEX))
243 if ((
glyphs || reordered_str) && bReorder)
247 fuOptions |= ETO_GLYPH_INDEX;
256 WARN(
"BIDI_Reorder failed, falling back to original string.\n");
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
_In_ int _Inout_ LPRECT lprc
HRESULT WINAPI ScriptIsComplex(const WCHAR *chars, int len, DWORD flag)
#define UNREFERENCED_PARAMETER(P)
_In_ FONTOBJ _In_ ULONG _In_ ULONG cGlyphs
GLint GLint GLint GLint GLint x
#define WINE_GCPW_FORCE_RTL
#define WINE_GCPW_FORCE_LTR
static UINT UINT LPWORD glyphs
UINT WINAPI GetTextAlign(_In_ HDC)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
BOOL BIDI_Reorder(HDC hDC, LPCWSTR lpString, INT uCount, DWORD dwFlags, DWORD dwWineGCP_Flags, LPWSTR lpOutString, INT uCountOut, UINT *lpOrder, WORD **lpGlyphs, INT *cGlyphs)
DWORD WINAPI GetLayout(_In_ HDC hdc)
GLint GLint GLint GLint GLint GLint y
#define HeapFree(x, y, z)