Repository navigation
OST版 2026093001-diag(X3/X4 Pro)
Pre-release本家 1.6.5 をベースに作り直した新しい系統の最初の pre-release です。 X3 向けと X4 Pro 向けの 2 本を添付しています(2026/09/30 に、X4 Pro の時計画面をホームキーで終了できるようにした版へ 2 本とも差し替えました)。 動作確認を続けるため、診断版(DIAG ビルド)のまま公開します。これまでの pre-release(OST版 2026091808、テクニカルプレビュー 2026092204-diag)は本家 1.6.0 ベースの旧系統です。
OST版の特徴について
本家 1.6.5(2026/09/27)をベースに下記の機能を搭載しました。
縦書き(当版の中心)
- 縦書きの EPUB を縦に組んで表示します。
-- 文字の向きは Unicode の規則(UAX#50)に従います。
-- ルビ、傍線、圏点、縦中横、欧文の横倒し、約物の二分詰めに対応しています。 - 縦書きの本では、ページ送りのボタンが逆になります(左で進み、右で戻る)。
- 縦書きの中でも次のものが使えます。
-- 挿絵:列の流れの中に置き、小さい画像は1字大の外字として本文に入れます。
-- 字間の設定(本家 crosspoint-reader#3528 の字間を、縦の字送りにも効かせています)。
-- 脚注・リンクの一覧から選んで飛ぶこと。
組版
- 禁則処理(行頭に「、。」」ー 々」などを置かない、行末に「「」を置かない)
-- 本家に PR crosspoint-reader#3609 として出していますが、まだ併合されていません。 - 異体字選択子(IVS)を読み飛ばすので、字の後ろに四角が出ません。
- CSS の max-width/max-height を挿絵の大きさに効かせます。
- 本家にある「空きが 48KB 未満なら CSS を無視する」制限を外しています。
-- 日本語商業EPUBでCSSを無視をされるとレイアウトが壊滅的となるため
書体
- 選んでいる書体を内蔵 flash に複製し、SD ではなく flash から字を読む設定(Font Copy in Flash)。
- 16pt の書体を 9/8 倍して 18pt として使う仕組み(flash に 18pt が入りきらないため)。
- 日本語書体の配布 zip(fonts-YYYYMMDDn.zip)。これは firmware の外で配っています。
画面・操作
- 時計モード(Home のメニュー「Start clock mode」)
-- 時計が固まったら 30 秒で自動的に再起動します。
-- X3ではBackキー、X4 Pro ではホームキーで終了できます。 - Library を本の読み(file-as)の五十音順に並べ、行ごとに見出しを付けます(本家 PR crosspoint-reader#3651、未併合)。
- 表紙が SVG の包みになっている本でも、中の画像を表紙として表示します(本家 PR crosspoint-reader#3539、未併合)。
見えにくい改良(速さ・落ちにくさ)
- 章の組み立て中に挿絵を先に展開しておき、ページを描くときの空き不足で画像が出ない件を防ぎます(JPEG・PNG とも)。
- このうち画像の大きさを読む部分は、本家に PR crosspoint-reader#3802 として出しています。
- 字形の置き場を 4KB ずつに分けて確保し、空きが足りないときは置ける字数に縮めます(漢字の多いページが 16 秒かかっていた件の対策)。
- 章の組み立ての間は、字形の画像を読まずに字の幅だけを読みます(組み立て 20 秒 → 12.6 秒)。
- その章で使う CSS の規則だけを読み込みます(書式の表 32KB → 2KB)。
-- 日本語商業EPUBが使う電書協ガイドのCSSでは約32KBあるが、書籍内では利用されない記述が大半である - 設定項目の一覧を使うときだけ作ります(約 11KB を空きに戻す)。
- 組み立て中にメニューを開くと、いったん組み立てを止めて落ちないようにします。
- 長い段落の字下げや余白、章内の飛び先ページのずれを直しています。
X4 Pro 向けについて
crosspoint-OST-2026093001-x4pro-diag.bin は Xteink X4 Pro 向けです(X3 向けの crosspoint-OST-2026093001-diag.bin とは中身の機能は同じで、作った機種だけが違います。X3 に書き込まないでください)。
-
時計画面はホームキーで終了します(X4 Pro には Back ボタンが無いため。タップでも長押しでも終了し、ダブルタップの前面ライト切り替えは時計画面のまま使えます)
-
X4 Pro は PSRAM を持ち、内部メモリの空きも読書中に 130KB 以上あるため、X3 で問題になっていたメモリ不足は起きにくい構成です
-
画面の横の画素が X3 より少ないため、同じ字の大きさでは縦書きの 1 ページの列が 1 つ少なくなります(18pt で X3 は 9 列、X4 Pro は 8 列)
-
Font Copy in Flash は X4 Pro では効果が小さく(SD カードの読み込みが速いため)、On でも Off でも使い勝手はほぼ同じです。On にすると章を開くときが少し速くなり、firmware 書き換え後の最初の起動が約 65 秒長くなります
-
書き込み手順は下の「使うための手順」と同じく microSD 経由(Settings の SD Firmware Update)で行えます。X4 Pro は USB 接続でも書き込めます
-
動作確認は起動・本棚・設定・縦書きの本(挿絵入り)のページ送りまで。タッチ操作・前面ライト・USB ファイル転送は当版の画面ではまだ十分に試していません
診断版であることの注意
microSD のルートディレクトリに、動作記録のファイルが自動的に書き出されます。 通常版には無い動きです。
| ファイル | 内容 |
|---|---|
input-diag.txt |
起動からの動作記録(ボタン読み取り、描画時間、ヒープ、書体の読み元など)。5 秒ごとに書き換わる |
input-diag.prev.txt |
前回起動時の input-diag.txt |
input-diag-log.txt |
極端に遅い描画や章の組み立て失敗があったときだけ、その直前のログ |
open-heap.txt |
本を開く各段階の空きメモリ |
image-diag.txt |
表紙・挿絵の展開記録 |
heap-map*.txt、heap-low*.txt |
空きメモリの配置と、空きが少なくなった瞬間の記録 |
いずれも消して構いません(次の起動でまた作られます)。不具合報告に添えていただけると原因の特定に役立ちます。crash_report.txt は通常版でも落ちたときに書かれる本家由来のファイルです。
Font Copy in Flash について
- ESP32にある内蔵flash領域にフォントを書き込むと早いことを活用しています
- On にすると、選択中の書体を内蔵 flash の firmware 書き換え用に空けてある側(約 6.5MB)に複製し、そこから読みます。約 2 分かかり、その間は電源を切らないでください
- firmware を書き換えると複製は消えます。次の起動時に設定が On なら、自動で複製を作り直してから Home 画面に行きます(この版に書き換えた直後の起動も約 2 分かかります)
- 電池残量が 20% 未満(USB 未接続)のときは複製を始めず、設定を Off に戻します
- この領域を使うため、firmware を書き換える前の版に戻す手段は失われます。復旧は下の手順 4 の update.bin で行ってください
- 効いているかは
input-diag.txtのfont=行で分かります(src=flashなら flash から読んでいる) - フォントサイズによってflashに書き込めない場合があります
旧系統(2026091808 など)から、まだ載せ直していないもの
- 読書中の待機時間に次の章を先に組み立てる仕組み。この版では章をまたぐと、その場で組み立てが始まります
- 本の CSS の保存が途中で切れている本(ひな形 CSS が非常に大きい本)で、組み立て時に CSS を読み直す仕組み。そうした本では一部の書式が抜けることがあります
既知の制限
- 挿絵の多い章を初めて開くときは 9 秒前後かかります(挿絵を表示用の形に変換するため。2 回目からは速い)
- 挿絵のページでは残像を消すための全面書き換えに約 2.8 秒かかります
- 縦書きの本で、扉・奥付などの横組み部分も縦のまま表示します
- 文中の
font-size指定は無視されます - 句読点(、。)は全角のまま置きます(二分アキの対象は括弧類のみ)
- 横書きで欧文の書体を選ぶと、日本語の本文はその書体に無い字が欠けます
使うための手順
- microSDをFAT32フォーマットしたものを用意
- OST版 2026090909 の fonts-202609080.zip の中身を展開して、microSDにfontsフォルダごとコピー(既に入れてある場合はそのままで可)
- crosspoint-OST-2026093001-diag.bin(X3)または crosspoint-OST-2026093001-x4pro-diag.bin(X4 Pro)を microSDにコピー
- 万が一の復旧用に https://crosspointreader.com/unlock から update.bin をダウンロードして microSDにコピー
- XTEINK X3/X4 ProにmicroSDをさす
- X3ではm左側面のボタンと、上側右の電源ボタンを長押しして、「BOOTING」表示になったら離す。X4 Pro では通常どおり起動して [Settings] の SD Firmware Update を選ぶ
- OST~.binを選択して、firmwareを書き換える
- 起動後、[Settings]-[Text Settings]にて必要な設定
[Fonts]は「BIZUDGothic」「BIZUDMincho」「NotoSansJP」のどれかを選択 (私はNotoSansJP)
[Size]は 見やすいサイズを選択 (私は18pt)
[Layout]は「Extra Paragraph Spacing」は「ON」
[Style]は基本は「Embedded Style」と「Text Anti-Aliasing」は両方「ON」
EPUB読み込みでクラッシュする場合、「Embedded Style」を「OFF」にする
文字の描画が遅いと思ったら「Text Anti-Aliasing」を「OFF」にする
「Font Copy in Flash」を「ON」にすると、X3では字形を内蔵 flash から読むようになり速くなります(X4 Proでは効果が薄い)