NSX (QFont)

From Blood Wiki
Revision as of 19:28, 2 July 2012 by VorteX (Talk | contribs)

Jump to: navigation, search

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/2/3

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; }

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox