unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Joost Kremers <joostkremers@fastmail.fm>, Kenichi Handa <handa@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Face issue -- possible bug
Date: Tue, 17 Jul 2018 18:38:47 +0300	[thread overview]
Message-ID: <83r2k17tyw.fsf@gnu.org> (raw)
In-Reply-To: <871sc2wb1d.fsf@fastmail.fm> (message from Joost Kremers on Tue,  17 Jul 2018 09:56:14 +0200)

> From: Joost Kremers <joostkremers@fastmail.fm>
> Cc: emacs-devel@gnu.org
> Date: Tue, 17 Jul 2018 09:56:14 +0200
> 
> > What does Emacs say if you go to the character and type "C-u C-x 
> > =",
> > when the problematic font is used?
> 
> Well d'uh, I could have thought of that myself... Anyway, with 
> Linux Libertine O (which displays the character incorrectly), `C-u 
> C-x =` gives:
> 
> ==============================
> 
>              position: 182 of 268 (68%), column: 5
>             character: n (displayed as n) (codepoint 110, #o156, 
>             #x6e)
>     preferred charset: ascii (ASCII (ISO646 IRV))
> code point in charset: 0x6E
>                script: latin
>                syntax: w 	which means: word
>              category: .:Base, L:Left-to-right (strong), a:ASCII, 
>              l:Latin, r:Roman
>              to input: type "C-x 8 RET 6e" or "C-x 8 RET LATIN 
>              SMALL LETTER N"
>           buffer code: #x6E
>             file code: #x6E (encoded by coding system utf-8-unix)
>               display: composed to form "n̩" (see below)
> 
> Composed with the following character(s) "̩" using this font:
>   xft:-PfEd-Linux Libertine 
>   O-normal-normal-normal-*-21-*-*-*-*-0-iso10646-1
> by these glyphs:
>   [0 1 0 2420 13 0 13 10 1 nil]
>   [0 1 809 745 0 -9 -6 -1 5 [-2 -1 0]]
> 
> Character code properties: customize what to show
>   name: LATIN SMALL LETTER N
>   general-category: Ll (Letter, Lowercase)
>   decomposition: (110) ('n')
> 
> There are text properties here:
>   fontified            t
>   wrap-prefix          ""
> 
> ==============================
> 
> And with DejaVu Sans Mono (displaying the character correctly):
> 
> ==============================
> 
> 
>              position: 182 of 268 (68%), column: 5
>             character: n (displayed as n) (codepoint 110, #o156, 
>             #x6e)
>     preferred charset: ascii (ASCII (ISO646 IRV))
> code point in charset: 0x6E
>                script: latin
>                syntax: w 	which means: word
>              category: .:Base, L:Left-to-right (strong), a:ASCII, 
>              l:Latin, r:Roman
>              to input: type "C-x 8 RET 6e" or "C-x 8 RET LATIN 
>              SMALL LETTER N"
>           buffer code: #x6E
>             file code: #x6E (encoded by coding system utf-8-unix)
>               display: composed to form "n̩" (see below)
> 
> Composed with the following character(s) "̩" using this font:
>   xft:-PfEd-DejaVu Sans 
>   Mono-normal-normal-normal-*-15-*-*-*-m-0-iso10646-1
> by these glyphs:
>   [0 1 110 81 9 1 8 8 5 nil]
>   [0 1 809 689 0 4 6 -1 5 [-10 -1 0]]
> 
> Character code properties: customize what to show
>   name: LATIN SMALL LETTER N
>   general-category: Ll (Letter, Lowercase)
>   decomposition: (110) ('n')
> 
> There are text properties here:
>   fontified            t
>   wrap-prefix          ""
> 
> ==============================
> 
> The only difference I notice is with the numbers following "by 
> these glyphs", but I have no idea what those numbers mean.

(If you _really_ want to know what they mean, see the description of
GLYPH in the doc string of composition-get-gstring.)

Note how the first glyph of the composition data with the "bad" font
has zero as its 3rd component, whereas the "good" font has 110 there,
which is the codepoint of 'n'.  Having zero there is not really
normal, I think.

I downloaded the Libertine O font and tried that on MS-Windows.  I
don't see this problem there with that font.  So based on that, and on
the fact that another font displays this combination correctly on your
system, my primary suspect is neither Emacs nor the font, but the
shaping engine we use to compose characters.  On GNU/Linux we use
libm17n-flt as the shaping engine, so the first step is to make sure
you have its latest version installed.  I think the latest version is
only available in the CVS repository, which you can access through
Savannah:

   http://savannah.nongnu.org/projects/m17n/

If installing the latest version doesn't help, it might be a bug in
libm17n-flt, so I'm CC'ing Handa-san who might be able to help fix
this.



  reply	other threads:[~2018-07-17 15:38 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-16 20:49 Face issue -- possible bug Joost Kremers
2018-07-17  2:33 ` Eli Zaretskii
2018-07-17  7:56   ` Joost Kremers
2018-07-17 15:38     ` Eli Zaretskii [this message]
2018-07-17 21:23       ` Joost Kremers
2018-07-18 15:25         ` Eli Zaretskii
2018-08-13 21:53           ` Joost Kremers
2018-08-14  2:29             ` Eli Zaretskii
2018-09-10  8:24               ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83r2k17tyw.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=handa@gnu.org \
    --cc=joostkremers@fastmail.fm \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).