int main(int argc, char *argv[]) { FSServer *svr; char *servername = NULL; int i; progname = argv[0]; for (i = 1; i < argc; i++) { if (strncmp(argv[i], "-s", 2) == 0) { if (++i > argc) usage(); servername = argv[i]; } else { usage(); } } svr = FSOpenServer(servername); if (!svr) { if (FSServerName(servername) == NULL) { fprintf(stderr, "%s: no font server defined\n", progname); exit(1); } fprintf(stderr, "%s: unable to open server \"%s\"\n", progname, FSServerName(servername)); exit(1); } print_server_info(svr); FSCloseServer(svr); exit(0); }
int main(int argc, char *argv[]) { int argcnt = 0, i; char *servername = NULL; program_name = argv[0]; for (i = 1; i < argc; i++) { if (strncmp(argv[i], "-s", 2) == 0) { if (++i >= argc) usage(); servername = argv[i]; } } if ((svr = FSOpenServer(servername)) == NULL) { if (FSServerName(servername) == NULL) { fprintf(stderr, "%s: no font server defined\n", program_name); exit(0); } fprintf(stderr, "%s: unable to open server \"%s\"\n", program_name, FSServerName(servername)); exit(0); } /* Handle command line arguments, open display */ for (argv++, argc--; argc; argv++, argc--) { if (argv[0][0] == '-') { if (argcnt > 0) usage(); for (i = 1; argv[0][i]; i++) switch (argv[0][i]) { case 'l': long_list++; break; case 'm': min_max++; break; case 'C': columns = 0; break; case '1': columns = 1; break; case 'f': if (--argc <= 0) usage(); argcnt++; argv++; get_list(argv[0]); goto next; case 'w': if (--argc <= 0) usage(); argv++; max_output_line_width = atoi(argv[0]); goto next; case 'n': if (--argc <= 0) usage(); argv++; columns = atoi(argv[0]); goto next; case 'u': sort_output = False; break; case 's': /* eat -s */ if (--argc <= 0) usage(); argv++; goto next; default: usage(); break; } if (i == 1) usage(); } else { argcnt++; get_list(argv[0]); } next: ; } if (argcnt == 0) get_list("*"); FSCloseServer(svr); show_fonts(); exit(0); }
int main(int argc, char *argv[]) { FSServer *fontServer; Font fontID, dummy; FSBitmapFormat bitmapFormat; FSXFontInfoHeader fontHeader; FSPropInfo propInfo; FSPropOffset *propOffsets; unsigned char *propData; FILE *outFile; char *fontName; char *serverName; int i; fontName = NULL; serverName = NULL; outFile = stdout; for (i = 1; i < argc; i++) { if (!strncmp(argv[i], "-s", 2)) { if (argv[++i]) serverName = argv[i]; else usage(argv[0]); } else if (!strncmp(argv[i], "-fn", 3)) { if (argv[++i]) fontName = argv[i]; else usage(argv[0]); } } if (fontName == NULL) usage(argv[0]); fontServer = FSOpenServer(serverName); if (!fontServer) { const char *sn = FSServerName(serverName); if (sn) fprintf(stderr, "%s: can't open font server \"%s\"\n", argv[0], sn); else fprintf(stderr, "%s: No font server specified.\n", argv[0]); exit(0); } bitmapFormat = 0; fontID = FSOpenBitmapFont(fontServer, bitmapFormat, (FSBitmapFormatMask) 0, fontName, &dummy); if (!fontID) { printf("can't open font \"%s\"\n", fontName); exit(0); } FSQueryXInfo(fontServer, fontID, &fontHeader, &propInfo, &propOffsets, &propData); if (!EmitHeader(outFile, &fontHeader, &propInfo, propOffsets, propData)) Fail(argv[0]); if (!EmitProperties(outFile, &fontHeader, &propInfo, propOffsets, propData)) Fail(argv[0]); if (!EmitCharacters(outFile, fontServer, &fontHeader, fontID)) Fail(argv[0]); fprintf(outFile, "ENDFONT\n"); FSFree((char *) propOffsets); FSFree((char *) propData); exit (0); }