emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incorrect glyph info in describe-char


From: Eli Zaretskii
Subject: Re: Incorrect glyph info in describe-char
Date: Fri, 23 Jul 2021 10:45:31 +0300

> From: Anand Tamariya <atamariya@gmail.com>
> Date: Fri, 23 Jul 2021 13:06:57 +0530
> Cc: emacs-devel@gnu.org
> 
>  And what does the below display in the original case, i.e. with Hebrew
>  points in the text:
> 
>    M-: (find-composition (point) nil nil t) RET
> 
>  when point is on the SHIN character?
> 
> (10 13 [[#<font-object "-PfEd-Linux Libertine Display 
> O-normal-normal-normal-*-78-*-*-*-*-0-iso10646-1">
> 1513 1473 1464] 47 [0 2 1464 967 0 6 20 -5 17 [8 0 0]] [0 2 1473 976 0 24 32 
> 52 -45 [9 0 0]] [0 2 1513 1005
> 48 2 46 44 0 nil]]) 

That's the correct font, which is unexpected: the above
find-composition call is from describe-char, so if that returns the
correct font, how come describe-char winds up reporting an incorrect
font?

Could you perhaps step in Edebug through describe-char and see what
happens to the value returned by find-composition in your case, before
the font is reported?  The call to find-composition is near the
beginning of describe-char, here:

  (interactive "d")
  (unless (buffer-live-p buffer) (setq buffer (current-buffer)))
  (let ((src-buf (current-buffer)))
    (set-buffer buffer)
    (if (>= pos (point-max))
        (error "No character follows specified position"))
    (let* ((char (char-after pos))
           (eight-bit-p (and (not enable-multibyte-characters) (>= char 128)))
           (charset (if eight-bit-p 'eight-bit
                      (or (get-text-property pos 'charset)
                          (char-charset char))))
           (composition (find-composition pos nil nil t))  <<<<<<<<<<<<<<<
           (component-chars nil)

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]