vtfontcvt: allow .bdf characters less than full height
Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
0d44c798e2
commit
8d951aca16
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user