From e559e21da74ec32e4ab6c3b642664398878ddc72 Mon Sep 17 00:00:00 2001 From: David Lick Date: Thu, 21 Dec 2023 12:33:34 -0500 Subject: [PATCH] adds 13x8 font --- cmd/rpi/main.go | 2 +- display/slot.go | 2 + fonts/13x8.go | 291 ++++++++++++++++++++++++++++++++++++++++++++++++ fonts/9x6.go | 4 +- 4 files changed, 296 insertions(+), 3 deletions(-) create mode 100644 fonts/13x8.go diff --git a/cmd/rpi/main.go b/cmd/rpi/main.go index 0d1b248..6872f63 100644 --- a/cmd/rpi/main.go +++ b/cmd/rpi/main.go @@ -19,7 +19,7 @@ func main() { d := display.New(c, display.NewSlot(9, 5, 4, 0, 0), display.NewSlot(5, 5, 4, 44, 0), - display.NewSlot(7, 9, 6, 10, 10), + display.NewSlot(7, 13, 8, 7, 7), display.NewSlot(12, 5, 4, 7, 27), display.NewSlot(8, 5, 4, 28, 27), ) diff --git a/display/slot.go b/display/slot.go index adcfe6a..901de1e 100644 --- a/display/slot.go +++ b/display/slot.go @@ -68,6 +68,8 @@ func (s *Slot) Update(text []Segment) error { font = fonts.Face7x5 case 9: font = fonts.Face9x6 + case 13: + font = fonts.Face13x8 default: return fmt.Errorf("%w: %d", ErrUnsupportedSlotHeight, s.segmentHeight) } diff --git a/fonts/13x8.go b/fonts/13x8.go new file mode 100644 index 0000000..1a53016 --- /dev/null +++ b/fonts/13x8.go @@ -0,0 +1,291 @@ +package fonts + +var ( + Face13x8 = Font{ + "1": { + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + }, + "2": { + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 0, 0, 0, 1, 1, 1, 0}, + {0, 0, 0, 0, 1, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 0, 0, 0, 0}, + {1, 1, 1, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + }, + "3": { + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 0, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 0, 0, 0}, + {0, 0, 0, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 1, 1, 0, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {1, 0, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + }, + "4": { + {0, 0, 0, 0, 0, 0, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 0, 1, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 0, 1, 1, 0}, + {1, 1, 1, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + }, + "5": { + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 0, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 0, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 1, 1, 0, 0, 0}, + }, + "6": { + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 1, 1, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + }, + "7": { + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + }, + "8": { + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + }, + "9": { + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 0, 0, 0, 0, 1, 1, 0}, + {0, 1, 0, 0, 1, 1, 1, 0}, + {0, 1, 1, 0, 0, 0, 0, 0}, + {0, 0, 1, 1, 0, 0, 0, 0}, + }, + "0": { + {0, 1, 1, 1, 1, 1, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 0, 1, 1, 0}, + {1, 1, 1, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 1, 1, 1, 1, 1, 0, 0}, + }, + "satoshi": { + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + }, + "dollar": { + {0, 0, 0, 1, 1, 0, 0, 0}, + {0, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 0, 1, 1, 0, 0, 0}, + {1, 1, 0, 1, 1, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 0, 0}, + {0, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 1, 0}, + {0, 0, 0, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 0, 0}, + {0, 0, 0, 1, 1, 0, 0, 0}, + }, + "height": { + {1, 1, 1, 1, 1, 1, 1, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 1, 0, 1, 0, 1, 0, 0}, + {1, 0, 0, 1, 0, 0, 1, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {0, 0, 0, 1, 0, 0, 0, 0}, + {1, 0, 0, 1, 0, 0, 1, 0}, + {0, 1, 0, 1, 0, 1, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + }, + "low": { + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 0, 0, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + }, + "medium": { + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 0, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 0, 1, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + }, + "high": { + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 1, 1, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + }, + "K": { + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 1, 1, 1, 0}, + {1, 1, 0, 1, 1, 1, 0, 0}, + {1, 1, 1, 1, 1, 0, 0, 0}, + {1, 1, 1, 1, 0, 0, 0, 0}, + {1, 1, 1, 1, 0, 0, 0, 0}, + {1, 1, 1, 1, 1, 0, 0, 0}, + {1, 1, 0, 1, 1, 1, 0, 0}, + {1, 1, 0, 0, 1, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + {1, 1, 0, 0, 0, 1, 1, 0}, + }, + ".": { + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + }, + ":": { + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 1, 1, 1, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0, 0, 0}, + }, + } +) diff --git a/fonts/9x6.go b/fonts/9x6.go index 110278c..0a12687 100644 --- a/fonts/9x6.go +++ b/fonts/9x6.go @@ -110,8 +110,8 @@ var ( {1, 1, 0, 0, 1, 0}, {1, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 1, 0}, - {0, 1, 0, 0, 1, 0}, - {0, 0, 1, 1, 0, 0}, + {1, 0, 0, 0, 1, 0}, + {0, 1, 1, 1, 0, 0}, }, "satoshi": { {0, 0, 0, 0, 0, 0},