NSX (QFont)
Contents |
Introduction
.QFONT files are .NSX scripts that holds parameters for NetherMenu font draw module.
Example of .QFONT file contents:
[qfont] type=FT face=default brightness=0.8 width=1.2 [default] file=./big.ttf sizes=38 glyphs=abcdefghijklmnopqrttuvwxyz0123456789 r_shadow=0.8 r_shadowblur=1 r_shadowofs=0 0.5 0.5
Structure
[qfont] group
Should be the first groups of file, it sets font drawer and face group.
type x
Type of font drawer, each of it has it's advantages and disadvantages:
Possible values:
- ft - Darkplaces vector fonts using freetype library
- ascii - Quake ascii conchars (256 chars on a 16*16 table)
- glyph - QuakeC glyph font renderer (each char is separatepic).
face path
Path to the font face group.
brightness x
Floating point value of brightness scale. 1 is nothing, 0.1 is 10% etc.
Applies to all renderer types.
scale x y
Two floating point values storing horizontal and vertical scale of font chars.
Applies to all renderer types.
width x
X component of scale.
height y
Y component of scale.
respath path
Path to font resources. Default path is sub-folder named as qfont file without extension.
face group for freetype font
sizes "size1 size2 size3..."
Which glyph sizes to render (for different size fonts).
Default value is "16 24".
slot "x"
Engine font slot. Used to replace fontmaps that was already initialized.
Darkplaces engine have this fixed slots: default, console, sbar, notify, chat, centerprint, infobar, menu, user0, user1, user2, user3, user4, user5, user6, user7.
glyphs "string"
Engine will render font pages containing this string chars.
r_antialias "0/1"
Toggles antialiasing for font pages renderer.
r_hinting "0/1"
Toggles hinting for font pages renderer. 0 - no hinting, 1 - light autohintinh, 2 - full autohinting, 3 - full hinting.
if (key == "r_antialias") { r_antialias = stof(val); continue; } if (key == "r_hinting") { r_hinting = stof(val); continue; } if (key == "r_shadow") { r_outline = stof(val); continue; } if (key == "r_shadowblur") { r_outlineblur = stof(val); continue; } if (key == "r_shadowofs") { r_outlineofs = stov(val); continue; } if (key == "r_charcushion"){ r_charcushion = stof(val); continue; } if (key == "r_charscale") { r_charscale = stof(val); continue; }