28 #include <boost/scoped_ptr.hpp>
29 #include <boost/shared_ptr.hpp>
30 #include <boost/cstdint.hpp>
38 class FreetypeGlyphsProvider;
97 Font(std::auto_ptr<SWF::DefineFontTag> ft);
109 Font(
const std::string&
name,
bool bold =
false,
bool italic =
false);
125 bool matches(
const std::string&
name,
bool bold,
bool italic)
const;
143 const std::string&
name()
const {
return _name; }
173 float get_advance(
int glyph_index,
bool embedded)
const;
196 float ascent(
bool embedded)
const;
201 float descent(
bool embedded)
const;
240 boost::shared_ptr<SWF::ShapeRecord>
glyph;
262 void setFlags(boost::uint8_t flags);
270 GlyphInfoRecords::size_type
glyphCount()
const;
288 int add_os_glyph(boost::uint16_t
code);
291 boost::scoped_ptr<SWF::DefineFontTag> _fontTag;
297 std::string _displayName;
298 std::string _copyrightName;
317 boost::shared_ptr<const CodeTable> _embeddedCodeTable;
322 typedef std::map<kerning_pair, float> kernings_table;
323 kernings_table m_kerning_pairs;
325 mutable std::auto_ptr<FreetypeGlyphsProvider> _ftProvider;
334 #endif // GNASH_FONT_H