## Summary SD font binaries are published in their own repo, this updates the docs to have the proper informatoin. --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? **Yes, claude**
105 lines
3.4 KiB
Markdown
105 lines
3.4 KiB
Markdown
# SD Card Fonts
|
|
|
|
CrossPoint supports loading additional fonts from the SD card, including fonts
|
|
with extended Unicode coverage (CJK, Cyrillic, Greek, etc.).
|
|
|
|
## Installing Fonts
|
|
|
|
There are three ways to install fonts:
|
|
|
|
### Option 1: Download from device (recommended)
|
|
|
|
1. Connect your CrossPoint reader to WiFi
|
|
2. Go to **Settings > System > Manage Fonts**
|
|
3. Browse available font families and tap to download
|
|
4. Downloaded fonts appear immediately in **Settings > Reader > Font Family**
|
|
|
|
### Option 2: Upload via web browser
|
|
|
|
1. Connect your CrossPoint reader to WiFi
|
|
2. Open the web interface in your browser (shown on the WiFi screen)
|
|
3. Navigate to the **Fonts** tab
|
|
4. Upload `.cpfont` files using the upload form
|
|
|
|
### Option 3: Manual SD card copy
|
|
|
|
1. Download font files from the
|
|
[crosspoint-fonts repository](https://github.com/crosspoint-reader/crosspoint-fonts)
|
|
2. Copy font family folders to one of two locations on your SD card:
|
|
|
|
- `/.fonts/` — hidden directory (preferred; keeps the SD root tidy
|
|
when mounted on a desktop)
|
|
- `/fonts/` — visible directory (use this if your OS hides dot-files
|
|
and you'd rather see the folder in your file manager)
|
|
|
|
Both roots are always scanned at boot and the results are merged: a
|
|
family installed in `/fonts/` shows up even when `/.fonts/` also
|
|
exists, and vice versa. The two roots only collide if the same family
|
|
name appears in both — in that case the copy in `/.fonts/` wins and
|
|
the duplicate in `/fonts/` is ignored.
|
|
|
|
SD Card Root/
|
|
├── .fonts/ ← Hidden root (preferred)
|
|
│ └── Literata/
|
|
│ ├── Literata_12.cpfont
|
|
│ ├── Literata_14.cpfont
|
|
│ ├── Literata_16.cpfont
|
|
│ └── Literata_18.cpfont
|
|
└── fonts/ ← Visible root (equally valid)
|
|
└── Merriweather/
|
|
├── Merriweather_12.cpfont
|
|
└── ...
|
|
|
|
3. Insert the SD card and power on your CrossPoint reader
|
|
|
|
## Available Pre-Built Fonts
|
|
|
|
The current list of pre-built fonts is maintained in the
|
|
[crosspoint-fonts repository](https://github.com/crosspoint-reader/crosspoint-fonts).
|
|
|
|
## Converting Custom Fonts
|
|
|
|
To convert your own TrueType/OpenType fonts:
|
|
|
|
### Prerequisites
|
|
|
|
pip install freetype-py fonttools
|
|
|
|
### Single font (one style)
|
|
|
|
python3 lib/EpdFont/scripts/fontconvert_sdcard.py \
|
|
MyFont-Regular.ttf \
|
|
--intervals latin-ext \
|
|
--sizes 12,14,16,18 \
|
|
--style regular \
|
|
--name MyFont \
|
|
--output-dir ./MyFont/
|
|
|
|
### Multi-style font
|
|
|
|
python3 lib/EpdFont/scripts/fontconvert_sdcard.py \
|
|
--regular MyFont-Regular.ttf \
|
|
--bold MyFont-Bold.ttf \
|
|
--italic MyFont-Italic.ttf \
|
|
--bolditalic MyFont-BoldItalic.ttf \
|
|
--intervals latin-ext \
|
|
--sizes 12,14,16,18 \
|
|
--name MyFont \
|
|
--output-dir ./MyFont/
|
|
|
|
### Available Unicode interval presets
|
|
|
|
| Preset | Coverage |
|
|
|--------|----------|
|
|
| `ascii` | U+0020-U+007E (Basic Latin) |
|
|
| `latin-ext` | European languages (Latin + Extended-A/B) |
|
|
| `greek` | Greek + Extended Greek |
|
|
| `cyrillic` | Cyrillic + Supplement |
|
|
| `cjk` | CJK Unified Ideographs + Hiragana + Katakana + Fullwidth |
|
|
| `hangul` | Korean Hangul syllables |
|
|
| `builtin` | Matches built-in Bookerly coverage exactly |
|
|
|
|
Combine presets with commas: `--intervals latin-ext,greek,cyrillic`
|
|
|
|
Install custom fonts via WiFi upload or manual SD card copy.
|