Subject: Re: bug#54646: 29.0.50; set-fontset-font and font clipping issues

From: Visuwesh <[email-masked]>
Date: Thu, 31 Mar 2022 14:59:47 +0530

[வியாழன் மார்ச் 31, 2022] Eli Zaretskii wrote:

>> From: Visuwesh <[email-masked]>
>> Cc: [email-masked]
>> Date: Thu, 31 Mar 2022 14:15:41 +0530
>> 
>> I have attached three text files that have the content of the *Help*
>> buffer in the three cases:
>> 
>>     · correct: from emacs -Q which does not exhibit the problem.
>> 
>>     · incorrect: from an non-daemon Emacs session that exhibits the
>>       problem.
>> 
>>     · correct_config: from a fresh Emacs session with my init.el loaded
>>       that does not exhibit the problem.
>
> For meaningful comparison, I need data for the same font size.  One of
> the three samples uses a smaller font size, so it's hard to compare it
> to the rest.
>

Sorry about that.  Please see below for the text from emacs -Q with the
same font size:

             position: 5673 of 5691 (100%), column: 3
            character: க (displayed as க) (codepoint 2965, #o5625, #xb95)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0x0B95
               script: tamil
               syntax: w 	which means: word
             category: .:Base, L:Strong L2R
             to input: type "C-x 8 RET b95" or "C-x 8 RET TAMIL LETTER KA"
          buffer code: #xE0 #xAE #x95
            file code: #xE0 #xAE #x95 (encoded by coding system utf-8-unix)
              display: composed to form "க்" (see below)

Composed with the following character(s) "்" using this font:
  ftcrhb:-Goss-Kurinto Seri-regular-normal-normal-*-14-*-*-*-*-0-iso10646-1
by these glyphs:
  [0 1 2965 23479 12 0 12 8 0 nil]
  [0 1 3021 23505 0 -1 1 11 -9 [-6 0 0]]
with these character(s):
  ் (#xbcd) TAMIL SIGN VIRAMA

Character code properties: customize what to show
  name: TAMIL LETTER KA
  general-category: Lo (Letter, Other)
  decomposition: (2965) ('க')

> However, this:
>
>> Composed with the following character(s) "்" using this font:
>>   ftcrhb:-Goss-Kurinto Seri-regular-normal-normal-*-14-*-*-*-*-0-iso10646-1
>> by these glyphs:
>>   [0 1 2965 23479 12 0 12 8 0 nil]
>>   [0 1 3021 23505 0 -1 1 11 -9 [-6 0 0]]
>> with these character(s):
>>   ் (#xbcd) TAMIL SIGN VIRAMA
>
> vs this:
>
>> Composed with the following character(s) "்" using this font:
>>   ftcrhb:-Goss-Kurinto Seri-regular-normal-normal-*-14-*-*-*-*-0-iso10646-1
>> by these glyphs:
>>   [0 1 2965 23479 12 0 12 8 0 [0 0 20]]
>>   [0 1 3021 23505 0 -1 1 11 -9 [-14 0 0]]
>> with these character(s):
>>   ் (#xbcd) TAMIL SIGN VIRAMA
>
> Seems to indicate that we use incorrect composition data in the second
> case: the X offset part (-14) seems to be too large, and I don't
> understand why there's a non-zero WADJUST value (20) for the first
> glyph of the grapheme cluster.  Very strange.  Are both cases for
> exactly the same text that surrounds the problematic characters, or
> does the surrounding text differ in any way?
>

No, they are the same exact text.  (Unless dired changes the surrounding
text somehow between sessions, which I don't think it does.)

> Also, what version of HarfBuzz do you have there?  Can you try
> upgrading to a newer version?

Emacs is linked against HarfBuzz 3.0.0.  I will see if I can update it,
and report back in the evening.  (P.S., maybe we should look into
including this info in the text that M-x report-emacs-bug prepares?)

[ I will also check if I can reproduce this in emacs -Q but with 
  M-: (set-fontset-font t 'tamil "Kurinto Seri") RET.  ]