rem: char_bounds(int bounds[4], int &width, const Efont::Cff::Font *cff, const Efont::OpenType::Cmap &cmap, uint32_t uni, const Transform &transform)
add: char_bounds(int bounds[4], int &width, const FontInfo &finfo, const Transform &transform, uint32_t uni)
context: char_bounds(int bounds[4], int &width,	    const Efont::Cff::Font *cff, const Efont::OpenType::Cmap &cmap,	    uint32_t uni, const Transform &transform){    if (Efont::OpenType::Glyph g = cmap.map_uni(uni))	return Efont::CharstringBounds::bounds(transform, cff->glyph_context(g), bounds, width);    else	return false;}