vtfontcvt: allow .bdf characters less than full height

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
emaste 2018-04-03 18:43:00 +00:00
parent 0d44c798e2
commit 8d951aca16

View File

@ -265,10 +265,23 @@ parse_bdf(FILE *fp, unsigned int map_idx)
if (strncmp(ln, "BITMAP", 6) == 0 &&
(ln[6] == ' ' || ln[6] == '\0')) {
/*
* Assume that the next _height_ lines are bitmap
* data. ENDCHAR is allowed to terminate the bitmap
* early but is not otherwise checked; any extra data
* is ignored.
*/
for (i = 0; i < height; i++) {
if ((ln = fgetln(fp, &length)) == NULL)
errx(1, "Unexpected EOF!");
ln[length - 1] = '\0';
if (strcmp(ln, "ENDCHAR") == 0) {
memset(bytes + i * wbytes, 0,
(height - i) * wbytes);
memset(bytes_r + i * wbytes, 0,
(height - i) * wbytes);
break;
}
sscanf(ln, "%x", &line);
if (parse_bitmap_line(bytes + i * wbytes,
bytes_r + i * wbytes, line, dwidth) != 0)