복사되는 건 모양이 아니라 번호예요
특수문자표에서 ★을 눌러 복사하면 그림이 클립보드에 담기는 것처럼 느껴져요. 실제로 옮겨지는 건 'U+2605'라는 번호 하나예요. 유니코드는 세상의 글자마다 이런 번호를 붙여 두었고, 이 번호를 코드 포인트라고 불러요. ★의 공식 이름은 BLACK STAR이고, 웹이나 메신저에서 흔히 쓰는 UTF-8 방식으로 저장하면 3바이트가 돼요.
번호를 받은 기기는 자기가 가진 글꼴에서 그 번호에 해당하는 모양을 찾아 그려요. 이 모양을 글리프라고 해요. 같은 번호라도 글꼴마다 별의 뾰족한 정도, 굵기, 크기가 달라요. 보내는 쪽은 번호만 정할 수 있고, 모양은 언제나 받는 쪽의 글꼴이 정해요.
이 구분 하나로 특수문자의 수수께끼 대부분이 풀려요. 내 화면에서는 예쁜 기호가 친구 화면에서는 다르게 보이는 것, 어떤 기기에서는 빈 네모가 뜨는 것, 같은 하트가 흑백이었다가 컬러 그림이 되는 것 모두 '번호는 같고 그리는 쪽이 다르다'는 데서 생겨요.
특수문자표의 12글자를 번호로 읽어 보면
이 사이트의 특수문자 모음에는 일곱 묶음에 서로 다른 글자 153개가 들어 있어요. 그중 12개를 골라 파이썬의 유니코드 데이터베이스(유니코드 15.1 기준)로 번호, 일반 분류, 공식 이름을 뽑았어요. 오른쪽 열은 유니코드 컨소시엄이 공개한 이모지 데이터 파일 18.0판에서 확인한 내용이에요.
| 글자 | 번호와 공식 이름 | 일반 분류 | 이모지 속성 |
|---|---|---|---|
| ★ | U+2605 BLACK STAR | So | 없음 |
| ♥ | U+2665 BLACK HEART SUIT | So | 있음 (기본은 글자 모양) |
| ♡ | U+2661 WHITE HEART SUIT | So | 없음 |
| ☀ | U+2600 BLACK SUN WITH RAYS | So | 있음 (기본은 글자 모양) |
| ☺ | U+263A WHITE SMILING FACE | So | 있음 (기본은 글자 모양) |
| ♨ | U+2668 HOT SPRINGS | So | 있음 (기본은 글자 모양) |
| ※ | U+203B REFERENCE MARK | Po | 없음 |
| ↔ | U+2194 LEFT RIGHT ARROW | Sm | 있음 (기본은 글자 모양) |
| 【 | U+3010 LEFT BLACK LENTICULAR BRACKET | Ps | 없음 |
| ① | U+2460 CIRCLED DIGIT ONE | No | 없음 |
| ℃ | U+2103 DEGREE CELSIUS | So | 없음 |
| 〰 | U+3030 WAVY DASH | Pd | 있음 (기본은 글자 모양) |
일반 분류의 두 글자 약어는 So가 기타 기호, Sm이 수학 기호, Po가 기타 문장 부호, Ps가 여는 괄호, No가 기타 숫자, Pd가 줄표라는 뜻이에요. ※가 별표 같은 기호가 아니라 문장 부호로, 〰이 장식 무늬가 아니라 줄표로 분류된다는 점이 재밌어요.
표에서 눈여겨볼 곳은 ♥과 ♡이에요. 둘은 U+2665와 U+2661로 번호도 가까운 짝꿍 같은 기호인데, 속이 찬 ♥만 이모지 목록에 들어 있어요. 그래서 ♥은 기기에 따라 컬러 그림으로 바뀔 수 있고, 속이 빈 ♡은 그럴 일이 없어요. 범위를 넓혀 특수문자표 153개 전체를 같은 파일과 맞춰 보면 이모지 속성이 있는 글자는 20개예요. 하트·스페이드 같은 카드 무늬, 해·구름·우산·눈사람, 양방향·대각선·갈고리 화살표, ☎, ♨, ☺, 〰이 여기에 들어요. 20개 모두 '기본은 글자 모양'으로 분류돼 있고, 처음부터 그림으로 보이도록 정해진 글자는 하나도 없어요.
흑백 하트와 컬러 하트를 가르는 보이지 않는 글자
유니코드 이모지 표준(UTS #51)은 그림 문자를 세 무리로 나눠요. 기본이 그림 모양이지만 글자 모양도 될 수 있는 것, 기본이 글자 모양이지만 그림도 될 수 있는 것, 글자로만 보여야 하는 것이에요. 위 표의 '기본은 글자 모양'이 두 번째 무리이고, '없음'이 세 번째 무리예요.
두 번째 무리의 모양을 바꾸는 열쇠는 뒤에 붙는 보이지 않는 글자예요. U+FE0F(변형 선택자 16)가 붙으면 그림 모양을, U+FE0E(변형 선택자 15)가 붙으면 글자 모양을 요청해요. 표준은 기본이 글자 모양인 이모지라면 어느 것이든 이 두 선택자를 받을 수 있다고 정하고 있고, 실제로 특수문자표의 20개 모두 두 가지 조합이 공식 목록에 올라 있어요.
이 사이트의 두 도구를 비교하면 차이가 그대로 보여요. 특수문자 모음의 ♥은 U+2665 하나뿐이에요. 반면 이모티콘·이모지 모음의 '하트 카드'는 U+2665 뒤에 U+FE0F가 붙은 두 글자짜리예요. 화면에서는 둘 다 하트 하나로 보이지만, 앞의 것은 받는 쪽이 알아서 정하라는 뜻이고 뒤의 것은 그림으로 그려 달라는 요청이에요.
선택자가 없을 때 어떻게 보일지는 환경이 정해요. 표준은 문자 메시지나 채팅처럼 가벼운 환경에서는 컬러 그림이, 문서나 기술적인 환경에서는 글자 모양이 더 어울린다고 설명하면서도, 표시 방식은 결코 보장되지 않는다고 못 박아 두었어요. 같은 ♥이 메신저에서는 컬러 그림, 문서 편집기에서는 검은 기호로 보이는 게 바로 이 여지 때문이에요.
보이지 않는 글자는 글자 수에도 잡혀요. 이 사이트의 글자수 세기 코드로 세어 보면 ♥ 하나는 1자에 UTF-8로 3바이트인데, ♥ 뒤에 U+FE0F가 붙으면 2자에 6바이트가 돼요. 닉네임 글자 수가 빠듯한 곳에서 하트 하나 넣었을 뿐인데 한 글자가 더 모자란다면 이 꼬리표를 의심해 보세요.
빈 네모가 뜨는 순간과 대체 글꼴
기기는 글자를 그릴 때 지금 쓰는 글꼴부터 찾아봐요. 그 글꼴에 해당 번호의 모양이 없으면 기기에 깔린 다른 글꼴을 차례로 뒤져서 모양을 빌려 와요. 이걸 대체 글꼴이라고 해요. 한글 글꼴로 쓴 문장 속의 ♨이 주변 글자와 굵기나 높이가 미묘하게 다르게 보인다면, 다른 글꼴에서 빌려 온 모양일 가능성이 커요.
끝까지 찾아도 그 번호를 가진 글꼴이 없으면 기기는 '모양 없음' 표시를 그려요. 흔히 보는 빈 네모나 물음표 상자예요. 이모지 표준도 해당 글자가 든 글꼴이 없는 시스템에서는 글자가 이렇게 보인다고 설명해요. 중요한 점은 이때도 번호는 멀쩡하다는 거예요. 같은 글을 글꼴이 갖춰진 다른 기기로 옮기면 제대로 보여요.
그래서 빈 네모는 '내가 잘못 복사했다'가 아니라 '받는 기기에 그릴 재료가 없다'는 신호예요. 오래된 기기일수록, 유니코드에 최근에 추가된 글자일수록 재료가 없을 가능성이 높아요. 기호 하나가 깨지면 그 자리의 정보가 통째로 사라지니, 뜻을 담은 기호일수록 흔한 것을 고르는 편이 안전해요.
소리로 들으면 기호는 이름이 돼요
앞을 보기 어려운 사람은 화면 읽기 프로그램으로 글을 들어요. 이때 기호는 모양 대신 이름으로 전달돼요. 이모지 표준은 이모지마다 짧은 이름을 따로 두는데, 이걸 TTS 이름이라고도 부르며 접근성을 위해 글을 읽어 줄 때 쓰는 용도라고 밝히고 있어요. 공식 이름이 BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR처럼 지나치게 길어질 수 있어서예요.
이모지가 아닌 기호를 어떻게 읽을지는 프로그램과 언어 설정에 따라 달라요. 그래서 '★☆★모카★☆★'처럼 장식을 겹겹이 두른 이름은 듣는 사람에게 별 이름이 여섯 번 이어진 뒤에야 '모카'가 들리는 식이 되기 쉬워요. 눈으로는 장식이지만 귀로는 소음이에요.
방법은 단순해요. 뜻이 있는 글자를 앞에 두고, 장식은 뒤쪽에 한두 개만 두세요. 휴대폰에는 대부분 화면 읽기 기능이 들어 있으니 프로필에 넣기 전에 한 번 켜서 직접 들어 보면 가장 확실해요.
붙여 넣기 전 호환성 점검표
특수문자를 닉네임, 프로필, 공지 제목에 넣기 전에 아래 순서로 확인하면 대부분의 사고를 막을 수 있어요.
- 이모지 속성이 있는 글자인지 보기. 이 글의 표나 특수문자표에서 하트·카드 무늬·날씨·대각선 화살표처럼 이모지가 될 수 있는 글자라면, 받는 쪽에서 컬러 그림으로 바뀌어도 괜찮은지 먼저 생각해요. 항상 흑백 기호로 보여야 한다면 ♡이나 ★처럼 이모지 속성이 없는 글자로 바꿔요.
- 보이지 않는 글자 확인하기. 이모지 모음에서 복사한 기호는 뒤에 U+FE0F가 붙어 있을 수 있어요. 글자수 세기에 붙여 넣어 눈에 보이는 개수보다 숫자가 큰지 확인해요.
- 두 종류 이상의 기기에서 보기. 내 휴대폰과 다른 회사 휴대폰이나 컴퓨터에서 같은 글을 열어 봐요. 빈 네모, 크기 차이, 색 변화가 있는지 확인해요.
- 뜻을 기호에만 맡기지 않기. '※ 마감'처럼 기호 뒤에 글자로도 뜻을 적어 두면, 기호가 깨지거나 소리로 읽혀도 내용이 전달돼요.
- 소리로 들어 보기. 화면 읽기 기능을 켜고 이름이나 제목을 한 번 들어 봐요. 장식이 길게 읽히면 개수를 줄여요.
- 서비스 규칙 확인하기. 기호를 아예 받지 않거나 글자 수를 다르게 세는 서비스도 있어요. 가입이나 수정 화면에서 실제로 저장되는지 확인해요.
팁 모양이 확실해야 하는 자리에는 코드 포인트 번호를 메모해 두면 편해요. 예를 들어 '흑백 별은 U+2605'처럼 적어 두면, 나중에 비슷하게 생긴 다른 별을 잘못 고르는 일이 줄어요. 이모지 모음은 검색칸에 U+ 번호를 넣어 찾을 수도 있어요.