Class Fox::FXFont
In: FXFont.rb
Parent: FXId

Font class

Font style hints which influence the matcher

FONTPITCH_DEFAULT:Default pitch
FONTPITCH_FIXED:Fixed pitch, mono-spaced
FONTPITCH_VARIABLE:Variable pitch, proportional spacing
FONTHINT_DONTCARE:Don‘t care which font
FONTHINT_DECORATIVE:Fancy fonts
FONTHINT_MODERN:Monospace typewriter font
FONTHINT_ROMAN:Variable width times-like font, serif
FONTHINT_SCRIPT:Script or cursive
FONTHINT_SWISS:Helvetica/swiss type font, sans-serif
FONTHINT_SYSTEM:System font
+FONTHINT_X11+:X11 Font string
FONTHINT_SCALABLE:Scalable fonts
FONTHINT_POLYMORPHIC:Polymorphic fonts

Font slant

FONTSLANT_DONTCARE:Don‘t care about slant
FONTSLANT_REGULAR:Regular straight up
FONTSLANT_ITALIC:Italics
FONTSLANT_OBLIQUE:Oblique slant
FONTSLANT_REVERSE_ITALIC:Reversed italic
FONTSLANT_REVERSE_OBLIQUE:Reversed oblique

Font character set encoding

FONTENCODING_DEFAULT:Don‘t care character encoding
+FONTENCODING_ISO_8859_1+:ISO-8859-1 character encoding
+FONTENCODING_ISO_8859_2+:ISO-8859-2 character encoding
+FONTENCODING_ISO_8859_3+:ISO-8859-3 character encoding
+FONTENCODING_ISO_8859_4+:ISO-8859-4 character encoding
+FONTENCODING_ISO_8859_5+:ISO-8859-5 character encoding
+FONTENCODING_ISO_8859_6+:ISO-8859-6 character encoding
+FONTENCODING_ISO_8859_7+:ISO-8859-7 character encoding
+FONTENCODING_ISO_8859_8+:ISO-8859-8 character encoding
+FONTENCODING_ISO_8859_9+:ISO-8859-9 character encoding
+FONTENCODING_ISO_8859_10+:ISO-8859-10 character encoding
+FONTENCODING_ISO_8859_11+:ISO-8859-11 character encoding
+FONTENCODING_ISO_8859_13+:ISO-8859-13 character encoding
+FONTENCODING_ISO_8859_14+:ISO-8859-14 character encoding
+FONTENCODING_ISO_8859_15+:ISO-8859-15 character encoding
+FONTENCODING_ISO_8859_16+:ISO-8859-16 character encoding
+FONTENCODING_KOI8+:KOI-8 character encoding
+FONTENCODING_KOI8_R+:Russian
+FONTENCODING_KOI8_U+:Ukrainian
+FONTENCODING_KOI8_UNIFIED+:x
+FONTENCODING_LATIN1+:same as +FONTENCODING_ISO_8859_1+, Latin 1 (West European)
+FONTENCODING_LATIN2+:same as +FONTENCODING_ISO_8859_2+, Latin 2 (East European)
+FONTENCODING_LATIN3+:same as +FONTENCODING_ISO_8859_3+, Latin 3 (South European)
+FONTENCODING_LATIN4+:same as +FONTENCODING_ISO_8859_4+, Latin 4 (North European)
+FONTENCODING_LATIN5+:same as +FONTENCODING_ISO_8859_9+, Latin 5 (Turkish)
+FONTENCODING_LATIN6+:same as +FONTENCODING_ISO_8859_10+, Latin 6 (Nordic)
+FONTENCODING_LATIN7+:same as +FONTENCODING_ISO_8859_13+, Latin 7 (Baltic Rim)
+FONTENCODING_LATIN8+:same as +FONTENCODING_ISO_8859_14+, Latin 8 (Celtic)
+FONTENCODING_LATIN9+:same as +FONTENCODING_ISO_8859_15+, Latin 9 (a.k.a. Latin 0)
+FONTENCODING_LATIN10+:same as +FONTENCODING_ISO_8859_16+, Latin 10
FONTENCODING_USASCII:same as +FONTENCODING_ISO_8859_1+, Latin 1
FONTENCODING_WESTEUROPE:same as +FONTENCODING_ISO_8859_1+, Latin 1 (West European)
FONTENCODING_EASTEUROPE:same as +FONTENCODING_ISO_8859_2+, Latin 2 (East European)
FONTENCODING_SOUTHEUROPE:same as +FONTENCODING_ISO_8859_3+, Latin 3 (South European)
FONTENCODING_NORTHEUROPE:same as +FONTENCODING_ISO_8859_4+, Latin 4 (North European)
FONTENCODING_CYRILLIC:same as +FONTENCODING_ISO_8859_5+, Cyrillic
FONTENCODING_RUSSIAN:same as +FONTENCODING_KOI8+, Cyrillic
FONTENCODING_ARABIC:same as +FONTENCODING_ISO_8859_6+, Arabic
FONTENCODING_GREEK:same as +FONTENCODING_ISO_8859_7+, Greek
FONTENCODING_HEBREW:same as +FONTENCODING_ISO_8859_8+, Hebrew
FONTENCODING_TURKISH:same as +FONTENCODING_ISO_8859_9+, Latin 5 (Turkish)
FONTENCODING_NORDIC:same as +FONTENCODING_ISO_8859_10+, Latin 6 (Nordic)
FONTENCODING_THAI:same as +FONTENCODING_ISO_8859_11+, Thai
FONTENCODING_BALTIC:same as +FONTENCODING_ISO_8859_13+, Latin 7 (Baltic Rim)
FONTENCODING_CELTIC:same as +FONTENCODING_ISO_8859_14, Latin 8 (Celtic)

