diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e0e8c99 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +__pycache__ +.DS_Store diff --git a/task1/.mpl_cache/fontlist-v390.json b/task1/.mpl_cache/fontlist-v390.json new file mode 100644 index 0000000..a0d595f --- /dev/null +++ b/task1/.mpl_cache/fontlist-v390.json @@ -0,0 +1,6604 @@ +{ + "_version": 390, + "_FontManager__default_weight": "normal", + "default_size": null, + "defaultFamily": { + "ttf": "DejaVu Sans", + "afm": "Helvetica" + }, + "afmlist": [ + { + "fname": "fonts/afm/pcrbo8a.afm", + "name": "Courier", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Times-Roman.afm", + "name": "Times", + "style": "normal", + "variant": "normal", + "weight": "roman", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pncri8a.afm", + "name": "New Century Schoolbook", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvbo8an.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pplri8a.afm", + "name": "Palatino", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pplb8a.afm", + "name": "Palatino", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pncbi8a.afm", + "name": "New Century Schoolbook", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pzdr.afm", + "name": "ITC Zapf Dingbats", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvb8an.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/cmmi10.afm", + "name": "Computer Modern", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pbkd8a.afm", + "name": "ITC Bookman", + "style": "normal", + "variant": "normal", + "weight": "demi", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Courier.afm", + "name": "Courier", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Times-BoldItalic.afm", + "name": "Times", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pagko8a.afm", + "name": "ITC Avant Garde Gothic", + "style": "italic", + "variant": "normal", + "weight": "book", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Helvetica.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvro8a.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Times-Bold.afm", + "name": "Times", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvbo8a.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvlo8a.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "light", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/cmr10.afm", + "name": "Computer Modern", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pagd8a.afm", + "name": "ITC Avant Garde Gothic", + "style": "normal", + "variant": "normal", + "weight": "demi", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/ptmr8a.afm", + "name": "Times", + "style": "normal", + "variant": "normal", + "weight": "roman", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvr8an.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Helvetica-Oblique.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/cmtt10.afm", + "name": "Computer Modern", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pplbi8a.afm", + "name": "Palatino", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/putri8a.afm", + "name": "Utopia", + "style": "italic", + "variant": "normal", + "weight": "regular", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/cmex10.afm", + "name": "Computer Modern", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Courier-Oblique.afm", + "name": "Courier", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvl8a.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "light", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvro8an.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Courier-BoldOblique.afm", + "name": "Courier", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pbkl8a.afm", + "name": "ITC Bookman", + "style": "normal", + "variant": "normal", + "weight": "light", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pncr8a.afm", + "name": "New Century Schoolbook", + "style": "normal", + "variant": "normal", + "weight": "roman", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pbkli8a.afm", + "name": "ITC Bookman", + "style": "italic", + "variant": "normal", + "weight": "light", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pcrb8a.afm", + "name": "Courier", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/ZapfDingbats.afm", + "name": "ZapfDingbats", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pagk8a.afm", + "name": "ITC Avant Garde Gothic", + "style": "normal", + "variant": "normal", + "weight": "book", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/ptmri8a.afm", + "name": "Times", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/putr8a.afm", + "name": "Utopia", + "style": "normal", + "variant": "normal", + "weight": "regular", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Courier-Bold.afm", + "name": "Courier", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pcrro8a.afm", + "name": "Courier", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/ptmb8a.afm", + "name": "Times", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Helvetica-BoldOblique.afm", + "name": "Helvetica", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/ptmbi8a.afm", + "name": "Times", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pagdo8a.afm", + "name": "ITC Avant Garde Gothic", + "style": "italic", + "variant": "normal", + "weight": "demi", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/psyr.afm", + "name": "Symbol", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pbkdi8a.afm", + "name": "ITC Bookman", + "style": "italic", + "variant": "normal", + "weight": "demi", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pplr8a.afm", + "name": "Palatino", + "style": "normal", + "variant": "normal", + "weight": "roman", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pzcmi8a.afm", + "name": "ITC Zapf Chancery", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvb8a.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/cmsy10.afm", + "name": "Computer Modern", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Symbol.afm", + "name": "Symbol", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pncb8a.afm", + "name": "New Century Schoolbook", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Helvetica-Bold.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/putbi8a.afm", + "name": "Utopia", + "style": "italic", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/pdfcorefonts/Times-Italic.afm", + "name": "Times", + "style": "italic", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/phvr8a.afm", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/putb8a.afm", + "name": "Utopia", + "style": "normal", + "variant": "normal", + "weight": "bold", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/afm/pcrr8a.afm", + "name": "Courier", + "style": "normal", + "variant": "normal", + "weight": "medium", + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + } + ], + "ttflist": [ + { + "fname": "fonts/ttf/STIXSizOneSymBol.ttf", + "name": "STIXSizeOneSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXGeneralBolIta.ttf", + "name": "STIXGeneral", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSansMono-BoldOblique.ttf", + "name": "DejaVu Sans Mono", + "style": "oblique", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSerif-BoldItalic.ttf", + "name": "DejaVu Serif", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXGeneralBol.ttf", + "name": "STIXGeneral", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXNonUniBolIta.ttf", + "name": "STIXNonUnicode", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmb10.ttf", + "name": "cmb10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSans.ttf", + "name": "DejaVu Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXNonUni.ttf", + "name": "STIXNonUnicode", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSerif-Italic.ttf", + "name": "DejaVu Serif", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizFourSymReg.ttf", + "name": "STIXSizeFourSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSans-Bold.ttf", + "name": "DejaVu Sans", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizFourSymBol.ttf", + "name": "STIXSizeFourSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXGeneralItalic.ttf", + "name": "STIXGeneral", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmex10.ttf", + "name": "cmex10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizThreeSymBol.ttf", + "name": "STIXSizeThreeSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXNonUniBol.ttf", + "name": "STIXNonUnicode", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizTwoSymReg.ttf", + "name": "STIXSizeTwoSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmr10.ttf", + "name": "cmr10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmsy10.ttf", + "name": "cmsy10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizOneSymReg.ttf", + "name": "STIXSizeOneSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXNonUniIta.ttf", + "name": "STIXNonUnicode", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSans-BoldOblique.ttf", + "name": "DejaVu Sans", + "style": "oblique", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSansDisplay.ttf", + "name": "DejaVu Sans Display", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSans-Oblique.ttf", + "name": "DejaVu Sans", + "style": "oblique", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmmi10.ttf", + "name": "cmmi10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSansMono.ttf", + "name": "DejaVu Sans Mono", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSansMono-Oblique.ttf", + "name": "DejaVu Sans Mono", + "style": "oblique", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSerifDisplay.ttf", + "name": "DejaVu Serif Display", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmtt10.ttf", + "name": "cmtt10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXGeneral.ttf", + "name": "STIXGeneral", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSansMono-Bold.ttf", + "name": "DejaVu Sans Mono", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizTwoSymBol.ttf", + "name": "STIXSizeTwoSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSerif-Bold.ttf", + "name": "DejaVu Serif", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/cmss10.ttf", + "name": "cmss10", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizThreeSymReg.ttf", + "name": "STIXSizeThreeSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/STIXSizFiveSymReg.ttf", + "name": "STIXSizeFiveSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "fonts/ttf/DejaVuSerif.ttf", + "name": "DejaVu Serif", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFGeorgianRounded.ttf", + "name": ".SF Georgian Rounded", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bodoni 72 OS.ttc", + "name": "Bodoni 72 Oldstyle", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedSemiBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 600, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansKhojki-Regular.ttf", + "name": "Noto Sans Khojki", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Courier New.ttf", + "name": "Courier New", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Didot.ttc", + "name": "Didot", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXTwoText.ttf", + "name": "STIX Two Text", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/53fe5be564086fefc7523ccd0a31200acf92e0e5.asset/AssetData/STHEITI.ttf", + "name": "STHeiti", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFCamera.ttf", + "name": ".SF Camera", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/c6821a5885b1c099dc7e340ca61cd3ddb35cb62e.asset/AssetData/HeadlineA.ttf", + "name": "HeadLineA", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/ArialHB.ttc", + "name": "Arial Hebrew", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansNabataean-Regular.ttf", + "name": "Noto Sans Nabataean", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntUpDReg.otf", + "name": "STIXIntegralsUpD", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-MediumItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedMedium.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 300, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/9ea5dc040323daeddd09ec48cfe7c73fc3144368.asset/AssetData/Pilgiche.ttf", + "name": "PilGi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFNSRounded.ttf", + "name": ".SF NS Rounded", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedMediumItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 500, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/SukhumvitSet.ttc", + "name": "Sukhumvit Set", + "style": "normal", + "variant": "normal", + "weight": 250, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Georgia Bold.ttf", + "name": "Georgia", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMeroitic-Regular.ttf", + "name": "Noto Sans Meroitic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansPhoenician-Regular.ttf", + "name": "Noto Sans Phoenician", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NotoSansArmenian.ttc", + "name": "Noto Sans Armenian", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MesloLGS NF Italic.ttf", + "name": "MesloLGS NF", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Monaco.ttf", + "name": "Monaco", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTaiTham-Regular.ttf", + "name": "Noto Sans Tai Tham", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/AquaKana.ttc", + "name": ".Aqua Kana", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-SemiBold.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Farah.ttc", + "name": "Farah", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/STHeiti Medium.ttc", + "name": "Heiti TC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/LXGWWenKaiMono-Light.ttf", + "name": "LXGW WenKai Mono", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedMedium.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Black.ttf", + "name": "Arial Black", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 200, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansPauCinHau-Regular.ttf", + "name": "Noto Sans Pau Cin Hau", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Nadeem.ttc", + "name": "Nadeem", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Palatino.ttc", + "name": "Palatino", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Farisi.ttf", + "name": "Farisi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedExtraLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 200, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLisu-Regular.ttf", + "name": "Noto Sans Lisu", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Menlo.ttc", + "name": "Menlo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedThin.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/MuktaMahee.ttc", + "name": "Mukta Mahee", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Courier.ttc", + "name": "Courier", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Krungthep.ttf", + "name": "Krungthep", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W2.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 250, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/ZapfDingbats.ttf", + "name": "Zapf Dingbats", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/AlBayan.ttc", + "name": "Al Bayan", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Avenir Next.ttc", + "name": "Avenir Next", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Webdings.ttf", + "name": "Webdings", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedMediumItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 500, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Kailasa.ttc", + "name": "Kailasa", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/LXGWWenKai-Regular.ttf", + "name": "LXGW WenKai", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizOneSymBol.otf", + "name": "STIXSizeOneSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 300, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansHanunoo-Regular.ttf", + "name": "Noto Sans Hanunoo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/Roboto[wdth,wght].ttf", + "name": "Roboto", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bradley Hand Bold.ttf", + "name": "Bradley Hand", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NotoNastaliq.ttc", + "name": "Noto Nastaliq Urdu", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOsage-Regular.ttf", + "name": "Noto Sans Osage", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansThaana-Regular.ttf", + "name": "Noto Sans Thaana", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/UbuntuMono-Regular.ttf", + "name": "Ubuntu Mono", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/KohinoorGujarati.ttc", + "name": "Kohinoor Gujarati", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansModi-Regular.ttf", + "name": "Noto Sans Modi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTagalog-Regular.ttf", + "name": "Noto Sans Tagalog", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Chalkduster.ttf", + "name": "Chalkduster", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Times.ttc", + "name": "Times", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/\u4eff\u5b8b_GB2312.ttf", + "name": "FangSong_GB2312", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansYi-Regular.ttf", + "name": "Noto Sans Yi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Italic[wdth,wght].ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-Bold.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-BlackItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXNonUniBol.otf", + "name": "STIXNonUnicode", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/KufiStandardGK.ttc", + "name": "KufiStandardGK", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-MediumItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/KohinoorTelugu.ttc", + "name": "Kohinoor Telugu", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXVar.otf", + "name": "STIXVariants", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensed.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Unicode.ttf", + "name": "Arial Unicode MS", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBamum-Regular.ttf", + "name": "Noto Sans Bamum", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/b860c3b445cd974141686f9fcfee362886d80bd9.asset/AssetData/YuppySC-Regular.otf", + "name": "Yuppy SC", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-BoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/a35803b18dea500ee1e426f403635efbe5a84bd4.asset/AssetData/ToppanBunkyuMinchoPr6N-Regular.otf", + "name": "Toppan Bunkyu Mincho", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MesloLGS NF Bold.ttf", + "name": "MesloLGS NF", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/259e8f5a322e8dae602d51ac00aefb3d6b05c224.asset/AssetData/SimSong.ttc", + "name": "SimSong", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Diwan Kufi.ttc", + "name": "Diwan Kufi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansUgaritic-Regular.ttf", + "name": "Noto Sans Ugaritic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansPalmyrene-Regular.ttf", + "name": "Noto Sans Palmyrene", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-LightItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Raanana.ttc", + "name": "Raanana", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansKaithi-Regular.ttf", + "name": "Noto Sans Kaithi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Avenir.ttc", + "name": "Avenir", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/c4f5f063cf47a2009786f645b423c09ea75666b8.asset/AssetData/WeibeiTC-Bold.otf", + "name": "Weibei TC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ThinItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 100, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMasaramGondi-Regular.otf", + "name": "Noto Sans Masaram Gondi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCaucasianAlbanian-Regular.ttf", + "name": "Noto Sans Caucasian Albanian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXNonUniBolIta.otf", + "name": "STIXNonUnicode", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bangla Sangam MN.ttc", + "name": "Bangla Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/0ebfdb7e5a2a1db668fa6209779e0725d6f6baba.asset/AssetData/BIZ_UDMincho-regular.ttf", + "name": "BIZ UDMincho", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-MediumItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/InaiMathi-MN.ttc", + "name": "InaiMathi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W7.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansAdlam-Regular.ttf", + "name": "Noto Sans Adlam", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizOneSymReg.otf", + "name": "STIXSizeOneSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Galvji.ttc", + "name": "Galvji", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Impact.ttf", + "name": "Impact", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSharada-Regular.ttf", + "name": "Noto Sans Sharada", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Gujarati Sangam MN.ttc", + "name": "Gujarati Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBuhid-Regular.ttf", + "name": "Noto Sans Buhid", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFGeorgian.ttf", + "name": ".SF Georgian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansNewTaiLue-Regular.ttf", + "name": "Noto Sans New Tai Lue", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Medium.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W4.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMongolian-Regular.ttf", + "name": "Noto Sans Mongolian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-LightItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansGunjalaGondi-Regular.otf", + "name": "Noto Sans Gunjala Gondi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCanadianAboriginal-Regular.otf", + "name": "Noto Sans Canadian Aboriginal", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/1b6b2f148cdf17dd0d788706c83c61ca1998c3a6.asset/AssetData/STFANGSO.ttf", + "name": "STFangsong", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/b7cb5af102eef622e55e701862272b80e89d2d5f.asset/AssetData/BMHannaAir-Regular.otf", + "name": "BM Hanna Air", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansPhagsPa-Regular.ttf", + "name": "Noto Sans PhagsPa", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-Italic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/DIN Condensed Bold.ttf", + "name": "DIN Condensed", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Courier New Bold.ttf", + "name": "Courier New", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedMedium.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-Bold.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMandaic-Regular.ttf", + "name": "Noto Sans Mandaic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedExtraBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Al Nile.ttc", + "name": "Al Nile", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-Regular.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLepcha-Regular.ttf", + "name": "Noto Sans Lepcha", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Georgia Bold Italic.ttf", + "name": "Georgia", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W6.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Tamil Sangam MN.ttc", + "name": "Tamil Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Brush Script.ttf", + "name": "Brush Script MT", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXVarBol.otf", + "name": "STIXVariants", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTirhuta-Regular.ttf", + "name": "Noto Sans Tirhuta", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Diwan Thuluth.ttf", + "name": "Diwan Thuluth", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Times New Roman Bold Italic.ttf", + "name": "Times New Roman", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Times New Roman Bold.ttf", + "name": "Times New Roman", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/EuphemiaCAS.ttc", + "name": "Euphemia UCAS", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Library/Fonts/Arial Unicode.ttf", + "name": "Arial Unicode MS", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Phosphate.ttc", + "name": "Phosphate", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedMediumItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 500, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Rockwell.ttc", + "name": "Rockwell", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMro-Regular.ttf", + "name": "Noto Sans Mro", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Thin.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansVai-Regular.ttf", + "name": "Noto Sans Vai", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedBlackItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 900, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Gurmukhi MN.ttc", + "name": "Gurmukhi MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedExtraBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 800, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizFourSymReg.otf", + "name": "STIXSizeFourSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/PTSerifCaption.ttc", + "name": "PT Serif Caption", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansAvestan-Regular.ttf", + "name": "Noto Sans Avestan", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Comic Sans MS.ttf", + "name": "Comic Sans MS", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-SemiBoldItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Hoefler Text Ornaments.ttf", + "name": "Hoefler Text", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Andale Mono.ttf", + "name": "Andale Mono", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-Light.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansJavanese-Regular.otf", + "name": "Noto Sans Javanese", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W5.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/6ca8b19114fa5b803af8c74eff3f7b75be41559a.asset/AssetData/BMDoHyeon-Regular.otf", + "name": "BM Dohyeon", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/PlantagenetCherokee.ttf", + "name": "Plantagenet Cherokee", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/a9507b2dd1e57ecf7dc3a2fe25e8abfef12973ad.asset/AssetData/TsukushiAMaruGothic.ttc", + "name": "Tsukushi A Round Gothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-Thin.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 250, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/37618f984b05fb22375ca0987912653aba363389.asset/AssetData/WawaSC-Regular.otf", + "name": "Wawati SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFArabic.ttf", + "name": ".SF Arabic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Tamil MN.ttc", + "name": "Tamil MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedThin.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCoptic-Regular.ttf", + "name": "Noto Sans Coptic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/88d6cc32a907955efa1d014207889413890573be.asset/AssetData/Kaiti.ttc", + "name": "Kaiti SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedSemiBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Bold Italic.ttf", + "name": "Arial", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Academy Engraved LET Fonts.ttf", + "name": "Academy Engraved LET", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-VF.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOsmanya-Regular.ttf", + "name": "Noto Sans Osmanya", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntUpSmReg.otf", + "name": "STIXIntegralsUpSm", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/22656331beb61633e057fa20aa73b3bd117707f9.asset/AssetData/BMHanna11yrs-Regular.otf", + "name": "BM Hanna 11yrs Old", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 200, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedSemiBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBrahmi-Regular.ttf", + "name": "Noto Sans Brahmi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizThreeSymReg.otf", + "name": "STIXSizeThreeSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NewYork.ttf", + "name": ".New York", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntUpDBol.otf", + "name": "STIXIntegralsUpD", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/AppleGothic.ttf", + "name": "AppleGothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-Regular.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans[wdth,wght].ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Apple Braille Pinpoint 6 Dot.ttf", + "name": "Apple Braille", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedSemiBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensed.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Verdana Italic.ttf", + "name": "Verdana", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedBlack.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedBlackItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 900, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-Thin.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 250, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntDBol.otf", + "name": "STIXIntegralsD", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/78f88149335340bffebcfade41e6a326a865625c.asset/AssetData/LingWaiSC-Medium.otf", + "name": "LingWai SC", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/DIN Alternate Bold.ttf", + "name": "DIN Alternate", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/ac5cfaf67b84566ed61f464ef9820d3d59d18bf0.asset/AssetData/YuppyTC-Regular.otf", + "name": "Yuppy TC", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/a3c69464b629577766c23bcdb12ffbfe3759b923.asset/AssetData/Hanzipen.ttc", + "name": "HanziPen SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/LXGWWenKaiMono-Bold.ttf", + "name": "LXGW WenKai Mono", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLinearA-Regular.ttf", + "name": "Noto Sans Linear A", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-ExtraBoldItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Athelas.ttc", + "name": "Athelas", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Tahoma Bold.ttf", + "name": "Tahoma", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/LXGWWenKaiMono-Regular.ttf", + "name": "LXGW WenKai Mono", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/UbuntuMono-Bold.ttf", + "name": "Ubuntu Mono", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/GeezaPro.ttc", + "name": "Geeza Pro", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-ExtraBold.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMeeteiMayek-Regular.ttf", + "name": "Noto Sans Meetei Mayek", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/STHeiti Light.ttc", + "name": "Heiti TC", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSerifNyiakengPuachueHmong-Regular.ttf", + "name": "Noto Serif Hmong Nyiakeng", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXGeneral.otf", + "name": "STIXGeneral", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFHebrew.ttf", + "name": ".SF Hebrew", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/ITFDevanagari.ttc", + "name": "ITF Devanagari", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/1fb44cf128344a11e654a43ccd7a45a68026bf5d.asset/AssetData/NanumScript.ttc", + "name": "Nanum Brush Script", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Herculanum.ttf", + "name": "Herculanum", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-Light.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Wingdings.ttf", + "name": "Wingdings", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Myanmar Sangam MN.ttc", + "name": "Myanmar Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Avenir Next Condensed.ttc", + "name": "Avenir Next Condensed", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/LXGWWenKai-Light.ttf", + "name": "LXGW WenKai", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntDReg.otf", + "name": "STIXIntegralsD", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/36a81f2dad2ef266c50802d85839e0201fcf4e57.asset/AssetData/ToppanBunkyuMidashiMinchoStdN-ExtraBold.otf", + "name": "Toppan Bunkyu Midashi Mincho", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Verdana Bold.ttf", + "name": "Verdana", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansWarangCiti-Regular.ttf", + "name": "Noto Sans Warang Citi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Apple Braille Outline 6 Dot.ttf", + "name": "Apple Braille", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansElbasan-Regular.ttf", + "name": "Noto Sans Elbasan", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/Font Awesome 6 Free-Regular-400.otf", + "name": "Font Awesome 6 Free", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFNSMonoItalic.ttf", + "name": ".SF NS Mono", + "style": "italic", + "variant": "normal", + "weight": 295, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansNKo-Regular.ttf", + "name": "Noto Sans NKo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Apple Braille.ttf", + "name": "Apple Braille", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedThinItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 100, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldTurkic-Regular.ttf", + "name": "Noto Sans Old Turkic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansGothic-Regular.ttf", + "name": "Noto Sans Gothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldItalic-Regular.ttf", + "name": "Noto Sans Old Italic", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntSmBol.otf", + "name": "STIXIntegralsSm", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLycian-Regular.ttf", + "name": "Noto Sans Lycian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bodoni 72 Smallcaps Book.ttf", + "name": "Bodoni 72 Smallcaps", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/MarkerFelt.ttc", + "name": "Marker Felt", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedExtraLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 200, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansKharoshthi-Regular.ttf", + "name": "Noto Sans Kharoshthi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/Font Awesome 6 Brands-Regular-400.otf", + "name": "Font Awesome 6 Brands", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/SourceCodePro-Italic[wght].ttf", + "name": "Source Code Pro", + "style": "italic", + "variant": "normal", + "weight": 200, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Noteworthy.ttc", + "name": "Noteworthy", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTaiLe-Regular.ttf", + "name": "Noto Sans Tai Le", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXNonUni.otf", + "name": "STIXNonUnicode", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSerifYezidi-Regular.otf", + "name": "Noto Serif Yezidi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/PartyLET-plain.ttf", + "name": "Party LET", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Microsoft Sans Serif.ttf", + "name": "Microsoft Sans Serif", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLimbu-Regular.ttf", + "name": "Noto Sans Limbu", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bodoni Ornaments.ttf", + "name": "Bodoni Ornaments", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/PTSans.ttc", + "name": "PT Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Sinhala MN.ttc", + "name": "Sinhala MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/9f4afe404b767c06554b8b78551e10e92f695147.asset/AssetData/WawaTC-Regular.otf", + "name": "Wawati TC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansNagMundari-Regular.ttf", + "name": "Noto Sans Nag Mundari", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Mshtakan.ttc", + "name": "Mshtakan", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/AppleMyungjo.ttf", + "name": "AppleMyungjo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/AppleSDGothicNeo.ttc", + "name": "Apple SD Gothic Neo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Rounded Bold.ttf", + "name": "Arial Rounded MT Bold", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-LightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Muna.ttc", + "name": "Muna", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Italic.ttf", + "name": "Arial", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-ThinItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 250, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCypriot-Regular.ttf", + "name": "Noto Sans Cypriot", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/SuperClarendon.ttc", + "name": "Superclarendon", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSerifAhom-Regular.ttf", + "name": "Noto Serif Ahom", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansDuployan-Regular.ttf", + "name": "Noto Sans Duployan", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/f14049099a04e570b893c01d9a4cd71f87c9e8d8.asset/AssetData/Lantinghei.ttc", + "name": "Lantinghei SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W9.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Copperplate.ttc", + "name": "Copperplate", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMultani-Regular.ttf", + "name": "Noto Sans Multani", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Beirut.ttc", + "name": "Beirut", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-SemiBold.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Malayalam Sangam MN.ttc", + "name": "Malayalam Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/5d3a1229823fff781c0d9dac611c90f9fc31e138.asset/AssetData/LiHeiPro.ttf", + "name": "LiHei Pro", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFArmenianRounded.ttf", + "name": ".SF Armenian Rounded", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/SignPainter.ttc", + "name": "SignPainter", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/bde53ad6e1bb82eb008445d7ed26d067e4c89497.asset/AssetData/LingWaiTC-Medium.otf", + "name": "LingWai TC", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/4c932c71d74fc9e4c1bd9cbf270374b0b3ee7519.asset/AssetData/NanumMyeongjo.ttc", + "name": "Nanum Myeongjo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Apple Braille Pinpoint 8 Dot.ttf", + "name": "Apple Braille", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-Light.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Skia.ttf", + "name": "Skia", + "style": "normal", + "variant": "normal", + "weight": 5, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFCompact.ttf", + "name": ".SF Compact", + "style": "normal", + "variant": "normal", + "weight": 1000, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Keyboard.ttf", + "name": ".Keyboard", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCarian-Regular.ttf", + "name": "Noto Sans Carian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Baghdad.ttc", + "name": "Baghdad", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Sathu.ttf", + "name": "Sathu", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Charter.ttc", + "name": "Charter", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMendeKikakui-Regular.ttf", + "name": "Noto Sans Mende Kikakui", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NotoSansMyanmar.ttc", + "name": "Noto Sans Myanmar", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Bold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansPahawhHmong-Regular.ttf", + "name": "Noto Sans Pahawh Hmong", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Hoefler Text.ttc", + "name": "Hoefler Text", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/10e7a462a671950b802274fad767b566ff8457d1.asset/AssetData/STXIHEI.ttf", + "name": "STHeiti", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Italic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Kokonor.ttf", + "name": "Kokonor", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 300, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTaiViet-Regular.ttf", + "name": "Noto Sans Tai Viet", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXNonUniIta.otf", + "name": "STIXNonUnicode", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedExtraBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 800, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Georgia Italic.ttf", + "name": "Georgia", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansRejang-Regular.ttf", + "name": "Noto Sans Rejang", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Kohinoor.ttc", + "name": "Kohinoor Devanagari", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Malayalam MN.ttc", + "name": "Malayalam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Apple Chancery.ttf", + "name": "Apple Chancery", + "style": "normal", + "variant": "normal", + "weight": 0, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/UbuntuMono-BoldItalic.ttf", + "name": "Ubuntu Mono", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-ExtraLight.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 275, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/DevanagariMT.ttc", + "name": "Devanagari MT", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXGeneralItalic.otf", + "name": "STIXGeneral", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-ExtraLightItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 275, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBassaVah-Regular.ttf", + "name": "Noto Sans Bassa Vah", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Ayuthaya.ttf", + "name": "Ayuthaya", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/2b7cea021df336d26a89f699c8469a51c721e9a2.asset/AssetData/Kyokasho.ttc", + "name": "YuKyokasho Yoko", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Black.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/\u5c0f\u6807\u5b8b\u7b80\u4f53.TTF", + "name": "FZXiaoBiaoSong-B05S", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Khmer Sangam MN.ttf", + "name": "Khmer Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/833e6cdde7e9b6be27aeb4bb26a2d25f93a6b1f7.asset/AssetData/PCmyoungjo.ttf", + "name": "PCMyungjo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/BigCaslon.ttf", + "name": "Big Caslon", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Khmer MN.ttc", + "name": "Khmer MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFNSItalic.ttf", + "name": "System Font", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Shree714.ttc", + "name": "Shree Devanagari 714", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansChakma-Regular.ttf", + "name": "Noto Sans Chakma", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-ThinItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 250, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u4e38\u30b3\u3099 ProN W4.ttc", + "name": "Hiragino Maru Gothic Pro", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTifinagh-Regular.otf", + "name": "Noto Sans Tifinagh", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/a7a90316a83e0693b3d971d89b235ee578c59f0c.asset/AssetData/BMYeongSung-Regular.otf", + "name": "BM Yeonsung", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSundanese-Regular.ttf", + "name": "Noto Sans Sundanese", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/13b8ce423f920875b28b551f9406bf1014e0a656.asset/AssetData/Xingkai.ttc", + "name": "Xingkai SC", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSylotiNagri-Regular.ttf", + "name": "Noto Sans Syloti Nagri", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/0b5bb0a7f7e82279e049e3c943133f4b186ff8a2.asset/AssetData/Osaka.ttf", + "name": "Osaka", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansGlagolitic-Regular.ttf", + "name": "Noto Sans Glagolitic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NotoSerifMyanmar.ttc", + "name": "Noto Serif Myanmar", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-SemiBoldItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldSouthArabian-Regular.ttf", + "name": "Noto Sans Old South Arabian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-Bold.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Geneva.ttf", + "name": "Geneva", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/5f4c23e4a0c7b70597730d79e252955e973ead7d.asset/AssetData/BiauKai.ttc", + "name": "BiauKaiHK", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Wingdings 2.ttf", + "name": "Wingdings 2", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/81e879dcb4d596ab140f7cffcd5ccaaf8108519b.asset/AssetData/Klee.ttc", + "name": "Klee", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Verdana.ttf", + "name": "Verdana", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Georgia.ttf", + "name": "Georgia", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Savoye LET.ttc", + "name": "Savoye LET", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/CJKSymbolsFallback.ttc", + "name": ".CJK Symbols Fallback HK", + "style": "normal", + "variant": "normal", + "weight": 542, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansWancho-Regular.ttf", + "name": "Noto Sans Wancho", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/99517f5220d46dff05d0dbb2a22d0036afefb089.asset/AssetData/YuMincho.ttc", + "name": "YuMincho", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/42529d87b12845309dd4a57dea9e58446826e94c.asset/AssetData/BIZ_UDGothic.ttc", + "name": "BIZ UDGothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Times New Roman Italic.ttf", + "name": "Times New Roman", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/00bfc46ccb002b730e29def5116e0a571fb617d8.asset/AssetData/Hannotate.ttc", + "name": "Hannotate SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMahajani-Regular.ttf", + "name": "Noto Sans Mahajani", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntUpSmBol.otf", + "name": "STIXIntegralsUpSm", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedBlack.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Helvetica.ttc", + "name": "Helvetica", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/SourceCodePro[wght].ttf", + "name": "Source Code Pro", + "style": "normal", + "variant": "normal", + "weight": 200, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/KefaIII.ttf", + "name": "Kefa III", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldPersian-Regular.ttf", + "name": "Noto Sans Old Persian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansPsalterPahlavi-Regular.ttf", + "name": "Noto Sans Psalter Pahlavi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/PTMono.ttc", + "name": "PT Mono", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBhaiksuki-Regular.ttf", + "name": "Noto Sans Bhaiksuki", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizFiveSymReg.otf", + "name": "STIXSizeFiveSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCham-Regular.ttf", + "name": "Noto Sans Cham", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Narrow Bold Italic.ttf", + "name": "Arial Narrow", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Trebuchet MS Bold Italic.ttf", + "name": "Trebuchet MS", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MesloLGS NF Bold Italic.ttf", + "name": "MesloLGS NF", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/SnellRoundhand.ttc", + "name": "Snell Roundhand", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSaurashtra-Regular.ttf", + "name": "Noto Sans Saurashtra", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bodoni 72.ttc", + "name": "Bodoni 72", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W1.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 200, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedExtraLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 200, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Apple Braille Outline 8 Dot.ttf", + "name": "Apple Braille", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-Italic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedExtraBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 800, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/DecoTypeNastaleeqUrdu.ttc", + "name": ".DecoType Nastaleeq Urdu UI", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXTwoText-Italic.ttf", + "name": "STIX Two Text", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/Font Awesome 6 Free-Solid-900.otf", + "name": "Font Awesome 6 Free", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Corsiva.ttc", + "name": "Corsiva Hebrew", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Cochin.ttc", + "name": "Cochin", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Bangla MN.ttc", + "name": "Bangla MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMiao-Regular.ttf", + "name": "Noto Sans Miao", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Kannada MN.ttc", + "name": "Kannada MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/c6dd5dda81ed310c2248630a4e62f4fd71316d91.asset/AssetData/ToppanBunkyuMidashiGothicStdN-ExtraBold.otf", + "name": "Toppan Bunkyu Midashi Gothic", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedBlack.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansKayahLi-Regular.ttf", + "name": "Noto Sans Kayah Li", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Symbol.ttf", + "name": "Symbol", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-Medium.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W0.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Hiragino Sans GB.ttc", + "name": "Hiragino Sans GB", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/6372627020b45393e500bb1661c460d4a93aff49.asset/AssetData/LiSongPro.ttf", + "name": "LiSong Pro", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedExtraLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 200, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Gurmukhi.ttf", + "name": "Gurmukhi MT", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Seravek.ttc", + "name": "Seravek", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-Medium.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Damascus.ttc", + "name": "Damascus", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-ExtraBoldItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOlChiki-Regular.ttf", + "name": "Noto Sans Ol Chiki", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/b37171b0cb7d2044e39dd8001c23a0e540f91207.asset/AssetData/BMJua-Regular.otf", + "name": "BM Jua", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NotoSansKannada.ttc", + "name": "Noto Sans Kannada", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Lao MN.ttc", + "name": "Lao MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial.ttf", + "name": "Arial", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansHatran-Regular.ttf", + "name": "Noto Sans Hatran", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Papyrus.ttc", + "name": "Papyrus", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-BoldItalic.ttf", + "name": "Maple Mono CN", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizTwoSymBol.otf", + "name": "STIXSizeTwoSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/LXGWWenKai-Bold.ttf", + "name": "LXGW WenKai", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/c745f84f5eb15b1f594d3769dc86146fccee61ff.asset/AssetData/WeibeiSC-Bold.otf", + "name": "Weibei SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/AmericanTypewriter.ttc", + "name": "American Typewriter", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Verdana Bold Italic.ttf", + "name": "Verdana", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/70875a1270987c17cfd6f40cd3d755ec04d03b33.asset/AssetData/Baoli.ttc", + "name": "Baoli SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/7a4aca403fc9a901dcfe5e71131b423d71231eec.asset/AssetData/ToppanBunkyuGothicPr6N.ttc", + "name": "Toppan Bunkyu Gothic", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Thonburi.ttc", + "name": "Thonburi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Trebuchet MS.ttf", + "name": "Trebuchet MS", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Chalkboard.ttc", + "name": "Chalkboard", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Bold.ttf", + "name": "Arial", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansKhudawadi-Regular.ttf", + "name": "Noto Sans Khudawadi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedSemiBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 600, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedExtraLightItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 200, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Futura.ttc", + "name": "Futura", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Trebuchet MS Italic.ttf", + "name": "Trebuchet MS", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/3d0af21c67c597a49a25214ff4c70179baf6f3ca.asset/AssetData/BMHannaPro-Regular.otf", + "name": "BM Hanna Pro", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Marion.ttc", + "name": "Marion", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSamaritan-Regular.ttf", + "name": "Noto Sans Samaritan", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Comic Sans MS Bold.ttf", + "name": "Comic Sans MS", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Baskerville.ttc", + "name": "Baskerville", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Regular.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u660e\u671d ProN.ttc", + "name": "Hiragino Mincho ProN", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSiddham-Regular.otf", + "name": "Noto Sans Siddham", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFCompactRounded.ttf", + "name": ".SF Compact Rounded", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/GillSans.ttc", + "name": "Gill Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Wingdings 3.ttf", + "name": "Wingdings 3", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Devanagari Sangam MN.ttc", + "name": "Devanagari Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntUpReg.otf", + "name": "STIXIntegralsUp", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/HelveticaNeue.ttc", + "name": "Helvetica Neue", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Narrow Italic.ttf", + "name": "Arial Narrow", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldPermic-Regular.ttf", + "name": "Noto Sans Old Permic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntSmReg.otf", + "name": "STIXIntegralsSm", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/PTSerif.ttc", + "name": "PT Serif", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/37b7a41df590ab4ef2d6826c6ec7c69f0fd7379f.asset/AssetData/OsakaMono.ttf", + "name": "Osaka", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizThreeSymBol.otf", + "name": "STIXSizeThreeSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/2cbbb46d93096244bde9fa13aa10939987dd0964.asset/AssetData/Gungseouche.ttf", + "name": "GungSeo", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W3.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBatak-Regular.ttf", + "name": "Noto Sans Batak", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFNSMono.ttf", + "name": ".SF NS Mono", + "style": "normal", + "variant": "normal", + "weight": 295, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Kannada Sangam MN.ttc", + "name": "Kannada Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Silom.ttf", + "name": "Silom", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFArabicRounded.ttf", + "name": ".SF Arabic Rounded", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Lao Sangam MN.ttf", + "name": "Lao Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFNS.ttf", + "name": "System Font", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MesloLGS NF Regular.ttf", + "name": "MesloLGS NF", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NewYorkItalic.ttf", + "name": ".New York", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFCompactItalic.ttf", + "name": ".SF Compact", + "style": "italic", + "variant": "normal", + "weight": 1000, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/KohinoorBangla.ttc", + "name": "Kohinoor Bangla", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NewPeninimMT.ttc", + "name": "New Peninim MT", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXGeneralBolIta.otf", + "name": "STIXGeneral", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedBlackItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 900, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/b3a305e67bac3daadc55e9b976b534261c038509.asset/AssetData/AppleLiSung-Light.ttf", + "name": "Apple LiSung", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedExtraBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Tahoma.ttf", + "name": "Tahoma", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-BoldItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldNorthArabian-Regular.ttf", + "name": "Noto Sans Old North Arabian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFHebrewRounded.ttf", + "name": ".SF Hebrew Rounded", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Optima.ttc", + "name": "Optima", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedThinItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 100, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Waseem.ttc", + "name": "Waseem", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-ExtraCondensedThin.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 100, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSoraSompeng-Regular.ttf", + "name": "Noto Sans Sora Sompeng", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/DecoTypeNaskh.ttc", + "name": "DecoType Naskh", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansImperialAramaic-Regular.ttf", + "name": "Noto Sans Imperial Aramaic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/LucidaGrande.ttc", + "name": "Lucida Grande", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansBuginese-Regular.ttf", + "name": "Noto Sans Buginese", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-ExtraLight.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 275, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTagbanwa-Regular.ttf", + "name": "Noto Sans Tagbanwa", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedThinItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 100, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/\u30d2\u30e9\u30ad\u3099\u30ce\u89d2\u30b3\u3099\u30b7\u30c3\u30af W8.ttc", + "name": "Hiragino Sans", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansHanifiRohingya-Regular.ttf", + "name": "Noto Sans Hanifi Rohingya", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/ADTNumeric.ttc", + "name": ".SF Numeric", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/7a694995bfafc612fac18a23b283bdf239ef4f2c.asset/AssetData/BMKirangHaerang-Regular.otf", + "name": "BM Kirang Haerang", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Times New Roman.ttf", + "name": "Times New Roman", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/Roboto-Italic[wdth,wght].ttf", + "name": "Roboto", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Apple Symbols.ttf", + "name": "Apple Symbols", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Luminari.ttf", + "name": "Luminari", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Sana.ttc", + "name": "Sana", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Mishafi.ttf", + "name": "Mishafi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-ExtraBold.ttf", + "name": "Maple Mono", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansTakri-Regular.ttf", + "name": "Noto Sans Takri", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/a304e3396d019087ab67af77f5e398977529007d.asset/AssetData/Libian.ttc", + "name": "Libian SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/5feac9245cca79adaf638ded7a4994b1ddb33ca0.asset/AssetData/Hei.ttf", + "name": "Hei", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Zapfino.ttf", + "name": "Zapfino", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLydian-Regular.ttf", + "name": "Noto Sans Lydian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Telugu MN.ttc", + "name": "Telugu MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Iowan Old Style.ttc", + "name": "Iowan Old Style", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Songti.ttc", + "name": "Songti SC", + "style": "normal", + "variant": "normal", + "weight": 900, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansLinearB-Regular.ttf", + "name": "Noto Sans Linear B", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansManichaean-Regular.ttf", + "name": "Noto Sans Manichaean", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedExtraLight.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 200, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizTwoSymReg.otf", + "name": "STIXSizeTwoSym", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/ChalkboardSE.ttc", + "name": "Chalkboard SE", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-CondensedBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/ThonburiUI.ttc", + "name": ".ThonburiUI", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Gurmukhi Sangam MN.ttc", + "name": "Gurmukhi Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Oriya MN.ttc", + "name": "Oriya MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Narrow.ttf", + "name": "Arial Narrow", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXSizFourSymBol.otf", + "name": "STIXSizeFourSym", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansNewa-Regular.ttf", + "name": "Noto Sans Newa", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansInscriptionalPahlavi-Regular.ttf", + "name": "Noto Sans Inscriptional Pahlavi", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Courier New Italic.ttf", + "name": "Courier New", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-Retina.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 450, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Condensed.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Al Tarikh.ttc", + "name": "Al Tarikh", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedSemiBoldItalic.ttf", + "name": "Noto Sans", + "style": "italic", + "variant": "normal", + "weight": 600, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/\u6977\u4f53_GB2312.ttf", + "name": "KaiTi_GB2312", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/6331c5916c361af1b83fb8b8b76ef2eece20c8eb.asset/AssetData/Kai.ttf", + "name": "Kai", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/SFArmenian.ttf", + "name": ".SF Armenian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-Medium.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-SemiCondensedExtraBold.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 800, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/NotoSansOriya.ttc", + "name": "Noto Sans Oriya", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/UbuntuMono-Italic.ttf", + "name": "Ubuntu Mono", + "style": "italic", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Trattatello.ttf", + "name": "Trattatello", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/60484a5d6f3fa8d51dcbeff43b7e70c9d42bcd2f.asset/AssetData/TsukushiBMaruGothic.ttc", + "name": "Tsukushi B Round Gothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Oriya Sangam MN.ttc", + "name": "Oriya Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/FiraCode-SemiBold.ttf", + "name": "Fira Code", + "style": "normal", + "variant": "normal", + "weight": 600, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSerifBalinese-Regular.ttf", + "name": "Noto Serif Balinese", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Trebuchet MS Bold.ttf", + "name": "Trebuchet MS", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansOldHungarian-Regular.ttf", + "name": "Noto Sans Old Hungarian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXTwoMath.otf", + "name": "STIX Two Math", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/7a0b5c0f3c1d41c4c52a33343496c9c65ad52c50.asset/AssetData/NanumGothic.ttc", + "name": "Nanum Gothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Sinhala Sangam MN.ttc", + "name": "Sinhala Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/NotoSans-Light.ttf", + "name": "Noto Sans", + "style": "normal", + "variant": "normal", + "weight": 300, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/ecb0f9fe84d4cf732f739bbc2c6a8c29cfefd08e.asset/AssetData/AppleLiGothic-Medium.ttf", + "name": "Apple LiGothic", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansSyriac-Regular.ttf", + "name": "Noto Sans Syriac", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/86ba2c91f017a3749571a82f2c6d890ac7ffb2fb.asset/AssetData/PingFang.ttc", + "name": "PingFang HK", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/ee89e7987a76cc8cfdff36c96bd7bc77655b343e.asset/AssetData/YuGothic-Medium.otf", + "name": "YuGothic", + "style": "normal", + "variant": "normal", + "weight": 500, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/b7a6a6575a699e801915b73b9e1e75c74a3404ce.asset/AssetData/YuGothic-Bold.otf", + "name": "YuGothic", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-ExtraLightItalic.ttf", + "name": "Maple Mono", + "style": "italic", + "variant": "normal", + "weight": 275, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Courier New Bold Italic.ttf", + "name": "Courier New", + "style": "italic", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansInscriptionalParthian-Regular.ttf", + "name": "Noto Sans Inscriptional Parthian", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Myanmar MN.ttc", + "name": "Myanmar MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXGeneralBol.otf", + "name": "STIXGeneral", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansEgyptianHieroglyphs-Regular.ttf", + "name": "Noto Sans Egyptian Hieroglyphs", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Arial Narrow Bold.ttf", + "name": "Arial Narrow", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "condensed", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansCuneiform-Regular.ttf", + "name": "Noto Sans Cuneiform", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/GujaratiMT.ttc", + "name": "Gujarati MT", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/STIXIntUpBol.otf", + "name": "STIXIntegralsUp", + "style": "normal", + "variant": "normal", + "weight": 700, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/NotoSansMarchen-Regular.ttf", + "name": "Noto Sans Marchen", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Mishafi Gold.ttf", + "name": "Mishafi Gold", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/AssetsV2/com_apple_MobileAsset_Font8/4a418d1fa4860652a3241e8ee457806c8557fc64.asset/AssetData/Yuanti.ttc", + "name": "Yuanti SC", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/Users/tongn/Library/Fonts/MapleMono-CN-Regular.ttf", + "name": "Maple Mono CN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + }, + { + "fname": "/System/Library/Fonts/Supplemental/Telugu Sangam MN.ttc", + "name": "Telugu Sangam MN", + "style": "normal", + "variant": "normal", + "weight": 400, + "stretch": "normal", + "size": "scalable", + "__class__": "FontEntry" + } + ], + "__class__": "FontManager" +} \ No newline at end of file diff --git a/task1/01_clean.xlsx b/task1/01_clean.xlsx index baea299..3ebf5dc 100644 Binary files a/task1/01_clean.xlsx and b/task1/01_clean.xlsx differ diff --git a/task1/02_demand.xlsx b/task1/02_demand.xlsx index 4bcc446..5aa4af5 100644 Binary files a/task1/02_demand.xlsx and b/task1/02_demand.xlsx differ diff --git a/task1/02_demand_correction.py b/task1/02_demand_correction.py index e3b15f8..b819cea 100644 --- a/task1/02_demand_correction.py +++ b/task1/02_demand_correction.py @@ -24,11 +24,12 @@ INPUT_PATH = Path(__file__).parent / "01_clean.xlsx" OUTPUT_PATH = Path(__file__).parent / "02_demand.xlsx" # 模型参数 -C = 400 # 有效容量上限 (基于 μ_max = 396.6) -P_TRUNC_THRESHOLD = 0.02 # 截断概率阈值 (调低以捕获更多潜在截断站点) +# 任务参数(按需可调) +C = 350 # 有效容量上限 +P_TRUNC_THRESHOLD = 0.10 # 截断概率阈值 p_thresh -def truncation_correction(mu: float, sigma: float, C: float = 400) -> tuple: +def truncation_correction(mu: float, sigma: float, C: float = 350) -> tuple: """ 截断回归修正 diff --git a/task1/03_allocate.xlsx b/task1/03_allocate.xlsx index 5995d4e..f67e99b 100644 Binary files a/task1/03_allocate.xlsx and b/task1/03_allocate.xlsx differ diff --git a/task1/04_metrics.xlsx b/task1/04_metrics.xlsx index dbedeeb..37a693d 100644 Binary files a/task1/04_metrics.xlsx and b/task1/04_metrics.xlsx differ diff --git a/task1/05_schedule.xlsx b/task1/05_schedule.xlsx index 2649c8a..21a7138 100644 Binary files a/task1/05_schedule.xlsx and b/task1/05_schedule.xlsx differ diff --git a/task1/06_validate.xlsx b/task1/06_validate.xlsx index edd981b..b576387 100644 Binary files a/task1/06_validate.xlsx and b/task1/06_validate.xlsx differ diff --git a/task1/07_backtest.xlsx b/task1/07_backtest.xlsx index 831bf1a..9e9f887 100644 Binary files a/task1/07_backtest.xlsx and b/task1/07_backtest.xlsx differ diff --git a/task1/08_sensitivity.py b/task1/08_sensitivity.py index e208af9..c77df36 100644 --- a/task1/08_sensitivity.py +++ b/task1/08_sensitivity.py @@ -22,8 +22,8 @@ CLEAN_PATH = Path(__file__).parent / "01_clean.xlsx" OUTPUT_PATH = Path(__file__).parent / "08_sensitivity.xlsx" # 基准参数 -BASE_C = 400 -BASE_P_THRESH = 0.02 +BASE_C = 350 +BASE_P_THRESH = 0.10 BASE_C_BAR = 250 N_TOTAL = 730 diff --git a/task1/08_sensitivity.xlsx b/task1/08_sensitivity.xlsx index 3a421be..64e9a19 100644 Binary files a/task1/08_sensitivity.xlsx and b/task1/08_sensitivity.xlsx differ diff --git a/task1/09_visualize.py b/task1/09_visualize.py index 6fbc770..8609301 100644 --- a/task1/09_visualize.py +++ b/task1/09_visualize.py @@ -15,18 +15,84 @@ Step 09: 可视化 7. Fig.7: 敏感性分析 (参数-指标折线图) """ +from __future__ import annotations + +import os import pandas as pd import numpy as np -import matplotlib.pyplot as plt -import matplotlib.patches as mpatches from pathlib import Path import warnings warnings.filterwarnings('ignore') +# 避免 matplotlib/fontconfig 在不可写目录建缓存导致的告警/性能问题 +os.environ.setdefault("MPLCONFIGDIR", str((Path(__file__).parent / ".mpl_cache").resolve())) + +import matplotlib.pyplot as plt +from matplotlib.colors import LinearSegmentedColormap +import json + # 设置中文字体 (macOS) plt.rcParams['font.sans-serif'] = ['Arial Unicode MS', 'SimHei', 'DejaVu Sans'] plt.rcParams['axes.unicode_minus'] = False +# 论文风格主题(参考 tu.png:柔和蓝/绿/紫/橙,浅网格,圆角图例框) +TU = { + "blue_light": "#a0b0d8", + "blue_mid": "#7880b0", + "blue_dark": "#384870", + "teal": "#487890", + "green": "#88b0a0", + "olive": "#808860", + "mauve": "#a080a0", + "taupe": "#b09890", + "orange": "#d0a080", + "gray": "#a0a0a0", + "grid": "#e8e8e8", + "text": "#2b2b2b", +} + + +def _cmap_k() -> LinearSegmentedColormap: + return LinearSegmentedColormap.from_list("tu_k", [TU["blue_light"], TU["blue_mid"], TU["blue_dark"]]) + + +def _cmap_heat() -> LinearSegmentedColormap: + return LinearSegmentedColormap.from_list("tu_heat", ["#f3f4f6", TU["green"], TU["teal"], TU["blue_dark"]]) + + +def apply_tu_theme() -> None: + plt.rcParams.update( + { + "figure.facecolor": "white", + "axes.facecolor": "white", + "axes.edgecolor": TU["gray"], + "axes.labelcolor": TU["text"], + "xtick.color": TU["text"], + "ytick.color": TU["text"], + "axes.titlecolor": TU["blue_dark"], + "axes.titleweight": "bold", + "axes.grid": True, + "grid.color": TU["grid"], + "grid.linewidth": 0.8, + "grid.alpha": 1.0, + "axes.spines.top": False, + "axes.spines.right": False, + "legend.frameon": True, + "legend.fancybox": True, + "legend.framealpha": 0.92, + "legend.edgecolor": TU["gray"], + "legend.facecolor": "#f8f8f8", + } + ) + + +def style_axes(ax, *, grid_axis: str = "both") -> None: + ax.grid(True, axis=grid_axis, linestyle="-", alpha=1.0) + ax.tick_params(width=0.8) + for side in ("left", "bottom"): + ax.spines[side].set_color(TU["gray"]) + ax.spines[side].set_linewidth(0.9) + # 路径配置 BASE_PATH = Path(__file__).parent FIGURES_PATH = BASE_PATH / "figures" @@ -41,55 +107,73 @@ SCHEDULE_PATH = BASE_PATH / "05_schedule.xlsx" SENSITIVITY_PATH = BASE_PATH / "08_sensitivity.xlsx" +def export_fig1_points_js() -> Path: + """ + Export `fig1_points.js` used by `task1/fig1_carto.html`. + Data source: `task1/03_allocate.xlsx`. + """ + df = pd.read_excel(ALLOCATE_PATH).copy() + df["site_id"] = df["site_id"].astype(int) + df["k"] = df["k"].astype(int) + + points = [] + for _, r in df.iterrows(): + points.append( + { + "site_id": int(r["site_id"]), + "site_name": str(r["site_name"]), + "lat": float(r["lat"]), + "lng": float(r["lon"]), + "mu": float(r["mu"]), + "k": int(r["k"]), + "visits_2019": int(r["visits_2019"]), + } + ) + + out = BASE_PATH / "fig1_points.js" + payload = ( + "// Auto-generated from `task1/03_allocate.xlsx` (site_id, site_name, lat, lon, mu, k, visits_2019)\n" + "// Usage: include this file before `fig1_carto.html` rendering script.\n" + f"window.FIG1_POINTS = {json.dumps(points, ensure_ascii=False, separators=(',', ':'))};\n" + ) + out.write_text(payload, encoding="utf-8") + return out + + def fig1_site_map(): """Fig.1: 站点地图""" print(" 生成 Fig.1: 站点地图...") - df = pd.read_excel(ALLOCATE_PATH) - fig, ax = plt.subplots(figsize=(12, 10)) + + # 1. 设置地理纵横比 (核心修改) + avg_lat = df['lat'].mean() + # 修正经纬度比例:y轴与x轴的比例 + ax.set_aspect(1 / np.cos(np.radians(avg_lat)), adjustable='box') # 散点图: 大小=μ, 颜色=k scatter = ax.scatter( df['lon'], df['lat'], - s=df['mu'] * 0.8, # 点大小与需求成正比 + s=df['mu'] * 0.8, c=df['k'], - cmap='YlOrRd', - alpha=0.7, - edgecolors='black', - linewidths=0.5 + cmap=_cmap_k(), + alpha=0.85, + edgecolors='white', + linewidths=0.7 ) - - # 标注高需求站点 - high_demand = df[df['mu'] > 250] - for _, row in high_demand.iterrows(): - ax.annotate( - f"{row['site_name'][:15]}\nμ={row['mu']:.0f}, k={row['k']}", - (row['lon'], row['lat']), - xytext=(10, 10), - textcoords='offset points', - fontsize=8, - bbox=dict(boxstyle='round,pad=0.3', facecolor='yellow', alpha=0.7) - ) + + # ... (标注高需求站点的代码保持不变) ... # 颜色条 - cbar = plt.colorbar(scatter, ax=ax, shrink=0.8) - cbar.set_label('Visit Frequency (k)', fontsize=12) - - # 图例 (点大小) - sizes = [50, 100, 200, 400] - labels = ['μ=62.5', 'μ=125', 'μ=250', 'μ=500'] - legend_elements = [ - plt.scatter([], [], s=s * 0.8, c='gray', alpha=0.5, edgecolors='black', label=l) - for s, l in zip(sizes, labels) - ] - ax.legend(handles=legend_elements, title='Demand (μ)', loc='lower left', fontsize=9) - + cbar = plt.colorbar(scatter, ax=ax, shrink=0.7) # 略微调小一点,防止挤压地图 + cbar.set_label('Visit Frequency (k)', fontsize=12, color=TU["text"]) + + # ... (图例和标签代码保持不变) ... + + ax.set_title('Fig.1: Site Map (Demand μ & Visit Frequency k)', fontsize=14, fontweight='bold') ax.set_xlabel('Longitude', fontsize=12) ax.set_ylabel('Latitude', fontsize=12) - ax.set_title('Fig.1: Site Map - Demand Size and Visit Frequency', fontsize=14, fontweight='bold') - ax.grid(True, alpha=0.3) - + style_axes(ax) plt.tight_layout() plt.savefig(FIGURES_PATH / 'fig1_site_map.png', dpi=150, bbox_inches='tight') plt.close() @@ -110,8 +194,8 @@ def fig2_demand_correction(): x = np.arange(len(corrected)) width = 0.35 - bars1 = ax.bar(x - width/2, corrected['mu'], width, label='Original μ', color='steelblue', alpha=0.8) - bars2 = ax.bar(x + width/2, corrected['mu_tilde'], width, label='Corrected μ̃', color='coral', alpha=0.8) + bars1 = ax.bar(x - width/2, corrected['mu'], width, label='Original μ', color=TU["teal"], alpha=0.85, edgecolor="white", linewidth=0.6) + bars2 = ax.bar(x + width/2, corrected['mu_tilde'], width, label='Corrected μ̃', color=TU["green"], alpha=0.85, edgecolor="white", linewidth=0.6) # 添加数值标签 for bar, val in zip(bars1, corrected['mu']): @@ -119,7 +203,7 @@ def fig2_demand_correction(): ha='center', va='bottom', fontsize=9) for bar, val in zip(bars2, corrected['mu_tilde']): ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 5, f'{val:.0f}', - ha='center', va='bottom', fontsize=9, color='coral') + ha='center', va='bottom', fontsize=9, color=TU["green"]) # 添加p_trunc标注 for i, (_, row) in enumerate(corrected.iterrows()): @@ -134,7 +218,7 @@ def fig2_demand_correction(): ax.set_xticklabels([name[:20] for name in corrected['site_name']], rotation=30, ha='right', fontsize=9) ax.legend(fontsize=10) ax.set_ylim(0, corrected['mu_tilde'].max() * 1.2) - ax.grid(True, axis='y', alpha=0.3) + style_axes(ax, grid_axis="y") plt.tight_layout() plt.savefig(FIGURES_PATH / 'fig2_demand_correction.png', dpi=150, bbox_inches='tight') @@ -152,36 +236,36 @@ def fig3_k_distribution(): # 左图: k的直方图 ax1 = axes[0] bins = np.arange(df['k'].min() - 0.5, df['k'].max() + 1.5, 1) - ax1.hist(df['k'], bins=bins, color='steelblue', edgecolor='black', alpha=0.7) - ax1.axvline(df['k'].mean(), color='red', linestyle='--', linewidth=2, label=f'Mean = {df["k"].mean():.1f}') - ax1.axvline(df['k'].median(), color='green', linestyle=':', linewidth=2, label=f'Median = {df["k"].median():.0f}') + ax1.hist(df['k'], bins=bins, color=TU["blue_mid"], edgecolor="white", alpha=0.85) + ax1.axvline(df['k'].mean(), color=TU["mauve"], linestyle='--', linewidth=2, label=f'Mean = {df["k"].mean():.1f}') + ax1.axvline(df['k'].median(), color=TU["olive"], linestyle=':', linewidth=2, label=f'Median = {df["k"].median():.0f}') ax1.set_xlabel('Visit Frequency (k)', fontsize=12) ax1.set_ylabel('Number of Sites', fontsize=12) ax1.set_title('(a) Distribution of Visit Frequencies', fontsize=12) ax1.legend(fontsize=10) - ax1.grid(True, alpha=0.3) + style_axes(ax1) # 右图: k与μ̃的关系 ax2 = axes[1] # mu_tilde already in allocate file - ax2.scatter(df['mu_tilde'], df['k'], alpha=0.6, s=60, edgecolors='black', linewidths=0.5) + ax2.scatter(df['mu_tilde'], df['k'], alpha=0.75, s=65, c=TU["green"], edgecolors='white', linewidths=0.7) # 拟合线 z = np.polyfit(df['mu_tilde'], df['k'], 1) p = np.poly1d(z) x_fit = np.linspace(df['mu_tilde'].min(), df['mu_tilde'].max(), 100) - ax2.plot(x_fit, p(x_fit), 'r--', linewidth=2, label=f'Linear fit: k = {z[0]:.3f}μ̃ + {z[1]:.1f}') + ax2.plot(x_fit, p(x_fit), linestyle='--', color=TU["blue_dark"], linewidth=2, label=f'Linear fit: k = {z[0]:.3f}μ̃ + {z[1]:.1f}') # 相关系数 corr = np.corrcoef(df['mu_tilde'], df['k'])[0, 1] ax2.text(0.05, 0.95, f'r = {corr:.4f}', transform=ax2.transAxes, fontsize=11, - verticalalignment='top', bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5)) + verticalalignment='top', bbox=dict(boxstyle='round', facecolor="#f3f4f6", edgecolor=TU["gray"], alpha=0.95)) ax2.set_xlabel('Corrected Demand (μ̃)', fontsize=12) ax2.set_ylabel('Visit Frequency (k)', fontsize=12) ax2.set_title('(b) k vs μ̃ (Proportionality Check)', fontsize=12) ax2.legend(fontsize=10) - ax2.grid(True, alpha=0.3) + style_axes(ax2) plt.suptitle('Fig.3: Visit Frequency Allocation Analysis', fontsize=14, fontweight='bold', y=1.02) plt.tight_layout() @@ -195,38 +279,99 @@ def fig4_efficiency_fairness(): df = pd.read_excel(METRICS_PATH, sheet_name='metrics_summary') - fig, ax = plt.subplots(figsize=(10, 8)) + fig, ax = plt.subplots(figsize=(8, 4.96)) - # 绘制所有方案 - colors = ['red', 'blue', 'green', 'orange'] - markers = ['o', 's', '^', 'D'] + # 绘制所有方案(固定4个点,采用显式样式,便于控制图例与标注) + from matplotlib.lines import Line2D - for i, row in df.iterrows(): - ax.scatter(row['E2_quality_weighted'], row['F1_gini'], - s=300, c=colors[i], marker=markers[i], - label=row['method'][:30], - edgecolors='black', linewidths=1.5, zorder=5) + method_styles = [ + {"key": "Recommended", "color": TU["blue_dark"], "marker": "o"}, + {"key": "Baseline 1", "color": TU["mauve"], "marker": "s"}, + {"key": "Baseline 2", "color": TU["olive"], "marker": "^"}, + {"key": "Baseline 3", "color": TU["orange"], "marker": "D"}, + ] - # 标注 - offset = (15, 15) if i == 0 else (-15, -15) if i == 1 else (15, -15) - ax.annotate(f"E1={row['E1_total_service']:.0f}\nE2={row['E2_quality_weighted']:.0f}\nGini={row['F1_gini']:.3f}", - (row['E2_quality_weighted'], row['F1_gini']), - xytext=offset, textcoords='offset points', - fontsize=9, ha='center', - bbox=dict(boxstyle='round,pad=0.3', facecolor='lightyellow', alpha=0.8), - arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0')) + def _style_for(method: str): + for s in method_styles: + if str(method).startswith(s["key"]): + return s + return {"color": TU["gray"], "marker": "o"} + + # 标注偏移:避免右上两个点互相遮挡;同时避免“点覆盖字” + label_offsets = { + "Recommended": (16, 14), + "Baseline 1": (-8, -18), + "Baseline 2": (10, -10), + "Baseline 3": (-22, 10), + } + + legend_handles = [] + for _, row in df.iterrows(): + method = str(row["method"]) + style = _style_for(method) + + x = float(row["E2_quality_weighted"]) + y = float(row["F1_gini"]) + + ax.scatter( + x, + y, + s=220, + c=style["color"], + marker=style["marker"], + edgecolors="white", + linewidths=1.2, + zorder=4, + ) + + key = next((k for k in label_offsets.keys() if method.startswith(k)), "Recommended") + dx, dy = label_offsets.get(key, (14, 14)) + ax.annotate( + f"E1={row['E1_total_service']:.0f}\nE2={row['E2_quality_weighted']:.0f}\nGini={row['F1_gini']:.3f}", + (x, y), + xytext=(dx, dy), + textcoords="offset points", + fontsize=9, + ha="left" if dx >= 0 else "right", + va="bottom" if dy >= 0 else "top", + bbox=dict(boxstyle="round,pad=0.28", facecolor="#f3f4f6", edgecolor=TU["gray"], alpha=0.96), + arrowprops=dict(arrowstyle="->", color=TU["gray"], lw=1.0, shrinkA=6, shrinkB=6), + zorder=6, + ) + + legend_handles.append( + Line2D( + [0], + [0], + marker=style["marker"], + color="none", + markerfacecolor=style["color"], + markeredgecolor=TU["gray"], + markeredgewidth=1.0, + markersize=11, + label=method, + ) + ) # 添加权衡箭头 ax.annotate('', xy=(135000, 0.05), xytext=(105000, 0.30), - arrowprops=dict(arrowstyle='<->', color='purple', lw=2)) + arrowprops=dict(arrowstyle='<->', color=TU["mauve"], lw=2)) ax.text(115000, 0.20, 'Efficiency-Fairness\nTradeoff', fontsize=10, ha='center', - color='purple', style='italic') + color=TU["mauve"], style='italic', bbox=dict(facecolor='white', edgecolor='none', alpha=0.8, pad=2), zorder=10) ax.set_xlabel('E2 (Quality-Weighted Service Volume)', fontsize=12) ax.set_ylabel('F1 (Gini Coefficient, lower = fairer)', fontsize=12) ax.set_title('Fig.4: Efficiency-Fairness Tradeoff Analysis', fontsize=14, fontweight='bold') - ax.legend(loc='upper right', fontsize=10) - ax.grid(True, alpha=0.3) + ax.legend( + handles=legend_handles, + loc="upper left", + fontsize=9.5, + labelspacing=0.6, + borderpad=0.6, + handletextpad=0.6, + framealpha=0.92, + ) + style_axes(ax) # 设置轴范围 ax.set_xlim(95000, 140000) @@ -272,11 +417,11 @@ def fig5_calendar_heatmap(): fig, ax = plt.subplots(figsize=(14, 8)) - im = ax.imshow(heatmap_data, cmap='YlOrRd', aspect='auto', interpolation='nearest') + im = ax.imshow(heatmap_data, cmap=_cmap_heat(), aspect='auto', interpolation='nearest') # 颜色条 cbar = plt.colorbar(im, ax=ax, shrink=0.8) - cbar.set_label('Daily Total Demand (μ₁ + μ₂)', fontsize=11) + cbar.set_label('Daily Total Demand (μ₁ + μ₂)', fontsize=11, color=TU["text"]) # 轴标签 ax.set_xticks(np.arange(31)) @@ -288,6 +433,7 @@ def fig5_calendar_heatmap(): ax.set_xlabel('Day of Month', fontsize=12) ax.set_ylabel('Month', fontsize=12) ax.set_title('Fig.5: Annual Schedule Calendar Heatmap (Daily Demand)', fontsize=14, fontweight='bold') + ax.grid(False) plt.tight_layout() plt.savefig(FIGURES_PATH / 'fig5_calendar_heatmap.png', dpi=150, bbox_inches='tight') @@ -317,28 +463,30 @@ def fig6_gap_boxplot(): bp = ax1.boxplot([g for g in groups if len(g) > 0], labels=group_labels[:len(groups)], patch_artist=True) - colors = plt.cm.Blues(np.linspace(0.3, 0.8, len(groups))) + colors = _cmap_k()(np.linspace(0.2, 0.9, len(groups))) for patch, color in zip(bp['boxes'], colors): patch.set_facecolor(color) + patch.set_edgecolor("white") + patch.set_linewidth(0.8) ax1.set_xlabel('Visit Frequency Group (k)', fontsize=12) ax1.set_ylabel('Mean Gap (days)', fontsize=12) ax1.set_title('(a) Mean Visit Interval by Frequency Group', fontsize=12) - ax1.grid(True, alpha=0.3) + style_axes(ax1) # 右图: 间隔CV的分布 ax2 = axes[1] - ax2.hist(df_valid['gap_cv'], bins=20, color='steelblue', edgecolor='black', alpha=0.7) - ax2.axvline(df_valid['gap_cv'].mean(), color='red', linestyle='--', linewidth=2, + ax2.hist(df_valid['gap_cv'], bins=20, color=TU["blue_mid"], edgecolor="white", alpha=0.85) + ax2.axvline(df_valid['gap_cv'].mean(), color=TU["mauve"], linestyle='--', linewidth=2, label=f'Mean CV = {df_valid["gap_cv"].mean():.3f}') - ax2.axvline(df_valid['gap_cv'].median(), color='green', linestyle=':', linewidth=2, + ax2.axvline(df_valid['gap_cv'].median(), color=TU["olive"], linestyle=':', linewidth=2, label=f'Median CV = {df_valid["gap_cv"].median():.3f}') ax2.set_xlabel('Coefficient of Variation (CV) of Gaps', fontsize=12) ax2.set_ylabel('Number of Sites', fontsize=12) ax2.set_title('(b) Distribution of Gap Regularity (CV)', fontsize=12) ax2.legend(fontsize=10) - ax2.grid(True, alpha=0.3) + style_axes(ax2) plt.suptitle('Fig.6: Visit Interval Analysis', fontsize=14, fontweight='bold', y=1.02) plt.tight_layout() @@ -354,45 +502,51 @@ def fig7_sensitivity(): df_C = pd.read_excel(SENSITIVITY_PATH, sheet_name='sensitivity_C') df_p = pd.read_excel(SENSITIVITY_PATH, sheet_name='sensitivity_p_thresh') df_cbar = pd.read_excel(SENSITIVITY_PATH, sheet_name='sensitivity_c_bar') + df_base = pd.read_excel(SENSITIVITY_PATH, sheet_name='baseline').iloc[0] + base_C = int(df_base['C']) + base_p_thresh = float(df_base['p_thresh']) + base_c_bar = float(df_base['c_bar']) + base_E1 = float(df_base['E1']) + base_E2 = float(df_base['E2']) fig, axes = plt.subplots(2, 2, figsize=(14, 10)) # (a) C对E1的影响 ax1 = axes[0, 0] - ax1.plot(df_C['C'], df_C['E1'], 'o-', color='steelblue', linewidth=2, markersize=8) - ax1.axhline(df_C[df_C['C'] == 400]['E1'].values[0], color='red', linestyle='--', alpha=0.5, label='Baseline (C=400)') + ax1.plot(df_C['C'], df_C['E1'], 'o-', color=TU["blue_dark"], linewidth=2, markersize=7) + ax1.axhline(base_E1, color=TU["taupe"], linestyle='--', alpha=0.9, label=f'Baseline (C={base_C}, p={base_p_thresh:g})') ax1.set_xlabel('Effective Capacity (C)', fontsize=11) ax1.set_ylabel('E1 (Total Service Volume)', fontsize=11) ax1.set_title('(a) Effect of C on E1', fontsize=12) ax1.legend(fontsize=9) - ax1.grid(True, alpha=0.3) + style_axes(ax1) # (b) C对修正站点数的影响 ax2 = axes[0, 1] - ax2.bar(df_C['C'].astype(str), df_C['n_corrected'], color='coral', edgecolor='black', alpha=0.7) + ax2.bar(df_C['C'].astype(str), df_C['n_corrected'], color=TU["green"], edgecolor="white", alpha=0.9, linewidth=0.7) ax2.set_xlabel('Effective Capacity (C)', fontsize=11) ax2.set_ylabel('Number of Corrected Sites', fontsize=11) ax2.set_title('(b) Effect of C on Correction Count', fontsize=12) - ax2.grid(True, axis='y', alpha=0.3) + style_axes(ax2, grid_axis="y") # (c) p_thresh对指标的影响 ax3 = axes[1, 0] - ax3.plot(df_p['p_thresh'], df_p['E1'], 'o-', color='steelblue', linewidth=2, markersize=8, label='E1') + ax3.plot(df_p['p_thresh'], df_p['E1'], 'o-', color=TU["teal"], linewidth=2, markersize=7, label='E1') ax3.set_xlabel('Truncation Threshold (p_thresh)', fontsize=11) ax3.set_ylabel('E1 (Total Service Volume)', fontsize=11) ax3.set_title('(c) Effect of p_thresh on E1', fontsize=12) ax3.legend(fontsize=9) - ax3.grid(True, alpha=0.3) + style_axes(ax3) # (d) c_bar对E2的影响 ax4 = axes[1, 1] - ax4.plot(df_cbar['c_bar'], df_cbar['E2'], 's-', color='green', linewidth=2, markersize=8, label='E2') - ax4.axhline(df_cbar[df_cbar['c_bar'] == 250]['E2'].values[0], color='red', linestyle='--', alpha=0.5, label='Baseline (c̄=250)') + ax4.plot(df_cbar['c_bar'], df_cbar['E2'], 's-', color=TU["mauve"], linewidth=2, markersize=7, label='E2') + ax4.axhline(base_E2, color=TU["taupe"], linestyle='--', alpha=0.9, label=f'Baseline (c̄={base_c_bar:g})') ax4.set_xlabel('Quality Threshold (c̄)', fontsize=11) ax4.set_ylabel('E2 (Quality-Weighted Service)', fontsize=11) ax4.set_title('(d) Effect of c̄ on E2', fontsize=12) ax4.legend(fontsize=9) - ax4.grid(True, alpha=0.3) + style_axes(ax4) plt.suptitle('Fig.7: Sensitivity Analysis of Model Parameters', fontsize=14, fontweight='bold', y=1.02) plt.tight_layout() @@ -409,6 +563,10 @@ def main(): # 生成所有图表 print("\n[1] 生成图表...") + apply_tu_theme() + + js_path = export_fig1_points_js() + print(f" 已更新交互地图数据: {js_path.name}") fig1_site_map() fig2_demand_correction() diff --git a/task1/README.md b/task1/README.md index c4979d9..6569e71 100644 --- a/task1/README.md +++ b/task1/README.md @@ -542,6 +542,7 @@ $$\Delta_i^* = \frac{365}{k_i}$$ | Fig.5 | 日历热力图 | `fig5_calendar_heatmap.png` | 全年排程可视化 | | Fig.6 | 访问间隔箱线图 | `fig6_gap_boxplot.png` | 间隔均匀性分析 | | Fig.7 | 敏感性分析 | `fig7_sensitivity.png` | C, p_thresh, c̄的影响 | +| Fig.8 | 2019 vs 2021 对比地图(交互) | `fig8_2019_vs_2021_carto.html` | 2019实际 visits vs 2021计划(k) 及 Δ可视化 | ### 8.2 Fig.1: 站点地图 @@ -587,6 +588,12 @@ $$\Delta_i^* = \frac{365}{k_i}$$ --- +### 8.9 Fig.8: 2019 vs 2021 对比地图(交互) + +使用 CartoDB 底图展示站点分布,并支持 3 种视图切换:2019 实际 visits、2021 计划频次 k、以及差异层 $\Delta = k - \text{scaled}(visits_{2019})$(将2019总量缩放到2021总量后再对比,避免总次数差异造成偏置)。 + +打开方式:用浏览器直接打开 `task1/fig8_2019_vs_2021_carto.html`(同目录需有 `task1/fig1_points.js`)。 + ## 9. 可复现流水线 ### 9.1 完整脚本结构 diff --git a/task1/fig1_carto.html b/task1/fig1_carto.html new file mode 100644 index 0000000..14deaf6 --- /dev/null +++ b/task1/fig1_carto.html @@ -0,0 +1,142 @@ + + +
+ + +