code: def _list_fonts():
      dc = user32.GetDC(0)
      gdi32.SetGraphicsMode(dc, GM_ADVANCED)  # only TT and OT fonts
      logfont = LOGFONT()
      logfont.lfCharSet = DEFAULT_CHARSET
      logfont.lfFaceName = ""
      logfont.lfPitchandFamily = 0
      fonts = list()
  
      def enum_fun(lp_logfont, lp_text_metric, font_type, l_param):
          # Only support TTF for now (silly Windows shortcomings)
          if font_type == TRUETYPE_FONTTYPE:
              font = lp_logfont.contents.lfFaceName
              if not font.startswith("@") and font not in fonts:
                  fonts.append(font)
          return 1
  
      gdi32.EnumFontFamiliesExW(
          dc, byref(logfont), FONTENUMPROC(enum_fun), 0, 0
      )
      user32.ReleaseDC(None, dc)
      return fonts
  
imports: import os
  from os import path
  import warnings
  from ctypes import cast, byref, sizeof, create_unicode_buffer, c_void_p, c_wchar_p
  from ...ext.gdi32plus import gdiplus, gdi32, user32, winreg, LOGFONT, OUTLINETEXTMETRIC, GM_ADVANCED, FW_NORMAL, FW_BOLD, LF_FACESIZE, DEFAULT_CHARSET, TRUETYPE_FONTTYPE, FONTENUMPROC, BOOL
label_desc: Use image node_id 2 for calling a global function with example usage: _list_fonts() and returns: fonts, int