Font List
Availability LightWave 6.0
Component Modeler
Header lwmodeler.h
The font list global provides a set of functions for managing Modeler's internal list
of fonts.
Global Call
LWFontListFuncs *fontf;
fontf = global( LWFONTLISTFUNCS_GLOBAL, GFUSE_TRANSIENT );
The global function returns a pointer to an LWFontListFuncs.
typedef struct st_LWFontListFuncs {
int (*count) (void);
int (*index) (const char *name);
const char * (*name) (int index);
int (*load) (const char *filename);
void (*clear) (int index);
} LWFontListFuncs;
- numfonts = count()
- Returns the number of fonts in the list.
fontindex = index( fontname )
- Returns the list index for a named font, or -1 if a font of that name isn't in the list.
fontname = name( fontindex )
- Returns the name of a font given its list index, or NULL if the index is less than 0 or
greater than numfonts - 1.
fontindex = load( filename )
- Adds the Postscript Type 1 font to the list and returns its list index, or -1 if the
font couldn't be loaded. Since the font list is kept in an order that may differ from the
order in which fonts are added, a font added by load might be inserted anywhere
in the list, not just at the end, and fonts with higher indexes will be shifted downward
(incrementing their indexes).
Note that only Postscript fonts can be added to the list
in this way. TrueType fonts are made available to Modeler indirectly, through operating
system calls, rather than directly by reading their file contents.
- clear( fontindex )
- Removes the font at the given index from the list. Fonts at higher indexes will be
shifted up (their indexes will decrement) to fill the gap left by the removed font.
Example
This code fragment loads the Postscript font Helvetica.
#include <lwserver.h>
#include <lwmodeler.h>
LWFontListFuncs *fontf;
int index;
fontf = global( LWFONTLISTFUNCS_GLOBAL, GFUSE_TRANSIENT );
if ( !fontf ) return AFUNC_BADGLOBAL;
/* You can get the default fonts directory from the
Directory Info global. */
index = fontf->load( "Helvetica.pfd" );
|