피드로 돌아가기
GeekNewsFrontend
원문 읽기
당신의 ePub은 정상입니다
CSS Level 4 호환성 결여로 인한 Kobo 렌더링 엔진 충돌 해결
AI 요약
Context
표준 검증 도구인 epubcheck를 통과한 EPUB3 파일이 특정 디바이스에서 "corrupted"로 인식되는 호환성 문제 발생. Kobo 기기가 사용하는 Adobe RMSDK 엔진의 노후화로 인해 최신 CSS 표준 해석 시 런타임 충돌이 발생하는 구조적 한계 존재.
Technical Solution
- RMSDK 엔진의 CSS 파서가 2013년 수준에 머물러 있음을 파악하여 디버깅 범위 설정
- Binary Search 방식으로 스타일시트 일부를 제거하며 충돌 유발 지점을 특정하는 격리 테스트 수행
- CSS Level 4의
min()함수가 RMSDK의 파싱 에러를 유발하여 렌더링 프로세스를 중단시키는 메커니즘 확인 max-width: min(150px, 30vw)코드를 하위 호환성이 보장되는max-width: 150px로 대체하여 런타임 오류 제거- 표준 검증(Linting)과 실제 런타임(Runtime) 간의 괴리를 메우기 위해 Adobe Digital Editions를 통한 실기기 검증 단계 추가
실천 포인트
1. epubcheck 통과 여부와 별개로 타겟 런타임 환경에서의 실제 로딩 테스트 수행
2. 레거시 렌더러 대상 서비스 시 CSS Level 4 이상의 최신 문법 사용 지양
3. 최신 문법 도입 시 폴백(Fallback) 전략 수립 및 파서 충돌 가능성 검토
4. 런타임 오류 시 명확한 에러 메시지가 없는 환경을 대비한 단계적 기능 제거 테스트 프로세스 구축