/* static */ void FontUtils::GetAllRenderableCharacters(const vector<string>& fonts, vector<bool>* unichar_bitmap) { // Form the union of coverage maps from the fonts PangoCoverage* all_coverage = pango_coverage_new(); tlog(1, "Processing %d fonts\n", fonts.size()); for (int i = 0; i < fonts.size(); ++i) { PangoFontInfo font_info(fonts[i]); PangoCoverage* coverage = pango_font_get_coverage( font_info.ToPangoFont(), NULL); // Mark off characters that any font can render. pango_coverage_max(all_coverage, coverage); } CharCoverageMapToBitmap(all_coverage, unichar_bitmap); pango_coverage_unref(all_coverage); }
static VALUE coverage_max(VALUE self, VALUE other) { pango_coverage_max(_SELF(self), _SELF(other)); return self; }