8.2.34 | Linux | www-data (uid:33)
๐Ÿ‘ View: font.py
๐Ÿ“ /snap/core20/2922/lib/python3/dist-packages/urwid/font.py
#!/usr/bin/python # -*- coding: utf-8 -*- # # Urwid BigText fonts # Copyright (C) 2004-2006 Ian Ward # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Urwid web site: http://excess.org/urwid/ from __future__ import division, print_function from urwid.escape import SAFE_ASCII_DEC_SPECIAL_RE from urwid.util import apply_target_encoding, str_util from urwid.canvas import TextCanvas from urwid.compat import text_type def separate_glyphs(gdata, height): """return (dictionary of glyphs, utf8 required)""" gl = gdata.split("\n") del gl[0] del gl[-1] for g in gl: assert "\t" not in g assert len(gl) == height+1, repr(gdata) key_line = gl[0] del gl[0] c = None # current character key_index = 0 # index into character key line end_col = 0 # column position at end of glyph start_col = 0 # column position at start of glyph jl = [0]*height # indexes into lines of gdata (gl) dout = {} utf8_required = False while True: if c is None: if key_index >= len(key_line): break c = key_line[key_index] if key_index < len(key_line) and key_line[key_index] == c: end_col += str_util.get_width(ord(c)) key_index += 1 continue out = [] for k in range(height): l = gl[k] j = jl[k] y = 0 fill = 0 while y < end_col - start_col: if j >= len(l): fill = end_col - start_col - y break y += str_util.get_width(ord(l[j])) j += 1 assert y + fill == end_col - start_col, \ repr((y, fill, end_col)) segment = l[jl[k]:j] if not SAFE_ASCII_DEC_SPECIAL_RE.match(segment): utf8_required = True out.append(segment + " " * fill) jl[k] = j start_col = end_col dout[c] = (y + fill, out) c = None return dout, utf8_required _all_fonts = [] def get_all_fonts(): """ Return a list of (font name, font class) tuples. """ return _all_fonts[:] def add_font(name, cls): _all_fonts.append((name, cls)) class Font(object): def __init__(self): assert self.height assert self.data self.char = {} self.canvas = {} self.utf8_required = False data = [self._to_text(block) for block in self.data] for gdata in data: self.add_glyphs(gdata) @staticmethod def _to_text(obj, encoding='utf-8', errors='strict'): if isinstance(obj, text_type): return obj elif isinstance(obj, bytes): return obj.decode(encoding, errors) def add_glyphs(self, gdata): d, utf8_required = separate_glyphs(gdata, self.height) self.char.update(d) self.utf8_required |= utf8_required def characters(self): l = list(self.char.keys()) l.sort() return "".join(l) def char_width(self, c): if c in self.char: return self.char[c][0] return 0 def char_data(self, c): return self.char[c][1] def render(self, c): if c in self.canvas: return self.canvas[c] width, l = self.char[c] tl = [] csl = [] for d in l: t, cs = apply_target_encoding(d) tl.append(t) csl.append(cs) canv = TextCanvas(tl, None, csl, maxcol=width, check_width=False) self.canvas[c] = canv return canv #safe_palette = u"โ”˜โ”โ”Œโ””โ”ผโ”€โ”œโ”คโ”ดโ”ฌโ”‚" #more_palette = u"โ•โ•‘โ•’โ•“โ•”โ••โ•–โ•—โ•˜โ•™โ•šโ•›โ•œโ•โ•žโ•Ÿโ• โ•กโ•ขโ•ฃโ•คโ•ฅโ•ฆโ•งโ•จโ•ฉโ•ชโ•ซโ•ฌโ—‹" #block_palette = u"โ–„#โ–ˆ#โ–€#โ–Œ#โ–#โ––#โ–—#โ–˜#โ–™#โ–š#โ–›#โ–œ#โ–#โ–ž#โ–Ÿ" class Thin3x3Font(Font): height = 3 data = [u""" 000111222333444555666777888999 ! โ”Œโ”€โ” โ” โ”Œโ”€โ”โ”Œโ”€โ” โ”โ”Œโ”€ โ”Œโ”€ โ”Œโ”€โ”โ”Œโ”€โ”โ”Œโ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”˜ โ”€โ”คโ””โ”€โ”ผโ””โ”€โ”โ”œโ”€โ” โ”ผโ”œโ”€โ”คโ””โ”€โ”ค โ”‚ โ””โ”€โ”˜ โ”ด โ””โ”€ โ””โ”€โ”˜ โ”ด โ”€โ”˜โ””โ”€โ”˜ โ”ดโ””โ”€โ”˜ โ”€โ”˜ . """, r""" "###$$$%%%'*++,--.///:;==???[[\\\]]^__` " โ”ผโ”ผโ”Œโ”ผโ”O /' /.. _โ”Œโ”€โ”โ”Œ \ โ”^ ` โ”ผโ”ผโ””โ”ผโ” / * โ”ผ โ”€ / ., _ โ”Œโ”˜โ”‚ \ โ”‚ โ””โ”ผโ”˜/ O , ./ . โ”” \ โ”˜ โ”€โ”€ """] add_font("Thin 3x3",Thin3x3Font) class Thin4x3Font(Font): height = 3 data = Thin3x3Font.data + [u""" 0000111122223333444455556666777788889999 ####$$$$ โ”Œโ”€โ”€โ” โ” โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ” โ”โ”Œโ”€โ”€ โ”Œโ”€โ”€ โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ”โ”Œโ”€โ”€โ” โ”ผโ”€โ”ผโ”Œโ”ผโ”ผโ” โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”˜ โ”€โ”คโ””โ”€โ”€โ”ผโ””โ”€โ”€โ”โ”œโ”€โ”€โ” โ”ผโ”œโ”€โ”€โ”คโ””โ”€โ”€โ”ค โ”ผโ”€โ”ผโ””โ”ผโ”ผโ” โ””โ”€โ”€โ”˜ โ”ด โ””โ”€โ”€ โ””โ”€โ”€โ”˜ โ”ด โ”€โ”€โ”˜โ””โ”€โ”€โ”˜ โ”ดโ””โ”€โ”€โ”˜ โ”€โ”€โ”˜ โ””โ”ผโ”ผโ”˜ """] add_font("Thin 4x3",Thin4x3Font) class HalfBlock5x4Font(Font): height = 4 data = [u""" 00000111112222233333444445555566666777778888899999 !! โ–„โ–€โ–€โ–„ โ–„โ–ˆ โ–„โ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–„ โ–ˆ โ–ˆโ–€โ–€โ–€ โ–„โ–€โ–€ โ–€โ–€โ–€โ–ˆ โ–„โ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„โ–€ โ–„โ–€ โ–ˆโ–„โ–„โ–ˆ โ–ˆโ–„โ–„ โ–ˆโ–„โ–„ โ–โ–Œ โ–€โ–„โ–„โ–€ โ–€โ–„โ–„โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„โ–€ โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–€ โ–€โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€โ–€ โ–€โ–€ โ–€ โ–€โ–€โ–€ โ–€โ–€ โ–€ โ–€โ–€ โ–€โ–€ โ–€ """, u''' """######$$$$$$%%%%%&&&&&((()))******++++++,,,-----..////:::;; โ–ˆโ–โ–Œ โ–ˆ โ–ˆ โ–„โ–€โ–ˆโ–€โ–„ โ–โ–Œโ–โ–Œ โ–„โ–€โ–„ โ–ˆ โ–ˆ โ–„ โ–„ โ–„ โ–โ–Œ โ–€โ–ˆโ–€โ–ˆโ–€ โ–€โ–„โ–ˆโ–„ โ–ˆ โ–€โ–„โ–€ โ–โ–Œ โ–โ–Œ โ–„โ–„โ–ˆโ–„โ–„ โ–„โ–„โ–ˆโ–„โ–„ โ–„โ–„โ–„โ–„ โ–ˆ โ–€ โ–€ โ–€โ–ˆโ–€โ–ˆโ–€ โ–„ โ–ˆ โ–ˆ โ–โ–Œโ–„ โ–ˆ โ–€โ–„โ–Œโ–โ–Œ โ–โ–Œ โ–„โ–€โ–„ โ–ˆ โ–โ–Œ โ–€ โ–„โ–€ โ–€ โ–€ โ–€โ–€โ–€ โ–€ โ–€ โ–€โ–€ โ–€ โ–€ โ–„โ–€ โ–€ โ–€ ''', r""" <<<<<=====>>>>>?????@@@@@@[[[[\\\\]]]]^^^^____```{{{{||}}}}~~~~''ยดยดยด โ–„โ–€ โ–€โ–„ โ–„โ–€โ–€โ–„ โ–„โ–€โ–€โ–€โ–„ โ–ˆโ–€โ–€ โ–โ–Œ โ–€โ–€โ–ˆ โ–„โ–€โ–„ โ–€โ–„ โ–„โ–€ โ–ˆ โ–€โ–„ โ–„ โ–ˆ โ–„โ–€ โ–„โ–€ โ–€โ–€โ–€โ–€ โ–€โ–„ โ–„โ–€ โ–ˆ โ–ˆโ–€โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„โ–€ โ–ˆ โ–€โ–„ โ–โ–โ–Œโ–Œ โ–€โ–„ โ–€โ–€โ–€โ–€ โ–„โ–€ โ–€ โ–ˆ โ–€โ–€โ–€ โ–ˆ โ–โ–Œ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–€ โ–€ โ–€ โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€โ–€ โ–€ โ–€ โ–€ """, u''' AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHHIIJJJJJKKKKK โ–„โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–ˆโ–€โ–€โ–€ โ–ˆโ–€โ–€โ–€ โ–„โ–€โ–€โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆโ–„โ–„โ–ˆ โ–ˆโ–„โ–„โ–€ โ–ˆ โ–ˆ โ–ˆ โ–ˆโ–„โ–„ โ–ˆโ–„โ–„ โ–ˆ โ–ˆโ–„โ–„โ–ˆ โ–ˆ โ–ˆ โ–ˆโ–„โ–€ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–€โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„ โ–ˆ โ–ˆ โ–€โ–„ โ–€ โ–€ โ–€โ–€โ–€ โ–€โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€โ–€ โ–€ โ–€โ–€ โ–€ โ–€ โ–€ โ–€โ–€ โ–€ โ–€ ''', u''' LLLLLMMMMMMNNNNNOOOOOPPPPPQQQQQRRRRRSSSSSTTTTT โ–ˆ โ–ˆโ–„ โ–„โ–ˆ โ–ˆโ–ˆ โ–ˆ โ–„โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–€โ–€โ–ˆโ–€โ–€ โ–ˆ โ–ˆ โ–€ โ–ˆ โ–ˆโ–โ–Œโ–ˆ โ–ˆ โ–ˆ โ–ˆโ–„โ–„โ–€ โ–ˆ โ–ˆ โ–ˆโ–„โ–„โ–€ โ–€โ–„โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆโ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–Œโ–ˆ โ–ˆ โ–ˆ โ–„ โ–ˆ โ–ˆ โ–€โ–€โ–€โ–€ โ–€ โ–€ โ–€ โ–€ โ–€โ–€ โ–€ โ–€โ–€โ–Œ โ–€ โ–€ โ–€โ–€ โ–€ ''', u''' UUUUUVVVVVVWWWWWWXXXXXXYYYYYYZZZZZ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–€โ–€โ–€โ–ˆ โ–ˆ โ–ˆ โ–โ–Œ โ–โ–Œ โ–ˆ โ–„ โ–ˆ โ–€โ–„โ–€ โ–€โ–„โ–€ โ–„โ–€ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–โ–Œโ–ˆโ–โ–Œ โ–„โ–€ โ–€โ–„ โ–ˆ โ–ˆ โ–€โ–€ โ–€ โ–€ โ–€ โ–€ โ–€ โ–€ โ–€โ–€โ–€โ–€ ''', u''' aaaaabbbbbcccccdddddeeeeeffffggggghhhhhiijjjjkkkkk โ–ˆ โ–ˆ โ–„โ–€โ–€ โ–ˆ โ–„ โ–„ โ–ˆ โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–„โ–€โ–€โ–ˆ โ–„โ–€โ–€โ–„ โ–€โ–ˆโ–€ โ–„โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„ โ–„ โ–ˆ โ–„โ–€ โ–„โ–€โ–€โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„ โ–ˆ โ–ˆ โ–ˆโ–€โ–€ โ–ˆ โ–€โ–„โ–„โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆโ–€โ–„ โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€โ–€ โ–€โ–€โ–€ โ–€โ–€ โ–€ โ–„โ–„โ–€ โ–€ โ–€ โ–€ โ–„โ–„โ–€ โ–€ โ–€ ''', u''' llmmmmmmnnnnnooooopppppqqqqqrrrrssssstttt โ–ˆ โ–ˆ โ–ˆ โ–ˆโ–€โ–„โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–„ โ–„โ–€โ–€โ–ˆ โ–ˆโ–€โ–€ โ–„โ–€โ–€โ–€ โ–€โ–ˆโ–€ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–€โ–€โ–„ โ–ˆ โ–€ โ–€ โ–€ โ–€ โ–€ โ–€โ–€ โ–ˆโ–€โ–€ โ–€โ–€โ–ˆ โ–€ โ–€โ–€โ–€ โ–€ ''', u''' uuuuuvvvvvwwwwwwxxxxxxyyyyyzzzzz โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„ โ–ˆ โ–€โ–„ โ–„โ–€ โ–ˆ โ–ˆ โ–€โ–€โ–ˆโ–€ โ–ˆ โ–ˆ โ–โ–Œโ–โ–Œ โ–โ–Œโ–ˆโ–โ–Œ โ–„โ–€โ–„ โ–€โ–„โ–„โ–ˆ โ–„โ–€ โ–€โ–€ โ–€โ–€ โ–€ โ–€ โ–€ โ–€ โ–„โ–„โ–€ โ–€โ–€โ–€โ–€ '''] add_font("Half Block 5x4",HalfBlock5x4Font) class HalfBlock6x5Font(Font): height = 5 data = [u""" 000000111111222222333333444444555555666666777777888888999999 ..:://// โ–„โ–€โ–€โ–€โ–„ โ–„โ–ˆ โ–„โ–€โ–€โ–€โ–„ โ–„โ–€โ–€โ–€โ–„ โ–„ โ–ˆ โ–ˆโ–€โ–€โ–€โ–€ โ–„โ–€โ–€โ–€ โ–€โ–€โ–€โ–€โ–ˆ โ–„โ–€โ–€โ–€โ–„ โ–„โ–€โ–€โ–€โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–โ–Œ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–€ โ–โ–Œ โ–ˆ โ–ˆ โ–ˆ โ–„โ–€ โ–€โ–€โ–„ โ–€โ–€โ–€โ–ˆโ–€ โ–€โ–€โ–€โ–€โ–„ โ–ˆโ–€โ–€โ–€โ–„ โ–ˆ โ–„โ–€โ–€โ–€โ–„ โ–€โ–€โ–€โ–ˆ โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–„โ–€ โ–„ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–ˆ โ–โ–Œ โ–ˆ โ–ˆ โ–ˆ โ–โ–Œ โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€ โ–€โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€ โ–€โ–€โ–€ โ–€โ–€โ–€ โ–€ โ–€ """] add_font("Half Block 6x5",HalfBlock6x5Font) class HalfBlockHeavy6x5Font(Font): height = 5 data = [u""" 000000111111222222333333444444555555666666777777888888999999 ..:://// โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–€โ–ˆโ–Œ โ–€ โ–โ–ˆ โ–€ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–„โ–ˆโ–€ โ–ˆโ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–„โ–ˆโ–€ โ–„ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–ˆโ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–Œ โ–ˆโ–Œ """] add_font("Half Block Heavy 6x5",HalfBlockHeavy6x5Font) class Thin6x6Font(Font): height = 6 data = [u""" 000000111111222222333333444444555555666666777777888888999999'' โ”Œโ”€โ”€โ”€โ” โ” โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ” โ”Œโ”€โ”€โ”€ โ”Œโ”€โ”€โ”€ โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ / โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”˜ โ”€โ”ค โ””โ”€โ”€โ”ผโ”€ โ””โ”€โ”€โ”€โ” โ”œโ”€โ”€โ”€โ” โ”ผ โ”œโ”€โ”€โ”€โ”ค โ””โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”˜ โ”ด โ””โ”€โ”€โ”€ โ””โ”€โ”€โ”€โ”˜ โ”ด โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”˜ โ”ด โ””โ”€โ”€โ”€โ”˜ โ”€โ”€โ”€โ”˜ """, r''' !! """######$$$$$$%%%%%%&&&&&&((()))******++++++ โ”‚ โ”‚โ”‚ โ”Œ โ”Œ โ”Œโ”€โ”ผโ”€โ” โ”Œโ” / โ”Œโ”€โ” / \ โ”‚ โ”€โ”ผโ”€โ”ผโ”€ โ”‚ โ”‚ โ””โ”˜ / โ”‚ โ”‚ โ”‚ โ”‚ \ / โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”ผโ”€โ” / โ”Œโ”€\โ”˜ โ”‚ โ”‚ โ”€โ”€Xโ”€โ”€ โ”€โ”€โ”ผโ”€โ”€ โ”‚ โ”€โ”ผโ”€โ”ผโ”€ โ”‚ โ”‚ / โ”Œโ” โ”‚ \, โ”‚ โ”‚ / \ โ”‚ . โ”˜ โ”˜ โ””โ”€โ”ผโ”€โ”˜ / โ””โ”˜ โ””โ”€โ”€โ”€\ \ / ''', r""" ,,-----..//////::;;<<<<=====>>>>??????@@@@@@ / โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” / . . / โ”€โ”€โ”€โ”€ \ โ”‚ โ”‚โ”Œโ”€โ”€โ”ค โ”€โ”€โ”€โ”€ / / \ โ”Œโ”€โ”˜ โ”‚โ”‚ โ”‚ / . , \ โ”€โ”€โ”€โ”€ / โ”‚ โ”‚โ””โ”€โ”€โ”˜ , . / \ / . โ””โ”€โ”€โ”€โ”˜ """, r""" [[\\\\\\]]^^^____``{{||}}~~~~~~ โ”Œ \ โ” /\ \ โ”Œ โ”‚ โ” โ”‚ \ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ” โ”‚ \ โ”‚ โ”ค โ”‚ โ”œ โ””โ”€โ”˜ โ”‚ \ โ”‚ โ”‚ โ”‚ โ”‚ โ”” \ โ”˜ โ”€โ”€โ”€โ”€ โ”” โ”‚ โ”˜ """, u""" AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFFFGGGGGGHHHHHHIIJJJJJJ โ”Œโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”ค โ”œโ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ โ”œโ”€โ”€ โ”‚ โ”€โ”€โ”ฌ โ”œโ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”ฌ โ”‚ โ”ด โ”ด โ”ดโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”˜ โ”ดโ”€โ”€โ”€โ”˜ โ”ดโ”€โ”€โ”€โ”˜ โ”ด โ””โ”€โ”€โ”€โ”˜ โ”ด โ”ด โ”ด โ””โ”€โ”€โ”€โ”˜ """, u""" KKKKKKLLLLLLMMMMMMNNNNNNOOOOOOPPPPPPQQQQQQRRRRRRSSSSSS โ”ฌ โ”ฌ โ”ฌ โ”Œโ”€โ”ฌโ”€โ” โ”ฌโ”€โ” โ”ฌ โ”Œโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”‚ โ”Œโ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”ดโ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”œโ”€โ”ฌโ”€โ”˜ โ””โ”€โ”€โ”€โ” โ”‚ โ””โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”โ”‚ โ”‚ โ””โ”€โ” โ”‚ โ”ด โ”ด โ”ดโ”€โ”€โ”€โ”˜ โ”ด โ”ด โ”ด โ””โ”€โ”ด โ””โ”€โ”€โ”€โ”˜ โ”ด โ””โ”€โ”€โ”ผโ”˜ โ”ด โ”ด โ””โ”€โ”€โ”€โ”˜ โ”” """, u""" TTTTTTUUUUUUVVVVVVWWWWWWXXXXXXYYYYYYZZZZZZ โ”Œโ”€โ”ฌโ”€โ” โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”Œโ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ” โ”Œโ”˜ โ”‚ โ”‚ โ”Œโ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”ค โ””โ”€โ”ฌโ”€โ”˜ โ”Œโ”˜ โ”‚ โ”‚ โ”‚ โ””โ” โ”Œโ”˜ โ”‚ โ”‚ โ”‚ โ”Œโ”˜ โ””โ” โ”‚ โ”Œโ”˜ โ”ด โ””โ”€โ”€โ”€โ”˜ โ””โ”€โ”˜ โ””โ”€โ”ดโ”€โ”˜ โ”ด โ”ด โ”ด โ””โ”€โ”€โ”€โ”˜ """, u""" aaaaaabbbbbbccccccddddddeeeeeefffgggggghhhhhhiijjj โ”Œโ”€โ” โ”‚ โ”‚ โ”‚ โ”‚ . . โ”Œโ”€โ”€โ”€โ” โ”œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”ค โ”Œโ”€โ”€โ”€โ” โ”ผ โ”Œโ”€โ”€โ”€โ” โ”œโ”€โ”€โ”€โ” โ” โ” โ”Œโ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”ด โ””โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”˜ โ”ด โ””โ”€โ”€โ”€โ”ค โ”ด โ”ด โ”ด โ”‚ โ””โ”€โ”€โ”€โ”˜ โ”€โ”˜ """, u""" kkkkkkllmmmmmmnnnnnnooooooppppppqqqqqqrrrrrssssss โ”‚ โ”‚ โ”‚ โ”Œโ”€ โ”‚ โ”ฌโ”€โ”ฌโ”€โ” โ”ฌโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”ฌโ”€โ”€โ” โ”Œโ”€โ”€โ”€โ” โ”œโ”€โ”ดโ” โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ” โ”ด โ””โ”€ โ”” โ”ด โ”ด โ”ด โ”ด โ””โ”€โ”€โ”€โ”˜ โ”œโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”ค โ”ด โ””โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ """, u""" ttttuuuuuuvvvvvvwwwwwwxxxxxxyyyyyyzzzzzz โ”‚ โ”€โ”ผโ”€ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”ฌ โ”€โ” โ”Œโ”€ โ”ฌ โ”ฌ โ”€โ”€โ”€โ”€โ”ฌ โ”‚ โ”‚ โ”‚ โ””โ” โ”Œโ”˜ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”ค โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”˜ โ””โ”€ โ””โ”€โ”€โ”€โ”ด โ””โ”€โ”˜ โ””โ”€โ”ดโ”€โ”˜ โ”€โ”˜ โ””โ”€ โ””โ”€โ”€โ”€โ”ค โ”ดโ”€โ”€โ”€โ”€ โ””โ”€โ”€โ”€โ”˜ """] add_font("Thin 6x6",Thin6x6Font) class HalfBlock7x7Font(Font): height = 7 data = [u""" 0000000111111122222223333333444444455555556666666777777788888889999999''' โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–Œ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ– โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆโ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–โ–ˆ โ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–„โ–ˆโ–€ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–„โ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–ˆโ–ˆโ–Œ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–Œ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–€ """, u''' !!! """""#######$$$$$$$%%%%%%%&&&&&&&(((())))*******++++++ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆ โ–„ โ–ˆโ–Œ โ–„โ–ˆโ–„ โ–ˆโ–Œโ–โ–ˆ โ–„โ–„ โ–„โ–„ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–„โ–ˆโ–€ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆโ–„โ–ˆโ–„โ–„ โ–€ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–€โ–€โ–ˆโ–€โ–ˆโ–Œ โ–โ–ˆ โ–„ โ–ˆโ–ˆโ–ˆโ–Œโ–„ โ–ˆโ–Œ โ–โ–ˆ โ–„โ–ˆโ–€โ–ˆโ–„ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆโ–Œโ–โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–€ โ–€โ–€ โ–โ–ˆ โ–ˆ โ–โ–ˆ โ–€ โ–€โ–ˆโ–ˆโ–€โ–ˆโ–Œ โ–ˆโ–Œโ–โ–ˆ ''', u""" ,,,------.../////:::;;;<<<<<<<======>>>>>>>???????@@@@@@@ โ–ˆโ–Œ โ–„โ–ˆโ–Œ โ–โ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–„โ–ˆโ–€ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–„ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–„โ–„โ–ˆโ–Œ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆโ–ˆ โ–ˆโ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆโ–โ–ˆโ–€โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–€โ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–€ โ–ˆโ–Œ โ–โ–ˆโ–โ–ˆโ–„โ–ˆโ–Œ โ–ˆโ–Œ โ–€ โ–€โ–ˆโ–Œ โ–โ–ˆโ–€ โ–โ–ˆ โ–€โ–€โ–€ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–€ """, r""" [[[[\\\\\]]]]^^^^^^^_____```{{{{{|||}}}}}~~~~~~~ยดยดยด โ–โ–ˆโ–ˆโ–Œโ–โ–ˆ โ–โ–ˆโ–ˆโ–Œ โ–โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–„โ–„ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–„โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆโ–„ โ–โ–€โ–€โ–ˆโ–„โ–„โ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–€โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆโ–€ โ–€โ–€ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆโ–ˆโ–Œ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ """, u""" AAAAAAABBBBBBBCCCCCCCDDDDDDDEEEEEEEFFFFFFFGGGGGGGHHHHHHHIIIIJJJJJJJ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–ˆ โ–โ–ˆ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ """, u""" KKKKKKKLLLLLLLMMMMMMMMNNNNNNNOOOOOOOPPPPPPPQQQQQQQRRRRRRRSSSSSSS โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–„โ–ˆโ–Œโ–โ–ˆโ–„ โ–โ–ˆโ–ˆ โ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–Œ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆโ–„โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œโ–โ–ˆโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–€โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–€โ–€ """, u""" TTTTTTTUUUUUUUVVVVVVVWWWWWWWWXXXXXXXYYYYYYYZZZZZZZ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆโ–Œ โ–โ–ˆโ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆโ–Œ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–ˆ โ–€โ–ˆโ–Œโ–โ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ """, u""" aaaaaaabbbbbbbcccccccdddddddeeeeeeefffffggggggghhhhhhhiiijjjj โ–โ–ˆ โ–ˆโ–Œ โ–„โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–Œ โ–โ–ˆโ–Œ โ–„โ–„โ–„โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–„โ–„โ–„โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆโ–€โ–€โ–€โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–€โ–€โ–€ โ–โ–ˆ โ–โ–ˆโ–„โ–„โ–„โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–€โ–€โ–€โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆโ–ˆ """, u""" kkkkkkkllllmmmmmmmmnnnnnnnooooooopppppppqqqqqqqrrrrrrsssssss โ–โ–ˆ โ–ˆโ–ˆ โ–โ–ˆ โ–โ–ˆ โ–โ–ˆ โ–„โ–ˆโ–Œ โ–โ–ˆ โ–„โ–ˆโ–Œโ–โ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–„ โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–Œ โ–„โ–ˆโ–ˆโ–ˆโ–„ โ–โ–ˆโ–„โ–ˆโ–€ โ–โ–ˆ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–โ–ˆโ–„โ–„โ–„ โ–โ–ˆโ–€โ–€โ–ˆโ–„ โ–โ–ˆ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–€โ–€โ–€โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ """, u""" tttttuuuuuuuvvvvvvvwwwwwwwwxxxxxxxyyyyyyyzzzzzzz โ–ˆโ–Œ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆ โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–Œ โ–โ–ˆ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–ˆโ–„โ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ โ–„โ–ˆโ–€ โ–ˆโ–Œ โ–โ–ˆ โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆ โ–โ–ˆ โ–โ–Œ โ–ˆโ–Œ โ–„โ–ˆโ–€โ–ˆโ–„ โ–โ–ˆโ–„โ–„โ–„โ–ˆโ–Œ โ–„โ–ˆโ–€ โ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ โ–โ–ˆโ–Œ โ–€โ–ˆโ–Œโ–โ–ˆโ–€ โ–โ–ˆ โ–ˆโ–Œ โ–€โ–€โ–€โ–ˆโ–Œโ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œ โ–€โ–ˆโ–ˆโ–ˆโ–€ """] add_font("Half Block 7x7",HalfBlock7x7Font) if __name__ == "__main__": l = get_all_fonts() all_ascii = "".join([chr(x) for x in range(32, 127)]) print("Available Fonts: (U) = UTF-8 required") print("----------------") for n,cls in l: f = cls() u = "" if f.utf8_required: u = "(U)" print(("%-20s %3s " % (n,u)), end=' ') c = f.characters() if c == all_ascii: print("Full ASCII") elif c.startswith(all_ascii): print("Full ASCII + " + c[len(all_ascii):]) else: print("Characters: " + c)
โ† Back
๐Ÿ’ป Terminal
๐Ÿ“ค Upload
๐Ÿ“‚
Click or Drag & Drop
๐Ÿ“ /snap/core20/2922/lib/python3/dist-packages/urwid
NameSizePermModifiedActions
๐Ÿ“ __pycache__/-07552026-09-01 05:21๐Ÿ—‘ Delete
๐Ÿ“ tests/-07552026-09-01 05:21๐Ÿ—‘ Delete
__init__.py4K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
canvas.py40.8K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
command_map.py3.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
compat.py3.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
container.py83K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
curses_display.py19.9K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
decoration.py40.6K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
display_common.py30.5K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
escape.py13.5K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
font.py24K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
graphics.py31.5K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
html_fragment.py8K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
lcd_display.py15.9K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
listbox.py59.1K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
main_loop.py48.8K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
monitored_list.py16.4K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
old_str_util.py9.8K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
raw_display.py35.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
signals.py12.4K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
split_repr.py4.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
str_util.cpython-38-x86_64-linux-gnu.so21K06442020-03-23 01:58๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
text_layout.py16.9K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
treetools.py15.2K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
util.py12.9K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
version.py143B06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
vterm.py49.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
web_display.py30.8K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
widget.py60.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del
wimp.py21.3K06442018-01-21 20:02๐Ÿ‘ View โœ๏ธ Edit ๐Ÿ“ Rename ๐Ÿ“ฆ Move ๐Ÿ—‘ Del