Emoji: Update to Unicode 13.1, switch base file, allow multichar.
[akkoma] / lib / pleroma / emoji.ex
index 04936155b5e1419c63878f437f75c4224e687f14..98644f84e5f195cab27e4175af0c7cc7fac96426 100644 (file)
@@ -102,7 +102,7 @@ defmodule Pleroma.Emoji do
     :ets.insert(@ets, emojis)
   end
 
-  @external_resource "lib/pleroma/emoji-data.txt"
+  @external_resource "lib/pleroma/emoji-test.txt"
 
   emojis =
     @external_resource
@@ -114,17 +114,12 @@ defmodule Pleroma.Emoji do
       |> String.split(";", parts: 2)
       |> hd()
       |> String.trim()
-      |> String.split("..")
-      |> case do
-        [number] ->
-          <<String.to_integer(number, 16)::utf8>>
-
-        [first, last] ->
-          String.to_integer(first, 16)..String.to_integer(last, 16)
-          |> Enum.map(&<<&1::utf8>>)
-      end
+      |> String.split()
+      |> Enum.map(fn codepoint ->
+        <<String.to_integer(codepoint, 16)::utf8>>
+      end)
+      |> Enum.join()
     end)
-    |> List.flatten()
     |> Enum.uniq()
 
   for emoji <- emojis do