# Path: gfxlcd/abstract/font.py
# class Font(metaclass=abc.ABCMeta):
#     """Font abstract"""
#     font = []  # Dictionary with hex that describe each char
#     size = (0, 0)
# 
#     def __init__(self):
#         pass
# 
#     def get(self, letter):
#         """return array with letter"""
#         return self.font[ord(letter)]


from gfxlcd.abstract.font import Font
"""scalable font"""


def scaleBinaryRow(binaryRow, multiplier):
    originalRow = bin(binaryRow).replace("0b", "")
    scaledRow = ""
    for binaryDigit in originalRow:
        for i in range(0, multiplier):
            scaledRow += binaryDigit
    return int(scaledRow, 2)


def scaleCharacter(originalCharacter, multiplier):
    scaledCharacter = []
    for row in originalCharacter:
        scaledRow = scaleBinaryRow(row, multiplier)
        for i in range(0, multiplier):
            scaledCharacter.append(scaledRow)
    return scaledCharacter


def scaleFont(originalFont, multiplier):
    scaledFont = []
    for originalCharacter in originalFont:
        scaledCharacter = scaleCharacter(originalCharacter, multiplier)
        scaledFont.append(scaledCharacter)
    return scaledFont



# Path: gfxlcd/abstract/font.py
# class Font(metaclass=abc.ABCMeta):
#     """Font abstract"""
#     font = []  # Dictionary with hex that describe each char
#     size = (0, 0)
# 
#     def __init__(self):
#         pass
# 
#     def get(self, letter):
#         """return array with letter"""
#         return self.font[ord(letter)]


# Path: gfxlcd/font/scalable_font.py
from gfxlcd.abstract.font import Font

"""scalable font"""


def scaleBinaryRow(binaryRow, multiplier):
    originalRow = bin(binaryRow).replace("0b", "")
    scaledRow = ""
    for binaryDigit in originalRow:
        for i in range(0, multiplier):
            scaledRow += binaryDigit
    return int(scaledRow, 2)


def scaleCharacter(originalCharacter, multiplier):
    scaledCharacter = []
    for row in originalCharacter:
        scaledRow = scaleBinaryRow(row, multiplier)
        for i in range(0, multiplier):
            scaledCharacter.append(scaledRow)
    return scaledCharacter


def scaleFont(originalFont, multiplier):
    scaledFont = []
    for originalCharacter in originalFont:
        scaledCharacter = scaleCharacter(originalCharacter, multiplier)
        scaledFont.append(scaledCharacter)
    return scaledFont



class FontScalable(Font):