현재 버전 v1.3.0-ko.1

릴리즈 노트

CrossPoint Reader 한국어 펌웨어 버전별 변경사항

1.3.0-ko.1

최신
1.3.0-ko.12026년 6월 15일
GitHub

요약

대형 CJK SD 글꼴을 사용할 때 생기던 메모리 문제 두 가지를 수정한 버그픽스 릴리스입니다. SD 글꼴의 글리프 구간(interval) 테이블을 RAM에 통째로 올리지 않고 SD에서 직접 탐색하도록 바꿔, 큰 글꼴도 선택되고 XTC도 정상적으로 열립니다.

한국어 버전 변경 사항

수정

  • 대형 CJK SD 글꼴 선택 불가 수정: 글리프 구간이 많은 SD 글꼴(예: RidiBatang+KleeOne, 구간 4,555개)을 리더/시스템 글꼴로 지정할 때, 구간 테이블(약 53KB)을 한 번에 연속으로 할당하다 실패해 선택이 안 되던 문제를 수정했습니다.
  • 시스템 글꼴 + XTC "메모리 오류" 수정: CJK 시스템 SD 글꼴을 설정한 뒤 XTC를 열면 "메모리 오류"가 뜨고 멈추던 문제를 수정했습니다. 1.3.0-ko.0에서 SD 글꼴이 차지하던 큰 연속 블록 때문에 XTC 페이지 버퍼(약 48KB)를 위한 연속 공간이 부족했던 것이 원인입니다.

기술 세부

  • SD 글꼴 구간 테이블 on-demand 탐색: SdFontData가 구간 테이블을 RAM에 보관하지 않습니다. findGlyphIndex()가 SD 파일에서 12바이트 단위로 직접 이진탐색하고, 마지막으로 매칭된 구간만 캐시합니다(같은 스크립트의 연속 텍스트는 추가 SD 접근 0회). 글꼴당 약 50KB 이상의 연속 할당이 사라져 힙 단편화가 크게 줄었습니다.
  • XTC 1-bit 페이지 밴드 스트리밍: 1-bit(XTG) 페이지를 loadPageStreaming으로 16줄 단위 밴드로 읽어 프레임버퍼에 바로 그립니다. 약 48KB 연속 페이지 버퍼 할당이 사라져 XTC 렌더링이 글꼴 메모리와 무관해졌습니다. 2-bit(XTH) 그레이스케일 경로는 전체 버퍼가 필요해 유지하되, 할당 실패 시 글리프 캐시를 비우고 재시도하는 안전망을 둡니다.
  • gh_release 빌드 firmware.bin 6,461,184 B — 6.25 MB OTA 한도보다 92,416 B 여유.

업데이트 방법

1.3.0-ko.0

1.3.0-ko.02026년 6월 15일
GitHub

요약

upstream 1.3.0을 기반으로 하는 첫 한국어 포크 릴리스입니다. SD 카드 글꼴, X3 정식 지원, 키보드 재설계, OPDS 개편, SD 카드 펌웨어 업데이트 등 upstream 1.3.0의 모든 주요 기능을 들여오면서, 한국어/CJK 렌더링에 맞춘 자체 .epdfont SD 글꼴 시스템을 복원했습니다.

upstream 변경 사항 (1.3.0)

전체 변경 내역: https://github.com/crosspoint-reader/crosspoint-reader/releases/tag/1.3.0 (53명 기여, 145개 변경)
주요 항목:
  • SD 카드 글꼴: 내장 글꼴 외 사용자 글꼴 설치·사용 기능. (※ 한국어 포크는 아래와 같이 자체 .epdfont 엔진으로 대체)
  • X3 정식 지원: 그레이스케일 안티에일리어싱 개선, EPUB 이미지 렌더링, OTA, 자이로(QMI8658) 기울기 페이지 넘김.
  • SD 카드 펌웨어 업데이트: USB 연결 없이 SD 카드로 펌웨어 업데이트.
  • 온스크린 키보드 재설계: 레이아웃·키 피드백 개선, 스페이스 키 커서 이동 수정.
  • 포커스 리딩: 단어 앞부분을 굵게 표시해 시선 고정점을 만드는 읽기 모드.
  • OPDS 개편: 카탈로그 내 검색, 다중 서버, 상대 경로/쿼리 처리, KOReader 호환 다운로드 파일명.
  • 텍스트 렌더링 개선: 결합 문자(diacritics) 위치 정확도, 비례 숫자 간격, 글리프 간격 균일화, ISO 639-2 하이픈 처리.
  • KOSync 정확도 향상: xpath 기반 매핑으로 문단 단위 동기화, esp_http_client 전환 + EPUB 힙 선해제로 대용량 책 OOM 크래시 제거.
  • 안정성: 메모리 누수 2건, JPEGDEC 와일드 포인터 크래시, 대용량 XTC 부트 루프, OTA 릴리스 JSON 스트리밍 등.
  • 기타: RoundedRaff 테마, X4 배터리 표시 평활화, 전원 버튼 짧게 눌러 화면 새로고침, 웹 UI에서 WiFi 네트워크 편집 등.

