.. index:: pair: class; EE::Graphics::FontTrueType .. _doxid-class_e_e_1_1_graphics_1_1_font_true_type: class EE::Graphics::FontTrueType ================================ .. toctree:: :hidden: struct_EE_Graphics_FontTrueType_Page.rst struct_EE_Graphics_FontTrueType_Row.rst Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class FontTrueType: public :ref:`EE::Graphics::Font` { public: // structs struct :ref:`Page`; struct :ref:`Row`; // construction :target:`~FontTrueType`(); // methods static FontTrueType* :target:`New`(const std::string& FontName); static FontTrueType* :target:`New`(const std::string& FontName, const std::string& filename); bool :target:`loadFromFile`(const std::string& filename); bool :target:`loadFromMemory`(const void* data, std::size_t sizeInBytes, bool copyData = true); bool :target:`loadFromStream`(:ref:`IOStream`& stream); bool :target:`loadFromPack`(:ref:`Pack`* pack, std::string filePackPath); virtual const :ref:`Font::Info`& :target:`getInfo`() const; virtual const :ref:`Glyph`& :target:`getGlyph`(:ref:`Uint32` codePoint, unsigned int characterSize, bool bold, bool italic, :ref:`Float` outlineThickness = 0, :ref:`Float` maxWidth = 0) const; const :ref:`Glyph`& :target:`getGlyphByIndex`(:ref:`Uint32` index, unsigned int characterSize, bool bold, bool italic, :ref:`Float` outlineThickness = 0) const; virtual :ref:`GlyphDrawable`* :ref:`getGlyphDrawable`(:ref:`Uint32` codePoint, unsigned int characterSize, bool bold = false, bool italic = false, :ref:`Float` outlineThickness = 0, const :ref:`Float`& forzeSize = 0) const; virtual :ref:`Float` :target:`getKerning`(:ref:`Uint32` first, :ref:`Uint32` second, unsigned int characterSize, bool bold, bool italic, :ref:`Float` outlineThickness = 0) const; virtual :ref:`Float` :target:`getLineSpacing`(unsigned int characterSize) const; virtual :ref:`Uint32` :ref:`getFontHeight`(const :ref:`Uint32`& characterSize) const; virtual :ref:`Float` :target:`getUnderlinePosition`(unsigned int characterSize) const; virtual :ref:`Float` :target:`getUnderlineThickness`(unsigned int characterSize) const; virtual :ref:`Texture`* :target:`getTexture`(unsigned int characterSize) const; virtual bool :target:`loaded`() const; FontTrueType& :target:`operator=`(const FontTrueType& right); bool :target:`getBoldAdvanceSameAsRegular`() const; void :ref:`setBoldAdvanceSameAsRegular`(bool boldAdvanceSameAsRegular); bool :target:`isColorEmojiFont`() const; virtual bool :target:`isMonospace`() const; virtual bool :target:`isScalable`() const; bool :target:`isEmojiFont`() const; bool :target:`hasGlyph`(:ref:`Uint32` codePoint) const; void :target:`setIsColorEmojiFont`(bool isColorEmojiFont); void :target:`setIsEmojiFont`(bool isEmojiFont); void :target:`setForceIsMonospace`(bool isMonospace); bool :target:`isEmojiFallbackEnabled`() const; void :target:`setEnableEmojiFallback`(bool enableEmojiFallback); const :ref:`Uint32`& :target:`getFontInternalId`() const; bool :target:`isFallbackFontEnabled`() const; void :target:`setEnableFallbackFont`(bool enableFallbackFont); bool :target:`getEnableDynamicMonospace`() const; void :target:`setEnableDynamicMonospace`(bool enableDynamicMonospace); :ref:`FontHinting` :target:`getHinting`() const; void :target:`setHinting`(:ref:`FontHinting` hinting); :ref:`FontAntialiasing` :target:`getAntialiasing`() const; void :target:`setAntialiasing`(:ref:`FontAntialiasing` antialiasing); virtual bool :target:`isBold`() const; virtual bool :target:`isItalic`() const; virtual bool :target:`isBoldItalic`() const; virtual bool :target:`hasBold`() const; virtual bool :target:`hasItalic`() const; virtual bool :target:`hasBoldItalic`() const; FontTrueType* :target:`getBoldFont`() const; FontTrueType* :target:`getItalicFont`() const; FontTrueType* :target:`getBoldItalicFont`() const; void :target:`setBoldFont`(FontTrueType* fontBold); void :target:`setItalicFont`(FontTrueType* fontItalic); void :target:`setBoldItalicFont`(FontTrueType* fontBoldItalic); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // typedefs typedef std::function`, :ref:`Event`, :ref:`Font`*)> :ref:`FontEventCallback`; // enums enum :ref:`Event`; // structs struct :ref:`Info`; // methods static :ref:`Uint32` :ref:`getHorizontalAlign`(const :ref:`Uint32`& flags); static :ref:`Uint32` :ref:`getVerticalAlign`(const :ref:`Uint32`& flags); static bool :ref:`isEmojiCodePoint`(const :ref:`Uint32`& codePoint); static bool :ref:`containsEmojiCodePoint`(const :ref:`String`& string); static std::vector :ref:`emojiCodePointsPositions`(const :ref:`String`& string); virtual :ref:`Uint32` :ref:`getFontHeight`(const :ref:`Uint32`& characterSize) const = 0; const :ref:`FontType`& :ref:`getType`() const; const std::string& :ref:`getName`() const; void :ref:`setName`(const std::string& setName); const :ref:`String::HashType`& :ref:`getId`(); virtual bool :ref:`isMonospace`() const = 0; virtual bool :ref:`isScalable`() const = 0; virtual const :ref:`Info`& :ref:`getInfo`() const = 0; virtual const :ref:`Glyph`& :ref:`getGlyph`(:ref:`Uint32` codePoint, unsigned int characterSize, bool bold, bool italic, :ref:`Float` outlineThickness = 0, :ref:`Float` maxWidth = 0) const = 0; virtual :ref:`GlyphDrawable`* :ref:`getGlyphDrawable`(:ref:`Uint32` codePoint, unsigned int characterSize, bool bold = false, bool italic = false, :ref:`Float` outlineThickness = 0, const :ref:`Float`& forzeSize = 0) const = 0; virtual :ref:`Float` :ref:`getKerning`(:ref:`Uint32` first, :ref:`Uint32` second, unsigned int characterSize, bool bold, bool italic, :ref:`Float` outlineThickness = 0) const = 0; virtual :ref:`Float` :ref:`getLineSpacing`(unsigned int characterSize) const = 0; virtual :ref:`Float` :ref:`getUnderlinePosition`(unsigned int characterSize) const = 0; virtual :ref:`Float` :ref:`getUnderlineThickness`(unsigned int characterSize) const = 0; virtual :ref:`Texture`* :ref:`getTexture`(unsigned int characterSize) const = 0; virtual :ref:`Uint32` :ref:`getFontStyle`() const; virtual bool :ref:`isRegular`() const; virtual bool :ref:`isBold`() const; virtual bool :ref:`isItalic`() const; virtual bool :ref:`isBoldItalic`() const; virtual bool :ref:`hasBold`() const; virtual bool :ref:`hasItalic`() const; virtual bool :ref:`hasBoldItalic`() const; virtual bool :ref:`loaded`() const = 0; :ref:`Uint32` :ref:`pushFontEventCallback`(const :ref:`FontEventCallback`& cb); void :ref:`popFontEventCallback`(const :ref:`Uint32`& callbackId); .. _details-class_e_e_1_1_graphics_1_1_font_true_type: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Methods ------- .. index:: pair: function; getGlyphDrawable .. _doxid-class_e_e_1_1_graphics_1_1_font_true_type_1abbc19645fe06da284596538a918a71f6: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`GlyphDrawable`* getGlyphDrawable(:ref:`Uint32` codePoint, unsigned int characterSize, bool bold = false, bool italic = false, :ref:`Float` outlineThickness = 0, const :ref:`Float`& forzeSize = 0) const .. rubric:: Returns: The glyph drawable that represents the glyph in a texture. The glyph drawable allocation is managed by the font. .. index:: pair: function; getFontHeight .. _doxid-class_e_e_1_1_graphics_1_1_font_true_type_1aa462d069445c2badd17d0b28852aa3ee: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual :ref:`Uint32` getFontHeight(const :ref:`Uint32`& characterSize) const .. rubric:: Returns: The current font height .. index:: pair: function; setBoldAdvanceSameAsRegular .. _doxid-class_e_e_1_1_graphics_1_1_font_true_type_1a93f6e0f14752948fa9d491de160a889f: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setBoldAdvanceSameAsRegular(bool boldAdvanceSameAsRegular) You can enable this to not add more space in the advance properties for bold fonts, so they advance like a regular glyph (useful for monospaced fonts).