[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