Добавление OpenMoji в качестве нового набора эмодзи

Продолжение обсуждения из темы Добавление целого нового набора эмодзи?:

Можно ли добавить это как отдельный новый набор?

15 лайков

@j.jaffeux, вы тот самый парень с эмодзи, да? :metal:

Не могли бы вы за 30 секунд кратко рассказать, как участник может добавить новый набор эмодзи?

1 лайк

Извините, но текущий процесс предназначен для парсинга веб-сайта Unicode и не предполагает ручного добавления данных. Open Emoji отсутствует в списке эмодзи Unicode. Возможно, его всё же можно было бы легко добавить, но для этого мне нужно будет изучить вопрос подробнее. В любом случае, сейчас, вероятно, лучше заняться этим самостоятельно. У меня накопилось множество исправлений для эмодзи, поэтому я выделю на это целую неделю.

9 лайков

Мне бы тоже очень хотелось это увидеть. Было бы здорово, если бы Fedora использовала набор эмодзи, состоящий исключительно из открытого исходного кода.

Не совсем понятно, что вы имеете в виду под списком эмодзи Unicode — поскольку это стандарт, все кодовые точки одинаковы. У вас также есть сопоставление имён, используемых в Discourse, с ними. Так что, как первый шаг… что-то вроде этого?

#!/bin/bash
TARGETDIR="./discourse/public/images/emoji/openmoji"

[[ ! -f openmoji-72x72-color.zip ]] && curl -L -O https://github.com/hfg-gmuend/openmoji/releases/latest/download/openmoji-72x72-color.zip
unzip -u -d openmoji-color openmoji-72x72-color.zip

mkdir -p $TARGETDIR

curl -s https://raw.githubusercontent.com/discourse/discourse/main/lib/emoji/db.json | 
    jq -r '.emojis[] | "\(.code) \(.name)"' |
    while read -r codepoint name; do 
        cp openmoji-color/${codepoint^^}.png ${TARGETDIR}/${name}.png 2>/dev/null || echo "Отсутствует ${name}"
    done
1 лайк

Мы берём наши эмодзи с Full Emoji List, v17.0.

Если вы хотите поработать над добавлением нового набора эмодзи, инструмент, который мы используем для обновления, находится по адресу emoji-db/Rakefile at master · jjaffeux/emoji-db · GitHub

6 лайков

Ага, понял. Вроде бы логично, ведь сами поставщики, скорее всего, не предоставляют файлы в удобном виде. Значит, будем парсить HTML!

Но для OpenMoji достаточно просто кодовой точки, и тогда можно получить соответствующий PNG 72×72 по адресу openmoji/color/72x72 at master · hfg-gmuend/openmoji · GitHub (или SVG, если предпочитаете).

Так что, найдя кодовую точку в HTML, просто загрузите соответствующий файл этим способом, вместо того чтобы извлекать его из другой колонки.

Например: :star_struck: = 1F929https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/color/72x72/1F929.png

Кстати, сегодня узнал, что набор эмодзи от Twitter тоже с открытым исходным кодом. Это здорово, Twitter! GitHub - twitter/twemoji: Emoji for everyone. https://twemoji.twitter.com/ · GitHub, и их можно получить тем же способом — например, https://raw.githubusercontent.com/twitter/twemoji/master/assets/72x72/1f929.png (хотя, досадно, что в этих двух источниках используется разный регистр букв).

3 лайка

Мы уже поставляем набор Twitter в Discourse.

2 лайка

Да, я просто отмечаю, что существует способ получить это иначе, чем парсить HTML-страницу, на которой написано «не полагайтесь на формат этой страницы». :slight_smile:

1 лайк

Даст ли нам тот другой способ все наборы эмодзи, которые мы поддерживаем :face_with_tongue:?

Та страница довольно удобная, даёт нам много всего одним махом.

2 лайка

Я определенно вижу привлекательность этого подхода, но, конечно, у него есть и ограничения. По сути, полагаться на макет страницы (который крайне специфичен и не предназначен для таких задач), а не на кодовые точки, являющиеся универсальным стандартом, кажется ненадежным.

1 лайк

Может быть, здесь есть какое-то обновление?

Было бы здорово освободить корпорации от универсальных вещей, таких как эмодзи. Мы всегда их использовали, и они должны оставаться бесплатными =)

1F973

4 лайка