피드로 돌아가기
GeekNewsFrontend
원문 읽기
아랍어 타이포그래피 렌더링의 놀라운 경험과 기술 부채에 대한 인터랙티브 입문
Complex Arabic Typography 렌더링을 위한 Shaping 엔진 및 BiDi 알고리즘 분석
AI 요약
Context
아랍어 렌더링은 단순 CSS 설정이 아닌 문맥에 따른 글리프 변화와 우측-좌측 방향성 처리가 필요한 복잡한 인프라 문제임. 기존 웹 표준의 text-align: justify는 단어 간 공백만 조정하여 아랍어 전통 조판 방식인 Kashida를 통한 정교한 양쪽 정렬을 구현하지 못하는 한계가 있음.
Technical Solution
- OpenType 기능을 활용하여 문맥에 따라 고립형, 초성형, 중성형, 종성형 글리프를 선택하는 Shaping 프로세스 적용
- HarfBuzz와 같은 Shaping 엔진을 통해 추상 코드포인트를 실제 렌더링 가능한 글리프 시퀀스로 변환
- UAX #9 양방향 알고리즘을 도입하여 강한 문자(Strong)와 약한 문자(Weak) 간의 텍스트 배치 방향 결정
- Unicode Arabic Presentation Forms로 인한 검색 및 비교 오류 해결을 위해 NFKC 정규화 수행
- 전화번호 등 중립 문자로 인한 텍스트 역전 현상 방지를 위해 태그 및 방향성 분리 제어 문자 활용
실천 포인트
- 다국어 서비스 설계 시 단순 폰트 적용이 아닌 Shaping 엔진의 지원 여부 검토 - 아랍어 텍스트 검색 구현 시 Presentation Forms 호환성을 위한 NFKC 정규화 단계 추가 - RTL(Right-to-Left) 환경에서 숫자, 특수문자 포함 시 <bdi> 또는 방향성 제어 문자 적용 여부 확인 - PDF 생성 라이브러리 채택 시 BiDi 알고리즘 및 Shaping 엔진 내장 여부 검증