RCSS implements a simpler version of the CSS2 font model when dealing with text rendering. This is for two reasons:

  • The document renderer is fully under the control of the author, so (for example) a specific font can be assumed to exist.
  • Improved performance.

Fonts are specified in a similar fashion. NOTE: You will need to load all ttf files via the C++ interfaces before they can be used in RCSS.

Font specification properties

Font family: the ‘font-family’ property

font-family

Value: <string>
Initial: undefined
Applies to: all elements
Inherited: yes
Percentages: N/A

This property specifies the name of a family of fonts to be used to render sections of text descending from the element. Note that, unlike CSS, only a single font family can be specified with this property, not a comma-delimited font set.

Font styling: the ‘font-style’ and ‘font-weight’ properties

font-style

Value: normal | italic
Initial: normal
Applies to: all elements
Inherited: yes
Percentages: N/A

This property can be used to request normal or italicised versions of a font from within a font-family. Note that RCSS does not yet support oblique font styles.

font-weight

Value: normal | bold | <number [1,1000]>
Initial: normal
Applies to: all elements
Inherited: yes
Percentages: N/A

This property can be used to request normal or bolded versions of a font from within a font-family. A numeric value can be specified for more granularity on supported fonts. The range is based on the commonly used OpenType specification: 100 (Thin), 200 (Extra Light), 300 (Light), 400 (Normal), 500 (Medium), 600 (Semi Bold), 700 (Bold), 800 (Extra Bold), 900 (Black).

Font size: the ‘font-size’ property

font-size

Value: <length> | <percentage>
Initial: 12px
Applies to: all elements
Inherited: yes
Percentages: Font size of parent element

Values have the following meanings:

<length>
The font size is generated at the point size requested. For font-relative units (such as em ), the font size is relative to the parent element’s font size.
<percentage>
The font size is generated at the point size of the element’s parent’s font, scaled by the percentage.

Font shorthand

font

Value: font-style font-weight font-size font-family
Initial: See individual properties
Applies to: all elements
Inherited: yes
Percentages: N/A

A shorthand property for setting all the font properties at once.

Font kerning: the ‘font-kerning’ property

font-kerning

Value: auto | normal | none
Initial: auto
Applies to: all elements
Inherited: yes
Percentages: N/A

Values have the following meanings:

auto
Font kerning is enabled if available by default, but is disabled for small font sizes to improve the readability of text.
normal
Font kerning is always enabled if available.
none
Font kerning is disabled.

Font kerning affects how characters are spaced next to each other. Most fonts have kerning information that improves readability by making the optical spacing between characters more uniform.