From 8a696e1871fc4a75c51ba53433c55f4d240a81bb Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Fri, 2 Apr 2021 19:05:34 +0200 Subject: Lettering: ability to force letter case (#1113) --- lib/extensions/lettering_generate_json.py | 2 ++ lib/lettering/font.py | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'lib') diff --git a/lib/extensions/lettering_generate_json.py b/lib/extensions/lettering_generate_json.py index 3822b0c2..9296751c 100644 --- a/lib/extensions/lettering_generate_json.py +++ b/lib/extensions/lettering_generate_json.py @@ -24,6 +24,7 @@ class LetteringGenerateJson(InkstitchExtension): self.arg_parser.add_argument("-d", "--font-description", type=str, default="Description", dest="font_description") self.arg_parser.add_argument("-s", "--auto-satin", type=Boolean, default="true", dest="auto_satin") self.arg_parser.add_argument("-r", "--reversible", type=Boolean, default="true", dest="reversible") + self.arg_parser.add_argument("-u", "--letter-case", type=str, default="", dest="letter_case") self.arg_parser.add_argument("-g", "--default-glyph", type=str, default="", dest="default_glyph") self.arg_parser.add_argument("-i", "--min-scale", type=float, default=1.0, dest="min_scale") self.arg_parser.add_argument("-a", "--max-scale", type=float, default=1.0, dest="max_scale") @@ -68,6 +69,7 @@ class LetteringGenerateJson(InkstitchExtension): 'leading': leading, 'auto_satin': self.options.auto_satin, 'reversible': self.options.reversible, + 'letter_case': self.options.letter_case, 'default_glyph': self.options.default_glyph, 'min_scale': round(self.options.min_scale, 1), 'max_scale': round(self.options.max_scale, 1), diff --git a/lib/lettering/font.py b/lib/lettering/font.py index b1979067..b47e35c4 100644 --- a/lib/lettering/font.py +++ b/lib/lettering/font.py @@ -106,6 +106,7 @@ class Font(object): name = localized_font_metadata('name', '') description = localized_font_metadata('description', '') + letter_case = font_metadata('letter_case', '') default_glyph = font_metadata('defalt_glyph', "�") leading = font_metadata('leading', 100) kerning_pairs = font_metadata('kerning_pairs', {}) @@ -229,6 +230,11 @@ class Font(object): last_character = None for character in line: + if self.letter_case == "upper": + character = character.upper() + elif self.letter_case == "lower": + character = character.lower() + if character == " ": position.x += self.word_spacing last_character = None -- cgit v1.2.3