NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

fontconst.py (6765B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\fontconst.py
      2 import os
      3 import sys
      4 import blue
      5 from carbonui import languageConst
      6 from carbonui.text.const import FontSizePreset
      7 EVE_SMALL_FONTSIZE = FontSizePreset.DEPRECATED_SMALL
      8 EVE_MEDIUM_FONTSIZE = FontSizePreset.DEPRECATED_MEDIUM
      9 EVE_LARGE_FONTSIZE = FontSizePreset.DEPRECATED_LARGE
     10 EVE_XLARGE_FONTSIZE = FontSizePreset.DEPRECATED_XLARGE
     11 EVE_DETAIL_FONTSIZE = FontSizePreset.DETAIL
     12 EVE_BODY_FONTSIZE = FontSizePreset.BODY
     13 EVE_HEADER_FONTSIZE = FontSizePreset.HEADER
     14 EVE_HEADLINE_FONTSIZE = FontSizePreset.HEADLINE
     15 EVE_DISPLAY_FONTSIZE = FontSizePreset.DISPLAY
     16 DEFAULT_FONTSIZE = EVE_MEDIUM_FONTSIZE
     17 DEFAULT_LINESPACING = 0.0
     18 DEFAULT_LETTERSPACE = 0
     19 DEFAULT_UPPERCASE = False
     20 STYLE_DEFAULT = 'STYLE_DEFAULT'
     21 STYLE_HEADER = 'STYLE_HEADER'
     22 STYLE_SMALLTEXT = 'STYLE_SMALLTEXT'
     23 EVESANS_BOLD = 'res:/UI/Fonts/EveSansNeue-Bold.otf'
     24 SYSTEMFONTROOT = blue.sysinfo.GetSystemFontsDirectory()
     25 FONT_FAMILY_OVERRIDE = None
     26 fontSizeFactor = 1.0
     27 EVEFONTFAMILY = {STYLE_DEFAULT: ('res:/UI/Fonts/EveSansNeue-Regular.otf',
     28                  'res:/UI/Fonts/EveSansNeue-Italic.otf',
     29                  EVESANS_BOLD,
     30                  'res:/UI/Fonts/EveSansNeue-BoldItalic.otf'),
     31  STYLE_HEADER: ('res:/UI/Fonts/EveSansNeue-Condensed.otf', 'res:/UI/Fonts/EveSansNeue-CondensedItalic.otf', 'res:/UI/Fonts/EveSansNeue-CondensedBold.otf', 'res:/UI/Fonts/EveSansNeue-CondensedBoldItalic.otf'),
     32  STYLE_SMALLTEXT: ('res:/UI/Fonts/EveSansNeue-Expanded.otf', 'res:/UI/Fonts/EveSansNeue-ExpandedItalic.otf', 'res:/UI/Fonts/EveSansNeue-ExpandedBold.otf', 'res:/UI/Fonts/EveSansNeue-ExpandedBoldItalic.otf')}
     33 KOREANFONTFAMILY = {STYLE_DEFAULT: ('res:/UI/Fonts/NotoSansCJKkr-Medium.otf', 'res:/UI/Fonts/NotoSansCJKkr-Medium.otf', 'res:/UI/Fonts/NotoSansCJKkr-Medium.otf', 'res:/UI/Fonts/NotoSansCJKkr-Medium.otf')}
     34 MSGOTHIC_PATH = os.path.join(SYSTEMFONTROOT, 'msgothic.ttc')
     35 ARIAL_PATH = os.path.join(SYSTEMFONTROOT, 'arial.ttf')
     36 CONSOLA_PATH = os.path.join(SYSTEMFONTROOT, 'CONSOLA.TTF')
     37 ARIALUNI_PATH = 'res:/ui/fonts/arialuni.ttf'
     38 AMARR_FONT_FAMILY = {STYLE_DEFAULT: ('res:/UI/Fonts/factions/amarr/Cinzel-Regular.ttf', 'res:/UI/Fonts/factions/amarr/Cinzel-Regular.ttf', 'res:/UI/Fonts/factions/amarr/Cinzel-Bold.ttf', 'res:/UI/Fonts/factions/amarr/Cinzel-Bold.ttf')}
     39 CALDARI_FONT_FAMILY = {STYLE_DEFAULT: ('res:/UI/Fonts/factions/caldari/Iceberg-Regular.ttf',)}
     40 GALLENTE_FONT_FAMILY = {STYLE_DEFAULT: ('res:/UI/Fonts/factions/gallente/AfacadFlux-Regular.ttf', 'res:/UI/Fonts/factions/gallente/AfacadFlux-Regular.ttf', 'res:/UI/Fonts/factions/gallente/AfacadFlux-Bold.ttf', 'res:/UI/Fonts/factions/gallente/AfacadFlux-Bold.ttf')}
     41 MINMATAR_FONT_FAMILY = {STYLE_DEFAULT: ('res:/UI/Fonts/factions/minmatar/SpaceMono-Regular.ttf', 'res:/UI/Fonts/factions/minmatar/SpaceMono-Italic.ttf', 'res:/UI/Fonts/factions/minmatar/SpaceMono-Bold.ttf', 'res:/UI/Fonts/factions/minmatar/SpaceMono-BoldItalic.ttf')}
     42 JAPANESE_FONT = {'darwin': ARIALUNI_PATH,
     43  'win32': MSGOTHIC_PATH}[sys.platform]
     44 JAPANESEFONTFAMILY = {STYLE_DEFAULT: (JAPANESE_FONT,
     45                  JAPANESE_FONT,
     46                  JAPANESE_FONT,
     47                  JAPANESE_FONT)}
     48 FONTFAMILY_PER_WINDOWS_LANGUAGEID = {languageConst.LANG_ENGLISH: EVEFONTFAMILY,
     49  languageConst.LANG_KOREAN: KOREANFONTFAMILY,
     50  languageConst.LANG_JAPANESE: JAPANESEFONTFAMILY}
     51 CHINESE_FONTS = {'win32': ((os.path.join(SYSTEMFONTROOT, 'msyh.ttc'),
     52             os.path.join(SYSTEMFONTROOT, 'msyh.ttc'),
     53             os.path.join(SYSTEMFONTROOT, 'msyhbd.ttc'),
     54             os.path.join(SYSTEMFONTROOT, 'msyhbd.ttc')), (os.path.join(SYSTEMFONTROOT, 'msyh.ttf'),
     55             os.path.join(SYSTEMFONTROOT, 'msyh.ttf'),
     56             os.path.join(SYSTEMFONTROOT, 'msyhbd.ttf'),
     57             os.path.join(SYSTEMFONTROOT, 'msyhbd.ttf')), (os.path.join(SYSTEMFONTROOT, 'simsun.ttc'),
     58             os.path.join(SYSTEMFONTROOT, 'simsun.ttc'),
     59             os.path.join(SYSTEMFONTROOT, 'simsun.ttc'),
     60             os.path.join(SYSTEMFONTROOT, 'simsun.ttc'))),
     61  'darwin': ((os.path.join(SYSTEMFONTROOT, 'PingFang.ttc'),
     62              os.path.join(SYSTEMFONTROOT, 'PingFang.ttc'),
     63              os.path.join(SYSTEMFONTROOT, 'PingFang.ttc'),
     64              os.path.join(SYSTEMFONTROOT, 'PingFang.ttc')), (os.path.join(SYSTEMFONTROOT, 'Hiragino Sans GB.ttc'),
     65              os.path.join(SYSTEMFONTROOT, 'Hiragino Sans GB.ttc'),
     66              os.path.join(SYSTEMFONTROOT, 'Hiragino Sans GB.ttc'),
     67              os.path.join(SYSTEMFONTROOT, 'Hiragino Sans GB.ttc')))}[sys.platform]
     68 prioritizedFontPaths = ((languageConst.LANG_CHINESE, STYLE_DEFAULT, CHINESE_FONTS),)
     69 
     70 def ResolvePriorityList(priorityListPerLanguage):
     71     for languageID, fontStyle, priorityList in priorityListPerLanguage:
     72         for each in priorityList:
     73             if type(each) == tuple:
     74                 for variantPath in each:
     75                     isThere = os.path.exists(variantPath)
     76                     if not isThere:
     77                         break
     78 
     79                 if isThere:
     80                     FONTFAMILY_PER_WINDOWS_LANGUAGEID[languageID] = {fontStyle: each}
     81                     break
     82             else:
     83                 isThere = os.path.exists(each)
     84                 if isThere:
     85                     FONTFAMILY_PER_WINDOWS_LANGUAGEID[languageID] = {fontStyle: each}
     86                     break
     87 
     88 
     89 ResolvePriorityList(prioritizedFontPaths)
     90 del ResolvePriorityList
     91 del prioritizedFontPaths
     92 LANGUAGES_USING_EVE_FONT = (languageConst.LANG_ALBANIAN,
     93  languageConst.LANG_ARMENIAN,
     94  languageConst.LANG_BASQUE,
     95  languageConst.LANG_BELARUSIAN,
     96  languageConst.LANG_BOSNIAN,
     97  languageConst.LANG_BULGARIAN,
     98  languageConst.LANG_CATALAN,
     99  languageConst.LANG_CROATIAN,
    100  languageConst.LANG_CZECH,
    101  languageConst.LANG_DANISH,
    102  languageConst.LANG_DUTCH,
    103  languageConst.LANG_ENGLISH,
    104  languageConst.LANG_ESTONIAN,
    105  languageConst.LANG_FAEROESE,
    106  languageConst.LANG_FINNISH,
    107  languageConst.LANG_FRENCH,
    108  languageConst.LANG_GALICIAN,
    109  languageConst.LANG_GEORGIAN,
    110  languageConst.LANG_GERMAN,
    111  languageConst.LANG_GREEK,
    112  languageConst.LANG_GREENLANDIC,
    113  languageConst.LANG_HUNGARIAN,
    114  languageConst.LANG_ICELANDIC,
    115  languageConst.LANG_IRISH,
    116  languageConst.LANG_ITALIAN,
    117  languageConst.LANG_LATVIAN,
    118  languageConst.LANG_LITHUANIAN,
    119  languageConst.LANG_LUXEMBOURGISH,
    120  languageConst.LANG_MACEDONIAN,
    121  languageConst.LANG_MALTESE,
    122  languageConst.LANG_NORWEGIAN,
    123  languageConst.LANG_POLISH,
    124  languageConst.LANG_PORTUGUESE,
    125  languageConst.LANG_ROMANIAN,
    126  languageConst.LANG_ROMANSH,
    127  languageConst.LANG_RUSSIAN,
    128  languageConst.LANG_SAMI,
    129  languageConst.LANG_SERBIAN,
    130  languageConst.LANG_SLOVAK,
    131  languageConst.LANG_SLOVENIAN,
    132  languageConst.LANG_SPANISH,
    133  languageConst.LANG_SWEDISH,
    134  languageConst.LANG_UKRAINIAN)
    135 TRIGLAVIAN = 'res:/UI/Fonts/Triglavian.ttf'