summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2018-01-29 15:06:47 -0500
committerJune McEnroe <programble@gmail.com>2018-01-29 15:06:47 -0500
commit524dede1f3e69491ae8c838ca085e1667da74448 (patch)
tree1aa9f6a54bdf60d719a2cc29e5dfe9e7b0616808
parentTake font path on fbclock argv (diff)
downloadsrc-524dede1f3e69491ae8c838ca085e1667da74448.tar.gz
src-524dede1f3e69491ae8c838ca085e1667da74448.zip
Support fbclock fonts wider than 8
-rw-r--r--bin/fbclock.c6
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;