핵심 요약
- 한 고객사로부터 파이어폭스에서 특정 언어(스고 카렌어)에 이상한 점선 동그라미가 뜬다는 버그 제보가 들어왔습니다.
- 글꼴이 없을 때 뜨는 '두부(▯)' 현상과 달리 점선 원(◌)은 글자 조합 규칙이 어긋날 때 발생하는 복잡한 렌더링 문제였습니다.
- 결국 구글 노토(Noto) 폰트를 동적 폴백으로 연동해 미얀마, 크메르, 티베트 등 43개 희귀 문자의 렌더링 문제를 함께 해결했습니다.
요약 한 헤드리스 CMS(DatoCMS) 개발진이 고객사로부터 "파이어폭스 브라우저에서 스고 카렌(S'gaw Karen)어 텍스트 렌더링이 깨진다"는 문의를 받으면서 시작된 폰트 렌더링 문제 해결기입니다. 크롬에서는 정상적으로 표시되었으나 파이어폭스에서는 글자 주변에 비정상적인 점선 동그라미(dotted circle, ◌)가 표시되는 현상이 발생했습니다.
조사 결과 스고 카렌어는 미얀마와 태국 등에서 쓰이며 미얀마 문자를 공유하는데, 미얀마 문자는 자음 위에 모음 부호가 조합되거나 자음보다 먼저 그려지는 등 복잡한 텍스트 셰이핑(text shaping) 규칙을 갖고 있습니다. 글꼴 자체가 없으면 흔히 두부(Tofu, ▯)라 불리는 빈 사각형이 뜨지만, 점선 동그라미는 글꼴은 찾았으나 텍스트 셰이핑 엔진이 조합 규칙을 제대로 맞추지 못했을 때 나타나는 현상이었습니다.
개발진은 단순히 한 언어의 버그만 수정하는 데 그치지 않고, 사용자의 OS가 표시하지 못하는 희귀 문자들을 위해 구글 노토(Noto) 폰트를 폴백(fallback)으로 지정하고 실제 해당 문자가 필요한 페이지에서만 동적으로 로드하도록 시스템을 개선했습니다. 이를 통해 미얀마 문자뿐만 아니라 조지아어, 크메르어, 에티오피아어(Ge'ez), 티베트어, 체로키어, 티피나그어 등 총 43개 문자의 렌더링 지원을 완료했습니다.
Sponsored · 광고