Handling emoji presentation 0xfe0e and 0xfe0f

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Handling emoji presentation 0xfe0e and 0xfe0f

Takao Fujiwara
0xfe0e and 0xfe0f are emoji presentation of emoji text mode and color mode. [1]
"Noto Color Emoji" font does not include 0xfe0f so current Pango draws the sequence of "0x0023 fe0f 20e3" as two characters since fe0f is included in  
"DejaVu" font.
I think fe0e and fe0f can be handled by Pango when a emoji font does not include them.
What do you think about it?

The following patch can draw the "0x0023 fe0f 20e3" as one char.

--- pango-1.40.4/pango/pango-context.c.orig
+++ pango-1.40.4/pango/pango-context.c
@@ -1404,6 +1404,15 @@ itemize_state_process_run (ItemizeState
          {
   shape_engine = NULL;
   font = NULL;
+        }
+      /* If an emoji font does not include emoji presentation, let
+       * harfbuzz handle the characters.
+       * http://www.unicode.org/emoji/charts/emoji-variants.html
+       */
+      else if (G_UNLIKELY (wc == 0xfe0fu || wc == 0xfe0eu))
+        {
+  shape_engine = NULL;
+  font = NULL;
          }
        else
          {


Another examples are:
"U+0031 fe0f 20e3"
"U+1f469 200d 2764 fe0f 200d 1f469"

Does it make sense?

[1] http://www.unicode.org/emoji/charts/emoji-variants.html

Thanks,
Fujiwara
_______________________________________________
gtk-i18n-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-i18n-list
Reply | Threaded
Open this post in threaded view
|

Re: Handling emoji presentation 0xfe0e and 0xfe0f

Takao Fujiwara
I filed a bug for this.

https://bugzilla.gnome.org/show_bug.cgi?id=781123


On 04/06/17 21:39, Takao Fujiwara-san wrote:

> 0xfe0e and 0xfe0f are emoji presentation of emoji text mode and color mode. [1]
> "Noto Color Emoji" font does not include 0xfe0f so current Pango draws the sequence of "0x0023 fe0f 20e3" as two characters since fe0f is included in
> "DejaVu" font.
> I think fe0e and fe0f can be handled by Pango when a emoji font does not include them.
> What do you think about it?
>
> The following patch can draw the "0x0023 fe0f 20e3" as one char.
>
> --- pango-1.40.4/pango/pango-context.c.orig
> +++ pango-1.40.4/pango/pango-context.c
> @@ -1404,6 +1404,15 @@ itemize_state_process_run (ItemizeState
>          {
>        shape_engine = NULL;
>        font = NULL;
> +        }
> +      /* If an emoji font does not include emoji presentation, let
> +       * harfbuzz handle the characters.
> +       * http://www.unicode.org/emoji/charts/emoji-variants.html
> +       */
> +      else if (G_UNLIKELY (wc == 0xfe0fu || wc == 0xfe0eu))
> +        {
> +      shape_engine = NULL;
> +      font = NULL;
>          }
>        else
>          {
>
>
> Another examples are:
> "U+0031 fe0f 20e3"
> "U+1f469 200d 2764 fe0f 200d 1f469"
>
> Does it make sense?
>
> [1] http://www.unicode.org/emoji/charts/emoji-variants.html
>
> Thanks,
> Fujiwara
> _______________________________________________
> gtk-i18n-list mailing list
> [hidden email]
> https://mail.gnome.org/mailman/listinfo/gtk-i18n-list
>

_______________________________________________
gtk-i18n-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-i18n-list