Why that font complexity? Wouldn it be easier to use just single font class?
We have tried to resolve unavoidable grid-aligning problem. I.e. for actual printing font metrics are usually scaled to integer values in given device grid (resolution). So if you try to print long line of glyphs on different devices, either: • you place every glyph manually and line ending is always at the same place, but inter-character distances may sometimes vary from correct ones by one pixel (because positions are rounded to nearest integer), so text does not look nice on low resolution • you let glyph flow freely, so inter-character distances are always optimal, even on low-resolution device – but line ending may vary a lot between devices. So the idea is to have GnomeFont, that is adjusted to master output device (for example typesetter), and for every actual output device we generate different GnomeRFont. If actual output device == master output device, the metrics of GnomeFont and GnomeRFont are identical (if multiplied by resolution difference), for any other they differ a l