Class: Fox::FXFont

Inherits:
FXId show all
Defined in:
rdoc-sources/FXFont.rb

Overview

Font class

Font pitch hints

Fixed

Fixed pitch, mono-spaced

Variable

Variable pitch, proportional spacing

Font style hints

Decorative

Fancy fonts

Modern

Monospace typewriter font

Roman

Variable width times-like font, serif

Script

Script or cursive

Swiss

Helvetica/swiss type font, sans-serif

System

System font

X11

Raw X11 font string

Scalable

Scalable fonts

Polymorphic

Polymorphic fonts, e.g. parametric weight, slant, etc.

Rotatable

Rotatable fonts

Font slant options

ReverseOblique

Reversed oblique

ReverseItalic

Reversed italic

Straight

Straight, not slanted

Italic

Italics

Oblique

Oblique slant

Font weight options

Thin

Thin

ExtraLight

Extra light

Light

Light

Normal

Normal or regular weight

Medium

Medium bold face

DemiBold

Demi bold face

Bold

Bold face

ExtraBold

Extra

Black

Black

Condensed or expanded options

UltraCondensed

Ultra condensed printing

ExtraCondensed

Extra condensed

Condensed

Condensed

SemiCondensed

Semi-condensed

NonExpanded

Regular printing

SemiExpanded

Semi expanded

Expanded:; Expanded

ExtraExpanded

Extra expanded

UltraExpanded

Ultra expanded

Font character set encoding

FONTENCODING_DEFAULT

Don't care character encoding

FONTENCODING_ISO_8859_1

West European (Latin1)

FONTENCODING_ISO_8859_2

Central and East European (Latin2)

FONTENCODING_ISO_8859_3

Esperanto (Latin3)

FONTENCODING_ISO_8859_4

ISO-8859-4 character encoding

FONTENCODING_ISO_8859_5

Cyrillic (almost obsolete)

FONTENCODING_ISO_8859_6

Arabic

FONTENCODING_ISO_8859_7

Greek

FONTENCODING_ISO_8859_8

Hebrew

FONTENCODING_ISO_8859_9

Turkish (Latin5)

FONTENCODING_ISO_8859_10

ISO-8859-10 character encoding

FONTENCODING_ISO_8859_11

Thai

FONTENCODING_ISO_8859_13

Baltic

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_CP437

IBM-PC code page

FONTENCODING_CP850

IBM-PC Multilingual

FONTENCODING_CP851

IBM-PC Greek

FONTENCODING_CP852

IBM-PC Latin2

FONTENCODING_CP855

IBM-PC Cyrillic

FONTENCODING_CP856

IBM-PC Hebrew

FONTENCODING_CP857

IBM-PC Turkish

FONTENCODING_CP860

IBM-PC Portugese

FONTENCODING_CP861

IBM-PC Iceland

FONTENCODING_CP862

IBM-PC Israel

FONTENCODING_CP863

IBM-PC Canadian/French

FONTENCODING_CP864

IBM-PC Arabic

FONTENCODING_CP865

IBM-PC Nordic

FONTENCODING_CP866

IBM-PC Cyrillic #2

FONTENCODING_CP869

IBM-PC Greek #2

FONTENCODING_CP870

Latin-2 Multilingual

FONTENCODING_CP1250

Windows Central European

FONTENCODING_CP1251

Windows Russian

FONTENCODING_CP1252

Windows Latin1

FONTENCODING_CP1253

Windows Greek

FONTENCODING_CP1254

Windows Turkish

FONTENCODING_CP1255

Windows Hebrew

FONTENCODING_CP1256

Windows Arabic

FONTENCODING_CP1257

Windows Baltic

FONTENCODING_CP1258

Windows Vietnam

FONTENCODING_CP874

Windows Thai

FONTENCODING_UNICODE

Unicode

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 <tt>FONTENCODING_ISO_8859_14, Latin 8 (Celtic)

Instance Attribute Summary collapse

Attributes inherited from FXId

#app, #userData, #xid

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from FXId

#create, #created?, #destroy, #detach, #runOnUiThread

Methods inherited from FXObject

#bind, #handle, #load, #save, subclasses

Constructor Details

#initialize(a, string) ⇒ FXFont

Construct a font with given font description of the form:

    fontname [ "[" foundry "]" ] ["," size ["," weight ["," slant ["," setwidth ["," encoding ["," hints]]]]]]

For example:

    "helvetica [bitstream],120,bold,italic,normal,iso8859-1,0"

Typically, at least the font name, and size must be given for
normal font matching.  As a special case, raw X11 fonts can also be
passed, for example:

    "9x15bold"

Note: use of the raw X11 fonts is stronly discouraged.


258
259
# File 'rdoc-sources/FXFont.rb', line 258

def initialize(a, fontDesc) # :yields: theFont
end

Instance Attribute Details

#actualEncodingObject (readonly)

Actual encoding [Integer]


206
207
208
# File 'rdoc-sources/FXFont.rb', line 206

def actualEncoding
  @actualEncoding
end

#actualNameObject (readonly)

Actual font family name [String]


182
183
184
# File 'rdoc-sources/FXFont.rb', line 182

def actualName
  @actualName
end

#actualSetWidthObject (readonly)

Actual set width [Integer]


212
213
214
# File 'rdoc-sources/FXFont.rb', line 212

def actualSetWidth
  @actualSetWidth
end

#actualSizeObject (readonly)

Actual size in deci-points [Integer]


188
189
190
# File 'rdoc-sources/FXFont.rb', line 188

