From b95c671ccb501dc7ccfe7c39fadcf3de066a6ecc Mon Sep 17 00:00:00 2001 From: Fini Jastrow Date: Sun, 2 Jun 2024 08:23:50 +0200 Subject: [PATCH] font-patcher: Fix behavior when trying to patch non-font files [why] When the file specified to be patched is not a font file the patcher run errors out with an out of index runtime error: Traceback (most recent call last): File "/home/fini/extra/git/nerd-fonts/font-patcher", line 2155, in main() File "/home/fini/extra/git/nerd-fonts/font-patcher", line 2147, in main patcher.generate(sourceFonts) File "/home/fini/extra/git/nerd-fonts/font-patcher", line 415, in generate sourceFont = sourceFonts[0] ~~~~~~~~~~~^^^ IndexError: list index out of range [how] Do not assume that the specified file will be a font file but rather check if fontforge detects a font in the file and error out if there is no font found. Fixes: #1647 Reported-by: Kristopher James Kent Signed-off-by: Fini Jastrow --- font-patcher | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/font-patcher b/font-patcher index c16a67fbd..ac72ece75 100755 --- a/font-patcher +++ b/font-patcher @@ -6,7 +6,7 @@ from __future__ import absolute_import, print_function, unicode_literals # Change the script version when you edit this script: -script_version = "4.14.3" +script_version = "4.14.4" version = "3.2.1" projectName = "Nerd Fonts" @@ -2127,6 +2127,9 @@ def main(): sourceFonts = [] all_fonts = fontforge.fontsInFile(args.font) + if not all_fonts: + logger.critical("Can not find any fonts in '%s'", args.font) + sys.exit(1) for i, subfont in enumerate(all_fonts): if len(all_fonts) > 1: print("\n")