Represents a particular font, including its size, style, etc. More...
Public Types | |
| enum | FontStyleFlags { plain = 0, bold = 1, italic = 2, underlined = 4 } |
A combination of these values is used by the constructor to specify the style of font to use. More... | |
Public Member Functions | |
| Font (float fontHeight, int styleFlags=plain) | |
| Creates a sans-serif font in a given size. | |
| Font (const String &typefaceName, float fontHeight, int styleFlags) | |
| Creates a font with a given typeface and parameters. | |
| Font (const Font &other) noexcept | |
| Creates a copy of another Font object. | |
| Font (const Typeface::Ptr &typeface) | |
| Creates a font for a typeface. | |
| Font () | |
| Creates a basic sans-serif font at a default height. | |
| Font & | operator= (const Font &other) noexcept |
| Copies this font from another one. | |
| bool | operator== (const Font &other) const noexcept |
| bool | operator!= (const Font &other) const noexcept |
| ~Font () noexcept | |
| Destructor. | |
| void | setTypefaceName (const String &faceName) |
| Changes the name of the typeface family. | |
| const String & | getTypefaceName () const noexcept |
| Returns the name of the typeface family that this font uses. | |
| float | getHeight () const noexcept |
| Returns the total height of this font. | |
| void | setHeight (float newHeight) |
| Changes the font's height. | |
| void | setHeightWithoutChangingWidth (float newHeight) |
| Changes the font's height without changing its width. | |
| float | getAscent () const |
| Returns the height of the font above its baseline. | |
| float | getDescent () const |
| Returns the amount that the font descends below its baseline. | |
| int | getStyleFlags () const noexcept |
| Returns the font's style flags. | |
| void | setStyleFlags (int newFlags) |
| Changes the font's style. | |
| void | setBold (bool shouldBeBold) |
| Makes the font bold or non-bold. | |
| Font | boldened () const |
| Returns a copy of this font with the bold attribute set. | |
| bool | isBold () const noexcept |
| Returns true if the font is bold. | |
| void | setItalic (bool shouldBeItalic) |
| Makes the font italic or non-italic. | |
| Font | italicised () const |
| Returns a copy of this font with the italic attribute set. | |
| bool | isItalic () const noexcept |
| Returns true if the font is italic. | |
| void | setUnderline (bool shouldBeUnderlined) |
| Makes the font underlined or non-underlined. | |
| bool | isUnderlined () const noexcept |
| Returns true if the font is underlined. | |
| void | setHorizontalScale (float scaleFactor) |
| Changes the font's horizontal scale factor. | |
| float | getHorizontalScale () const noexcept |
| Returns the font's horizontal scale. | |
| void | setExtraKerningFactor (float extraKerning) |
| Changes the font's kerning. | |
| float | getExtraKerningFactor () const noexcept |
| Returns the font's kerning. | |
| void | setSizeAndStyle (float newHeight, int newStyleFlags, float newHorizontalScale, float newKerningAmount) |
| Changes all the font's characteristics with one call. | |
| int | getStringWidth (const String &text) const |
| Returns the total width of a string as it would be drawn using this font. | |
| float | getStringWidthFloat (const String &text) const |
| Returns the total width of a string as it would be drawn using this font. | |
| void | getGlyphPositions (const String &text, Array< int > &glyphs, Array< float > &xOffsets) const |
| Returns the series of glyph numbers and their x offsets needed to represent a string. | |
| Typeface * | getTypeface () const |
| Returns the typeface used by this font. | |
| String | toString () const |
| Creates a string to describe this font. | |
Static Public Member Functions | |
| static const String & | getDefaultSansSerifFontName () |
| Returns a typeface name that represents the default sans-serif font. | |
| static const String & | getDefaultSerifFontName () |
| Returns a typeface name that represents the default sans-serif font. | |
| static const String & | getDefaultMonospacedFontName () |
| Returns a typeface name that represents the default sans-serif font. | |
| static void | getPlatformDefaultFontNames (String &defaultSans, String &defaultSerif, String &defaultFixed, String &defaultFallback) |
| Returns the typeface names of the default fonts on the current platform. | |
| static void | findFonts (Array< Font > &results) |
| Creates an array of Font objects to represent all the fonts on the system. | |
| static StringArray | findAllTypefaceNames () |
| Returns a list of all the available typeface names. | |
| static const String & | getFallbackFontName () |
| Returns the name of the typeface to be used for rendering glyphs that aren't found in the requested typeface. | |
| static void | setFallbackFontName (const String &name) |
| Sets the (platform-specific) name of the typeface to use to find glyphs that aren't available in whatever font you're trying to use. | |
| static Font | fromString (const String &fontDescription) |
| Recreates a font from its stringified encoding. | |
Represents a particular font, including its size, style, etc.
Apart from the typeface to be used, a Font object also dictates whether the font is bold, italic, underlined, how big it is, and its kerning and horizontal scale factor.
| enum Font::FontStyleFlags |
A combination of these values is used by the constructor to specify the style of font to use.
| plain |
indicates a plain, non-bold, non-italic version of the font.
|
| bold |
boldens the font.
|
| italic |
finds an italic version of the font.
|
| underlined |
underlines the font.
|
| Font::Font | ( | float | fontHeight, |
| int | styleFlags = plain |
||
| ) |
Creates a sans-serif font in a given size.
| fontHeight | the height in pixels (can be fractional) |
| styleFlags | the style to use - this can be a combination of the Font::bold, Font::italic and Font::underlined, or just Font::plain for the normal style. |
| Font::Font | ( | const String & | typefaceName, |
| float | fontHeight, | ||
| int | styleFlags | ||
| ) |
Creates a font with a given typeface and parameters.
| typefaceName | the name of the typeface to use |
| fontHeight | the height in pixels (can be fractional) |
| styleFlags | the style to use - this can be a combination of the Font::bold, Font::italic and Font::underlined, or just Font::plain for the normal style. |
| Font::Font | ( | const Typeface::Ptr & | typeface ) |
Creates a font for a typeface.
| Font::Font | ( | ) |
Creates a basic sans-serif font at a default height.
You should use one of the other constructors for creating a font that you're planning on drawing with - this constructor is here to help initialise objects before changing the font's settings later.
| Font::~Font | ( | ) |
Destructor.
| bool Font::operator== | ( | const Font & | other ) | const |
| bool Font::operator!= | ( | const Font & | other ) | const |
| void Font::setTypefaceName | ( | const String & | faceName ) |
Changes the name of the typeface family.
e.g. "Arial", "Courier", etc.
This may also be set to Font::getDefaultSansSerifFontName(), Font::getDefaultSerifFontName(), or Font::getDefaultMonospacedFontName(), which are not actual platform-specific font names, but are generic names that are used to represent the various default fonts. If you need to know the exact typeface name being used, you can call Font::getTypeface()->getTypefaceName(), which will give you the platform-specific name.
If a suitable font isn't found on the machine, it'll just use a default instead.
| const String& Font::getTypefaceName | ( | ) | const |
Returns the name of the typeface family that this font uses.
e.g. "Arial", "Courier", etc.
This may also be set to Font::getDefaultSansSerifFontName(), Font::getDefaultSerifFontName(), or Font::getDefaultMonospacedFontName(), which are not actual platform-specific font names, but are generic names that are used to represent the various default fonts.
If you need to know the exact typeface name being used, you can call Font::getTypeface()->getTypefaceName(), which will give you the platform-specific name.
| static const String& Font::getDefaultSansSerifFontName | ( | ) | [static] |
Returns a typeface name that represents the default sans-serif font.
This is also the typeface that will be used when a font is created without specifying any typeface details.
Note that this method just returns a generic placeholder string that means "the default sans-serif font" - it's not the actual name of this font. To get the actual name, use getPlatformDefaultFontNames() or LookAndFeel::getTypefaceForFont().
| static const String& Font::getDefaultSerifFontName | ( | ) | [static] |
Returns a typeface name that represents the default sans-serif font.
Note that this method just returns a generic placeholder string that means "the default serif font" - it's not the actual name of this font. To get the actual name, use getPlatformDefaultFontNames() or LookAndFeel::getTypefaceForFont().
| static const String& Font::getDefaultMonospacedFontName | ( | ) | [static] |
Returns a typeface name that represents the default sans-serif font.
Note that this method just returns a generic placeholder string that means "the default monospaced font" - it's not the actual name of this font. To get the actual name, use getPlatformDefaultFontNames() or LookAndFeel::getTypefaceForFont().
| static void Font::getPlatformDefaultFontNames | ( | String & | defaultSans, |
| String & | defaultSerif, | ||
| String & | defaultFixed, | ||
| String & | defaultFallback | ||
| ) | [static] |
Returns the typeface names of the default fonts on the current platform.
| float Font::getHeight | ( | ) | const |
Returns the total height of this font.
This is the maximum height, from the top of the ascent to the bottom of the descenders.
Referenced by PositionedGlyph::getBounds().
| void Font::setHeight | ( | float | newHeight ) |
Changes the font's height.
| void Font::setHeightWithoutChangingWidth | ( | float | newHeight ) |
Changes the font's height without changing its width.
This alters the horizontal scale to compensate for the change in height.
| float Font::getAscent | ( | ) | const |
Returns the height of the font above its baseline.
This is the maximum height from the baseline to the top.
Referenced by PositionedGlyph::getTop().
| float Font::getDescent | ( | ) | const |
Returns the amount that the font descends below its baseline.
This is calculated as (getHeight() - getAscent()).
Referenced by PositionedGlyph::getBottom().
| int Font::getStyleFlags | ( | ) | const |
Returns the font's style flags.
This will return a bitwise-or'ed combination of values from the FontStyleFlags enum, to describe whether the font is bold, italic, etc.
| void Font::setStyleFlags | ( | int | newFlags ) |
Changes the font's style.
| newFlags | a bitwise-or'ed combination of values from the FontStyleFlags enum, to set the font's properties |
| void Font::setBold | ( | bool | shouldBeBold ) |
Makes the font bold or non-bold.
| Font Font::boldened | ( | ) | const |
Returns a copy of this font with the bold attribute set.
| bool Font::isBold | ( | ) | const |
Returns true if the font is bold.
| void Font::setItalic | ( | bool | shouldBeItalic ) |
Makes the font italic or non-italic.
| Font Font::italicised | ( | ) | const |
Returns a copy of this font with the italic attribute set.
| bool Font::isItalic | ( | ) | const |
Returns true if the font is italic.
| void Font::setUnderline | ( | bool | shouldBeUnderlined ) |
Makes the font underlined or non-underlined.
| bool Font::isUnderlined | ( | ) | const |
Returns true if the font is underlined.
| void Font::setHorizontalScale | ( | float | scaleFactor ) |
Changes the font's horizontal scale factor.
| scaleFactor | a value of 1.0 is the normal scale, less than this will be narrower, greater than 1.0 will be stretched out. |
| float Font::getHorizontalScale | ( | ) | const |
Returns the font's horizontal scale.
A value of 1.0 is the normal scale, less than this will be narrower, greater than 1.0 will be stretched out.
| void Font::setExtraKerningFactor | ( | float | extraKerning ) |
Changes the font's kerning.
| extraKerning | a multiple of the font's height that will be added to space between the characters. So a value of zero is normal spacing, positive values spread the letters out, negative values make them closer together. |
| float Font::getExtraKerningFactor | ( | ) | const |
Returns the font's kerning.
This is the extra space added between adjacent characters, as a proportion of the font's height.
A value of zero is normal spacing, positive values will spread the letters out more, and negative values make them closer together.
| void Font::setSizeAndStyle | ( | float | newHeight, |
| int | newStyleFlags, | ||
| float | newHorizontalScale, | ||
| float | newKerningAmount | ||
| ) |
Changes all the font's characteristics with one call.
| int Font::getStringWidth | ( | const String & | text ) | const |
Returns the total width of a string as it would be drawn using this font.
For a more accurate floating-point result, use getStringWidthFloat().
| float Font::getStringWidthFloat | ( | const String & | text ) | const |
Returns the total width of a string as it would be drawn using this font.
| void Font::getGlyphPositions | ( | const String & | text, |
| Array< int > & | glyphs, | ||
| Array< float > & | xOffsets | ||
| ) | const |
Returns the series of glyph numbers and their x offsets needed to represent a string.
An extra x offset is added at the end of the run, to indicate where the right hand edge of the last character is.
| Typeface* Font::getTypeface | ( | ) | const |
Returns the typeface used by this font.
Note that the object returned may go out of scope if this font is deleted or has its style changed.
Creates an array of Font objects to represent all the fonts on the system.
If you just need the names of the typefaces, you can also use findAllTypefaceNames() instead.
| results | the array to which new Font objects will be added. |
| static StringArray Font::findAllTypefaceNames | ( | ) | [static] |
Returns a list of all the available typeface names.
The names returned can be passed into setTypefaceName().
You can use this instead of findFonts() if you only need their names, and not font objects.
| static const String& Font::getFallbackFontName | ( | ) | [static] |
Returns the name of the typeface to be used for rendering glyphs that aren't found in the requested typeface.
| static void Font::setFallbackFontName | ( | const String & | name ) | [static] |
Sets the (platform-specific) name of the typeface to use to find glyphs that aren't available in whatever font you're trying to use.
| String Font::toString | ( | ) | const |
Creates a string to describe this font.
The string will contain information to describe the font's typeface, size, and style. To recreate the font from this string, use fromString().
Recreates a font from its stringified encoding.
This method takes a string that was created by toString(), and recreates the original font.