NSX (QFont)

From Blood Wiki
(Difference between revisions)
Jump to: navigation, search
 
(22 intermediate revisions by one user not shown)
Line 1: Line 1:
= Introduction =
+
[[NSX|NSX scripts]] that holds parameters for [[NetherMenu]] font draw module.
  
.QFONT files are [[NSX|.NSX scripts]] that holds parameters for [[NetherMenu]] font draw module.
+
Example QFONT file:
 
+
Example of .QFONT file contents:
+
  
 
  ''[qfont]''
 
  ''[qfont]''
Line 19: Line 17:
 
  r_shadowofs=0 0.5 0.5
 
  r_shadowofs=0 0.5 0.5
  
= Structure =
+
== Structure ==
 
+
== [qfont] group ==
+
 
+
Should be the first groups of file, it sets font drawer and face group.
+
  
 
{| border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width:100%"
 
{| border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width:100%"
! width=5% | Key
+
! width=6% | Key pair
! width=6%  | Value
+
 
! width=83% | Description
 
! width=83% | Description
 
|-
 
|-
|type
+
| '''[qfont]'''
|''x''
+
| Should be the first groups of file.
 +
|-
 +
|'''type'''=''x''
 
|Type of font drawer, each of it has it's advantages and disadvantages:
 
|Type of font drawer, each of it has it's advantages and disadvantages:
  
 
Possible values:
 
Possible values:
* ''ft'' - Darkplaces vector fonts using freetype library
+
* FT - Darkplaces vector fonts using freetype library
* ''ascii'' - Quake ascii conchars (256 chars on a 16*16 table)
+
* ASCII - Quake ascii conchars (256 chars on a 16*16 table)
* ''glyph'' - QuakeC glyph font renderer (each char is separate picture).
+
* GLYPH - QuakeC glyph font renderer (each char is separate picture)
 
|-
 
|-
|face
+
|'''face'''=''string''
|''string''
+
 
|Font face. For freetype and glyph font renderers this is name of group. For Ascii it's a path to conchars texture.
 
|Font face. For freetype and glyph font renderers this is name of group. For Ascii it's a path to conchars texture.
 
|-
 
|-
|brightness
+
|'''brightness'''=''value''
|''value''
+
 
|Floating point value of brightness scale. 1 is nothing, 0.1 is 10% etc.
 
|Floating point value of brightness scale. 1 is nothing, 0.1 is 10% etc.
 
|-
 
|-
|scale  
+
|'''scale'''=''x'' ''y''
|''x'' ''y''
+
 
|Two floating point values storing horizontal and vertical scale of font chars.
 
|Two floating point values storing horizontal and vertical scale of font chars.
 
|-
 
|-
|width  
+
|'''width'''=''x''
|''x''
+
 
|X component of scale.
 
|X component of scale.
 
|-
 
|-
|height
+
|'''height'''=''y''
|''y''
+
 
|Y component of scale.
 
|Y component of scale.
 
|-
 
|-
|respath  
+
|'''respath'''=''path''
|''y''
+
|Path to font resources. Could be relative (if begins with ./) or absolute (from gamedir). Default is subfolder named as font file (i.e if font file is gfx/myfont.qfont, it's default resources directory will be ''gfx/myfont/'').
|Path to font resources. Could be relative (if begins with ./) or absolute (from gamedir). Default is subfolder named as font file.
+
 
|}
 
|}
  
 
+
{{hidden begin | Freetype font face group }}
 
+
== Freetype font face group ==
+
  
 
Attributes of font face for freetype font renderer.
 
Attributes of font face for freetype font renderer.
  
 
{| border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width:100%"
 
{| border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width:100%"
! width=5% | Key
+
! width=6% | Key pair
! width=6% | Value
+
 
! width=83% | Description
 
! width=83% | Description
 
|-
 
|-
|file
+
|'''file'''=''path''
|''path''
+
 
|Path to .OTF/.TTF font file. Could be relative to respath (if begins with ./) or absolute (from gamedir root).
 
|Path to .OTF/.TTF font file. Could be relative to respath (if begins with ./) or absolute (from gamedir root).
 
|-
 
|-
|slot
+
|'''slot'''=''slotname''
|''slotname''
+
 
|Engine font slot. Used to replace fontmaps that was already initialized.
 
|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.
 
Darkplaces engine have this fixed slots: default, console, sbar, notify, chat, centerprint, infobar,  menu, user0, user1, user2, user3, user4, user5, user6, user7.
 
|-
 
|-
|glyphs
+
|'''glyphs'''=''string''
|''string''
+
 
|Engine font slot. Used to replace fontmaps that was already initialized.
 
|Engine font slot. Used to replace fontmaps that was already initialized.
  
 
Engine will render font pages containing this string chars (others will be rendered on demand).
 
Engine will render font pages containing this string chars (others will be rendered on demand).
 
|-
 
|-
|r_antialias
+
|'''r_antialias'''=''0/1''
|''0/1''
+
 
|Toggles antialiasing for font pages renderer.
 
|Toggles antialiasing for font pages renderer.
 
|-
 
|-
|r_hinting
+
|'''r_hinting'''=''0/1/2/3''
|''0/1/2/3''
+
 
|Toggles hinting for font pages renderer. 0 - no hinting, 1 - light autohintinh, 2 - full autohinting, 3 - full hinting.
 
|Toggles hinting for font pages renderer. 0 - no hinting, 1 - light autohintinh, 2 - full autohinting, 3 - full hinting.
 
|-
 
|-
|r_shadow
+
|'''r_shadow'''=''strength''
|''strength''
+
 
|Outline shadow strength (could be more than 1).
 
|Outline shadow strength (could be more than 1).
 
|-
 
|-
|r_shadowblur
+
|'''r_shadowblur'''=''strength''
|''strength''
+
 
|Outline shadow blur.
 
|Outline shadow blur.
 
|-
 
|-
|r_shadowofs
+
|'''r_shadowofs'''=''x y z''
|''x y z''
+
 
|Outline shadow offset. X and Y applied during rendering. Z is applied during blur.
 
|Outline shadow offset. X and Y applied during rendering. Z is applied during blur.
 
|-
 
|-
|r_charcushion
+
|'''r_charcushion'''=''x''
|''x''
+
 
|Characters vertical offset in percents (1 - 100%, 0.1 - 10%).
 
|Characters vertical offset in percents (1 - 100%, 0.1 - 10%).
 
|-
 
|-
|r_charscale
+
|'''r_charscale'''=''x''
|''x''
+
 
|Characters uniform scale.
 
|Characters uniform scale.
 
|}
 
|}
 +
{{hidden end}}
  
 
+
{{hidden begin | Glyph font face group }}
 
+
== Glyph font face group ==
+
  
 
Attributes of font face for glyph font renderer.
 
Attributes of font face for glyph font renderer.
  
 
{| border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width:100%"
 
{| border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse; width:100%"
! width=5% | Key
+
! width=6% | Key pair
! width=6% | Value
+
 
! width=83% | Description
 
! width=83% | Description
 
|-
 
|-
|respath
+
|'''respath'''=''path''
|''path''
+
 
|Absolute path that overrides default font resources path.
 
|Absolute path that overrides default font resources path.
 
|-
 
|-
|glyph
+
|'''glyph'''=''variable''
|variable
+
|Value is a string of: ''picture'' kern ''left'' ''right'' '''codes''' ''code1'' ''code2'' ''codeX''. Kern parmeter is optional. One pic may have many ASCII codes.
|Value is a string of: ''picture'' [kern ''left'' ''right''] codes ''code1'' ''code2'' ''codeX''. Kern parmeter is optional. One pic may have many ASCII codes.
+
 
|}
 
|}
 +
{{hidden end}}
  
 +
[[Category:File formats]]
  
== Glyph vs Ascii vs Freetype ==
+
__NOTOC__
 
+
Reason all that groups exists is that all of them was maked for different tasks. Freetype is best at covering GUI's. ASCII is simple, and Glyph is versatile since it's purely QC-based.
+
 
+
 
+
[[Category:File formats]]
+

Latest revision as of 01:57, 18 July 2012

NSX scripts that holds parameters for NetherMenu font draw module.

Example QFONT file:

[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

[edit] Structure

Key pair Description
[qfont] Should be the first groups of file.
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 separate picture)
face=string Font face. For freetype and glyph font renderers this is name of group. For Ascii it's a path to conchars texture.
brightness=value Floating point value of brightness scale. 1 is nothing, 0.1 is 10% etc.
scale=x y Two floating point values storing horizontal and vertical scale of font chars.
width=x X component of scale.
height=y Y component of scale.
respath=path Path to font resources. Could be relative (if begins with ./) or absolute (from gamedir). Default is subfolder named as font file (i.e if font file is gfx/myfont.qfont, it's default resources directory will be gfx/myfont/).
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox