i didn't double check if Runemax has made it into libc.h. i think it makes sense, even for 16-bit runes since Bgetc returns an int. and cases like this where a rune value is calculated as an int to protect against overflow. this patch depends on Runemax. 1. fix output bug. for character 0, the output was truncated because %C formats a 0 character, terminating the string. also defend against illegal utf values. 2. add -b baseoff to correct the character values for subfonts that don't start at character 0. while this is a hack (we should parse font(6) files instead so that each subfont could be discontinuous with this previous), it does make viewing a single subfont possible with much less work.