From c8ecccd6b354f4cf83d005e03f55d90791a7b036 Mon Sep 17 00:00:00 2001 From: i-infra <77526490+i-infra@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:45:32 -0500 Subject: [PATCH 1/5] black --- gitfiti.py | 439 ++++++++++++++++++++++++++++------------------------- 1 file changed, 228 insertions(+), 211 deletions(-) diff --git a/gitfiti.py b/gitfiti.py index b327a1df60..18814a4ec7 100755 --- a/gitfiti.py +++ b/gitfiti.py @@ -14,6 +14,7 @@ import json import math import os + try: # Python 3+ from urllib.error import HTTPError, URLError @@ -30,174 +31,176 @@ raw_input = input -GITHUB_BASE_URL = 'https://github.com/' -FALLBACK_IMAGE = 'kitty' +GITHUB_BASE_URL = "https://github.com/" +FALLBACK_IMAGE = "kitty" -TITLE = ''' +TITLE = """ _ __ _____ __ _ ____ _(_) /_/ __(_) /_(_) / __ `/ / __/ /_/ / __/ / / /_/ / / /_/ __/ / /_/ / \__, /_/\__/_/ /_/\__/_/ /____/ -''' +""" KITTY = [ - [0,0,0,4,0,0,0,0,4,0,0,0], - [0,0,4,2,4,4,4,4,2,4,0,0], - [0,0,4,2,2,2,2,2,2,4,0,0], - [2,2,4,2,4,2,2,4,2,4,2,2], - [0,0,4,2,2,3,3,2,2,4,0,0], - [2,2,4,2,2,2,2,2,2,4,2,2], - [0,0,0,3,4,4,4,4,3,0,0,0], + [0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0], + [0, 0, 4, 2, 4, 4, 4, 4, 2, 4, 0, 0], + [0, 0, 4, 2, 2, 2, 2, 2, 2, 4, 0, 0], + [2, 2, 4, 2, 4, 2, 2, 4, 2, 4, 2, 2], + [0, 0, 4, 2, 2, 3, 3, 2, 2, 4, 0, 0], + [2, 2, 4, 2, 2, 2, 2, 2, 2, 4, 2, 2], + [0, 0, 0, 3, 4, 4, 4, 4, 3, 0, 0, 0], ] ONEUP = [ - [0,4,4,4,4,4,4,4,0], - [4,3,2,2,1,2,2,3,4], - [4,2,2,1,1,1,2,2,4], - [4,3,4,4,4,4,4,3,4], - [4,4,1,4,1,4,1,4,4], - [0,4,1,1,1,1,1,4,0], - [0,0,4,4,4,4,4,0,0], + [0, 4, 4, 4, 4, 4, 4, 4, 0], + [4, 3, 2, 2, 1, 2, 2, 3, 4], + [4, 2, 2, 1, 1, 1, 2, 2, 4], + [4, 3, 4, 4, 4, 4, 4, 3, 4], + [4, 4, 1, 4, 1, 4, 1, 4, 4], + [0, 4, 1, 1, 1, 1, 1, 4, 0], + [0, 0, 4, 4, 4, 4, 4, 0, 0], ] ONEUP2 = [ - [0,0,4,4,4,4,4,4,4,0,0], - [0,4,2,2,1,1,1,2,2,4,0], - [4,3,2,2,1,1,1,2,2,3,4], - [4,3,3,4,4,4,4,4,3,3,4], - [0,4,4,1,4,1,4,1,4,4,0], - [0,0,4,1,1,1,1,1,4,0,0], - [0,0,0,4,4,4,4,4,0,0,0], + [0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0], + [0, 4, 2, 2, 1, 1, 1, 2, 2, 4, 0], + [4, 3, 2, 2, 1, 1, 1, 2, 2, 3, 4], + [4, 3, 3, 4, 4, 4, 4, 4, 3, 3, 4], + [0, 4, 4, 1, 4, 1, 4, 1, 4, 4, 0], + [0, 0, 4, 1, 1, 1, 1, 1, 4, 0, 0], + [0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0], ] HACKERSCHOOL = [ - [4,4,4,4,4,4], - [4,3,3,3,3,4], - [4,1,3,3,1,4], - [4,3,3,3,3,4], - [4,4,4,4,4,4], - [0,0,4,4,0,0], - [4,4,4,4,4,4], + [4, 4, 4, 4, 4, 4], + [4, 3, 3, 3, 3, 4], + [4, 1, 3, 3, 1, 4], + [4, 3, 3, 3, 3, 4], + [4, 4, 4, 4, 4, 4], + [0, 0, 4, 4, 0, 0], + [4, 4, 4, 4, 4, 4], ] OCTOCAT = [ - [0,0,0,4,0,0,0,4,0], - [0,0,4,4,4,4,4,4,4], - [0,0,4,1,3,3,3,1,4], - [4,0,3,4,3,3,3,4,3], - [0,4,0,0,4,4,4,0,0], - [0,0,4,4,4,4,4,4,4], - [0,0,4,0,4,0,4,0,4], + [0, 0, 0, 4, 0, 0, 0, 4, 0], + [0, 0, 4, 4, 4, 4, 4, 4, 4], + [0, 0, 4, 1, 3, 3, 3, 1, 4], + [4, 0, 3, 4, 3, 3, 3, 4, 3], + [0, 4, 0, 0, 4, 4, 4, 0, 0], + [0, 0, 4, 4, 4, 4, 4, 4, 4], + [0, 0, 4, 0, 4, 0, 4, 0, 4], ] OCTOCAT2 = [ - [0,0,4,0,0,4,0], - [0,4,4,4,4,4,4], - [0,4,1,3,3,1,4], - [0,4,4,4,4,4,4], - [4,0,0,4,4,0,0], - [0,4,4,4,4,4,0], - [0,0,0,4,4,4,0], + [0, 0, 4, 0, 0, 4, 0], + [0, 4, 4, 4, 4, 4, 4], + [0, 4, 1, 3, 3, 1, 4], + [0, 4, 4, 4, 4, 4, 4], + [4, 0, 0, 4, 4, 0, 0], + [0, 4, 4, 4, 4, 4, 0], + [0, 0, 0, 4, 4, 4, 0], ] HELLO = [ - [0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,4], - [0,2,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,4], - [0,3,3,3,0,2,3,3,0,3,0,3,0,1,3,1,0,3], - [0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,3], - [0,3,0,3,0,3,3,3,0,3,0,3,0,3,0,3,0,2], - [0,2,0,2,0,2,0,0,0,2,0,2,0,2,0,2,0,0], - [0,1,0,1,0,1,1,1,0,1,0,1,0,1,1,1,0,4], + [0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 4], + [0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 4], + [0, 3, 3, 3, 0, 2, 3, 3, 0, 3, 0, 3, 0, 1, 3, 1, 0, 3], + [0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, 3], + [0, 3, 0, 3, 0, 3, 3, 3, 0, 3, 0, 3, 0, 3, 0, 3, 0, 2], + [0, 2, 0, 2, 0, 2, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0], + [0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 4], ] HEART1 = [ - [0,1,1,0,1,1,0], - [1,3,3,1,3,3,1], - [1,3,4,3,4,3,1], - [1,3,4,4,4,3,1], - [0,1,3,4,3,1,0], - [0,0,1,3,1,0,0], - [0,0,0,1,0,0,0], + [0, 1, 1, 0, 1, 1, 0], + [1, 3, 3, 1, 3, 3, 1], + [1, 3, 4, 3, 4, 3, 1], + [1, 3, 4, 4, 4, 3, 1], + [0, 1, 3, 4, 3, 1, 0], + [0, 0, 1, 3, 1, 0, 0], + [0, 0, 0, 1, 0, 0, 0], ] HEART2 = [ - [0,5,5,0,5,5,0], - [5,3,3,5,3,3,5], - [5,3,1,3,1,3,5], - [5,3,1,1,1,3,5], - [0,5,3,1,3,5,0], - [0,0,5,3,5,0,0], - [0,0,0,5,0,0,0], + [0, 5, 5, 0, 5, 5, 0], + [5, 3, 3, 5, 3, 3, 5], + [5, 3, 1, 3, 1, 3, 5], + [5, 3, 1, 1, 1, 3, 5], + [0, 5, 3, 1, 3, 5, 0], + [0, 0, 5, 3, 5, 0, 0], + [0, 0, 0, 5, 0, 0, 0], ] HIREME = [ - [1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], - [2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], - [3,3,3,0,2,0,3,3,3,0,2,3,3,0,0,3,3,0,3,0,0,2,3,3], - [4,0,4,0,4,0,4,0,0,0,4,0,4,0,0,4,0,4,0,4,0,4,0,4], - [3,0,3,0,3,0,3,0,0,0,3,3,3,0,0,3,0,3,0,3,0,3,3,3], - [2,0,2,0,2,0,2,0,0,0,2,0,0,0,0,2,0,2,0,2,0,2,0,0], - [1,0,1,0,1,0,1,0,0,0,1,1,1,0,0,1,0,1,0,1,0,1,1,1], + [1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [3, 3, 3, 0, 2, 0, 3, 3, 3, 0, 2, 3, 3, 0, 0, 3, 3, 0, 3, 0, 0, 2, 3, 3], + [4, 0, 4, 0, 4, 0, 4, 0, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 4, 0, 4, 0, 4], + [3, 0, 3, 0, 3, 0, 3, 0, 0, 0, 3, 3, 3, 0, 0, 3, 0, 3, 0, 3, 0, 3, 3, 3], + [2, 0, 2, 0, 2, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 0, 0], + [1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1], ] BEER = [ - [0,0,0,0,0,0,0,3,3,3,0,0,3,3,3,0,3,3,3,0,3,3,3,0,0], - [0,0,1,1,1,1,0,3,0,0,3,0,3,0,0,0,3,0,0,0,3,0,0,3,0], - [0,2,2,2,2,2,0,3,0,0,3,0,3,0,0,0,3,0,0,0,3,0,0,3,0], - [2,0,2,2,2,2,0,3,3,3,0,0,3,3,3,0,3,3,3,0,3,3,3,0,0], - [2,0,2,2,2,2,0,3,0,0,3,0,3,0,0,0,3,0,0,0,3,0,3,0,0], - [0,2,2,2,2,2,0,3,0,0,3,0,3,0,0,0,3,0,0,0,3,0,0,3,0], - [0,0,2,2,2,2,0,3,3,3,0,0,3,3,3,0,3,3,3,0,3,0,0,3,0], + [0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 0, 0, 3, 3, 3, 0, 3, 3, 3, 0, 3, 3, 3, 0, 0], + [0, 0, 1, 1, 1, 1, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 3, 0], + [0, 2, 2, 2, 2, 2, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 3, 0], + [2, 0, 2, 2, 2, 2, 0, 3, 3, 3, 0, 0, 3, 3, 3, 0, 3, 3, 3, 0, 3, 3, 3, 0, 0], + [2, 0, 2, 2, 2, 2, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 3, 0, 0], + [0, 2, 2, 2, 2, 2, 0, 3, 0, 0, 3, 0, 3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 3, 0], + [0, 0, 2, 2, 2, 2, 0, 3, 3, 3, 0, 0, 3, 3, 3, 0, 3, 3, 3, 0, 3, 0, 0, 3, 0], ] GLIDERS = [ - [0,0,0,4,0,4,0,0,0,0,4,0,0,0], - [0,4,0,4,0,0,4,4,0,0,0,4,0,0], - [0,0,4,4,0,4,4,0,0,4,4,4,0,0], - [0,0,0,0,0,0,0,0,0,0,0,0,0,0], - [0,4,0,4,0,0,0,4,0,0,0,0,0,0], - [0,0,4,4,0,4,0,4,0,0,0,0,0,0], - [0,0,4,0,0,0,4,4,0,0,0,0,0,0], + [0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0], + [0, 4, 0, 4, 0, 0, 4, 4, 0, 0, 0, 4, 0, 0], + [0, 0, 4, 4, 0, 4, 4, 0, 0, 4, 4, 4, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 4, 0, 4, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0], + [0, 0, 4, 4, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0], + [0, 0, 4, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0], ] HEART = [ - [0,4,4,0,4,4,0], - [4,2,2,4,2,2,4], - [4,2,2,2,2,2,4], - [4,2,2,2,2,2,4], - [0,4,2,2,2,4,0], - [0,0,4,2,4,0,0], - [0,0,0,4,0,0,0], + [0, 4, 4, 0, 4, 4, 0], + [4, 2, 2, 4, 2, 2, 4], + [4, 2, 2, 2, 2, 2, 4], + [4, 2, 2, 2, 2, 2, 4], + [0, 4, 2, 2, 2, 4, 0], + [0, 0, 4, 2, 4, 0, 0], + [0, 0, 0, 4, 0, 0, 0], ] HEART_SHINY = [ - [0,4,4,0,4,4,0], - [4,2,0,4,2,2,4], - [4,0,2,2,2,2,4], - [4,2,2,2,2,2,4], - [0,4,2,2,2,4,0], - [0,0,4,2,4,0,0], - [0,0,0,4,0,0,0], + [0, 4, 4, 0, 4, 4, 0], + [4, 2, 0, 4, 2, 2, 4], + [4, 0, 2, 2, 2, 2, 4], + [4, 2, 2, 2, 2, 2, 4], + [0, 4, 2, 2, 2, 4, 0], + [0, 0, 4, 2, 4, 0, 0], + [0, 0, 0, 4, 0, 0, 0], ] ASCII_TO_NUMBER = { - '_': 0, - '_': 1, - '~': 2, - '=': 3, - '*': 4, + "_": 0, + "_": 1, + "~": 2, + "=": 3, + "*": 4, } def str_to_sprite(content): # Break out lines and filter any excess - lines = content.split('\n') + lines = content.split("\n") + def is_empty_line(line): return len(line) != 0 + lines = filter(is_empty_line, lines) # Break up lines into each character @@ -212,7 +215,8 @@ def is_empty_line(line): return split_lines -ONEUP_STR = str_to_sprite(''' +ONEUP_STR = str_to_sprite( + """ ******* *=~~-~~=* *~~---~~* @@ -220,55 +224,57 @@ def is_empty_line(line): **-*-*-** *-----* ***** -''') +""" +) IMAGES = { - 'kitty': KITTY, - 'oneup': ONEUP, - 'oneup2': ONEUP2, - 'hackerschool': HACKERSCHOOL, - 'octocat': OCTOCAT, - 'octocat2': OCTOCAT2, - 'hello': HELLO, - 'heart1': HEART1, - 'heart2': HEART2, - 'hireme': HIREME, - 'oneup_str': ONEUP_STR, - 'beer': BEER, - 'gliders': GLIDERS, - 'heart' : HEART, - 'heart_shiny' : HEART_SHINY, + "kitty": KITTY, + "oneup": ONEUP, + "oneup2": ONEUP2, + "hackerschool": HACKERSCHOOL, + "octocat": OCTOCAT, + "octocat2": OCTOCAT2, + "hello": HELLO, + "heart1": HEART1, + "heart2": HEART2, + "hireme": HIREME, + "oneup_str": ONEUP_STR, + "beer": BEER, + "gliders": GLIDERS, + "heart": HEART, + "heart_shiny": HEART_SHINY, } SHELLS = { - 'bash': 'sh', - 'powershell': 'ps1', + "bash": "sh", + "powershell": "ps1", } + def load_images(img_names): """loads user images from given file(s)""" - if img_names[0] == '': + if img_names[0] == "": return {} for image_name in img_names: with open(image_name) as img: loaded_imgs = {} - img_list = '' - img_line = ' ' - name = img.readline().replace('\n', '') + img_list = "" + img_line = " " + name = img.readline().replace("\n", "") name = name[1:] while True: img_line = img.readline() - if img_line == '': + if img_line == "": break - img_line.replace('\n', '') - if img_line[0] == ':': + img_line.replace("\n", "") + if img_line[0] == ":": loaded_imgs[name] = json.loads(img_list) name = img_line[1:] - img_list = '' + img_list = "" else: img_list += img_line @@ -279,17 +285,17 @@ def load_images(img_names): def retrieve_contributions_calendar(username, base_url): """retrieves the GitHub commit calendar data for a username""" - base_url = base_url + 'users/' + username + base_url = base_url + "users/" + username try: - url = base_url + '/contributions' + url = base_url + "/contributions" page = urlopen(url) except (HTTPError, URLError) as e: - print('There was a problem fetching data from {0}'.format(url)) + print("There was a problem fetching data from {0}".format(url)) print(e) raise SystemExit - return page.read().decode('utf-8') + return page.read().decode("utf-8") def parse_contributions_calendar(contributions_calendar): @@ -297,8 +303,8 @@ def parse_contributions_calendar(contributions_calendar): for line in contributions_calendar.splitlines(): # a valid line looks like this: # 23 contributions on Sunday, February 26, 2023 - if 'data-date=' in line: - commit = line.split('>')[1].split()[0] # yuck + if "data-date=" in line: + commit = line.split(">")[1].split()[0] # yuck if commit.isnumeric(): yield int(commit) @@ -355,72 +361,74 @@ def generate_values_in_date_order(image, multiplier=1): def commit(commitdate, shell): template_bash = ( - '''GIT_AUTHOR_DATE={0} GIT_COMMITTER_DATE={1} ''' - '''git commit --allow-empty -m "gitfiti" > /dev/null\n''' + """GIT_AUTHOR_DATE={0} GIT_COMMITTER_DATE={1} """ + """git commit --allow-empty -m "gitfiti" > /dev/null\n""" ) - + template_powershell = ( - '''$Env:GIT_AUTHOR_DATE="{0}"\n$Env:GIT_COMMITTER_DATE="{1}"\n''' - '''git commit --allow-empty -m "gitfiti" | Out-Null\n''' + """$Env:GIT_AUTHOR_DATE="{0}"\n$Env:GIT_COMMITTER_DATE="{1}"\n""" + """git commit --allow-empty -m "gitfiti" | Out-Null\n""" ) - template = template_bash if shell == 'bash' else template_powershell + template = template_bash if shell == "bash" else template_powershell return template.format(commitdate.isoformat(), commitdate.isoformat()) def fake_it(image, start_date, username, repo, git_url, shell, offset=0, multiplier=1): template_bash = ( - '#!/usr/bin/env bash\n' - 'REPO={0}\n' - 'git init $REPO\n' - 'cd $REPO\n' - 'touch README.md\n' - 'git add README.md\n' - 'touch gitfiti\n' - 'git add gitfiti\n' - '{1}\n' - 'git branch -M main\n' - 'git remote add origin {2}:{3}/$REPO.git\n' - 'git pull origin main\n' - 'git push -u origin main\n' + "#!/usr/bin/env bash\n" + "REPO={0}\n" + "git init $REPO\n" + "cd $REPO\n" + "touch README.md\n" + "git add README.md\n" + "touch gitfiti\n" + "git add gitfiti\n" + "{1}\n" + "git branch -M main\n" + "git remote add origin {2}:{3}/$REPO.git\n" + "git pull origin main\n" + "git push -u origin main\n" ) template_powershell = ( - 'cd $PSScriptRoot\n' + "cd $PSScriptRoot\n" '$REPO="{0}"\n' - 'git init $REPO\n' - 'cd $REPO\n' - 'New-Item README.md -ItemType file | Out-Null\n' - 'git add README.md\n' - 'New-Item gitfiti -ItemType file | Out-Null\n' - 'git add gitfiti\n' - '{1}\n' - 'git branch -M main\n' - 'git remote add origin {2}:{3}/$REPO.git\n' - 'git pull origin main\n' - 'git push -u origin main\n' + "git init $REPO\n" + "cd $REPO\n" + "New-Item README.md -ItemType file | Out-Null\n" + "git add README.md\n" + "New-Item gitfiti -ItemType file | Out-Null\n" + "git add gitfiti\n" + "{1}\n" + "git branch -M main\n" + "git remote add origin {2}:{3}/$REPO.git\n" + "git pull origin main\n" + "git push -u origin main\n" ) - template = template_bash if shell == 'bash' else template_powershell + template = template_bash if shell == "bash" else template_powershell strings = [] - for value, date in zip(generate_values_in_date_order(image, multiplier), - generate_next_dates(start_date, offset)): + for value, date in zip( + generate_values_in_date_order(image, multiplier), + generate_next_dates(start_date, offset), + ): for _ in range(value): strings.append(commit(date, shell)) - return template.format(repo, ''.join(strings), git_url, username) + return template.format(repo, "".join(strings), git_url, username) def save(output, filename): """Saves the list to a given filename""" - with open(filename, 'w') as f: + with open(filename, "w") as f: f.write(output) - os.chmod(filename, 0o755) # add execute permissions + os.chmod(filename, 0o755) # add execute permissions -def request_user_input(prompt='> '): +def request_user_input(prompt="> "): """Request input from the user and return what has been entered.""" return raw_input(prompt) @@ -429,9 +437,10 @@ def main(): print(TITLE) ghe = request_user_input( - 'Enter GitHub URL (leave blank to use {}): '.format(GITHUB_BASE_URL)) + "Enter GitHub URL (leave blank to use {}): ".format(GITHUB_BASE_URL) + ) - username = request_user_input('Enter your GitHub username: ') + username = request_user_input("Enter your GitHub username: ") git_base = ghe if ghe else GITHUB_BASE_URL @@ -441,36 +450,38 @@ def main(): m = calculate_multiplier(max_daily_commits) - repo = request_user_input( - 'Enter the name of the repository to use by gitfiti: ') + repo = request_user_input("Enter the name of the repository to use by gitfiti: ") offset = request_user_input( - 'Enter the number of weeks to offset the image (from the left): ') + "Enter the number of weeks to offset the image (from the left): " + ) offset = int(offset) if offset.strip() else 0 - print(( - 'By default gitfiti.py matches the darkest pixel to the highest\n' - 'number of commits found in your GitHub commit/activity calendar,\n' - '\n' - 'Currently this is: {0} commits\n' - '\n' - 'Enter the word "gitfiti" to exceed your max\n' - '(this option generates WAY more commits)\n' - 'Any other input will cause the default matching behavior' - ).format(max_daily_commits)) + print( + ( + "By default gitfiti.py matches the darkest pixel to the highest\n" + "number of commits found in your GitHub commit/activity calendar,\n" + "\n" + "Currently this is: {0} commits\n" + "\n" + 'Enter the word "gitfiti" to exceed your max\n' + "(this option generates WAY more commits)\n" + "Any other input will cause the default matching behavior" + ).format(max_daily_commits) + ) match = request_user_input() - match = m if (match == 'gitfiti') else 1 + match = m if (match == "gitfiti") else 1 - print('Enter file(s) to load images from (blank if not applicable)') - img_names = request_user_input().split(' ') + print("Enter file(s) to load images from (blank if not applicable)") + img_names = request_user_input().split(" ") loaded_images = load_images(img_names) images = dict(IMAGES, **loaded_images) - print('Enter the image name to gitfiti') - print('Images: ' + ', '.join(images.keys())) + print("Enter the image name to gitfiti") + print("Images: " + ", ".join(images.keys())) image = request_user_input() image_name_fallback = FALLBACK_IMAGE @@ -487,23 +498,29 @@ def main(): fake_it_multiplier = m * match if not ghe: - git_url = 'git@github.com' + git_url = "git@github.com" else: - git_url = request_user_input('Enter Git URL like git@site.github.com: ') - - shell = '' - while shell not in SHELLS.keys(): + git_url = request_user_input("Enter Git URL like git@site.github.com: ") + + shell = "" + while shell not in SHELLS.keys(): shell = request_user_input( - 'Enter the target shell ({}): '.format(' or '.join(SHELLS.keys()))) + "Enter the target shell ({}): ".format(" or ".join(SHELLS.keys())) + ) - output = fake_it(image, start_date, username, repo, git_url, shell, offset, - fake_it_multiplier) + output = fake_it( + image, start_date, username, repo, git_url, shell, offset, fake_it_multiplier + ) - output_filename = 'gitfiti.{}'.format(SHELLS[shell]) + output_filename = "gitfiti.{}".format(SHELLS[shell]) save(output, output_filename) - print('{} saved.'.format(output_filename)) - print('Create a new(!) repo named {0} at {1} and run the script'.format(repo, git_base)) + print("{} saved.".format(output_filename)) + print( + "Create a new(!) repo named {0} at {1} and run the script".format( + repo, git_base + ) + ) -if __name__ == '__main__': +if __name__ == "__main__": main() From 41d7af38641acd4db5e321cfd6db4169059f3202 Mon Sep 17 00:00:00 2001 From: i-infra <77526490+i-infra@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:54:50 -0500 Subject: [PATCH 2/5] pre-render result, add codepaths to accept 'string' for image and then prompt for ascii input --- gitfiti.py | 104 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 97 insertions(+), 7 deletions(-) diff --git a/gitfiti.py b/gitfiti.py index 18814a4ec7..c020c70feb 100755 --- a/gitfiti.py +++ b/gitfiti.py @@ -40,7 +40,7 @@ ____ _(_) /_/ __(_) /_(_) / __ `/ / __/ /_/ / __/ / / /_/ / / /_/ __/ / /_/ / - \__, /_/\__/_/ /_/\__/_/ + \\__, /_/\\__/_/ /_/\\__/_/ /____/ """ @@ -246,6 +246,42 @@ def is_empty_line(line): "heart_shiny": HEART_SHINY, } +import json + + +def string_to_gitfiti(text): + """ + Convert a string to a gitfiti-compatible image by concatenating letter patterns horizontally. + Returns a list of lists representing the image, compatible with gitfiti's format. + """ + # Load the font data + with open("font_gitfiti.json", "r") as f: + font = json.load(f) + + # Initialize variables + height = 7 # Standard height for our font + result = [[] for _ in range(height)] # Initialize empty rows + + # Process each character in the input string + for char in text: + # Get the character pattern, defaulting to space if character not found + pattern = font.get(char, font[" "]) + + # For each row in the pattern + for row_idx in range(height): + # Add the pattern row to our result + # If the pattern has fewer than 7 rows, pad with empty space + if row_idx < len(pattern): + result[row_idx].extend(pattern[row_idx]) + else: + result[row_idx].extend([0, 0, 0, 0, 0]) + + # Add a space between characters (1 pixel wide) + result[row_idx].append(0) + + return result + + SHELLS = { "bash": "sh", "powershell": "ps1", @@ -433,6 +469,27 @@ def request_user_input(prompt="> "): return raw_input(prompt) +def render_image_to_terminal(image): + """Renders a gitfiti image to the terminal using Unicode block characters. + Each pixel value (0-4) is mapped to a different density block character. + + Args: + image: A list of lists representing the image in gitfiti format + where each value is 0-4 indicating intensity + """ + # Unicode block elements from empty to full + blocks = " ░▒▓█" + + # Print each row + for row in image: + line = "" + for pixel in row: + # Clamp value to valid range and convert to block character + value = max(0, min(4, pixel)) + line += blocks[value] + print(line) + + def main(): print(TITLE) @@ -470,30 +527,30 @@ def main(): "Any other input will cause the default matching behavior" ).format(max_daily_commits) ) + match = request_user_input() match = m if (match == "gitfiti") else 1 - print("Enter file(s) to load images from (blank if not applicable)") img_names = request_user_input().split(" ") loaded_images = load_images(img_names) images = dict(IMAGES, **loaded_images) - - print("Enter the image name to gitfiti") + print('Enter the image name to gitfiti (or "string" for input)') print("Images: " + ", ".join(images.keys())) image = request_user_input() image_name_fallback = FALLBACK_IMAGE - - if not image: + if image == "string": + image = string_to_gitfiti(request_user_input("string> ")) + elif not image: image = IMAGES[image_name_fallback] else: try: image = images[image] except: image = IMAGES[image_name_fallback] - + render_image_to_terminal(image) start_date = get_start_date() fake_it_multiplier = m * match @@ -522,5 +579,38 @@ def main(): ) +def string_to_gitfiti(text): + """ + Convert a string to a gitfiti-compatible image by concatenating letter patterns horizontally. + Returns a list of lists representing the image, compatible with gitfiti's format. + """ + # Load the font data + with open("font_gitfiti.json", "r") as f: + font = json.load(f) + + # Initialize variables + height = 7 # Standard height for our font + result = [[] for _ in range(height)] # Initialize empty rows + + # Process each character in the input string + for char in text: + # Get the character pattern, defaulting to space if character not found + pattern = font.get(char, font[" "]) + + # For each row in the pattern + for row_idx in range(height): + # Add the pattern row to our result + # If the pattern has fewer than 7 rows, pad with empty space + if row_idx < len(pattern): + result[row_idx].extend(pattern[row_idx]) + else: + result[row_idx].extend([0, 0, 0, 0, 0]) + + # Add a space between characters (1 pixel wide) + result[row_idx].append(0) + + return result + + if __name__ == "__main__": main() From a118ca227de142f261c3fcf0cf61e6720c87df19 Mon Sep 17 00:00:00 2001 From: i-infra <77526490+i-infra@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:58:20 -0500 Subject: [PATCH 3/5] update LICENSE, README, add artifact --- LICENSE.txt | 4 +++- README.md | 8 ++++---- font_gitfiti.json | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 font_gitfiti.json diff --git a/LICENSE.txt b/LICENSE.txt index 9407f6ca08..f2a910e637 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,8 @@ The MIT License (MIT) Copyright (c) 2013 Eric Romano (@gelstudios). +Copyright (c) 2020 Petabyte (@petabyt) +Copyright (c) 2024 i-infra (@i-infra) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +20,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE \ No newline at end of file +SOFTWARE diff --git a/README.md b/README.md index 1daa6f4adb..ede339222e 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ [![Build Status](https://travis-ci.org/gelstudios/gitfiti.svg?branch=master)](https://travis-ci.org/gelstudios/gitfiti) -**gitfiti** _noun_ : Carefully crafted graffiti in a github commit history calendar. +**gitfiti** _noun_ : Carefully crafted graffiti in a github commit history calendar. -An example of gitfiti in the wild: +An example of gitfiti in the wild: ![screenshot of gitfiti](https://raw.github.com/gelstudios/gitfiti/master/gitfiti-screenshot.png "screenshot") `gitfiti.py` is a tool to decorate your github account's commit history calendar by (blatantly) abusing git's ability to accept commits _in the past_. @@ -13,7 +13,7 @@ Since this is likely to clobber repo's history, it is highly recommend that you ### Pixel Art -![pixel art examples](https://raw.github.com/gelstudios/gitfiti/master/pixels-large.png "pixel art") +![pixel art examples](https://raw.github.com/gelstudios/gitfiti/master/pixels-large.png "pixel art") Included "art" from left to right: kitty, oneup, oneup2, hackerschool, octocat, octocat2 ### Usage @@ -96,7 +96,7 @@ gitfiti is released under [The MIT license (MIT)](http://opensource.org/licenses - ~~Web interface~~ See several web-based things below - ~~Load "art" from a file~~ [_thanks empathetic-alligator_](https://github.com/empathetic-alligator) - Load commit content from a file -- Text/alphabet option +- ~~Text/alphabet option!~~ - ~~powershell support!~~ [_thanks axzn_](https://github.com/axzn) - ... - Profit? diff --git a/font_gitfiti.json b/font_gitfiti.json new file mode 100644 index 0000000000..5b153d9daa --- /dev/null +++ b/font_gitfiti.json @@ -0,0 +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]], "A": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "B": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "C": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 4, 4, 4]], "D": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "E": [[4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "F": [[4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "G": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4]], "H": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "I": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "J": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "K": [[4, 0, 0, 0, 4], [4, 0, 0, 4, 0], [4, 0, 4, 0, 0], [4, 4, 0, 0, 0], [4, 0, 4, 0, 0], [4, 0, 0, 4, 0], [4, 0, 0, 0, 4]], "L": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "M": [[4, 0, 0, 0, 4], [4, 4, 0, 4, 4], [4, 0, 4, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "N": [[4, 0, 0, 0, 4], [4, 4, 0, 0, 4], [4, 0, 4, 0, 4], [4, 0, 0, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "O": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "P": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "Q": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 4, 4], [0, 4, 4, 4, 4]], "R": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "S": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "T": [[4, 4, 4, 4, 4], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0]], "U": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "V": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0]], "W": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 4, 0, 4], [4, 4, 0, 4, 4], [4, 0, 0, 0, 4]], "X": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "Y": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0]], "Z": [[4, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "a": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 4, 4, 4, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4]], "b": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "c": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "d": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4]], "e": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [0, 4, 4, 4, 4]], "f": [[0, 0, 4, 4, 0], [0, 4, 0, 0, 4], [0, 4, 0, 0, 0], [4, 4, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "g": [[0, 0, 0, 0, 0], [0, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "h": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "i": [[4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "j": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 0], [0, 0, 0, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "k": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 4, 0], [4, 4, 4, 0, 0], [4, 0, 0, 4, 0], [4, 0, 0, 0, 4]], "l": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 0, 0, 0]], "m": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4]], "n": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "o": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "p": [[0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 4, 0, 0, 4], [0, 4, 0, 0, 4], [0, 4, 4, 4, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "q": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 4, 4, 4], [0, 4, 0, 0, 4], [0, 0, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4]], "r": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 4, 4, 4], [4, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "s": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "t": [[0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 4, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 4, 0]], "u": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "v": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0]], "w": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4], [0, 4, 0, 4, 0]], "x": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 4, 0], [4, 0, 0, 0, 4]], "y": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "z": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 4, 4, 4, 4]], "0": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 4, 4], [4, 0, 4, 0, 4], [4, 4, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "1": [[4, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "2": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 4, 4, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "3": [[4, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "4": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4]], "5": [[4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "6": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "7": [[4, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 4, 4, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "8": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "9": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "!": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 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], [4, 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, 4, 0, 0], [0, 4, 0, 0, 0]], "?": [[0, 4, 4, 0, 0], [4, 0, 0, 4, 0], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "%": [[0, 0, 0, 0, 0], [0, 4, 0, 4, 0], [0, 4, 0, 4, 0], [0, 0, 0, 0, 0], [0, 0, 4, 0, 0], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 4, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 4, 0], [4, 0, 0, 0, 0]], "#": [[0, 4, 0, 4, 0], [0, 4, 0, 4, 0], [4, 4, 4, 4, 4], [0, 4, 0, 4, 0], [4, 4, 4, 4, 4], [0, 4, 0, 4, 0], [0, 4, 0, 4, 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], [4, 4, 4, 4, 4]], "-": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 4], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], ";": [[0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "`": [[0, 4, 0, 0, 0], [0, 4, 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], [4, 4, 4, 4, 4], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 4], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], ":": [[0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "<": [[0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 0, 4, 0]], ">": [[0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 0, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0]], "~": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 4, 0, 4], [0, 4, 0, 4, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "*": [[0, 0, 4, 0, 0], [0, 4, 4, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 4, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "/": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0]], "\\": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "\"": [[4, 0, 4, 0, 0], [4, 0, 4, 0, 0], [4, 0, 4, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "(": [[0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0]], ")": [[4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0]], "}": [[4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0]], "{": [[0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0]], "+": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [4, 4, 4, 4, 4], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0]], "LICENSE": "MIT", "UPSTREAM": "https://github.com/petabyt/font/tree/473996bcdb2f240caf3eea5169bb45225662251c", "WIDTH": 5, "HEIGHT": 7} From ec4128d44ca99c49b45bbac26cb6c8668dff65de Mon Sep 17 00:00:00 2001 From: i-infra <77526490+i-infra@users.noreply.github.com> Date: Wed, 4 Dec 2024 20:02:50 -0500 Subject: [PATCH 4/5] remove extra line --- gitfiti.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/gitfiti.py b/gitfiti.py index c020c70feb..2dc17a94ac 100755 --- a/gitfiti.py +++ b/gitfiti.py @@ -246,8 +246,6 @@ def is_empty_line(line): "heart_shiny": HEART_SHINY, } -import json - def string_to_gitfiti(text): """ From 93ab8b945831a40ffa02073e779bcf1e3894694d Mon Sep 17 00:00:00 2001 From: i-infra <77526490+i-infra@users.noreply.github.com> Date: Wed, 4 Dec 2024 20:33:40 -0500 Subject: [PATCH 5/5] move font json to space-indented, manually change formatting of 'I' --- font_gitfiti.json | 4493 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 4492 insertions(+), 1 deletion(-) diff --git a/font_gitfiti.json b/font_gitfiti.json index 5b153d9daa..4d8ec8acec 100644 --- a/font_gitfiti.json +++ b/font_gitfiti.json @@ -1 +1,4492 @@ -{" ": [[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]], "A": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "B": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "C": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 4, 4, 4]], "D": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "E": [[4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "F": [[4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "G": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4]], "H": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "I": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "J": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "K": [[4, 0, 0, 0, 4], [4, 0, 0, 4, 0], [4, 0, 4, 0, 0], [4, 4, 0, 0, 0], [4, 0, 4, 0, 0], [4, 0, 0, 4, 0], [4, 0, 0, 0, 4]], "L": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "M": [[4, 0, 0, 0, 4], [4, 4, 0, 4, 4], [4, 0, 4, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "N": [[4, 0, 0, 0, 4], [4, 4, 0, 0, 4], [4, 0, 4, 0, 4], [4, 0, 0, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "O": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "P": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "Q": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 4, 4], [0, 4, 4, 4, 4]], "R": [[4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "S": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "T": [[4, 4, 4, 4, 4], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0]], "U": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "V": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0]], "W": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 4, 0, 4], [4, 4, 0, 4, 4], [4, 0, 0, 0, 4]], "X": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "Y": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0]], "Z": [[4, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "a": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 4, 4, 4, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4]], "b": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "c": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "d": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4]], "e": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [0, 4, 4, 4, 4]], "f": [[0, 0, 4, 4, 0], [0, 4, 0, 0, 4], [0, 4, 0, 0, 0], [4, 4, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "g": [[0, 0, 0, 0, 0], [0, 4, 4, 4, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "h": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "i": [[4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "j": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 0], [0, 0, 0, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "k": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 4, 0], [4, 4, 4, 0, 0], [4, 0, 0, 4, 0], [4, 0, 0, 0, 4]], "l": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 0, 0, 0]], "m": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4]], "n": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4]], "o": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "p": [[0, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 4, 0, 0, 4], [0, 4, 0, 0, 4], [0, 4, 4, 4, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "q": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 4, 4, 4], [0, 4, 0, 0, 4], [0, 0, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4]], "r": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 4, 4, 4], [4, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0]], "s": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "t": [[0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 4, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 4, 0]], "u": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "v": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0]], "w": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 4, 0, 4], [4, 0, 4, 0, 4], [0, 4, 0, 4, 0]], "x": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [0, 4, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 4, 0], [4, 0, 0, 0, 4]], "y": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "z": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 4, 4, 4, 4]], "0": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 4, 4], [4, 0, 4, 0, 4], [4, 4, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "1": [[4, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "2": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 4, 4, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 4]], "3": [[4, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "4": [[4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [4, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4]], "5": [[4, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [4, 4, 4, 4, 0]], "6": [[0, 4, 4, 4, 4], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "7": [[4, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 4, 4, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0]], "8": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "9": [[0, 4, 4, 4, 0], [4, 0, 0, 0, 4], [4, 0, 0, 0, 4], [0, 4, 4, 4, 4], [0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 4, 4, 4, 0]], "!": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 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], [4, 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, 4, 0, 0], [0, 4, 0, 0, 0]], "?": [[0, 4, 4, 0, 0], [4, 0, 0, 4, 0], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0]], "%": [[0, 0, 0, 0, 0], [0, 4, 0, 4, 0], [0, 4, 0, 4, 0], [0, 0, 0, 0, 0], [0, 0, 4, 0, 0], [4, 0, 0, 0, 4], [0, 4, 4, 4, 0], [0, 0, 0, 0, 4], [0, 4, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 4, 0], [4, 0, 0, 0, 0]], "#": [[0, 4, 0, 4, 0], [0, 4, 0, 4, 0], [4, 4, 4, 4, 4], [0, 4, 0, 4, 0], [4, 4, 4, 4, 4], [0, 4, 0, 4, 0], [0, 4, 0, 4, 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], [4, 4, 4, 4, 4]], "-": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 4], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], ";": [[0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "`": [[0, 4, 0, 0, 0], [0, 4, 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], [4, 4, 4, 4, 4], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 4, 4, 4, 4], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], ":": [[0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "<": [[0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 0, 4, 0]], ">": [[0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 0, 4, 0], [0, 0, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0]], "~": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [4, 0, 4, 0, 4], [0, 4, 0, 4, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "*": [[0, 0, 4, 0, 0], [0, 4, 4, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 4, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "/": [[0, 0, 0, 0, 4], [0, 0, 0, 0, 4], [0, 0, 0, 4, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0]], "\\": [[4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "\"": [[4, 0, 4, 0, 0], [4, 0, 4, 0, 0], [4, 0, 4, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], "(": [[0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0]], ")": [[4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0]], "}": [[4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0]], "{": [[0, 0, 4, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [4, 0, 0, 0, 0], [0, 4, 0, 0, 0], [0, 4, 0, 0, 0], [0, 0, 4, 0, 0]], "+": [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0], [4, 4, 4, 4, 4], [0, 0, 4, 0, 0], [0, 0, 4, 0, 0]], "LICENSE": "MIT", "UPSTREAM": "https://github.com/petabyt/font/tree/473996bcdb2f240caf3eea5169bb45225662251c", "WIDTH": 5, "HEIGHT": 7} +{ + " ": [ + [ + 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 + ] + ], + "A": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "B": [ + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "C": [ + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 4 + ] + ], + "D": [ + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "E": [ + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "F": [ + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "G": [ + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ] + ], + "H": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "I": [ + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "J": [ + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "K": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 4, + 0 + ], + [ + 4, + 0, + 4, + 0, + 0 + ], + [ + 4, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 4, + 0, + 0 + ], + [ + 4, + 0, + 0, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "L": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "M": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 0, + 4, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "N": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 0, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 0, + 0, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "O": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "P": [ + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "Q": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 4, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ] + ], + "R": [ + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "S": [ + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "T": [ + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + "U": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "V": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + "W": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 4, + 0, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "X": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "Y": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + "Z": [ + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "a": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ] + ], + "b": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "c": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "d": [ + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ] + ], + "e": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 4 + ] + ], + "f": [ + [ + 0, + 0, + 4, + 4, + 0 + ], + [ + 0, + 4, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "g": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "h": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "i": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "j": [ + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "k": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 4, + 0 + ], + [ + 4, + 4, + 4, + 0, + 0 + ], + [ + 4, + 0, + 0, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "l": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 0, + 0, + 0 + ] + ], + "m": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ] + ], + "n": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "o": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "p": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 4, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "q": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 4, + 4 + ], + [ + 0, + 4, + 0, + 0, + 4 + ], + [ + 0, + 0, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ] + ], + "r": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 4, + 4, + 4 + ], + [ + 4, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "s": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "t": [ + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 4, + 0 + ] + ], + "u": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "v": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + "w": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ] + ], + "x": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ] + ], + "y": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "z": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "0": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 4, + 4 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 4, + 4, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "1": [ + [ + 4, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "2": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 4, + 4, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "3": [ + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "4": [ + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ] + ], + "5": [ + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 4, + 4, + 4, + 4, + 0 + ] + ], + "6": [ + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "7": [ + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 4, + 4, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "8": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "9": [ + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ] + ], + "!": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 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 + ], + [ + 4, + 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, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "?": [ + [ + 0, + 4, + 4, + 0, + 0 + ], + [ + 4, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "%": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 4, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 4, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "#": [ + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 4, + 0, + 4, + 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 + ], + [ + 4, + 4, + 4, + 4, + 4 + ] + ], + "-": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + ";": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + "`": [ + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 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 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + ":": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + "<": [ + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 0, + 4, + 0 + ] + ], + ">": [ + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ] + ], + "~": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 4, + 0, + 4 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + "*": [ + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 4, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 4, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + "/": [ + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 0, + 4 + ], + [ + 0, + 0, + 0, + 4, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "\\": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + "\"": [ + [ + 4, + 0, + 4, + 0, + 0 + ], + [ + 4, + 0, + 4, + 0, + 0 + ], + [ + 4, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ] + ], + "(": [ + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + ")": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "}": [ + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ] + ], + "{": [ + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 4, + 0, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 4, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + "+": [ + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 0, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 4, + 4, + 4, + 4, + 4 + ], + [ + 0, + 0, + 4, + 0, + 0 + ], + [ + 0, + 0, + 4, + 0, + 0 + ] + ], + "LICENSE": "MIT", + "UPSTREAM": "https://github.com/petabyt/font/tree/473996bcdb2f240caf3eea5169bb45225662251c", + "WIDTH": 5, + "HEIGHT": 7 +}