Libraries.Game.Graphics.Font Documentation
The Font class is used to load a font from the system.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Graphics.Label
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
Label label
if not font:IsFontAvailable("Verdana")
output "The font could not be found!"
return now
end
font:LoadFont("Verdana")
font:SetSize(18)
label:SetFont(font)
Add(label)
end
end
Inherits from: Libraries.Language.Object
Summary
Actions Summary Table
Actions | Description |
---|---|
ChangeSubFont(text style) | This action changes the style of the font. |
Compare(Libraries.Language.Object object) | This action compares two object hash codes and returns an integer. |
Copy() | This action copies the Font. |
Dispose() | This action will release the resources used by a loaded font. |
Equals(Libraries.Language.Object object) | This action determines if two objects are equal based on their hash code values. |
GetAngle() | This action will return the current angle of the font. |
GetAvailableFonts() | This action will return an array of all files found in the system's default font folder. |
GetGlyph(text character) | This action will return a Glyph object for this font's representation of the given character. |
GetHashCode() | This action gets the hash code for an object. |
GetIdentifier() | This action returns an identifier that uniquely identifies whatever Font has been loaded by this object. |
GetKerning(text currentCharacter, text nextCharacter) | This action calculates the kerning value between a pair of characters and then returns it. |
GetLineHeight() | This action will return the height of each line of text produced by this font. |
GetMaximumAscent() | This action calculates the kerning value between a pair of characters and then returns it. |
GetMaximumDescent() | This action will return an array of all files found in the system's default font folder. |
GetSize() | This action will return the current size of the font. |
GetUnderlinePosition() | This action will return the height of each line of text produced by this font. |
GetUnderlineThickness() | This action will check if the font has been loaded yet. |
IsBordered() | This action will return true if this font currently supports borders, or false if it does not. |
IsFontAvailable(text fontName) | This action will look in the default system font folder and look for a font of the given name. |
IsLoaded() | This action will check if the font has been loaded yet. |
LoadFont(text fontName) | This action will load a font by name from the system. |
LoadFont(Libraries.System.File fontFile) | This action loads a font from a given font file. |
Rotate(number rotation) | This action will rotate the characters produced by this font by the given number of degrees. |
SetAngle(number newAngle) | This action will set the angle in degrees of the characters produced by this font. |
SetBordered(boolean bordered) | This action will either enable or disable borders for this font. |
SetSize(integer newSize) | This action will set the size of the font. |
SetStyle(text style) | This action sets the style of the font to use, such as bold, italic, condensed, and so on. |
Actions Documentation
ChangeSubFont(text style)
This action changes the style of the font. This is only applicable to TrueTypeCollection (.ttc) files.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.System.File
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
File file
file:SetPath("CustomFont.ttf")
font:LoadFont(file)
font:ChangeSubFont("Italic")
end
end
Parameters
- text style: The style of the font to change to.
Compare(Libraries.Language.Object object)
This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.
Example Code
Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)
Parameters
- Libraries.Language.Object: The object to compare to.
Return
integer: The Compare result, Smaller, Equal, or Larger.
Copy()
This action copies the Font.
Example Code
use Libraries.Game.Graphics.Font
Font font
Font font2 = font:Copy()
output "Hooray!"
Return
Libraries.Game.Graphics.Font: the copied font
Dispose()
This action will release the resources used by a loaded font. The Font object will no longer be usable until another font is loaded.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
font:Dispose()
end
end
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Example Code
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
Parameters
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
GetAngle()
This action will return the current angle of the font. The default angle is 0 degrees.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
output "The font has an angle of " + font:GetAngle() + " degrees."
end
end
Return
number: Returns the current angle of the font.
GetAvailableFonts()
This action will return an array of all files found in the system's default font folder.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.System.File
use Libraries.Containers.Array
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
Array<File> fontFiles = font:GetAvailableFonts()
integer index = 0
output "The following fonts are available on the system: "
repeat fontFiles:GetSize() times
File temp = fontFiles:Get(index)
output temp:GetPath()
index = index + 1
end
end
end
Return
Libraries.Containers.Array: Returns an array with all the font files on the system.
GetGlyph(text character)
This action will return a Glyph object for this font's representation of the given character.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Graphics.Glyph
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
Glyph a = font:GetGlyph("a")
end
end
Parameters
- text character: The character to create a glyph of.
Return
Libraries.Game.Graphics.Glyph: Returns a glyph representation of the character.
GetHashCode()
This action gets the hash code for an object.
Example Code
Object o
integer hash = o:GetHashCode()
Return
integer: The integer hash code of the object.
GetIdentifier()
This action returns an identifier that uniquely identifies whatever Font has been loaded by this object. This is used to request Font information from the FontManager. Most users will never need to use this action directly.
Return
text:
GetKerning(text currentCharacter, text nextCharacter)
This action calculates the kerning value between a pair of characters and then returns it.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
integer kerning = font:GetKerning("A", "V")
end
end
Parameters
- text currentCharacter: The first character in the pair.
- text nextCharacter: The second character in the pair.
Return
integer: Returns the kerning value between these two characters.
GetLineHeight()
This action will return the height of each line of text produced by this font.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
integer height = font:GetLineHeight()
end
end
Return
integer: Returns the height of a line of text for this font.
GetMaximumAscent()
This action calculates the kerning value between a pair of characters and then returns it.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
integer kerning = font:GetKerning("A", "V")
end
end
Return
integer: Returns the kerning value between these two characters.
GetMaximumDescent()
This action will return an array of all files found in the system's default font folder.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.System.File
use Libraries.Containers.Array
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
Array<File> fontFiles = font:GetAvailableFonts()
integer index = 0
output "The following fonts are available on the system: "
repeat fontFiles:GetSize() times
File temp = fontFiles:Get(index)
output temp:GetPath()
index = index + 1
end
end
end
Return
integer: Returns an array with all the font files on the system.
GetSize()
This action will return the current size of the font. The default font size is 14.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
output "The default font size is " + font:GetSize()
end
end
Return
integer: Returns the current size of the font.
GetUnderlinePosition()
This action will return the height of each line of text produced by this font.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
integer height = font:GetLineHeight()
end
end
Return
integer: Returns the height of a line of text for this font.
GetUnderlineThickness()
This action will check if the font has been loaded yet. If the font has been loaded, this will return true. Otherwise, it will return false.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
boolean loaded = font:IsLoaded()
end
end
Return
integer: Returns true if the font is loaded, and false if it is not.
IsBordered()
This action will return true if this font currently supports borders, or false if it does not. The default value is false.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
output "By default, font borders enabled = " + font:IsBordered()
end
end
Return
boolean: Returns whether or not borders are enabled on this font.
IsFontAvailable(text fontName)
This action will look in the default system font folder and look for a font of the given name. If a font is found with the same name, the action will return true. Otherwise, it returns false.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
output font:IsFontAvailable("Times New Roman")
end
end
Parameters
- text fontName: The name of the font to check for on the system.
Return
boolean: Returns true if the font is on the system, and false if it is not.
IsLoaded()
This action will check if the font has been loaded yet. If the font has been loaded, this will return true. Otherwise, it will return false.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
boolean loaded = font:IsLoaded()
end
end
Return
boolean: Returns true if the font is loaded, and false if it is not.
LoadFont(text fontName)
This action will load a font by name from the system. On Windows, this will search for fonts in "C:\Windows\Fonts". On Mac, this will search for fonts in "/Library/Fonts".
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:LoadFont("Arial")
end
end
Parameters
- text fontName: The name of the font to load.
LoadFont(Libraries.System.File fontFile)
This action loads a font from a given font file.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.System.File
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
File file
file:SetPath("CustomFont.ttf")
font:LoadFont(file)
end
end
Parameters
- Libraries.System.File: The file to load.
Rotate(number rotation)
This action will rotate the characters produced by this font by the given number of degrees.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:Rotate(45)
end
end
Parameters
- number rotation: The number of degrees to rotate the font.
SetAngle(number newAngle)
This action will set the angle in degrees of the characters produced by this font.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:SetAngle(90)
end
end
Parameters
- number newAngle: The number of degrees to angle the font by.
SetBordered(boolean bordered)
This action will either enable or disable borders for this font. By default, fonts do not support borders.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:SetBordered(true)
end
end
Parameters
- boolean bordered: True to enable borders, or false to disable them.
SetSize(integer newSize)
This action will set the size of the font. The default font size is 14.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
font:SetSize(16)
end
end
Parameters
- integer newSize: The size to change the font to.
SetStyle(text style)
This action sets the style of the font to use, such as bold, italic, condensed, and so on. This is only applicable to TrueTypeCollection (.ttc) files.
Example Code
use Libraries.Game.Graphics.Font
use Libraries.System.File
use Libraries.Game.Game
class Main is Game
action Main
StartGame()
end
action CreateGame
Font font
File file
file:SetPath("CustomFont.ttf")
font:SetStyle("Regular")
font:LoadFont(file)
end
end
Parameters
- text style: The style of the font to load.