Initial commit
This commit is contained in:
commit
63c36ebe1c
1 changed files with 1651 additions and 0 deletions
40
README.md
Normal file
40
README.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Skrivañ
|
||||
|
||||
This is:
|
||||
* a CLI tool to render a subset of a TTF/OTF/AAT font to PNG, and produce a custom-format character-to-positions map;
|
||||
* a lightweight crate to load such a map and render text to textures (or just iterate on glyphs and let you do the rendering).
|
||||
|
||||
Ideal for making a lightweight 2D game. All the hard work and big dependencies are done before compiling the game. No TTF to include, only an image and a small binary file. Rendering text is simply associating characters to positions on the font texture, like a tilemap. Glyphs can be fed to a vertex shader easily.
|
||||
|
||||
Not yet features:
|
||||
* alignment (currently only left alignment is supported)
|
||||
* wordwrap
|
||||
|
||||
Not planned:
|
||||
* Smart kerning algorithms, hyphenation, and other LaTeX-grade stuff.
|
||||
* Subpixel antialiasing (antialiasing is computed only for the base texture, not when rendering text)
|
||||
|
||||
Similar tools already exist, but:
|
||||
* the best ones, like harfbuzz, are quite heavy (we use harfbuzz for rendering).
|
||||
* the lightest ones are made for embedded or Gameboy.
|
||||
* other ones need the TTF at runtime.
|
||||
|
||||
## Example
|
||||
|
||||
```rust
|
||||
|
||||
```
|
||||
|
||||
## Name
|
||||
|
||||
"Skrivañ" is the Breton infinitive verb "to write". Pronounce skree.vã, with a nasalized "a".
|
||||
|
||||
## License
|
||||
|
||||
[Support me via LiberaPay](https://liberapay.com/tuxmain/donate)
|
||||
|
||||
GNU AGPL v3, CopyLeft 2026 Pascal Engélibert [(why copyleft?)](https://txmn.tk/blog/why-copyleft/)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
||||
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
Loading…
Reference in a new issue