한국어 버전 변경 사항

신규 / 복원

  • 한국어 .epdfont SD 글꼴 시스템 복원: 1.3.0 머지로 들어온 upstream .cpfont SD 글꼴 엔진을 release/korean의 .epdfont 시스템으로 교체했습니다. 1.3.0의 렌더러 개선(타일드 그레이스케일)은 그대로 유지합니다.
    • 읽기 본문 글꼴과 시스템(UI) 글꼴을 각각 SD .epdfont로 지정할 수 있습니다.
    • 시스템 글꼴은 전체 UI 리다이렉트로 적용되며, 누락 글리프는 Pretendard로 글리프 단위 폴백됩니다.
    • 설정 메뉴에 현재 적용된 읽기/시스템 글꼴이 표시됩니다.
  • 글꼴 선택기 폴더 탐색 개선: /.crosspoint/fonts, /fonts 바로 아래뿐 아니라 /fonts// 하위 폴더와 숨김 /.fonts 루트까지 한 단계 재귀 탐색합니다.

수정

  • 한국어 줄 간격 복원: 머지 이후 getReaderLineCompression이 글꼴 조건부로 바뀌어 기본 글꼴이 upstream 중립값(1.0)으로 떨어지던 문제를 고쳐, 한국어 값(1.00/1.20/1.40)을 무조건 적용합니다.
  • 한자 글리프 깨짐 방지 유지: 글꼴별 비트맵 캐시 분리(fontId<<32 | codepoint)를 새 엔진에 반영해, 두 SD 글꼴 동시 사용 시 한자가 깨지지 않습니다. 캐시는 단일 공유 풀이라 RAM 추가 부담이 없습니다.

i18n

  • 누락된 한국어 문자열 72개를 모두 번역했습니다. korean.yaml이 100% 자체 번역으로, 영어 폴백이 없습니다.

기술 세부

  • upstream의 cpfont 엔진(SdCardFont*, FontInstaller, 웹 글꼴 엔드포인트, /fonts 페이지, cpfont 생성 스크립트 등)을 제거하고, 렌더러 fontMapUnifiedFontFamily로 되돌려 insertSdFont / setFontRedirect / getEffectiveFontId 경로를 복원했습니다.
  • gh_release 빌드 firmware.bin 6,460,336 B — 6.25 MB OTA 한도보다 93,264 B 여유.

업데이트 방법

1.2.0-ko.21

1.2.0-ko.212026년 6월 12일
GitHub

요약

SD 글꼴 두 개(읽기 본문 + 시스템 UI)를 동시에 사용할 때 한자가 깨지던 문제를 수정했습니다. 1.2.0-ko.20에서 추가된 시스템 글꼴 기능 한정 버그입니다.

한국어 버전 변경 사항

수정

  • 한자 글리프 깨짐 수정: 읽기 본문 글꼴과 시스템(UI) 글꼴을 둘 다 SD 글꼴로 지정했을 때, 양쪽 글꼴에 공통으로 들어있는 한자가 밀리거나 깨지고, 시스템 글꼴을 바꿔도 재부팅 전까지 계속 깨지던 문제를 고쳤습니다.
    • 예: 본문 LXGW WenKai KR + 시스템 Source Han Sans K 조합.

기술 세부

  • SD 글꼴의 비트맵 캐시가 코드포인트만으로 키를 만들어, 동시에 로드된 서로 다른 SD 글꼴이 같은 한자에서 상대 글꼴의 비트맵을 받아가던 것이 원인이었습니다(크기 불일치로 인한 글리프 밀림 + 힙 오버리드).
  • 캐시 키에 글꼴 식별자를 추가(fontId<<32 | codepoint)해 글꼴별로 캐시 슬롯을 분리했습니다. 캐시는 단일 공유 풀을 유지하므로 RAM 추가 부담은 없습니다.
이전다음
30개의 릴리즈 중 1-3