Having a font via spritesheet (as PNG), the easiest way to render fonts from that is just showing chars as monospace, but as you can imagine, that looks not pretty with chars like l
, i
, :
and so on..
Is there a slick way to maintain the width of every char?
- I already thought of storing it into an extra file, telling the width of each char in pixels.
- Pro: Fast rendering.
- Con: That's one load of work for about 100 chars.
- I gave "counting" the pixel-width of each char on rendering it a thought.
- Pro: Once that algorithm does it's job there's no work with that afterwards.
- Con: As there is pretty much font-rendering going on each frame, this is plain bullshit - performancewise.
I'm open to suggestions and/or known algorithms for this problem.
EDIT: TTF or some other real font is not an option, because they render wayy to pixelated on the small sizes needed.
EDIT: Thanks to lorenzo-gatti, made simple marker-pixels in the spritesheet like so:
Distance between these gets counted on startup of the game and the markers are replaced with transparent pixels. So no heavy additional logic in render which would slow down and startup-time is not really slower than before, thanks!