A small self-contained pixel font.
- An extremely small font for low density displays.
- Two font weights: bold and regular.
- Italic styles for both weights.
- Option to underline text.
- Adjustable inter-word spacing.
- Open, and consistent character shapes for readability.
- Kerning rules to maximize character density.
- Covers the printable ASCII character set.
- A small library with no dependencies.
- Custom plotting allows any mode of rendering to be supported.
- A fluent, simple API.
More samples are available in the associated github wiki.
String text = ... // the text to render
Graphics2D g = ... // a graphics context to render to
int originX = ... // x-coordinate of first character
int originY = ... // y-coordinate of text baseline
Ezo.regular(); // get a font instance
.renderer((x, y) -> g.fillRect(x, y, 1, 1)) // define a plotter
.locate(originX, originY) // position the text
.renderString(text); // render the text
A complete "Hello, World!" example, with documentation, is available amongst other sample code.
The ezo library is available from the Maven central repository:
Group ID:
com.tomgibara.ezo
Artifact ID:ezo
Version:2.0.0
The Maven dependency being:
<dependency>
<groupId>com.tomgibara.ezo</groupId>
<artifactId>ezo</artifactId>
<version>2.0.0</version>
</dependency>
2017.12.09 Version 2.0.0
- Improved Q letter shape.
- Improved bold % symbol.
- Corrected vertical position of bold underscore.
- Added italic versions of bold and regular fonts.
- Added option to change inter-word spacing.
- Added option to render characters and strings with underlines.
- Introduced distinction between "baseline width" and "rendered width" in API.
2017.09.28 Version 1.0.0
Initial release