def actualSize
  @actualSize
end

#actualSlantObject (readonly)

Actual slant [Integer]


200
201
202
# File 'rdoc-sources/FXFont.rb', line 200

def actualSlant
  @actualSlant
end

#actualWeightObject (readonly)

Actual font weight [Integer]


194
195
196
# File 'rdoc-sources/FXFont.rb', line 194

def actualWeight
  @actualWeight
end

#angleObject

Font angle [Integer]


221
222
223
# File 'rdoc-sources/FXFont.rb', line 221

def angle
  @angle
end

#encodingObject (readonly)

Encoding [Integer]


203
204
205
# File 'rdoc-sources/FXFont.rb', line 203

def encoding
  @encoding
end

#familyObject (readonly)

Family part of name [String]


173
174
175
# File 'rdoc-sources/FXFont.rb', line 173

def family
  @family
end

#fontAscentObject (readonly)

Ascent from baseline [Integer]


239
240
241
# File 'rdoc-sources/FXFont.rb', line 239

def fontAscent
  @fontAscent
end

#fontDescObject

Font description Fox::FXFontDesc


218
219
220
# File 'rdoc-sources/FXFont.rb', line 218

def fontDesc
  @fontDesc
end

#fontDescentObject (readonly)

Descent from baseline [Integer]


242
243
244
# File 'rdoc-sources/FXFont.rb', line 242

def fontDescent
  @fontDescent
end

#fontHeightObject (readonly)

Height of tallest character in font [Integer]


236
237
238
# File 'rdoc-sources/FXFont.rb', line 236

def fontHeight
  @fontHeight
end

#fontLeadingObject (readonly)

Font leading [Integer]


245
246
247
# File 'rdoc-sources/FXFont.rb', line 245

def fontLeading
  @fontLeading
end

#fontSpacingObject (readonly)

Font line spacing [Integer]


248
249
250
# File 'rdoc-sources/FXFont.rb', line 248

def fontSpacing
  @fontSpacing
end

#fontWidthObject (readonly)

Width of widest character in font [Integer]


233
234
235
# File 'rdoc-sources/FXFont.rb', line 233

def fontWidth
  @fontWidth
end

#foundryObject (readonly)

Foundry part of name [String]


176
177
178
# File 'rdoc-sources/FXFont.rb', line 176

def foundry
  @foundry
end

#hintsObject (readonly)

Hints [Integer]


215
216
217
# File 'rdoc-sources/FXFont.rb', line 215

def hints
  @hints
end

#maxCharObject (readonly)

Last character glyph in font [Integer]


230
231
232
# File 'rdoc-sources/FXFont.rb', line 230

def maxChar
  @maxChar
end

#nameObject (readonly)

Font family name [String]


179
180
181
# File 'rdoc-sources/FXFont.rb', line 179

def name
  @name
end

#setWidthObject (readonly)

Set width [Integer]


209
210
211
# File 'rdoc-sources/FXFont.rb', line 209

def setWidth
  @setWidth
end

#sizeObject (readonly)

Size in decipoints [Integer]


185
186
187
# File 'rdoc-sources/FXFont.rb', line 185

def size
  @size
end

#slantObject (readonly)

Slant [Integer]


197
198
199
# File 'rdoc-sources/FXFont.rb', line 197

def slant
  @slant
end

#weightObject (readonly)

Font weight [Integer]


191
192
193
# File 'rdoc-sources/FXFont.rb', line 191

def weight
  @weight
end

Class Method Details

.listFonts(face, weight = 0, slant = 0, setWidth = 0, encoding = 0, hints = 0) ⇒ Object

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


357
358
# File 'rdoc-sources/FXFont.rb', line 357

def FXFont.listFonts(face, weight=0, slant=0, setWidth=0, encoding=0, hints=0)
end

Instance Method Details

#fontMono?Boolean

Return true if font is monospaced.

Returns:

  • (Boolean)

315
# File 'rdoc-sources/FXFont.rb', line 315

def fontMono? ; end

#getCharWidth(ch) ⇒ Object

Calculate width of single wide character ch in this font


342
# File 'rdoc-sources/FXFont.rb', line 342

def getCharWidth(ch); end

#getFontObject

Return the font description as a string suitable for parsing with #setFont, see above.


310
# File 'rdoc-sources/FXFont.rb', line 310

def getFont(); end

#getTextHeight(text) ⇒ Object

Returns the height of given text in this font.


352
# File 'rdoc-sources/FXFont.rb', line 352

def getTextHeight(text) ; end

#getTextWidth(text) ⇒ Object

Returns the width of given text in this font.


347
# File 'rdoc-sources/FXFont.rb', line 347

def getTextWidth(text) ; end

#hasChar?(ch) ⇒ Boolean

Return true if font has glyph for ch. Here, ch can either be an ordinal value, e.g.

aFont.hasChar?(?a)

or a string of length one (i.e. a single character), e.g.

aFont.hasChar?('a')

Returns:

  • (Boolean)

327
# File 'rdoc-sources/FXFont.rb', line 327

def hasChar?(ch) ; end

#leftBearing(ch) ⇒ Object

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


332
# File 'rdoc-sources/FXFont.rb', line 332

def leftBearing(ch) ; end

#rightBearing(ch) ⇒ Object

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


337
# File 'rdoc-sources/FXFont.rb', line 337

def rightBearing(ch) ; end

#setFont(string) ⇒ Object

Change the font to the specified font description string. Returns true on success.


304
# File 'rdoc-sources/FXFont.rb', line 304

def setFont(string); end