Skip to content

Commit

Permalink
Merge pull request #59 from emfcamp/branding-additions
Browse files Browse the repository at this point in the history
Branding additions
  • Loading branch information
MatthewWilkes authored May 30, 2022
2 parents a012b18 + 00f3718 commit 146afef
Show file tree
Hide file tree
Showing 6 changed files with 473 additions and 55 deletions.
47 changes: 47 additions & 0 deletions modules/colorsys.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

# Ported from https://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
def hsv_to_rgb(h, s, v):
i = int(h * 6)
f = h * 6 - i
p = v * (1 - s)
q = v * (1 - f * s)
t = v * (1 - (1 - f) * s)
mod = i % 6
if mod == 0:
r = v; g = t; b = p
elif mod == 1:
r = q; g = v; b = p
elif mod == 2:
r = p; g = v; b = t
elif mod == 3:
r = p; g = q; b = v
elif mod == 4:
r = t; g = p; b = v
elif mod == 5:
r = v; g = p; b = q

return (int(r * 255), int(g * 255), int(b * 255))

def rgb_to_hsv(r, g, b):
r = r / 255
g = g / 255
b = b / 255
max_val = max(r, g, b)
min_val = min(r, g, b)
v = max_val
d = max_val - min_val
s = 0 if max_val == 0 else d / max_val

if max_val == min_val:
h = 0 # achromatic
else:
if max_val == r:
h = (g - b) / d + (6 if g < b else 0)
elif max_val == g:
h = (b - r) / d + 2
elif max_val == b:
h = (r - g) / d + 4
h /= 6

return (h, s, v)

121 changes: 121 additions & 0 deletions modules/raleway14.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# -*- coding: utf-8 -*-
# Converted from /home/matthewwilkes/Downloads/Raleway-VariableFont_wght.ttf using:
# font2bitmap.py /home/matthewwilkes/Downloads/Raleway-VariableFont_wght.ttf 14 -s '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#$%&()*+,-./:;<=>?@[\]^_{|}~ \n\r\t@£$€'

MAP = (
'j+rD?R>€}@28YJ [,/]6BgdQ_PEaO3S4'
'L)tcvV7k~UA$Np{x.-1q9X:fI#(mlHZM'
'%bnzTw=£^ui&Wy|\\C5eGKhosF*<0;'
)
BPP = 1
HEIGHT = 15
MAX_WIDTH = 15
_WIDTHS = \
b'\x05\x06\x05\x0a\x07\x09\x07\x0b\x03\x0c\x07\x08\x09\x07\x04\x03'\
b'\x04\x08\x03\x08\x09\x08\x08\x0b\x07\x09\x09\x07\x0b\x07\x08\x07'\
b'\x08\x03\x04\x08\x07\x09\x07\x07\x06\x0b\x09\x09\x0b\x08\x03\x07'\
b'\x02\x06\x05\x08\x08\x09\x02\x05\x03\x09\x03\x0d\x03\x0a\x09\x0c'\
b'\x09\x08\x08\x07\x08\x0b\x06\x07\x07\x08\x03\x09\x0f\x08\x03\x07'\
b'\x0a\x08\x08\x0a\x09\x08\x08\x07\x08\x04\x07\x09\x02'

OFFSET_WIDTH = 2
_OFFSETS = \
b'\x00\x00\x00\x4b\x00\xa5\x00\xf0\x01\x86\x01\xef\x02\x76\x02\xdf'\
b'\x03\x84\x03\xb1\x04\x65\x04\xce\x05\x46\x05\xcd\x06\x36\x06\x72'\
b'\x06\x9f\x06\xdb\x07\x53\x07\x80\x07\xf8\x08\x7f\x08\xf7\x09\x6f'\
b'\x0a\x14\x0a\x7d\x0b\x04\x0b\x8b\x0b\xf4\x0c\x99\x0d\x02\x0d\x7a'\
b'\x0d\xe3\x0e\x5b\x0e\x88\x0e\xc4\x0f\x3c\x0f\xa5\x10\x2c\x10\x95'\
b'\x10\xfe\x11\x58\x11\xfd\x12\x84\x13\x0b\x13\xb0\x14\x28\x14\x55'\
b'\x14\xbe\x14\xdc\x15\x36\x15\x81\x15\xf9\x16\x71\x16\xf8\x17\x16'\
b'\x17\x61\x17\x8e\x18\x15\x18\x42\x19\x05\x19\x32\x19\xc8\x1a\x4f'\
b'\x1b\x03\x1b\x8a\x1c\x02\x1c\x7a\x1c\xe3\x1d\x5b\x1e\x00\x1e\x5a'\
b'\x1e\xc3\x1f\x2c\x1f\xa4\x1f\xd1\x20\x58\x21\x39\x21\xb1\x21\xde'\
b'\x22\x47\x22\xdd\x23\x55\x23\xcd\x24\x63\x24\xea\x25\x62\x25\xda'\
b'\x26\x43\x26\xbb\x26\xf7\x27\x60\x27\xe7'

