The following figure shows an example of how to draw text from an outline font with GpiOutlinePath.
#define INCL_GPIPRIMITIVES
#include <os2.h>
void fncPATH03(void){
LONG lcid = 1; /* Identifier for font */
FATTRS fattrs; /* Structure for font attributes */
SIZEF sizfx; /* Structure for character box */
POINTL ptl; /* Structure for starting point */
HPS hpsWin;
fattrs.usRecordLength = sizeof(FATTRS);
fattrs.fsSelection = FATTR_SEL_OUTLINE; /* Specifies outline font */
fattrs.lMatch = 0; /* System determines font */
fattrs.szFacename[0] = 0;
fattrs.idRegistry = 0;
fattrs.usCodePage = 0;
fattrs.lMaxBaselineExt = 0;
fattrs.lAveCharWidth = 0;
fattrs.fsType = 0;
fattrs.fsFontUse = FATTR_FONTUSE_OUTLINE; /* Specifies outline font */
GpiCreateLogFont(hpsWin,(PSTR8) NULL, lcid, &fattrs);
GpiSetCharSet(hpsWin, lcid); /* Sets logical font */
sizfx.cx = MAKEFIXED(30, 0); /* Width of character box */
sizfx.cy = MAKEFIXED(30, 0); /* Height of character box */
GpiSetCharBox(hpsWin, &sizfx) /* Sets size of character box */
GpiBeginPath(hpsWin, 1L); /* Begins path */
ptl.x = 100;
ptl.y = 200;
GpiMove(hpsWin, &ptl); /* Sets current position */
GpiCharString(hpsWin, 7L, "Outline"); /* Establishes char. string */
GpiEndPath(hpsWin); /* Ends path */
GpiOutlinePath(hpsWin, 1L, 0L); /* Draws character string */
} /* fncPATH03 */