Продолжение обсуждения из темы Добавление целого нового набора эмодзи?:
Можно ли добавить это как отдельный новый набор?
Продолжение обсуждения из темы Добавление целого нового набора эмодзи?:
Можно ли добавить это как отдельный новый набор?
@j.jaffeux, вы тот самый парень с эмодзи, да? ![]()
Не могли бы вы за 30 секунд кратко рассказать, как участник может добавить новый набор эмодзи?
Извините, но текущий процесс предназначен для парсинга веб-сайта Unicode и не предполагает ручного добавления данных. Open Emoji отсутствует в списке эмодзи Unicode. Возможно, его всё же можно было бы легко добавить, но для этого мне нужно будет изучить вопрос подробнее. В любом случае, сейчас, вероятно, лучше заняться этим самостоятельно. У меня накопилось множество исправлений для эмодзи, поэтому я выделю на это целую неделю.
Мне бы тоже очень хотелось это увидеть. Было бы здорово, если бы 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
Мы берём наши эмодзи с Full Emoji List, v17.0.
Если вы хотите поработать над добавлением нового набора эмодзи, инструмент, который мы используем для обновления, находится по адресу emoji-db/Rakefile at master · jjaffeux/emoji-db · GitHub
Ага, понял. Вроде бы логично, ведь сами поставщики, скорее всего, не предоставляют файлы в удобном виде. Значит, будем парсить HTML!
Но для OpenMoji достаточно просто кодовой точки, и тогда можно получить соответствующий PNG 72×72 по адресу openmoji/color/72x72 at master · hfg-gmuend/openmoji · GitHub (или SVG, если предпочитаете).
Так что, найдя кодовую точку в HTML, просто загрузите соответствующий файл этим способом, вместо того чтобы извлекать его из другой колонки.
Например:
= 1F929 → https://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 (хотя, досадно, что в этих двух источниках используется разный регистр букв).
Мы уже поставляем набор Twitter в Discourse.
Да, я просто отмечаю, что существует способ получить это иначе, чем парсить HTML-страницу, на которой написано «не полагайтесь на формат этой страницы». ![]()
Даст ли нам тот другой способ все наборы эмодзи, которые мы поддерживаем
?
Та страница довольно удобная, даёт нам много всего одним махом.
Я определенно вижу привлекательность этого подхода, но, конечно, у него есть и ограничения. По сути, полагаться на макет страницы (который крайне специфичен и не предназначен для таких задач), а не на кодовые точки, являющиеся универсальным стандартом, кажется ненадежным.
Может быть, здесь есть какое-то обновление?
Было бы здорово освободить корпорации от универсальных вещей, таких как эмодзи. Мы всегда их использовали, и они должны оставаться бесплатными =)