Class Font

extends Object

Class summary


constructor unicode-blocks/List
Constructs a font with support for selected Unicode blocks.

Constructors

constructor unicode-blocks/List
Constructs a font with support for selected Unicode blocks.
unicode-blocks is a list of arrays with byte data, each describing a Unicode block.

Statics

get font-name/string -> Font

Methods

close -> none

contains character/int -> bool
Checks whether a font has a glyph for a given Unicode code point.

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

pixel-width str/string from/int=0 to/int=str.size -> int
The pixel width of the given string str in this font.
Note that when you actually draw the text it may go a few pixels to the left of the origin or to the right of x origin + pixel-width. See text_extent.

proxy -> any

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.

text-extent str/string from/int=0 to/int=str.size -> any
The bounding box of the given string str in this font.
Returns [width, height, x-offset, y-offset].

Fields