docstr: Adds an axis variations table to the font.
  
  Args:
      axes (list): A list of py:class:`.designspaceLib.AxisDescriptor` objects.
code: def setupAvar(self, axes, mappings=None):
      """Adds an axis variations table to the font.
  
      Args:
          axes (list): A list of py:class:`.designspaceLib.AxisDescriptor` objects.
      """
      from .varLib import _add_avar
  
      if "fvar" not in self.font:
          raise KeyError("'fvar' table is missing; can't add 'avar'.")
  
      axisTags = [axis.axisTag for axis in self.font["fvar"].axes]
      axes = OrderedDict(enumerate(axes))  # Only values are used
      _add_avar(self.font, axes, mappings, axisTags)
  
imports: from .ttLib import TTFont, newTable
  from .ttLib.tables._c_m_a_p import cmap_classes
  from .ttLib.tables._g_l_y_f import flagCubic
  from .ttLib.tables.O_S_2f_2 import Panose
  from .misc.timeTools import timestampNow
  import struct
  from collections import OrderedDict
label_desc: Use image node_id 16 for calling the FontBuilder obj's underlying member method code with example usage: obj.setupAvar(axes, mappings) without return types