mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 18:03:56 -04:00
add glyph names
This commit is contained in:
parent
d70a1f25cb
commit
c73b890315
@ -98,21 +98,10 @@ DynamicTextFont(const Filename &font_filename, int face_index) {
|
||||
}
|
||||
set_name(name);
|
||||
|
||||
/*
|
||||
if (!FT_IS_SCALABLE(_face)) {
|
||||
text_cat.error()
|
||||
<< "Unable to read font " << get_name()
|
||||
<< ": non-scalable fonts not supported.\n";
|
||||
// Although we could support these if we wanted to, just
|
||||
// haven't bothered to write the few lines of glue code that
|
||||
// would do it.
|
||||
|
||||
} else */ {
|
||||
text_cat.info()
|
||||
<< "Loaded font " << get_name() << "\n";
|
||||
_is_valid = true;
|
||||
reset_scale();
|
||||
}
|
||||
text_cat.info()
|
||||
<< "Loaded font " << get_name() << "\n";
|
||||
_is_valid = true;
|
||||
reset_scale();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -233,6 +222,9 @@ clear() {
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void DynamicTextFont::
|
||||
write(ostream &out, int indent_level) const {
|
||||
static const int max_glyph_name = 1024;
|
||||
char glyph_name[max_glyph_name];
|
||||
|
||||
indent(out, indent_level)
|
||||
<< "DynamicTextFont " << get_name() << ", "
|
||||
<< get_num_pages() << " pages, "
|
||||
@ -243,6 +235,18 @@ write(ostream &out, int indent_level) const {
|
||||
DynamicTextGlyph *glyph = (*ci).second;
|
||||
indent(out, indent_level + 2)
|
||||
<< glyph_index;
|
||||
|
||||
if (FT_HAS_GLYPH_NAMES(_face)) {
|
||||
int error = FT_Get_Glyph_Name(_face, glyph_index,
|
||||
glyph_name, max_glyph_name);
|
||||
|
||||
// Some fonts, notably MS Mincho, claim to have glyph names but
|
||||
// only report ".notdef" as the name of each glyph. Thanks.
|
||||
if (!error && strcmp(glyph_name, ".notdef") != 0) {
|
||||
out << " (" << glyph_name << ")";
|
||||
}
|
||||
}
|
||||
|
||||
out << ", count = " << glyph->_geom_count << "\n";
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user