65 unsigned aSubsetIndex,
bool aBold,
bool aItalic );
67 bool Contains( wxUniChar aCode )
const;
146 void EncodeString(
const wxString& aText, std::vector<PDF_STROKE_FONT_RUN>* aRuns,
147 bool aBold =
false,
bool aItalic =
false );
151 std::vector<PDF_STROKE_FONT_SUBSET*>
AllSubsets()
const;
157 static unsigned styleKey(
bool aBold,
bool aItalic ) {
return ( aBold ? 1u : 0u ) | ( aItalic ? 2u : 0u ); }
161 std::vector<std::unique_ptr<PDF_STROKE_FONT_SUBSET>>
subsets;
167 std::unique_ptr<KIFONT::STROKE_FONT>
m_font;
Implement a stroke font drawing.
std::unique_ptr< KIFONT::STROKE_FONT > m_font
std::map< unsigned, STYLE_GROUP > m_styleGroups
unsigned m_nextSubsetIndex
STYLE_GROUP & groupFor(bool aBold, bool aItalic)
PDF_STROKE_FONT_SUBSET * ensureSubsetForGlyph(wxUniChar aCode, bool aBold, bool aItalic)
std::vector< PDF_STROKE_FONT_SUBSET * > AllSubsets() const
void EncodeString(const wxString &aText, std::vector< PDF_STROKE_FONT_RUN > *aRuns, bool aBold=false, bool aItalic=false)
PDF_STROKE_FONT_MANAGER()
static unsigned styleKey(bool aBold, bool aItalic)
const std::string & ResourceName() const
const std::vector< GLYPH > & Glyphs() const
std::string BuildDifferencesArray() const
double FontBBoxMaxY() const
std::string m_resourceName
double FontBBoxMinY() const
const KIFONT::STROKE_FONT * m_font
int EnsureGlyph(wxUniChar aCode)
double UnitsPerEm() const
double FontBBoxMinX() const
int CodeForGlyph(wxUniChar aCode) const
void SetToUnicodeHandle(int aHandle)
int CharProcsHandle() const
std::string BuildWidthsArray() const
double FontBBoxMaxX() const
std::map< wxUniChar, int > m_unicodeToCode
std::string makeGlyphName(int aCode) const
void SetFontHandle(int aHandle)
int ToUnicodeHandle() const
void SetCharProcsHandle(int aHandle)
std::vector< double > m_widths
const std::vector< double > & Widths() const
std::string BuildToUnicodeCMap() const
bool Contains(wxUniChar aCode) const
std::vector< GLYPH > m_glyphs
const std::string & CMapName() const
const GLYPH * glyphForCode(int aCode) const
PDF_STROKE_FONT_SUBSET(const KIFONT::STROKE_FONT *aFont, double aUnitsPerEm, unsigned aSubsetIndex, bool aBold, bool aItalic)
std::vector< GLYPH > & Glyphs()
int glyphIndexForUnicode(wxUniChar aCode) const
std::vector< std::unique_ptr< PDF_STROKE_FONT_SUBSET > > subsets
PDF_STROKE_FONT_SUBSET * m_subset