kopia lustrzana https://github.com/inkstitch/inkstitch
				
				
				
			Lettering: do not warn about fonts without jsons (#3766)
							rodzic
							
								
									b7443483de
								
							
						
					
					
						commit
						c7f4814519
					
				|  | @ -115,7 +115,7 @@ class LetteringPanel(wx.Panel): | |||
|     @property | ||||
|     @cache | ||||
|     def font_list(self): | ||||
|         return get_font_list() | ||||
|         return get_font_list(False) | ||||
| 
 | ||||
|     def update_font_list(self): | ||||
|         self.fonts = {} | ||||
|  |  | |||
|  | @ -79,20 +79,22 @@ class Font(object): | |||
|       variants -- A dict of FontVariants, with keys in FontVariant.VARIANT_TYPES. | ||||
|     """ | ||||
| 
 | ||||
|     def __init__(self, font_path): | ||||
|     def __init__(self, font_path, show_font_path_warning=True): | ||||
|         self.path = font_path | ||||
|         self.metadata = {} | ||||
|         self.license = None | ||||
|         self.variants = {} | ||||
| 
 | ||||
|         self._load_metadata() | ||||
|         self._load_metadata(show_font_path_warning) | ||||
|         self._load_license() | ||||
| 
 | ||||
|     def _load_metadata(self): | ||||
|     def _load_metadata(self, show_font_path_warning=True): | ||||
|         try: | ||||
|             with open(os.path.join(self.path, "font.json"), encoding="utf-8-sig") as metadata_file: | ||||
|                 self.metadata = json.load(metadata_file) | ||||
|         except IOError: | ||||
|             if not show_font_path_warning: | ||||
|                 return | ||||
|             path = os.path.join(self.path, "font.json") | ||||
|             msg = _("JSON file missing. Expected a JSON file at the following location:") | ||||
|             msg += f"\n{path}\n\n" | ||||
|  | @ -100,6 +102,8 @@ class Font(object): | |||
|             msg += '\n\n' | ||||
|             inkex.errormsg(msg) | ||||
|         except json.decoder.JSONDecodeError as exception: | ||||
|             if not show_font_path_warning: | ||||
|                 return | ||||
|             path = os.path.join(self.path, "font.json") | ||||
|             msg = _("Corrupt JSON file") | ||||
|             msg += f" ({exception}):\n{path}\n\n" | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ from ..lettering import Font | |||
| from ..utils import get_bundled_dir, get_user_dir | ||||
| 
 | ||||
| 
 | ||||
| def get_font_list(): | ||||
| def get_font_list(show_font_path_warning=True): | ||||
|     font_paths = get_font_paths() | ||||
| 
 | ||||
|     fonts = [] | ||||
|  | @ -21,7 +21,7 @@ def get_font_list(): | |||
|             continue | ||||
| 
 | ||||
|         for font_dir in font_dirs: | ||||
|             font = _get_font_from_path(font_path, font_dir) | ||||
|             font = _get_font_from_path(font_path, font_dir, show_font_path_warning) | ||||
|             if not font or font.marked_custom_font_name == "" or font.marked_custom_font_id == "": | ||||
|                 continue | ||||
|             fonts.append(font) | ||||
|  | @ -66,7 +66,7 @@ def get_font_by_name(font_name): | |||
|     return None | ||||
| 
 | ||||
| 
 | ||||
| def _get_font_from_path(font_path, font_dir): | ||||
| def _get_font_from_path(font_path, font_dir, show_font_path_warning=True): | ||||
|     if not os.path.isdir(os.path.join(font_path, font_dir)) or font_dir.startswith('.'): | ||||
|         return | ||||
|     return Font(os.path.join(font_path, font_dir)) | ||||
|     return Font(os.path.join(font_path, font_dir), show_font_path_warning) | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Kaalleen
						Kaalleen