|
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
|
|
# MIT License
|
|
|
|
|
#
|
|
|
|
|
# Copyright (c) 2021 Eugenio Parodi <ceccopierangiolieugenio AT googlemail DOT com>
|
|
|
|
|
#
|
|
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
|
|
|
# in the Software without restriction, including without limitation the rights
|
|
|
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
|
|
|
# furnished to do so, subject to the following conditions:
|
|
|
|
|
#
|
|
|
|
|
# The above copyright notice and this permission notice shall be included in all
|
|
|
|
|
# copies or substantial portions of the Software.
|
|
|
|
|
#
|
|
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
|
# 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.
|
|
|
|
|
|
|
|
|
|
# The 5x5 font mapping is freely adapted from:
|
|
|
|
|
# https://github.com/marekmaskarinec/minifont
|
|
|
|
|
|
|
|
|
|
fontMap = {
|
|
|
|
|
' ': [
|
|
|
|
|
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,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'\'': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
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,1,0,1,0,0,
|
|
|
|
|
0,1,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,1,0,1,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,1,0,1,0,0, ],
|
|
|
|
|
'$': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,1,0,
|
|
|
|
|
1,0,1,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,0,1,0,1,0,
|
|
|
|
|
1,1,1,1,0,0, ],
|
|
|
|
|
'%': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,0,0,1,0,
|
|
|
|
|
1,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,1,1,0,
|
|
|
|
|
1,0,0,1,1,0, ],
|
|
|
|
|
'&': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,1,0,1,0, ],
|
|
|
|
|
'(': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,1,0,0, ],
|
|
|
|
|
')': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'*': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,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,1,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
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,1,0,0,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,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,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'/': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,1,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0, ],
|
|
|
|
|
'0': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,1,0, ],
|
|
|
|
|
'1': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'2': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0, ],
|
|
|
|
|
'3': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,1,1,0,0,0, ],
|
|
|
|
|
'4': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'5': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
0,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0, ],
|
|
|
|
|
'6': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'7': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0, ],
|
|
|
|
|
'8': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'9': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,1,0,
|
|
|
|
|
0,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
':': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
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,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'<': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,1,1,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,0,0,1,1,0, ],
|
|
|
|
|
'=': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,0,0,0,0,0, ],
|
|
|
|
|
'>': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,0,0,0,1,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
1,1,0,0,0,0, ],
|
|
|
|
|
'?': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'@': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
1,0,1,1,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0, ],
|
|
|
|
|
'A': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0, ],
|
|
|
|
|
'B': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0, ],
|
|
|
|
|
'C': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,1,0, ],
|
|
|
|
|
'D': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0, ],
|
|
|
|
|
'E': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0, ],
|
|
|
|
|
'F': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0, ],
|
|
|
|
|
'G': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,1,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,1,0, ],
|
|
|
|
|
'H': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0, ],
|
|
|
|
|
'I': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'J': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,1,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,1,1,0,0,0, ],
|
|
|
|
|
'K': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
1,0,1,0,0,0,
|
|
|
|
|
1,1,0,0,0,0,
|
|
|
|
|
1,0,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0, ],
|
|
|
|
|
'L': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0, ],
|
|
|
|
|
'M': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,0,1,1,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0, ],
|
|
|
|
|
'N': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,0,0,1,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
1,0,0,1,1,0,
|
|
|
|
|
1,0,0,0,1,0, ],
|
|
|
|
|
'O': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'P': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0, ],
|
|
|
|
|
'Q': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,1,1,0,1,0, ],
|
|
|
|
|
'R': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0, ],
|
|
|
|
|
'S': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,1,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,0,0,0,1,0,
|
|
|
|
|
1,1,1,1,0,0, ],
|
|
|
|
|
'T': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'U': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'V': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'W': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'X': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
1,0,0,0,1,0, ],
|
|
|
|
|
'Y': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'Z': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0, ],
|
|
|
|
|
'[': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,1,0,0, ],
|
|
|
|
|
'\\': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,0,0,1,0, ],
|
|
|
|
|
']': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,1,0,0,0, ],
|
|
|
|
|
'^': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,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,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,1,1,0, ],
|
|
|
|
|
'`': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0, ],
|
|
|
|
|
'a': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,1,1,0,1,0, ],
|
|
|
|
|
'b': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,1,0,0,1,0,
|
|
|
|
|
0,1,0,0,1,0,
|
|
|
|
|
0,0,1,1,0,0, ],
|
|
|
|
|
'c': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0, ],
|
|
|
|
|
'd': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
0,1,1,0,0,0, ],
|
|
|
|
|
'e': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
1,1,1,1,0,0,
|
|
|
|
|
1,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0, ],
|
|
|
|
|
'f': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'g': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'h': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,1,0,0,1,0,
|
|
|
|
|
0,1,0,0,1,0, ],
|
|
|
|
|
'i': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'j': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'k': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,1,0,1,0,0, ],
|
|
|
|
|
'l': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'm': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,0,1,0,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,0,0,1,0, ],
|
|
|
|
|
'n': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,1,1,0,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
1,0,0,1,0,0,
|
|
|
|
|
1,0,0,1,0,0, ],
|
|
|
|
|
'o': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,0,1,0,
|
|
|
|
|
0,1,0,0,1,0,
|
|
|
|
|
0,0,1,1,0,0, ],
|
|
|
|
|
'p': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'q': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,0,0,1,0,0, ],
|
|
|
|
|
'r': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
's': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
't': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,0,1,1,0,0, ],
|
|
|
|
|
'u': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'v': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0, ],
|
|
|
|
|
'w': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
1,0,0,0,1,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'x': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,1,0,0, ],
|
|
|
|
|
'y': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,1,0,1,0,0,
|
|
|
|
|
0,0,1,0,0,0,
|
|
|
|
|
0,1,0,0,0,0, ],
|
|
|
|
|
'z': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,1,1,0,0,
|
|
|
|
|
0,0,1,1,0,0,
|
|
|
|
|
0,1,1,0,0,0,
|
|
|
|
|
0,1,1,1,0,0, ],
|
|
|
|
|
'~': [
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,0,0,0,0,0,
|
|
|
|
|
0,1,0,0,0,0,
|
|
|
|
|
1,0,1,0,1,0,
|
|
|
|
|
0,0,0,1,0,0,
|
|
|
|
|
0,0,0,0,0,0, ],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def chFromBitMap(a,b,c,d):
|
|
|
|
|
# 0x00 0x01 0x02 0x03
|
|
|
|
|
quad = [ ' ', '▘', '▝', '▀',
|
|
|
|
|
# 0x04 0x05 0x06 0x07
|
|
|
|
|
'▖', '▌', '▞', '▛',
|
|
|
|
|
# 0x08 0x09 0x0A 0x0B
|
|
|
|
|
'▗', '▚', '▐', '▜',
|
|
|
|
|
# 0x0C 0x0D 0x0E 0x0F
|
|
|
|
|
'▄', '▙', '▟', '█']
|
|
|
|
|
return quad[0x01*a+0x02*b+0x04*c+0x08*d]
|
|
|
|
|
|
|
|
|
|
print("fontMap = {")
|
|
|
|
|
for f in fontMap:
|
|
|
|
|
if f == '\'' or f == '\\':
|
|
|
|
|
print (f" '\\{f}':[")
|
|
|
|
|
else:
|
|
|
|
|
print (f" '{f}':[")
|
|
|
|
|
for y in range(3):
|
|
|
|
|
print(' "', end='')
|
|
|
|
|
for x in range(3):
|
|
|
|
|
a = fontMap[f][y*12 + x*2]
|
|
|
|
|
b = fontMap[f][y*12 + x*2+1]
|
|
|
|
|
c = fontMap[f][y*12+6 + x*2]
|
|
|
|
|
d = fontMap[f][y*12+6 + x*2+1]
|
|
|
|
|
ch = chFromBitMap(a,b,c,d)
|
|
|
|
|
#print(f"'{ch}',", end='')
|
|
|
|
|
print(f"{ch}", end='')
|
|
|
|
|
print('",')
|
|
|
|
|
print(' ],')
|
|
|
|
|
print("}")
|