본문 바로가기

소프트웨어-이야기/Web

개발자의 눈으로 이모지 바라보기

프로그램은 이모지를 어떻게 알아볼까?

'유니코드'는 전 세계의 모든 문자를 여러 프로그램에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 

'이모지'는 유니코드로 표현한다. '이모지' 유니코드가 텍스트에 포함된 경우, 각 프로그램은 '이모지' 유니코드를 자신들이 사전에 정의한 '이모지 이미지'로 변경한다. 

https://ko.emojiguide.com/%ec%82%ac%eb%9e%8c-%eb%aa%b8/woman-student-light-skin-tone/

OS / 프로그램 별로 이모지 그림체가 다른 이유는 이러한 배경 때문이다. 

이모지 유니코드는 유니코드 사이트에서 확인할 수 있다.

(모든 이모지 유니코드 확인하기 👉🏻 https://www.unicode.org/Public/emoji/15.0/)

 

이모지가 점점 다양해지고 있다! 

이모지의 종류가 점점 다양해지고 있다. 그리고 다양성을 존중하는 문화가 자리잡으면서, 이모지를 다양한 피부톤과 성별로 변경할 수 있게 되었다.

선택할 수 있는 조건이 늘어날수록, 이모지의 조합은 점점 늘어난다. 사람을 표현하는 이모지도 "성별x헤어x피부" 조합만큼 늘어날 수 있다. 사람이 두명이상 포함되고, 행위를 하는 이모지가 되면 그 조합은 더 늘어난다. 

모든 이모지 조합에 고유한 유니코드 표준이 부여될까?

그건 아니다. 

컴퓨터는 다양해진 이모지를 어떻게 알아볼까? 

언어는 다양한 언어를 표현하기 위해 복합어를 사용한다. 형태소가 일정한 의미가 있는 가장 작은 말의 단위라면, 둘 이상의 형태소가 합쳐진 말을 복합어라 말한다. 

이모지도 언어학과 유사하다. 최소한의 의미를 지닌 이모지들이 합쳐져서, 새로운 의미를 지닌 복합 이모지를 만들어낸다. 

ref. https://unicode.org/emoji/charts/emoji-zwj-sequences.html

 

복합 이모지를 유니코드는 어떻게 표현할까? 

😶‍🌫️ 이모지를 표현하는 유니코드 내부 구조는 다음과 같이 구성되었다.

복합이모지/형태소이미지라는 단어는 제가 지어낸 말입니다 ^^;

ZWJ (Zero Width Joiner)은 폭이 없는 결합 문자이다. 처럼 개별 이모지를 연결하여 가족이나 커플 등을 표현할 때, 피부색을 표현할 때, 이모지의 방향을 변경할 때 등에 사용된다.

Variation Selector은 이모지의 특정 변형을 선택할 때 사용한다. 성별 등을 표현할 때 사용된다. 

 

조합이 더 다양해질수록, 유니코드 조합은 더 복잡해진다. 유니코드 사이트에서 가져온 복잡한 유니코드 조합 예시는 다음과 같다. 

https://unicode.org/emoji/charts/emoji-zwj-sequences.html

관련 글