피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
터미널용 Glyph Protocol 소개
PUA 제한과 glyf 포맷 기반의 런타임 벡터 글리프 등록 프로토콜 설계
AI 요약
Context
TUI 애플리케이션의 아이콘 렌더링을 위해 사용자가 6~60MB 규모의 패치 폰트를 수동 설치해야 하는 의존성 문제 존재. 폰트 미설치 시 tofu(□) 현상이 발생하며 개발자가 런타임에 글리프를 직접 제어할 수 없는 구조적 한계 직면.
Technical Solution
- APC(Application Program Command)를 통한 독자적 식별 구조 채택으로 OSC 전역 네임스페이스 충돌 방지
- TrueType glyf 포맷 사용으로 터미널 내 기존 래스터라이저를 재활용해 추가 의존성 제거 및 HiDPI 대응
- Unicode PUA(Private Use Area) 범위로 등록 대상을 제한하여 텍스트 위조 및 피싱 공격 원천 차단
- Support-Query-Register-Clear로 이어지는 4단계 상태 제어 흐름을 통해 시스템 폰트 유무에 따른 최적 폴백 구현
- 세션당 최대 1024개의 글리프를 Glossary로 관리하며 FIFO 기반 자동 축출 전략으로 메모리 오버플로우 방지
- reply 파라미터(0, 1, 2) 설정을 통해 대량 등록 시 PTY 쓰레기 데이터 발생을 제어하는 응답 전략 도입
실천 포인트
1. 외부 리소스 의존성 제거를 위해 클라이언트 사이드에 이미 존재하는 렌더러 활용 가능 포맷 검토
2. 런타임 동적 등록 기능 도입 시 보안 위협을 방지하기 위한 전용 예약 영역(Reserved Area) 설정
3. 대량 데이터 전송 시 ACK 응답으로 인한 버퍼 오염을 방지하기 위한 응답 레벨 제어 옵션 구현