From d78ff480c16bbf0c9cbcb2a18ebefbf3ccd2aeea Mon Sep 17 00:00:00 2001 From: Nico Verbruggen Date: Thu, 21 Aug 2025 17:35:48 +0200 Subject: [PATCH] Update subfamily name and preferred subfamily --- kobofix.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/kobofix.py b/kobofix.py index 851891e..bab990b 100755 --- a/kobofix.py +++ b/kobofix.py @@ -355,6 +355,23 @@ class FontProcessor: except Exception as e: logger.warning(f" Failed to update name ID 4: {e}") + # --- Update Subfamily Name (nameID 2) and Preferred Subfamily (nameID 17) --- + for record in name_table.names: + if record.nameID in {2, 17}: + try: + current_name = record.toUnicode() + if current_name != metadata.style_name: + record.string = metadata.style_name.encode(record.getEncoding()) + logger.info(f" Name ID {record.nameID} updated: '{current_name}'->'{metadata.style_name}'") + else: + logger.info(f" Name ID {record.nameID} is already correct") + except Exception: + try: + record.string = metadata.style_name.encode("utf_16_be") + logger.info(f" Name ID {record.nameID} updated with UTF-16 BE encoding") + except Exception as e: + logger.warning(f" Failed to update name ID {record.nameID}: {e}") + # --- Update Unique ID (nameID 3) --- for record in name_table.names: if record.nameID == 3: # Unique ID