diff --git a/bdfparse/bdfparse.py b/bdfparse/bdfparse.py index 0d92899..ed70d1f 100644 --- a/bdfparse/bdfparse.py +++ b/bdfparse/bdfparse.py @@ -8,6 +8,31 @@ class Font: self.cols = self.properties["FONTBOUNDINGBOX"][0] self.rows = self.properties["FONTBOUNDINGBOX"][1] self.shape = (self.rows, self.cols) + self.charNames = { + " ": "space", + "1": "one", + "2": "two", + "3": "three", + "4": "four", + "5": "five", + "6": "six", + "7": "seven", + "8": "eight", + "9": "nine", + "!": "exclam", + "@": "at", + "#": "numbersign", + "$": "dollar", + "%": "percent", + "&": "ampersand", + "*": "asterisk", + "(": "parenleft", + ")": "parenright", + ",": "comma", + ".": "period", + "/": "lslash", + "?": "question", + } def parse_properties(self, bdfFile): @@ -193,16 +218,8 @@ class Font: def word(self, word: str): matrix = np.zeros(self.shape) for char in word: - if char is " ": - arr = np.zeros(self.shape) - elif char is "!": - arr = self.chars["exclam"] - elif char is "%": - arr = self.chars["percent"] - elif char is ",": - arr = self.chars["comma"] - elif char is ".": - arr = self.chars["period"] + if char in self.charNames.keys(): + arr = self.chars[self.charNames[char]] else: arr = self.chars[char] diff --git a/setup.py b/setup.py index 5e94b9c..208514b 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="bdfparse", - version="2019.6", + version="2019.7", author="Anson Biggs", author_email="anson@ansonbiggs.com", description="A package for reading .bdf files into NumPy arrays.",