[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#39799: 28.0.50; Most emoji sequences don’t render correctly
From: |
Robert Pluim |
Subject: |
bug#39799: 28.0.50; Most emoji sequences don’t render correctly |
Date: |
Wed, 22 Sep 2021 11:02:04 +0200 |
>>>>> On Tue, 21 Sep 2021 21:28:40 +0300, Eli Zaretskii <eliz@gnu.org> said:
>> From: Robert Pluim <rpluim@gmail.com>
>> Cc: rgm@gnu.org, 39799@debbugs.gnu.org, mfabian@redhat.com
>> Date: Tue, 21 Sep 2021 19:43:05 +0200
>>
>> Eli, is this the kind of thing you were thinking of? Seems to work so
>> far (with a small addition to blocks.awk).
Eli> Yes, with a minor comment below.
>> We'll need to find a better name for the new arg than 'trigger'
>> though.
Eli> How about just 'ch'? We use such names all over the place, so
Eli> describing what it is in the comment should be enough.
OK
>> @@ -3912,6 +3916,23 @@ font_range (ptrdiff_t pos, ptrdiff_t pos_byte,
ptrdiff_t *limit,
>> continue;
>> if (NILP (font_object))
>> {
>> + if (EQ (CHAR_TABLE_REF (Vchar_script_table, trigger),
>> + Qemoji))
>> + {
>> + Lisp_Object val = assq_no_quit (Qemoji,
Vscript_representative_chars);
>> + if (CONSP (val))
>> + {
>> + int face_id;
>> + val = XCDR (val);
>> + if (CONSP (val))
>> + val = XCAR (val);
>> + else if (VECTORP (val))
>> + val = AREF (val, 0);
>> + c = XFIXNAT (val);
>> + face_id = FACE_FOR_CHAR (f, face, c, pos - 1, string);
>> + face = FACE_FROM_ID (f, face_id);
>> + }
>> + }
>> font_object = font_for_char (face, c, pos - 1, string);
>> if (NILP (font_object))
>> return Qnil;
Eli> For backward compatibility, I'd prefer here, if font_for_char returns
Eli> nil for the representative Emoji character, to call font_for_char
Eli> again with the face and codepoint for the original character.
OK. I spoke a little too soon, itʼs not working 100% reliably,
sometimes the composition happens but the glyph for the preceding
codepoint is not from the emoji font.
Robert
--
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Robert Pluim, 2021/09/20
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Eli Zaretskii, 2021/09/21
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Robert Pluim, 2021/09/21
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Eli Zaretskii, 2021/09/21
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Eli Zaretskii, 2021/09/21
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Robert Pluim, 2021/09/21
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Eli Zaretskii, 2021/09/21
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly,
Robert Pluim <=
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Mike FABIAN, 2021/09/24
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Eli Zaretskii, 2021/09/25
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Mike FABIAN, 2021/09/25
- bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Eli Zaretskii, 2021/09/25
bug#39799: 28.0.50; Most emoji sequences don’t render correctly, Mike FABIAN, 2021/09/21