mirror of
https://github.com/daveallie/crosspoint-reader.git
synced 2026-02-05 15:17:37 +03:00
74 lines
2.6 KiB
Markdown
74 lines
2.6 KiB
Markdown
# Font Conversion Guide
|
|
|
|
To use custom fonts with the CrossPoint Reader, you must convert standard `.ttf` or `.otf` font files into the specific `.epdfont` binary format used by the compiled firmware.
|
|
|
|
## Supported Formats
|
|
|
|
The CrossPoint Reader supports two versions of the `.epdfont` format:
|
|
1. **Version 1 (Recommended):** The newer, optimized format generated by the web converter.
|
|
2. **Version 0 (Legacy):** The original format generated by the Python script.
|
|
|
|
## Method 1: Web Converter (Recommended)
|
|
|
|
The easiest way to generate compatible fonts is using the online converter.
|
|
|
|
1. Go to [https://epdfont.clev.app/](https://epdfont.clev.app/).
|
|
2. Select your `.ttf` or `.otf` file.
|
|
3. Choose the font size (e.g., 18).
|
|
4. Download the generated `.epdfont` file.
|
|
|
|
### Filename Requirements
|
|
|
|
The firmware scans for fonts in the `/fonts` directory on the SD card. It attempts to parse the filename to determine the Font Family, Style, and Size.
|
|
|
|
For best results, rename your downloaded file to match one of these patterns:
|
|
|
|
* `Family_Style_Size.epdfont` (e.g., `Aileron_Regular_18.epdfont`)
|
|
* `Family-Style-Size.epdfont` (e.g., `LibreBaskerville-Bold-14.epdfont`)
|
|
|
|
**Supported Styles:**
|
|
* `Regular`
|
|
* `Bold`
|
|
* `Italic`
|
|
* `BoldItalic`
|
|
|
|
**Note:** If you download a file named just `Aileron.epdfont`, the reader will try to load it, but using the explicit naming convention above ensures the correct style and size are recognized.
|
|
|
|
## Method 2: Python Script (Legacy)
|
|
|
|
You can also use the included Python script located at `lib/EpdFont/scripts/fontconvert.py`.
|
|
|
|
### Requirements
|
|
- Python 3
|
|
- `freetype-py` library (`pip install freetype-py`)
|
|
|
|
### Usage
|
|
|
|
Run the script from the project root:
|
|
|
|
```bash
|
|
python3 lib/EpdFont/scripts/fontconvert.py --binary [Family-Style-Size] [Size] [PathToFont]
|
|
```
|
|
|
|
### Arguments
|
|
1. `name`: The output filename (without extension). **Convention:** `Family-Style-Size` (e.g. `Bookerly-Regular-12`).
|
|
2. `size`: The integer point size (e.g. `12`).
|
|
3. `fontstack`: Path to the source font file (e.g. `fonts/Bookerly-Regular.ttf`).
|
|
4. `--binary`: **REQUIRED**. Flags the script to output the `.epdfont` binary instead of a C header.
|
|
|
|
### Example
|
|
|
|
To convert `Bookerly-Regular.ttf` to a size 12 font:
|
|
|
|
```bash
|
|
python3 lib/EpdFont/scripts/fontconvert.py --binary Bookerly-Regular-12 12 fonts/Bookerly-Regular.ttf
|
|
```
|
|
|
|
This will generate `Bookerly-Regular-12.epdfont` in your current directory.
|
|
|
|
## Installing on Device
|
|
|
|
1. Copy your generated `.epdfont` files to the `/fonts` directory on your SD card.
|
|
2. Restart the CrossPoint Reader.
|
|
3. Go to **Settings** -> **Set Custom Font Family** to select your loaded fonts.
|