code: def draw_font_table(path):
      """
      Draw a font table of the first 255 chars of the given font.
  
      Parameters
      ----------
      path : str or None
          The path to the font file.  If None, use Matplotlib's default font.
      """
      if path is None:
          path = fm.findfont(fm.FontProperties())  # The default font.
  
      font = FT2Font(path)
      # A charmap is a mapping of "character codes" (in the sense of a character
      # encoding, e.g. latin-1) to glyph indices (i.e. the internal storage table
      # of the font face).
      # In FreeType>=2.1, a Unicode charmap (i.e. mapping Unicode codepoints)
      # is selected by default.  Moreover, recent versions of FreeType will
      # automatically synthesize such a charmap if the font does not include one
      # (this behavior depends on the font format; for example it is present
      # since FreeType 2.0 for Type 1 fonts but only since FreeType 2.8 for
      # TrueType (actually, SFNT) fonts).
      # The code below (specifically, the ``chr(char_code)`` call) assumes that
      # we have indeed selected a Unicode charmap.
      codes = font.get_charmap().items()
  
      labelc = [f"{i:X}" for i in range(16)]
      labelr = [f"{i:02X}" for i in range(0, 16 * 16, 16)]
      chars = [["" for c in range(16)] for r in range(16)]
  
      for char_code, glyph_index in codes:
          if char_code >= 256:
              continue
          row, col = divmod(char_code, 16)
          chars[row][col] = chr(char_code)
  
      fig, ax = plt.subplots(figsize=(8, 4))
      ax.set_title(os.path.basename(path))
      ax.set_axis_off()
  
      table = ax.table(
          cellText=chars,
          rowLabels=labelr,
          colLabels=labelc,
          rowColours=["palegreen"] * 16,
          colColours=["palegreen"] * 16,
          cellColours=[[".95" for c in range(16)] for r in range(16)],
          cellLoc="center",
          loc="upper left",
      )
      for key, cell in table.get_celld().items():
          row, col = key
          if (
              row > 0 and col > -1
          ):  # Beware of table's idiosyncratic indexing...
              cell.set_text_props(font=Path(path))
  
      fig.tight_layout()
      plt.show()
  
file_path: matplotlib/galleries/examples/text_labels_and_annotations/font_table.py
imports: import os
  from pathlib import Path
  import unicodedata
  import matplotlib.pyplot
  import matplotlib.font_manager
  from matplotlib.ft2font import FT2Font
label_desc: Use image node_id 2 for calling a global function with example usage: draw_font_table(path) without return types