/*
* $Locker: $
*/
static char *rcsid = "$Header: showsnf.c,v 1.2 87/06/22 11:49:25 toddb Exp $";
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
/*
#include <sys/types.h>
#include <sys/file.h>
#include <sys/stat.h>
#include <errno.h>
*/
/* #include <malloc.h> */ extern char *malloc(), *realloc();
#include "misc.h"
#include "Xmd.h"
#include "Xproto.h"
#include "fontstruct.h"
#include "font.h"
#include "fc.h" /* used by converters only */
int glyphPad;
char *program;
main(argc, argv)
int argc;
char **argv;
{
int verbose = 0,
fontcnt = 0;
program = *argv;
for (argc--, argv++; argc; argc--, argv++) {
if (argv[0][0] == '-')
switch(argv[0][1]) {
case 'v': verbose = 1; break;
default: usage(); break;
}
else {
showfont(argv[0], verbose);
fontcnt++;
}
}
if (!fontcnt)
usage();
exit(0);
}
usage()
{
fprintf(stderr, "Usage: %s [-v] fontfile ...\n", program);
exit(1);
}
showfont(file, verbose)
char *file;
int verbose;
{
char *buf;
/*struct stat st;*/
TempFont tf;
FontInfoRec f;
int fd, i, strings;
FILE *fp;
int size = 20000;
/*
if (stat(file, &st) < 0) {
fprintf(stderr, "can't stat %s\n", file);
exit(1);
}
*/
fp = fopen(file, "r");
if (fp == (FILE *)NULL) {
fprintf(stderr, "can't open %s\n", file);
exit(1);
}
buf = malloc(size);
fread( buf, (int)size, (int)1, fp);
fclose(fp);
tf.pFI = (FontInfoPtr)buf;
tf.pCI = (CharInfoPtr)(buf + BYTESOFFONTINFO(tf.pFI));
tf.pGlyphs = ((unsigned char *)tf.pCI) + BYTESOFCHARINFO(tf.pFI);
tf.pFP = (FontPropPtr)(tf.pGlyphs + BYTESOFGLYPHINFO(tf.pFI));
strings = (int)tf.pFP + BYTESOFPROPINFO(tf.pFI);
for (i=0; i<tf.pFI->nProps; i++) {
tf.pFP[i].name += strings;
if (tf.pFP[i].indirect)
tf.pFP[i].value += strings;
}
printf("\n\n------------- %s ---------------\n\n", file);
DumpFont(&tf, verbose);
free(buf);
}