Related bug report: #54405 The game engine (FVP) does compare GetGlyphOutlineA result with zero and checks GetLastError in that case. Maybe I'm missing something but I believe the last error shouldn't be set for "empty" characters. I don't know why it was omitted in tests.