/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* gos720 src/gos/2d/XTOP/contrib/programs/xditview/DviChar.h 1.1 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1996 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* SCCSID_BEGIN_TAG */ /* @(#)05 1.1 src/gos/2d/XTOP/contrib/programs/xditview/DviChar.h, xsample, gos720 10/24/96 15:12:36 */ /* SCCSID_END_TAG */ /* * DviChar.h * * descriptions for mapping dvi names to * font indexes and back. Dvi fonts are all * 256 elements (actually only 256-32 are usable). * * The encoding names are taken from X - * case insensitive, a dash seperating the * CharSetRegistry from the CharSetEncoding */ # define DVI_MAX_SYNONYMS 10 # define DVI_MAP_SIZE 256 # define DVI_HASH_SIZE 256 # define DVI_MAX_LIGATURES 16 typedef struct _dviCharNameHash { struct _dviCharNameHash *next; char *name; int position; } DviCharNameHash; typedef struct _dviCharNameMap { char *encoding; int special; char *dvi_names[DVI_MAP_SIZE][DVI_MAX_SYNONYMS]; char *ligatures[DVI_MAX_LIGATURES][2]; DviCharNameHash *buckets[DVI_HASH_SIZE]; } DviCharNameMap; extern DviCharNameMap *DviFindMap ( /* char *encoding */ ); extern void DviRegisterMap ( /* DviCharNameMap *map */ ); #ifdef NOTDEF extern char *DviCharName ( /* DviCharNameMap *map, int index, int synonym */ ); #else #define DviCharName(map,index,synonym) ((map)->dvi_names[index][synonym]) #endif extern int DviCharIndex ( /* DviCharNameMap *map, char *name */ ); extern unsigned char *DviCharIsLigature ( /* DviCharNameMap *map, char *name */ ); extern void ResetFonts ( /* DviWidget dw */ );