class_docstr: Glyph object that supports the Pen protocol, meaning that it has
  .draw() and .drawPoints() methods that take a pen object as their only
  argument. Additionally there are 'width' and 'lsb' attributes, read from
  the 'hmtx' table.
  
  If the font contains a 'vmtx' table, there will also be 'height' and 'tsb'
  attributes.
code: def __init__(self, glyphSet, glyphName, *, recalcBounds=True):
      self.glyphSet = glyphSet
      self.name = glyphName
      self.recalcBounds = recalcBounds
      self.width, self.lsb = glyphSet.hMetrics[glyphName]
      if glyphSet.vMetrics is not None:
          self.height, self.tsb = glyphSet.vMetrics[glyphName]
      else:
          self.height, self.tsb = None, None
      if glyphSet.location and glyphSet.hvarTable is not None:
          varidx = (
              glyphSet.font.getGlyphID(glyphName)
              if glyphSet.hvarTable.AdvWidthMap is None
              else glyphSet.hvarTable.AdvWidthMap.mapping[glyphName]
          )
          self.width += glyphSet.hvarInstancer[varidx]
  
imports: from abc import ABC, abstractmethod
  from collections.abc import Mapping
  from contextlib import contextmanager
  from copy import copy
  from types import SimpleNamespace
  from fontTools.misc.fixedTools import otRound
  from fontTools.misc.loggingTools import deprecateFunction
  from fontTools.misc.transform import Transform
  from fontTools.pens.transformPen import TransformPen, TransformPointPen
  from fontTools.pens.recordingPen import DecomposingRecordingPen, lerpRecordings, replayRecording
label_desc: Use image node_id 1 to create a new _TTGlyph object from inherited base classes: ABC with example: obj = _TTGlyph(glyphSet, glyphName)