Pillow에 그림 문자(emoji)를 표시하지 않음

배경.


Pillow에 그림 문자가 안 나와서 반했어요.


Pillow로 그림 문자를 표현하고 싶어서 여기저기 검색했습니다. "결과 사용할 수 있을까요? 사용할 수 없나요? 똑똑합니다!"이렇게 생각하다가 잘 출력됐어요.
아래의 아쉬운 출력 결과와 싸우는 사람들의 시간을 짧게 하기 위해 필기를 한다.

해결책


내가 찾고 싶은 것은 이 보도이다


① 다운로드NotoColorEmoji.ttfseguiemj.ttf,다음test.py과 같은 층에 들어갑니다.
② 실행test.py한 후 그림문자를 재현하여 출력한다.
test.py
from PIL import Image, ImageDraw, ImageFont

def test(font, out_name):
    fnt = ImageFont.truetype(font, size=109, layout_engine=ImageFont.LAYOUT_RAQM)
    im = Image.new("RGBA", (600, 600), (100, 100, 100, 100))
    draw = ImageDraw.Draw(im)
    draw.text((0, 32), "a\u263A", fill="#faa2", embedded_color=True, font=fnt)
    draw.text((0, 132), "a\u263A", fill="#faa8", embedded_color=True, font=fnt)
    draw.text((0, 232), "a\u263A", fill="#faa", embedded_color=True, font=fnt)
    draw.text((0, 332), "\U0001F3AC\U0001F44B\U0001F3FB\U0001F44B\U0001F3FF", fill="white", embedded_color=True, font=fnt)
    draw.text((0, 432), "a\u263A", fill="#faa2", font=fnt)
    im.show()
    im.save(f"testemoji_{out_name}.png")

test("NotoColorEmoji.ttf", "cbdt")
test("seguiemj.ttf", "colr")
읊다, 읊조리다귀여운 느낌으로 표현.
이 두 글씨체의 특성을 비교해 보자. 내가 비교적 좋아하기 때문에NotoColorEmoji.ttf 그것을 쓰기로 결정했다.
출력하고자 하는 장쑤 성 달력 이미지도 순조롭게 완성되었습니다.

잡담


결과:Pythhonista가 움직이지 않았습니다.


나는 파이톤을 사용할 때 아이패드를 사용한다×Pytohonista 환경을 사용했지만 Pytohonista가 Pillow를 잘 업데이트하지 못했습니다.
따라서 NotoColorEmoji.ttf를 사용할 때 오류가 발생하여 그림 문자 렌더링을 완성할 수 없습니다.
하지만 파이토니스타가 만든 파일을 a-Shell에서 실행했다면 순조롭게 진행됐다.
Pythhonista의 인코딩은 매우 쉽고 a-shell의 업데이트도 매우 쉽기 때문에 이번 합작은 다른 응용 프로그램에도 매우 유용하다고 생각합니다.

좋은 웹페이지 즐겨찾기