피드로 돌아가기
عملت Chrome Extension يصلح مشكلة النص العربي في البراوزر
Dev.toDev.to
Frontend

Unicode Bidi 알고리즘 한계를 극복한 BiDi Parser 기반 텍스트 렌더링 최적화

عملت Chrome Extension يصلح مشكلة النص العربي في البراوزر

EzzEl-Din2026년 5월 3일1intermediate

Context

Arabic-English 혼용 텍스트 렌더링 시 Unicode Bidi Algorithm으로 인한 방향성 왜곡 발생. 단순 dir="rtl" 속성 부여만으로는 LTR 언어(영어) 단어의 순서 뒤바뀜 문제를 해결할 수 없는 구조적 한계 직면.

Technical Solution

  • 텍스트를 언어별로 분리하는 전용 BiDi Parser 구현을 통한 정밀한 토큰화 수행
  • 영어 단어를 <bdi dir="ltr"> 태그로 래핑하여 주변 텍스트로부터 방향성을 완전히 격리하는 Isolation 전략 채택
  • MutationObserver를 활용한 DOM 변경 실시간 감지 및 동적 렌더링 대응
  • LLM의 Streaming 출력으로 인한 과도한 DOM 조작 부하를 방지하기 위한 300ms Debounce 로직 적용
  • 서버리스 클라이언트 사이드 아키텍처 설계를 통한 데이터 트래킹 제거 및 개인정보 보호 강화

- 혼용 언어 렌더링 시 단순 방향 설정 대신 `<bdi>` 태그를 통한 Isolation 적용 검토 - 빈번한 DOM 변경이 발생하는 Streaming UI 설계 시 Debounce 적용을 통한 메인 스레드 부하 최적화 - 전역적인 텍스트 렌더링 이슈 해결을 위해 MutationObserver와 Tokenizer 조합의 파이프라인 고려

원문 읽기