18#include <QtGui/private/qtguiglobal_p.h>
19#include "private/qfontengine_p.h"
26 explicit QFontSubset(QFontEngine *fe, uint obj_id = 0)
27 : object_id(obj_id), noEmbed(
false), fontEngine(fe), downloaded_glyphs(0), standard_font(
false)
29 fontEngine->ref.ref();
35 if (!fontEngine->ref.deref())
39 QByteArray toTruetype()
const;
41 QByteArray widthArray()
const;
42 QByteArray createToUnicodeMap()
const;
43 QList<
int> getReverseMap()
const;
45 static QByteArray glyphName(
unsigned short unicode,
bool symbol);
47 qsizetype addGlyph(uint index);
51 QFontEngine *fontEngine;
52 QList<uint> glyph_indices;
53 mutable int downloaded_glyphs;
54 mutable bool standard_font;
55 qsizetype nGlyphs()
const {
return glyph_indices.size(); }
56 mutable QFixed emSquare;
57 mutable QList<QFixed> widths;
QTtfStream(QByteArray &ba)
static QTtfTable generateHhea(const qttf_hhea_table &hhea)
static bool operator<(const QTtfTable &t1, const QTtfTable &t2)
static void convertPath(const QPainterPath &path, QList< TTF_POINT > *points, QList< int > *endPoints, qreal ppem)
static bool operator<(const QTtfGlyph &g1, const QTtfGlyph &g2)
Q_DECLARE_TYPEINFO(QTtfTable, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(qttf_name_table, Q_RELOCATABLE_TYPE)
static QByteArray bindFont(const QList< QTtfTable > &_tables)
static QTtfTable generateHead(const qttf_head_table &head)
static QList< QTtfTable > generateGlyphTables(qttf_font_tables &tables, const QList< QTtfGlyph > &_glyphs)
static QTtfTable generateName(const QList< QTtfNameRecord > &name)
static const unsigned short symbol_map[0x100]
static quint32 checksum(const QByteArray &table)
Q_DECLARE_TYPEINFO(QTtfGlyph, Q_RELOCATABLE_TYPE)
static QTtfTable generateMaxp(const qttf_maxp_table &maxp)
Q_DECLARE_TYPEINFO(TTF_POINT, Q_PRIMITIVE_TYPE)
static void getGlyphData(QTtfGlyph *glyph, const QList< TTF_POINT > &points, const QList< int > &endPoints, int point_array_size)
Q_DECLARE_TYPEINFO(qttf_head_table, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(qttf_maxp_table, Q_PRIMITIVE_TYPE)
static QTtfTable generateName(const qttf_name_table &name)
Q_DECLARE_TYPEINFO(QTtfNameRecord, Q_RELOCATABLE_TYPE)
static void checkRanges(QPdf::ByteStream &ts, QByteArray &ranges, int &nranges)
static void getBounds(const QList< TTF_POINT > &points, qint16 *xmin, qint16 *xmax, qint16 *ymin, qint16 *ymax)
Q_DECLARE_TYPEINFO(qttf_hhea_table, Q_PRIMITIVE_TYPE)
static int convertToRelative(QList< TTF_POINT > *points)
static QTtfGlyph generateGlyph(int index, const QPainterPath &path, qreal advance, qreal lsb, qreal ppem)
qint16 minLeftSideBearing
qint16 minRightSideBearing
quint16 maxCompositeContours
quint16 maxCompositePoints
quint16 maxComponentElements
quint16 maxComponentDepth