Hi,
I'm afraid I've found a bug. Take a look at the "g" letter:

The top image is using my customFont class, the bottom image is using the new Gosu::Font.
What happens?
When we use Font::draw, Gosu::Font::Impl::getChar is called. This method creates a bitmap (Font.cpp, line 59):
Bitmap bmp;
bmp.resize(charWidth, height);Then,
drawText is called. Depending on the font, drawText may call PangoRenderer's or SDLTTFRenderer's drawText.
The problem is that usually the surface created by SDLTTFRenderer.drawText has a bigger height than fontHeight. In my example, for instance, the height I passed as argument is 30, but the surface generated is 34 pixels tall, so the bottom pixels are cut off.
The only solution I've thought is checking if the bitmap is too small, and resizing it to fit the text; At TextUnix.cpp, line 235, I would add right before
bmp.insert:
if(bmp.height() < temp.height()){
bmp.resize(bmp.width(), temp.height());
}
so the height is enough to hold the text.