현재 버전 v1.5.0-ko.3

릴리즈 노트

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

v1.5.0-ko.0

1.5.0-ko.02026년 8월 17일
GitHub

요약

upstream v1.5.0 을 병합한 한국어 버전입니다. 큰 책이 몇 분 걸리던 첫 색인이 백그라운드로 넘어가 수 초 만에 열리고, 오프라인 사전과 책갈피가 추가되었습니다. 한국어 전용 글꼴·조판 기능은 모두 그대로 유지했습니다.
[!IMPORTANT] 섹션 캐시 포맷이 v26 → v41 로 바뀌어 모든 책이 한 번 재색인됩니다. 첫 열기가 평소보다 느린 것은 정상입니다.
1.2.0-ko.x 에서 바로 올라오는 경우 설정이 초기화됩니다. upstream 이 1.5.0 에서 레거시 settings.bin 마이그레이션을 제거했습니다. 1.3.0-ko.x 를 거쳐 오셨다면 설정은 유지됩니다.
이번 버전은 단일 OTA 설치가 불가합니다. firmware.bin 이 6.87 MB 로 순정 CrossPoint OTA 파티션(6.25 MB)을 약 307 KB 초과합니다. 잠긴 X4 는 2단계 설치(순정 CrossPoint 로 OTA → SD 카드로 KO 플래시)를 이용해 주세요.

upstream v1.5.0 주요 변경 사항

기능

  • 점진적 섹션 색인: 큰 챕터의 첫 페이지가 즉시 표시되고 나머지는 읽는 동안 백그라운드로 색인됩니다. 리더를 나가도 색인된 페이지가 보존되어 재진입 시 바로 열립니다.
  • 오프라인 사전: SD 카드 /dictionaries 에 StarDict 사전을 넣으면 단어를 선택해 뜻풀이를 볼 수 있습니다.
  • 책갈피: 리더 메뉴에서 책갈피를 추가·삭제하고 목록에서 이동할 수 있습니다. 확인 버튼 길게 누르기에 할당할 수도 있습니다.
  • 다음 책 추천: 책을 다 읽으면 끝 페이지 화면에서 기기에 있는 다른 책을 추천합니다.
  • 선택 팝업: 선택지가 3개 이상인 설정은 항목을 하나씩 순환하지 않고 대화상자로 열립니다.
  • 빠른 복귀 절전 화면: 절전 시 읽던 화면을 그대로 두고 달 아이콘만 표시해 즉시 복귀합니다.
  • Wi-Fi 개선: 저장된 네트워크 자동 재연결, 숨겨진 SSID 수동 추가.
  • KOReader 동기화 확장: 기기에서 계정 생성, 문서 매칭 방식, 메타데이터 전송, 스마트 동기화.
  • OPDS 개선: 서버 여러 개 등록, 다운로드 폴더와 파일 이름 형식 지정.
  • EPUB 지원, CSS text-decoration 확장,
    처리와 목록 불릿 정렬 개선.
  • RoundedRaff 테마 추가.

성능 / 수정

  • 렌더링·메모리 최적화로 페이지 넘김이 개선되고, 복잡한 EPUB 에서 발생하던 메모리 부족 크래시와 CSS 파서 버그가 수정되었습니다.
  • 다른 기기용 펌웨어를 설치하려 하면 차단하고 안내합니다.

내부

  • SDK 가 open-x4-sdkfreeink-sdk 로 교체되었습니다.

한국어 버전 변경 사항

수정

  • 자간: upstream 이 CJK 단어를 글자 단위 토큰으로 분할하도록 바뀌면서 한국어 글자 단위 줄바꿈 조판이 음절마다 공백을 넣던 문제를 수정했습니다. 붙는 글자는 하나의 런으로 묶어 그려 글꼴 설계 그대로의 자간을 유지합니다.
  • 줄바꿈 밀도: 위 수정 과정에서 줄 채우기 판정이 어절 사이 간격을 하나 적게 계산해, 한 줄에 글자가 하나씩 더 들어가고 어절 간격이 최소값까지 눌리던 문제를 수정했습니다. 판정 기준을 1.3.0-ko 와 동일하게 되돌려 줄바꿈 위치와 페이지 밀도가 1.3.0-ko 와 일치합니다.
  • 배터리 표시: 완충 상태에서 91% 로 표시되던 문제를 보정했습니다. SDK 의 전압-퍼센트 곡선이 4.136V 이상에서만 100% 를 반환하는데 완충 셀이 분압·ADC 오차로 약 4.06V 로 읽히는 것이 원인이었습니다. 곡선 상단만 100% 로 확장하고 하단은 그대로 두어 저전력 경고 정확도는 유지합니다.
  • 뒤로 짧게 파일 탐색기: 이 옵션이 EPUB·TXT 리더에서 동작하지 않던 문제를 수정했습니다. 각주를 보는 중에는 설정과 무관하게 뒤로 짧게가 각주 복귀에 먼저 쓰입니다.
  • 설정 > 리더: 줄 간격·화면 여백·문단 정렬·내장 스타일·하이픈·문단 간격·단락 들여쓰기·글자 단위 줄바꿈·안티앨리어싱 항목이 목록에서 보이지 않던 문제를 수정했습니다.

유지된 한국어 전용 기능

  • UnifiedFontFamily / SdFontFamily 글꼴 시스템 (SD 카드 .epdfont 런타임 로딩)
  • 기본 EPUB 글꼴 KoPub 바탕, UI 시스템 글꼴 선택 + Pretendard 글리프 폴백
  • 합성 볼드(Synthetic Bold) 렌더링, 자간 조절
  • 단락 들여쓰기 / 글자 단위 줄바꿈 (기본 ON), 한국어 줄 간격 1.00 / 1.20 / 1.40배
  • 하이픈은 글자 단위 줄바꿈이 꺼져 있을 때만 적용
  • 읽기 시간 누적·초기화, 자동 페이지 넘김, 길게 눌러 페이지 점프
  • X4 2단계 OTA 경로 (SD 다운로드 후 플래시)

내부

  • upstream 의 .cpfont SD 글꼴 엔진을 제거하고 한국어 .epdfont 엔진을 유지했습니다. 이에 따라 upstream 의 "텍스트 설정" 화면과 "글꼴 관리"(폰트 다운로드), 웹 UI /fonts 페이지는 포함되지 않습니다. 텍스트 옵션은 리더 메뉴의 읽기 옵션에서 조정합니다.
  • 한국어·영어 두 언어만 포함합니다 (플래시 용량).
  • 신규 문자열 61개를 모두 번역해 한국어 fallback 0 을 유지합니다.

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 여유.

업데이트 방법

30개의 릴리즈 중 4-6