[PATCH v2 7/7] gdi32: Improve the determine code whether the chracter is the fullwidth.

Byeongsik Jeon bsjeon at hanmail.net
Wed Jan 30 18:44:26 CST 2019


Akihiro Sagawa wrote:
> 
> 
> In my opinion, why don't we test the following condition for fixed_pitch_full?
> fixed_pitch_full = avg_advance > 0
>     && (base_advance + 63) >> 6
>         >= pFT_MulFix(MulDiv(incoming_font->ntmAvgWidth, x, y), em_scale);
> The x and y are heuristic ratio. I think they will be 1.5~1.8.
> 
> Because base_advance can be based on linked font, i.e. another font
> replaced by get_glyph_index_linked(), the glyph might be a proportional
> typeface. In that case, "(base_advance + 63) >> 6 != avg_advance" is
> very loose restriction. A narrow character may be treated as a
> Full-width character in that case.
> 
> Regards,
> Akihiro Sagawa
> 
> 
Yes. It's absolutely correct.

I thought about this possibility, but I wanted to leave it as a
different issue. So I wrote 'slightly logic change'.
Of course, it is my fault that I did not make any further comments.

To deal with this, I need to create a real test case and investigate the
behavior of the native Windows.

I have a variety of other issues besides this. In the process of
resolving an issue, another issue is revealed.
So when I deal with them together, patch issues of various topics are
mixed up. Then Huw's patch review becomes difficult, and my patch
process will also take a long time.

This patch is still lacking, but it is slightly better than it is now.

Thank you.



More information about the wine-devel mailing list