Module Name: xsrc Committed By: macallan Date: Sun Sep 18 22:04:31 UTC 2022
Modified Files: xsrc/local/programs/bdfload: bdfload.c Log Message: error out on proportional fonts, provide option to override To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 xsrc/local/programs/bdfload/bdfload.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/local/programs/bdfload/bdfload.c diff -u xsrc/local/programs/bdfload/bdfload.c:1.12 xsrc/local/programs/bdfload/bdfload.c:1.13 --- xsrc/local/programs/bdfload/bdfload.c:1.12 Mon Aug 29 14:54:04 2022 +++ xsrc/local/programs/bdfload/bdfload.c Sun Sep 18 22:04:31 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: bdfload.c,v 1.12 2022/08/29 14:54:04 macallan Exp $ */ +/* $NetBSD: bdfload.c,v 1.13 2022/09/18 22:04:31 macallan Exp $ */ /* * Copyright (c) 2018 Michael Lorenz @@ -66,6 +66,8 @@ const struct encmap { { "cp437", WSDISPLAY_FONTENC_IBM }, { "ibm", WSDISPLAY_FONTENC_IBM }, { "iso", WSDISPLAY_FONTENC_ISO }, + { "iso8859", WSDISPLAY_FONTENC_ISO }, + { "iso10646", WSDISPLAY_FONTENC_ISO }, { "iso-8859-1", WSDISPLAY_FONTENC_ISO }, { "iso-8859-2", WSDISPLAY_FONTENC_ISO2 }, { "iso-8859-7", WSDISPLAY_FONTENC_ISO7 }, @@ -100,6 +102,7 @@ int encoding = -1; int verbose = 0; int dump = 0; int header = 0; +int force = 0; char commentbuf[2048] = ""; int commentptr = 0; char fontname[64] = ""; @@ -262,6 +265,18 @@ interpret(FILE *foo) commentptr += snprintf(&commentbuf[commentptr], 2048 - commentptr, "%s\n", arg); + } else if (strcmp(line, "SPACING") == 0) { + char spc[16]; + int res; + res = sscanf(arg, "%s", spc); + if (res > 0) { + if (verbose) printf("spacing %s\n", spc); + if ((spc[1] == 'P') && (force == 0)) { + fprintf(stderr, "This is a proportional font, results are probably not suitable for console use.\n"); + fprintf(stderr, "Use -f to override if you want to try it anyway.\n"); + exit(1); + } + } } else if (strcmp(line, "FONTBOUNDINGBOX") == 0) { int res; res = sscanf(arg, "%d %d %d %d", @@ -383,7 +398,7 @@ interpret(FILE *foo) __dead void usage() { - fprintf(stderr, "usage: bdfload [-vdh] [-e encoding] [-N name] [-o ofile.wsf] font.bdf\n"); + fprintf(stderr, "usage: bdfload [-vdhf] [-e encoding] [-N name] [-o ofile.wsf] font.bdf\n"); exit(EXIT_FAILURE); } @@ -394,7 +409,7 @@ main(int argc, char *argv[]) const char *encname = NULL; int c; - while ((c = getopt(argc, argv, "e:o:N:vdh")) != -1) { + while ((c = getopt(argc, argv, "e:o:N:vdhf")) != -1) { switch (c) { /* font encoding */ @@ -422,6 +437,9 @@ main(int argc, char *argv[]) case 'h': header = 1; break; + case 'f': + force = 1; + break; case 'N': strncpy(fontname, optarg, 64); printf("given name: %s\n", fontname);