(index ("load-face" 0) ("face" 765) ("face?" 765) ("face-atlas" 765) ("face-char-set" 765) ("face-height" 765) ("string-mesh" 1054) ("string-width" 2441) ("pixel-density-ratio" 2693))
(def (sig (procedure " (load-face PATH SIZE [char-set: CHAR-SET] [mode: MODE])" (id load-face))) (p "Load the font face given by the " (link "http://freetype.org/" "Freetype-openable file") " pointed to by " (tt "PATH") " with a size of " (tt "SIZE") " pixels. " (tt "CHAR-SET") " is the " (link "http://srfi.schemers.org/srfi-14/srfi-14.html" "SRFI 14") " character-set that should be loaded, defaulting to " (tt "char-set:graphic") ". Any non-graphical characters in the set will waste space. " (tt "MODE") " is the mode in which the font should be rendered and should be one of " (tt "#:normal") " (the default) – for normally hinted, anti-aliased rendering – or " (tt "#:mono") " – for monochrome (aliased) rendering. Returns a " (tt "face") " record."))
(def (sig (record " face" (id face)) (procedure " (face? FACE)" (id face?)) (procedure " (face-atlas FACE)" (id face-atlas)) (procedure " (face-char-set FACE)" (id face-char-set)) (procedure " (face-height FACE)" (id face-height))) (p "The record type returned by " (tt "load-face") "."))
(def (sig (procedure " (string-mesh STRING FACE [line-spacing: SPACING] [max-width: MAX-WIDTH] [x: X] [y: Y] [mesh: MESH])" (id string-mesh))) (p "Render the given " (tt "STRING") " into a " (link "http://api.call-cc.org/doc/gl-utils/mesh" "gl-utils mesh") " with the provided " (tt "FACE") ". " (tt "SPACING") " is multiplied by the standard line advancement – a smaller spacing results in less space between successive lines – defaults to " (tt "1.3") ". If " (tt "MAX-WIDTH") " is provided, the string will be word-wrapped such that it does not exceed the given width. " (tt "X") " and " (tt "Y") " may be given to provide an offset to the rendered string’s origin. " (tt "MESH") " may be supplied in order to reuse a mesh previously created with " (tt "string-mesh") ". When " (tt "MESH") " is supplied, the number of graphical characters (non-whitespace characters in the char-set of " (tt "FACE") ") in " (tt "STRING") " must be equal to or less than the number of graphical characters in the string used to create " (tt "MESH") ".") (p "Strings are rendered with the upper-left corner of the text at the origin, with the dimensions of the mesh set in pixels. The mesh that is created has vertex attributes " (tt "position") " – a 2 element " (tt "#:float") " – and " (tt "tex-coord") " – a 2 element normalized " (tt "#:ushort") ", and " (tt "#:ushort") " indices."))
(def (sig (procedure " (string-width STRING FACE)" (id string-width))) (p "Returns the width, in pixels, of the " (tt "STRING") " if it were rendered with " (tt "FACE") ". Any non-graphical characters other than " (tt "#\\space") " will be ignored."))
(def (sig (parameter " (pixel-density-ratio)" (id pixel-density-ratio))) (p "Used to control the resolution at which fonts are rendered, defaulting to 1: each pixel unit corresponds to one display pixel. For most “Retina” displays a value of 2 should be used: each pixel unit corresponds to two display pixels."))