_BITMAPS =\
b'\x00\x80\x01\x08\x42\x10\x84\x21\x70\x00\x00\x00\x00\x00\x41\x80'\
b'\x00\x00\x00\x00\x00\x00\x00\x11\x08\x42\x10\x80\x00\x00\x00\x1f'\
b'\x84\x11\x02\x40\x90\x24\x09\x02\x40\x90\x24\x11\xf8\x00\x00\x00'\
b'\x00\x03\xc0\x40\x81\x06\x10\x40\x80\x00\x04\x00\x00\x00\x00\x7e'\
b'\x20\x90\x48\x24\x12\x09\xe8\x88\x42\x20\x90\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x20\x30\x18\x08\x63\x08\x00\x00\x00\x00\x03\xe0\x80'\
b'\x20\x04\x00\xf8\x10\x07\xc0\x40\x04\x00\x82\x0f\x80\x00\x00\x00'\
b'\x00\x02\x49\x24\x90\x00\x00\x00\x00\x00\x00\x00\x0f\x81\x04\x27'\
b'\xa2\x09\x20\x92\x79\x28\x92\x89\x27\x61\x00\x0f\x80\x00\x00\x00'\
b'\x1c\x04\x08\x31\x84\x08\x1e\x00\x00\x00\x00\x00\xf1\x09\x08\x88'\
b'\xf1\x09\x09\x09\x08\xf0\x00\x00\x00\x00\x00\x41\x21\x08\x82\x81'\
b'\x40\x40\x20\x10\x08\x04\x00\x00\x00\x00\x00\x01\x02\x04\x08\x10'\
b'\x20\x40\x81\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49'\
b'\x24\x92\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x40\x81'\
b'\x01\x02\x02\x04\x08\x08\x00\x00\x00\x00\x00\x04\x92\x49\x24\x00'\
b'\x00\x00\x3c\x40\x40\x7c\x42\x41\x41\x41\x42\x3c\x00\x00\x00\x00'\
b'\x3f\x10\x48\x24\x12\x09\xf8\x82\x41\x20\x90\x4f\xe0\x00\x00\x00'\
b'\x00\x00\x00\x00\x78\x84\x84\x84\x84\x84\x84\x7c\x04\x04\x78\x00'\
b'\x00\x04\x04\x7c\x84\x84\x84\x84\x84\x84\x78\x00\x00\x00\x00\x07'\
b'\xc1\x04\x40\x88\x09\x01\x20\x24\x04\x80\x90\x21\x04\x1f\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00'\
b'\x01\xf8\x82\x41\x20\x90\x48\x27\xe2\x01\x00\x80\x40\x00\x00\x00'\
b'\x00\x03\xf1\x00\x80\x40\x20\x1f\x08\x04\x02\x01\x00\xfc\x00\x00'\
b'\x00\x00\x00\x00\x00\x70\x10\x27\xc8\x91\x22\x78\x00\x00\x00\x00'\
b'\x3e\x08\x22\x04\x40\x48\x09\x01\x20\x24\x04\x81\x08\x20\xf8\x00'\
b'\x00\x00\x00\x00\x00\x00\x01\xc0\x40\x40\x82\x0c\x04\x08\x13\xc0'\
b'\x00\x0f\x90\x10\x10\x18\x07\x00\x80\x40\x40\x4f\x80\x00\x00\x00'\
b'\x00\x00\x00\x10\x61\x44\x89\x22\xfc\x08\x10\x20\x00\x08\x08\x08'\
b'\x08\x08\x08\x08\x08\x08\x08\x0f\xc0\x00\x00\x00\x04\x89\x25\x20'\
b'\x00\x04\x44\x44\x44\x44\x46\x00\x00\x00\x00\x00\x03\xc4\x24\x04'\
b'\x04\x04\x04\x03\xc0\x00\x00\x00\x00\x00\x00\x02\x85\x12\x22\x85'\
b'\x04\x08\x00\x00\x00\x02\x01\x01\x40\xa0\x88\x44\x42\x20\x90\x50'\
b'\x10\x08\x00\x00\x00\x00\x00\x00\x00\x3e\x04\x10\x20\x81\x04\x08'\
b'\x20\x00\x00\x00\x08\x10\x20\x44\x91\x43\x44\x48\x80\x80\x00\x00'\
b'\x00\x00\x00\x00\x18\x18\x00\x00\x00\x00\x00\x00\x08\x01\x02\x20'\
b'\x44\x08\x81\x10\x22\x04\x40\x88\x10\x82\x0f\x80\x00\x00\x00\x00'\
b'\x00\x20\x28\x14\x0a\x08\x84\x42\x22\xe9\x05\x01\x80\x80\x00\x00'\
b'\x00\x01\xf1\x20\x90\x48\x34\x07\x01\x60\x90\x48\x24\x7c\x00\x00'\
b'\x00\x00\x01\x00\x30\x45\x08\xa1\x12\x22\x24\x42\x88\x51\x06\x20'\
b'\x44\x08\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x42\x41\x41\x41\x41'\
b'\x42\x7c\x40\x40\x00\x01\x24\x92\x49\x20\x00\x00\x00\x00\x00\x44'\
b'\x50\xc0\x82\x88\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x08\x21\x08\x42\x11\x80\x00'\
b'\x00\x00\x00\x00\x1e\x21\x21\x21\x21\x21\x21\x1f\x01\x01\x00\x00'\
b'\x00\x00\x00\x1e\x21\x21\x21\x21\x21\x1f\x01\x21\x1e\x00\x00\x00'\
b'\x08\x22\x21\x20\x50\x10\x14\x12\x08\x88\x20\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x07\x42\x18\x84\x21\x08\x42\x00\x00\x04\x92\x49\x24'\
b'\x90\x00\x00\x00\x01\x08\x8f\xc2\x42\x21\x10\x88\x78\x44\x20\x00'\
b'\x00\x00\x00\x05\x24\x92\x48\x80\x00\x00\x00\x00\x00\x00\x00\xf7'\
b'\x88\x42\x42\x12\x10\x90\x84\x84\x24\x21\x01\x08\x00\x00\x00\x00'\
b'\x00\x49\x24\x92\x49\x00\x00\x04\x01\x02\x40\x90\x24\x09\xfe\x40'\
b'\x90\x24\x09\x02\x40\x00\x00\x00\x00\x00\x3f\x80\x40\x40\x40\x20'\
b'\x20\x20\x20\x10\x10\x1f\xc0\x00\x00\x00\x00\x08\x04\x80\x4c\x0c'\
b'\xa0\xca\x14\x92\x49\x24\x8c\x48\x04\x80\x48\x00\x00\x00\x00\x00'\
b'\x00\x07\x02\x49\x28\xe4\x04\x04\x04\x02\xe2\x4a\x25\x1c\x00\x00'\
b'\x00\x00\x00\x10\x10\x1f\x10\x90\x50\x50\x50\x50\x8f\x00\x00\x00'\
b'\x00\x00\x00\x00\x07\x18\x90\x90\x90\x90\x90\x80\x00\x00\x00\x00'\
b'\x00\x00\x00\xf0\x20\x82\x04\x10\x41\xf0\x00\x00\x00\x0f\xc1\x01'\
b'\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00'\
b'\x00\x14\x52\x8a\x22\x44\x44\x90\xaa\x09\x41\x10\x00\x00\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x1c\x44\x81\x02'\
b'\x03\x04\x08\x10\x20\xf0\x00\x00\x00\x04\x14\x28\x89\x10\x00\x00'\
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x24\x24\x24\x24\x24'\
b'\x23\xc0\x00\x00\x00\x00\x09\x24\x90\x00\x00\x0f\x08\x84\x41\x20'\
b'\xe0\x60\x48\x22\x90\x88\x63\xc0\x00\x00\x00\x00\x01\x00\x01\x0a'\
b'\x12\x14\x24\x30\x84\x21\x08\x44\x11\x48\x12\x90\x29\x40\x21\x80'\
b'\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x22\x22\x12'\
b'\x14\x08\x08\x08\x08\x10\x04\x92\x49\x24\x92\x40\x00\x04\x08\x08'\
b'\x08\x10\x10\x20\x20\x40\x40\x00\x00\x00\x0f\x84\x12\x00\x80\x20'\
b'\x08\x02\x00\x80\x20\x04\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x01'\
b'\xe2\x02\x02\x03\xe0\x10\x10\x10\x11\xe0\x00\x00\x00\x00\x01\xe2'\
b'\x12\x0b\xfa\x02\x02\x01\xe0\x00\x00\x00\x00\x3e\x10\x48\x02\x00'\
b'\x80\x20\x48\x02\x04\x81\x10\x43\xe0\x00\x00\x00\x00\x04\x02\x11'\
b'\x10\x88\x48\x2c\x19\x08\x84\x22\x09\x00\x00\x00\x00\x00\x00\x10'\
b'\x10\x1f\x10\x90\x90\x90\x90\x90\x80\x00\x00\x00\x00\x00\x00\x00'\
b'\x0f\x10\x90\x50\x50\x50\x50\x8f\x00\x00\x00\x00\x00\x00\x00\xf2'\
b'\x04\x06\x03\x02\x04\xf0\x00\x00\x00\x0f\xc8\x08\x08\x08\x0f\x88'\
b'\x08\x08\x08\x08\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00'\
b'\x00\x00\x00\x01\x0c\x61\x01\x80\xc0\x40\x00\x00\x00\x00\x00\x00'\
b'\x03\xc2\x11\x04\x82\x41\x20\x90\x87\x80\x00\x00\x00\x00\x00\x00'\
b'\x00'

WIDTHS = memoryview(_WIDTHS)
OFFSETS = memoryview(_OFFSETS)
BITMAPS = memoryview(_BITMAPS)
Loading

0 comments on commit 146afef

Please sign in to comment.