On Mon, Jan 6, 2020 at 3:36 PM Sven Baars sbaars@codeweavers.com wrote:
+/* DrawText helpers copied from user32 */ +#define TAB 9 +#define LF 10 +#define CR 13 +#define SPACE 32 +static void TEXT_WordBreak(HDC hdc, WCHAR *str, unsigned int max_str,
unsigned int *len_str,
int width, int format, unsigned int chars_fit,
unsigned int *chars_used, SIZE *size)
As I already mentioned in a private email a while back, I don't think copying whole chunks of user32 is going to be a good idea.
ID3DXFont's DrawText is supposed to be quite a bit simpler than the user32 counterpart. I imagine that it should be possible to reimplement the required features without carrying this much stuff over. Maybe Uniscribe can help more, I don't know the API (Nikolay?)
Either way, I'd initially introduce a simpler DrawText implementation (no line breaks, no word breaks, as bare-bones as possible) and then proceed to add features incrementally over a number of patches. That will also make the initial DrawText patch easier to review.