Font weight

FONTWEIGHT_DONTCARE:Don‘t care about weight
FONTWEIGHT_THIN:Thin
FONTWEIGHT_EXTRALIGHT:Extra light
FONTWEIGHT_LIGHT:Light
FONTWEIGHT_NORMAL:Normal or regular weight
FONTWEIGHT_REGULAR:Normal or regular weight
FONTWEIGHT_MEDIUM:Medium bold face
FONTWEIGHT_DEMIBOLD:Demi bold face
FONTWEIGHT_BOLD:Bold face
FONTWEIGHT_EXTRABOLD:Extra
FONTWEIGHT_HEAVY:Heavy
FONTWEIGHT_BLACK:Black

Font relative setwidth

FONTSETWIDTH_DONTCARE:Don‘t care about set width
FONTSETWIDTH_ULTRACONDENSED:Ultra condensed printing
FONTSETWIDTH_EXTRACONDENSED:Extra condensed
FONTSETWIDTH_CONDENSED:Condensed
FONTSETWIDTH_NARROW:Narrow
FONTSETWIDTH_COMPRESSED:Compressed
FONTSETWIDTH_SEMICONDENSED:Semi-condensed
FONTSETWIDTH_MEDIUM:Medium printing
FONTSETWIDTH_NORMAL:Normal printing
FONTSETWIDTH_REGULAR:Regulat printing
FONTSETWIDTH_SEMIEXPANDED:Semi expanded
FONTSETWIDTH_EXPANDED:Expanded
FONTSETWIDTH_WIDE:Wide
FONTSETWIDTH_EXTRAEXPANDED:Extra expanded
FONTSETWIDTH_ULTRAEXPANDED:Ultra expanded
Methods
fontMono?    getTextHeight    getTextWidth    hasChar?    leftBearing    listFonts    new    new    new    rightBearing   
Attributes
encoding  [R] 

Encoding [Integer]

fontAscent  [R] 

Ascent from baseline [Integer]

fontDesc  [RW] 

Font description [FXFontDesc]

fontDescent  [R] 

Descent from baseline [Integer]

fontHeight  [R] 

Height of tallest character in font [Integer]

fontLeading  [R] 

Font leading [Integer]

fontSpacing  [R] 

Font line spacing [Integer]

fontWidth  [R] 

Width of widest character in font [Integer]

hints  [R] 

Hints [Integer]

maxChar  [R] 

Last character glyph in font [Integer]

minChar  [R] 

First character glyph in font [Integer]

name  [R] 

Face name [String]

setWidth  [R] 

Set width [Integer]

size  [R] 

Size in decipoints [Integer]

slant  [R] 

Slant [Integer]

weight  [R] 

Font weight [Integer]

Public Class methods
new(app, fontDesc) {|theFont| ...}

Construct font from font description

new(app, face, size, weight=FONTWEIGHT_NORMAL, slant=FONTSLANT_REGULAR, encoding=FONTENCODING_DEFAULT, setWidth=FONTSETWIDTH_DONTCARE, hints=0) {|theFont| ...}

Construct a font with given face name, size in points (pixels), weight, slant, character set encoding, setwidth, and hints.

new(app, fontString) {|theFont| ...}

Construct a font with given X11 font string.

listFonts(face, weight=FONTWEIGHT_DONTCARE, slant=FONTSLANT_DONTCARE, setWidth=FONTSETWIDTH_DONTCARE, encoding=FONTENCODING_DEFAULT, hints=0)

List all fonts matching hints. Returns an array of FXFontDesc objects.

Public Instance methods
fontMono?()

Return true if font is monospaced.

hasChar?(ch)

Return true if font has glyph for ch.

leftBearing(ch)

Returns the left-side bearing (the distance from the origin to the leftmost pixel in the character) for ch.

rightBearing(ch)

Returns the right-side bearing (the distance from the origin to the rightmost pixel in the character) for ch.

getTextWidth(text)

Returns the width of given text in this font.

getTextHeight(text)

Returns the height of given text in this font.