summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/tools/vt/fontcvt/Makefile6
-rw-r--r--tools/tools/vt/fontcvt/terminus.sh2
-rw-r--r--usr.bin/Makefile4
-rw-r--r--usr.bin/vtfontcvt/Makefile8
-rw-r--r--usr.bin/vtfontcvt/vtfontcvt.874
-rw-r--r--usr.bin/vtfontcvt/vtfontcvt.c (renamed from tools/tools/vt/fontcvt/fontcvt.c)10
6 files changed, 92 insertions, 12 deletions
diff --git a/tools/tools/vt/fontcvt/Makefile b/tools/tools/vt/fontcvt/Makefile
deleted file mode 100644
index 06692d0..0000000
--- a/tools/tools/vt/fontcvt/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-PROG= fontcvt
-MAN1=
-
-WARNS?= 6
-
-.include <bsd.prog.mk>
diff --git a/tools/tools/vt/fontcvt/terminus.sh b/tools/tools/vt/fontcvt/terminus.sh
index b04c100..d186e3e 100644
--- a/tools/tools/vt/fontcvt/terminus.sh
+++ b/tools/tools/vt/fontcvt/terminus.sh
@@ -5,7 +5,7 @@ for i in 6:12 8:14 8:16 10:18 10:20 11:22 12:24 14:28 16:32
do
C=`echo $i | cut -f 1 -d :`
R=`echo $i | cut -f 2 -d :`
- ./fontcvt \
+ ./vtfontcvt \
-w $C -h $R \
~/terminus-font-4.36/ter-u${R}n.bdf \
~/terminus-font-4.36/ter-u${R}b.bdf \
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index 71e7a45..ba9d0a5 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -362,6 +362,10 @@ SUBDIR+= yacc
SUBDIR+= vi
.endif
+.if ${MK_VT_SUPPORT} != "no"
+SUBDIR+= vtfontcvt
+.endif
+
.if ${MK_USB} != "no"
SUBDIR+= usbhidaction
SUBDIR+= usbhidctl
diff --git a/usr.bin/vtfontcvt/Makefile b/usr.bin/vtfontcvt/Makefile
new file mode 100644
index 0000000..a9802f7
--- /dev/null
+++ b/usr.bin/vtfontcvt/Makefile
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+PROG= vtfontcvt
+MAN8= vtfontcvt.8
+
+WARNS?= 6
+
+.include <bsd.prog.mk>
diff --git a/usr.bin/vtfontcvt/vtfontcvt.8 b/usr.bin/vtfontcvt/vtfontcvt.8
new file mode 100644
index 0000000..677e503
--- /dev/null
+++ b/usr.bin/vtfontcvt/vtfontcvt.8
@@ -0,0 +1,74 @@
+.\" Copyright (c) 2014 The FreeBSD Foundation. All rights reserved.
+.\"
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd June 9, 2014
+.Dt VTFONTCVT 8
+.Os
+.Sh NAME
+.Nm vtfontcvt
+.Nd "convert font files for use by the video console"
+.Sh SYNOPSIS
+.Nm
+.Op Fl h Ar height
+.Op Fl v
+.Op Fl w Ar width
+.Ar normal_font
+.Op Ar bold_font
+.Ar output_file
+.Sh DESCRIPTION
+The
+.Nm
+utility reads source font files in either BDF or Unifont HEX format and
+outputs a binary font file for use by
+.Xr vt 4 .
+HEX format files must have the file extension
+.Pa .hex .
+.Pp
+The following options are available:
+.Bl -tag -width "12345678"
+.It Fl h Ar height
+Set font height.
+The default is 16.
+Font height is set automatically for HEX files that have a
+.Ql # Height: Ar height
+comment before any font data.
+.It Fl v
+Display verbose statistics about the converted font.
+.It Fl w Ar width
+Set font width.
+The default is 8.
+Font width is set automatically for HEX files that have a
+.Ql # Width: Ar width
+comment before any font data.
+.El
+.Sh SEE ALSO
+.Xr vidcontrol 1 ,
+.Xr vt 4
+.Sh HISTORY
+The
+.Nm
+utility first appeared in
+.Fx 11.0 .
diff --git a/tools/tools/vt/fontcvt/fontcvt.c b/usr.bin/vtfontcvt/vtfontcvt.c
index 5acad70..56f7510 100644
--- a/tools/tools/vt/fontcvt/fontcvt.c
+++ b/usr.bin/vtfontcvt/vtfontcvt.c
@@ -92,7 +92,7 @@ usage(void)
{
errx(1,
-"usage: fontcvt [-w width] [-h height] [-v] normal.bdf [bold.bdf] out.fnt\n");
+"usage: vtfontcvt [-w width] [-h height] [-v] normal.bdf [bold.bdf] out.fnt\n");
exit(1);
}
@@ -239,7 +239,7 @@ parse_bitmap_line(uint8_t *left, uint8_t *right, unsigned int line,
line >>= width;
}
-
+
return (0);
}
@@ -309,7 +309,7 @@ parse_hex(FILE *fp, unsigned int map_idx)
dwidth *= 2; /* Double-width character. */
snprintf(fmt_str, sizeof(fmt_str), "%%%ux",
chars_per_row);
-
+
for (i = 0; i < height; i++) {
sscanf(p, fmt_str, &line);
p += chars_per_row;
@@ -449,7 +449,7 @@ write_fnt(const char *filename)
perror(filename);
return (1);
}
-
+
if (write_glyphs(fp) != 0 ||
write_mappings(fp, VFNT_MAP_NORMAL) != 0 ||
write_mappings(fp, 1) != 0 ||
@@ -507,7 +507,7 @@ main(int argc, char *argv[])
assert(sizeof(struct file_header) == 32);
assert(sizeof(struct file_mapping) == 8);
- while ((ch = getopt(argc, argv, "h:w:")) != -1) {
+ while ((ch = getopt(argc, argv, "h:vw:")) != -1) {
switch (ch) {
case 'h':
val = atoi(optarg);
OpenPOWER on IntegriCloud