diff --git a/modules/shared.py b/modules/shared.py index 548e7356..fb5bbd43 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -66,6 +66,16 @@ state = State() artist_db = modules.artists.ArtistsDatabase(os.path.join(script_path, 'artists.csv')) +def find_any_font(): + fonts = ['/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf'] + + for font in fonts: + if os.path.exists(font): + return font + + return "arial.ttf" + + class Options: class OptionInfo: def __init__(self, default=None, label="", component=None, component_args=None): @@ -97,7 +107,7 @@ class Options: "jpeg_quality": OptionInfo(80, "Quality for saved jpeg images", gr.Slider, {"minimum": 1, "maximum": 100, "step": 1}), "export_for_4chan": OptionInfo(True, "If PNG image is larger than 4MB or any dimension is larger than 4000, downscale and save copy as JPG"), "enable_pnginfo": OptionInfo(True, "Save text information about generation parameters as chunks to png files"), - "font": OptionInfo("arial.ttf", "Font for image grids that have text"), + "font": OptionInfo(find_any_font(), "Font for image grids that have text"), "enable_emphasis": OptionInfo(True, "Use (text) to make model pay more attention to text text and [text] to make it pay less attention"), "save_txt": OptionInfo(False, "Create a text file next to every image with generation parameters."), "ESRGAN_tile": OptionInfo(192, "Tile size for ESRGAN upscaling. 0 = no tiling.", gr.Slider, {"minimum": 0, "maximum": 512, "step": 16}),