code: def console_set_custom_font(
      fontFile: AnyStr,
      flags: int = FONT_LAYOUT_ASCII_INCOL,
      nb_char_horiz: int = 0,
      nb_char_vertic: int = 0,
  ) -> None:
      
      if not os.path.exists(fontFile):
          raise RuntimeError(
              "File not found:\n\t%s" % (os.path.realpath(fontFile),)
          )
      lib.TCOD_console_set_custom_font(
          _bytes(fontFile), flags, nb_char_horiz, nb_char_vertic
      )
docs: Load the custom font file at `fontFile`.
  
      Call this before function before calling :any:`tcod.console_init_root`.
  
      Flags can be a mix of the following:
  
      * tcod.FONT_LAYOUT_ASCII_INCOL:
        Decode tileset raw in column-major order.
      * tcod.FONT_LAYOUT_ASCII_INROW:
        Decode tileset raw in row-major order.
      * tcod.FONT_TYPE_GREYSCALE:
        Force tileset to be read as greyscale.
      * tcod.FONT_TYPE_GRAYSCALE
      * tcod.FONT_LAYOUT_TCOD:
        Unique layout used by libtcod.
      * tcod.FONT_LAYOUT_CP437:
        Decode a row-major Code Page 437 tileset into Unicode.
  
      `nb_char_horiz` and `nb_char_vertic` are the columns and rows of the font
      file respectfully.