OpenMoji를 새로운 이모지 세트로 추가하기

Adding a whole new Emoji set?에서 이어지는 논의입니다:

전체 새로운 세트로 추가할 수 있을까요?

15개의 좋아요

@j.jaffeux 이모지 담당자, 맞죠? :metal:

기여자로서 새로운 이모지 세트를 추가하는 방법을 30초로 요약해 줄 수 있을까요?

1개의 좋아요

정말 죄송하지만, 현재 프로세스는 유니코드 웹사이트를 파싱하는 방식으로 설계되어 있어 수동으로 무언가를 추가하는 것은 불가능합니다. 유니코드 이모지 목록에는 오픈 이모지가 사용되지 않지만, 추가하는 것이 여전히 쉬울 수도 있습니다. 다만, 이에 대해 더 자세히 살펴봐야 정확한 답변을 드릴 수 있을 것 같고, 이 시점에서는 제가 직접 처리하는 것이 더 나을 것 같습니다.

수정해야 할 이모지가 너무 많아서 이 작업에 일주일 정도를 할애해야 할 것 같습니다.

9개의 좋아요

저도 이 기능이 정말 도입되었으면 좋겠습니다. Fedora가 완전히 오픈소스인 이모지 세트를 사용하는 것도 좋은 일일 텐데요.

유니코드 이모지 목록이 무엇이라는 것인지 잘 모르겠습니다. 표준이므로 모든 코드포인트가 동일하기 때문이죠. 그리고 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 "Missing ${name}"
    done
1개의 좋아요

우리는 이모지를 Full Emoji List, v17.0 에서 가져옵니다.

새로운 이모지 세트를 추가하는 작업을 진행하시려면, 업데이트에 사용하는 도구는 emoji-db/Rakefile at master · jjaffeux/emoji-db · GitHub 에 있습니다.

6개의 좋아요

아, 이제 이해했어요. 공급업체들이 파일을 유용한 형태로 제공하지 않는 경우가 많으니까, HTML을 파싱하는 수밖에 없겠네요.

하지만 OpenMoji의 경우, 코드포인트만 알면 openmoji/color/72x72 at master · hfg-gmuend/openmoji · GitHub (혹은 SVG를 원하시면)에서 해당 72×72 PNG 파일을 가져올 수 있습니다.

즉, HTML에서 코드포인트를 찾은 후, 다른 컬럼에서 추출하는 대신 이 방법으로 해당 파일을 가져오면 됩니다.

예를 들어: :star_struck: = 1F929 → https://raw.githubusercontent.com/hfg-gmuend/openmoji/master/color/72x72/1F929.png

그런데 사실 — 오늘 알게 된 사실인데, 트위터 이모지 세트도 오픈소스라고 합니다. 정말 멋지네요, 트위터! GitHub - twitter/twemoji: Emoji for everyone. https://twemoji.twitter.com/ · GitHub, 여기서도 같은 방식으로 파일을 가져올 수 있습니다. 예: https://raw.githubusercontent.com/twitter/twemoji/master/assets/72x72/1f929.png (다만, 두 소스의 대소문자 표기가 일치하지 않아 조금 번거롭긴 합니다).

3개의 좋아요

우리는 이미 Discourse에 Twitter 세트를 제공하고 있습니다.

2개의 좋아요

네, 이 페이지의 HTML을 스크래핑하는 방법 외에 다른 방법으로 이를 얻을 수 있다는 점을 언급하는 거예요. 그런데 이 페이지에는 "이 페이지의 형식에 의존하지 마세요"라고 적혀 있거든요. :slight_smile:

1개의 좋아요

그 다른 방식으로 우리가 지원하는 모든 다른 이모지 세트를 가져올 수 있나요 :face_with_tongue: ?

그 페이지는 꽤 유용해서 한 번에 많은 정보를 얻을 수 있네요.

2개의 좋아요

매력적인 점은 분명히 이해하지만, 물론 한계도 있습니다. 근본적으로, 보편적 표준인 코드포인트가 아닌 페이지 레이아웃(매우 구체적이고 원래 그 용도로 설계된 것이 아님)에 의존하는 것은 취약해 보입니다.

1개의 좋아요

여기에 어떤 업데이트가 있을까요?

이모지 같은 보편적인 요소에 대해 기업들의 개입을 줄이는 것도 좋을 것 같아요. 우리는 항상 이모지를 사용해 왔고, 무료인 상태를 유지해야 합니다 =)

1F973

4개의 좋아요