It's my ignorance. I am a user of ligature packages but don't know how they communicate with the composition table mechanism in Emacs. Perhaps my best effort recipe wasn't a sensible way to display ligatures in Emacs. Although my recipe is not well written I do believe there is a bug. The wide PragmataPro ligatures display fine in builds without Cairo, but only the right side is displaying if Cairo is included. Its the same for all ligature packages I've tried. ________________________________ From: Eli Zaretskii Sent: 03 November 2021 14:36 To: Patrick Lenihan [sc17pl] Cc: stefan@marxist.se ; 51385@debbugs.gnu.org <51385@debbugs.gnu.org> Subject: Re: bug#51385: 29.0.50; PragmataPro wide word ligatures such as [ERR] having the left side cut off in cairo build > From: "Patrick Lenihan [sc17pl]" > Date: Wed, 3 Nov 2021 12:26:59 +0000 > > Note that this issue disappears when Emacs is built without Cairo support. > > ------------------------------------------------------------------------------ > From: Patrick Lenihan [sc17pl] > Sent: 02 November 2021 17:58 > To: Stefan Kangas > Subject: Re: bug#51385: 29.0.50; PragmataPro wide word ligatures such as [ERR] having the left side cut > off in cairo build > > 1 run command "emacs -Q" > 2 M-: > 3 (set-frame-font "PragmataPro Mono Liga" nil t) > 4 C-uC-u > 5 M-x > 6 insert-char #Xe2c0 > 7 Repeat 4-6 substituting #Xe2c0 for any of the following: #Xe2b0, #Xe2b1, #Xe2b2, #Xe2b3, #Xe2b4, > #Xe2b5, #Xe2b6, #Xe2c0, #Xe2c1, #Xe2c2, #Xe2c3, #Xe2c4, #Xe2c5, #Xe2c6, #Xe2c7, #Xe2c8, > #Xe2c9, #Xe2ca, #Xe2cb, #Xe2cc, #Xe2cd, #Xe2ce, #Xe2e0, #Xe2e1, #Xe2e2, #Xe2e3, #Xe2e4, > #Xe2e5, #Xe2e6, #Xe2e7, #Xe2e8, #Xe2e9, #Xe2ea, #Xe2eb, #Xe2ec, #Xe2ed, #Xe2e #Xe2f0, #Xe2f1, > #Xe2f2, #Xe2f3, #Xe2f4, #Xe2f5, #Xe2f6, #Xe2f7, #Xe2f8, #Xe2f9, #Xe2fa, #Xe2fb, #Xe2fc, #Xe2fd, #Xe2fe > > At the moment all are clipped unless Emacs is built without Cairo support. These characters are from the Private Use Area (PUA) of Unicode. Why do you expect Emacs to produce anything sensible for them? To display such characters, it is not enough to install a font that has glyphs for PUA codepoints, you need also to tell Emacs what attributes and properties those codepoints have, because Unicode doesn't define any properties for those codepoints. I don't see a bug in this recipe. Emacs currently doesn't support display of arbitrary PUA characters.