[PATCH] gdiplus: Avoid filtering of special characters.

Nikolay Sivov nsivov at codeweavers.com
Thu May 13 02:31:20 CDT 2021



On 5/13/21 5:47 AM, Haoyang Chen wrote:
>
> 在 2021/5/12 下午11:59, Esme Povirk (they/them) 写道:
>> I'm surprised that iswprint returns false for ←, maybe it's not the
>> right way to check for nonprintable characters?
> Hi,
>
> I don't think it should be checked. On windows 7, when the
> GdipDrawString() function encounters
>
> a "special character" that cannot be displayed, it will be a blank and
> will not skip it. On wine, if this
>
> happens, if you don't skip it, at worst it will show a default character.
>
> Thanks
What we have now already looks strange, regarding line breaks, or
trailing spaces checks, or using GetTextExtentExPointW() on text parts
within rendered paragraph. It should not be checking arbitrary
characters at that level, control characters are supposed to get forced
zero advances, or have them zeroed by the font. Ideally all that should
go through proper line breaking and shaping steps, maybe with some
preprocessing for key prefixes.



More information about the wine-devel mailing list