Date: Tue, 3 Jun 2014 17:53:11 +0000 (UTC) From: Ed Maste <emaste@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r267011 - head/tools/tools/vt/fontcvt Message-ID: <201406031753.s53HrB6X095507@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: emaste Date: Tue Jun 3 17:53:11 2014 New Revision: 267011 URL: http://svnweb.freebsd.org/changeset/base/267011 Log: vt fontcvt: Make height and width optional arguments Now defaults to a 16x8 font size. The height and width can be specified using -h and -w respectively. Sponsored by: The FreeBSD Foundation Modified: head/tools/tools/vt/fontcvt/fontcvt.c Modified: head/tools/tools/vt/fontcvt/fontcvt.c ============================================================================== --- head/tools/tools/vt/fontcvt/fontcvt.c Tue Jun 3 14:50:51 2014 (r267010) +++ head/tools/tools/vt/fontcvt/fontcvt.c Tue Jun 3 17:53:11 2014 (r267011) @@ -39,12 +39,13 @@ __FBSDID("$FreeBSD$"); #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <unistd.h> #define VFNT_MAPS 4 #define VFNT_MAP_NORMAL 0 #define VFNT_MAP_BOLD 2 -static unsigned int width, wbytes, height; +static unsigned int width = 8, wbytes, height = 16; struct glyph { TAILQ_ENTRY(glyph) g_list; @@ -83,7 +84,7 @@ usage(void) { fprintf(stderr, -"usage: fontcvt width height normal.bdf bold.bdf out.fnt\n"); +"usage: fontcvt [-w width] [-h height] normal.bdf bold.bdf out.fnt\n"); exit(1); } @@ -384,27 +385,42 @@ write_fnt(const char *filename) int main(int argc, char *argv[]) { + int ch; assert(sizeof(struct file_header) == 32); assert(sizeof(struct file_mapping) == 8); - if (argc != 6) + while ((ch = getopt(argc, argv, "h:w:")) != -1) { + switch (ch) { + case 'h': + height = atoi(optarg); + break; + case 'w': + height = atoi(optarg); + break; + case '?': + default: + usage(); + } + } + argc -= optind; + argv += optind; + + if (argc != 3) usage(); - - width = atoi(argv[1]); + wbytes = howmany(width, 8); - height = atoi(argv[2]); - if (parse_bdf(argv[3], VFNT_MAP_NORMAL) != 0) + if (parse_bdf(argv[0], VFNT_MAP_NORMAL) != 0) return (1); - if (parse_bdf(argv[4], VFNT_MAP_BOLD) != 0) + if (parse_bdf(argv[1], VFNT_MAP_BOLD) != 0) return (1); number_glyphs(); fold_mappings(0); fold_mappings(1); fold_mappings(2); fold_mappings(3); - if (write_fnt(argv[5]) != 0) + if (write_fnt(argv[2]) != 0) return (1); printf(
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406031753.s53HrB6X095507>