#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "fonttosfnt.h"
int verbose_flag = 0;
int reencode_flag = 1;
int glyph_flag = 2;
int metrics_flag = 1;
int crop_flag = 1;
int bit_aligned_flag = 1;
static void
usage(void)
{
fprintf(stderr, "Usage:\n");
fprintf(stderr,
"fonttosfnt [ -v ] [ -c ] [ -b ] [ -r ] [ -g n ] [ -m n ] -o font.ttf "
"[ -- ] font ...\n");
}
int
main(int argc, char **argv)
{
int i;
int rc;
char *output = NULL;
FontPtr font;
i = 1;
while(i < argc) {
if(argv[i][0] != '-')
break;
if(argv[i][1] == 'o') {
if(argv[i][2] == '\0') {
output = sprintf_reliable("%s", argv[i + 1]);
i += 2;
} else {
output = sprintf_reliable("%s", argv[i] + 2);
i++;
}
} else if(strcmp(argv[i], "-v") == 0) {
verbose_flag = 1;
i++;
} else if(strcmp(argv[i], "-c") == 0) {
crop_flag = 0;
i++;
} else if(strcmp(argv[i], "-b") == 0) {
bit_aligned_flag = 0;
i++;
} else if(strcmp(argv[i], "-r") == 0) {
reencode_flag = 0;
i++;
} else if(strcmp(argv[i], "-g") == 0) {
if(argc <= i + 1) {
usage();
exit(1);
}
glyph_flag = atoi(argv[i + 1]);
i += 2;
} else if(strcmp(argv[i], "-m") == 0) {
if(argc <= i + 1) {
usage();
exit(1);
}
metrics_flag = atoi(argv[i + 1]);
i += 2;
} else if(strcmp(argv[i], "--") == 0) {
i++;
break;
} else {
usage();
exit(1);
}
}
if(output == NULL) {
usage();
exit(1);
}
font = makeFont();
while(i < argc) {
rc = readFile(argv[i], font);
if(rc != 0)
exit(1);
i++;
}
writeFile(output, font);
return 0;
}