diff options
author | June McEnroe <programble@gmail.com> | 2018-01-29 15:06:47 -0500 |
---|---|---|
committer | June McEnroe <programble@gmail.com> | 2018-01-29 15:06:47 -0500 |
commit | 524dede1f3e69491ae8c838ca085e1667da74448 (patch) | |
tree | 1aa9f6a54bdf60d719a2cc29e5dfe9e7b0616808 | |
parent | Take font path on fbclock argv (diff) | |
download | src-524dede1f3e69491ae8c838ca085e1667da74448.tar.gz src-524dede1f3e69491ae8c838ca085e1667da74448.zip |
Support fbclock fonts wider than 8
Diffstat (limited to '')
-rw-r--r-- | bin/fbclock.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/bin/fbclock.c b/bin/fbclock.c index 4576d33b..d35369ca 100644 --- a/bin/fbclock.c +++ b/bin/fbclock.c @@ -108,9 +108,11 @@ int main(int argc, char *argv[]) { for (char *s = str; *s; ++s) { uint8_t *glyph = glyphs[(uint8_t)*s]; for (uint32_t y = 0; y < header.glyphHeight; ++y) { + uint32_t stride = header.glyphSize / header.glyphHeight; for (uint32_t x = 0; x < header.glyphWidth; ++x) { - uint8_t b = glyph[y] >> (header.glyphWidth - x) & 1; - buf[y * info.xres + left + x] = b ? FG : BG; + uint8_t bits = glyph[y * stride + x / 8]; + uint8_t bit = bits >> (7 - x % 8) & 1; + buf[y * info.xres + left + x] = bit ? FG : BG; } } left += header.glyphWidth; |