openshot-audio
0.1.6
|
#include <juce_CustomTypeface.h>
Classes | |
class | GlyphInfo |
Protected Member Functions | |
virtual bool | loadGlyphIfPossible (juce_wchar characterNeeded) |
![]() | |
Typeface (const String &name, const String &style) noexcept | |
![]() | |
ReferenceCountedObject () | |
virtual | ~ReferenceCountedObject () |
void | resetReferenceCount () noexcept |
Protected Attributes | |
juce_wchar | defaultCharacter |
float | ascent |
![]() | |
String | name |
String | style |
Friends | |
struct | ContainerDeletePolicy< GlyphInfo > |
Additional Inherited Members | |
![]() | |
typedef ReferenceCountedObjectPtr < Typeface > | Ptr |
![]() | |
static Ptr | createSystemTypefaceFor (const Font &font) |
static Ptr | createSystemTypefaceFor (const void *fontFileData, size_t fontFileDataSize) |
static void | setTypefaceCacheSize (int numFontsToCache) |
static void | clearTypefaceCache () |
static void | scanFolderForFonts (const File &folder) |
![]() | |
static Ptr | getFallbackTypeface () |
A typeface that can be populated with custom glyphs.
You can create a CustomTypeface if you need one that contains your own glyphs, or if you need to load a typeface from a Juce-formatted binary stream.
If you want to create a copy of a native face, you can use addGlyphsFromOtherTypeface() to copy glyphs into this face.
NOTE! For most people this class is almost certainly NOT the right tool to use! If what you want to do is to embed a font into your exe, then your best plan is probably to embed your TTF/OTF font file into your binary using the Introjucer, and then call Typeface::createSystemTypefaceFor() to load it from memory.
CustomTypeface::CustomTypeface | ( | ) |
Creates a new, empty typeface.
|
explicit |
Loads a typeface from a previously saved stream. The stream must have been created by writeToStream().
NOTE! Since this class was written, support was added for loading real font files from memory, so for most people, using Typeface::createSystemTypefaceFor() to load a real font is more appropriate than using this class to store it in a proprietary format.
CustomTypeface::~CustomTypeface | ( | ) |
Destructor.
|
noexcept |
Adds a glyph to the typeface.
The path that is passed in is normalised so that the font height is 1.0, and its origin is the anchor point of the character on its baseline.
The width is the nominal width of the character, and any extra kerning values that are specified will be added to this width.
|
noexcept |
Adds a range of glyphs from another typeface. This will attempt to pull in the paths and kerning information from another typeface and add it to this one.
|
noexcept |
Specifies an extra kerning amount to be used between a pair of characters. The amount will be added to the nominal width of the first character when laying out a string.
void CustomTypeface::clear | ( | ) |
Resets this typeface, deleting all its glyphs and settings.
|
overridevirtual |
Returns the ascent of the font, as a proportion of its height. The height is considered to always be normalised as 1.0, so this will be a value less that 1.0, indicating the proportion of the font that lies above its baseline.
Implements Typeface.
|
overridevirtual |
Returns the descent of the font, as a proportion of its height. The height is considered to always be normalised as 1.0, so this will be a value less that 1.0, indicating the proportion of the font that lies below its baseline.
Implements Typeface.
|
overridevirtual |
|
overridevirtual |
Converts a line of text into its glyph numbers and their positions. The distances returned are based on the font having an normalised height of 1.0. You should never need to call this directly! Use Font::getGlyphPositions() instead!
Implements Typeface.
|
overridevirtual |
Returns the value by which you should multiply a juce font-height value to convert it to the equivalent point-size.
Implements Typeface.
Returns the outline for a glyph. The path returned will be normalised to a font height of 1.0.
Implements Typeface.
Measures the width of a line of text. The distance returned is based on the font having an normalised height of 1.0. You should never need to call this directly! Use Font::getStringWidth() instead!
Implements Typeface.
|
protectedvirtual |
If a subclass overrides this, it can load glyphs into the font on-demand. When methods such as getGlyphPositions() or getOutlineForGlyph() are asked for a particular character and there's no corresponding glyph, they'll call this method so that a subclass can try to add that glyph, returning true if it manages to do so.
|
noexcept |
Sets the vital statistics for the typeface.
fontFamily | the typeface's font family |
ascent | the ascent - this is normalised to a height of 1.0 and this is the value that will be returned by Typeface::getAscent(). The descent is assumed to be (1.0 - ascent) |
isBold | should be true if the typeface is bold |
isItalic | should be true if the typeface is italic |
defaultCharacter | the character to be used as a replacement if there's no glyph available for the character that's being drawn |
|
noexcept |
Sets the vital statistics for the typeface.
fontFamily | the typeface's font family |
fontStyle | the typeface's font style |
ascent | the ascent - this is normalised to a height of 1.0 and this is the value that will be returned by Typeface::getAscent(). The descent is assumed to be (1.0 - ascent) |
defaultCharacter | the character to be used as a replacement if there's no glyph available for the character that's being drawn |
bool CustomTypeface::writeToStream | ( | OutputStream & | outputStream | ) |
Saves this typeface as a Juce-formatted font file. A CustomTypeface can be created to reload the data that is written - see the CustomTypeface constructor.
NOTE! Since this class was written, support was added for loading real font files from memory, so for most people, using Typeface::createSystemTypefaceFor() to load a real font is more appropriate than using this class to store it in a proprietary format.
|
friend |
|
protected |
|
protected |