code: def _load_char(self, char):
          
          assert isinstance(char, string_types) and len(char) == 1
          assert char not in self._glyphs
          # load new glyph data from font
          _load_glyph(self._font, char, self._glyphs)
          # put new glyph into the texture
          glyph = self._glyphs[char]
          bitmap = glyph['bitmap']
  
          # convert to padded array
          data = np.zeros((bitmap.shape[0] + 2*self._spread,
                           bitmap.shape[1] + 2*self._spread), np.uint8)
          data[self._spread:-self._spread, self._spread:-self._spread] = bitmap
  
          # Store, while scaling down to proper size
          height = data.shape[0] // self.ratio
          width = data.shape[1] // self.ratio
          region = self._atlas.get_free_region(width + 2, height + 2)
          if region is None:
              raise RuntimeError('Cannot store glyph')
          x, y, w, h = region
          x, y, w, h = x + 1, y + 1, w - 2, h - 2
  
          self._renderer.render_to_texture(data, self._atlas, (x, y), (w, h))
          u0 = x / float(self._atlas.shape[1])
          v0 = y / float(self._atlas.shape[0])
          u1 = (x+w) / float(self._atlas.shape[1])
          v1 = (y+h) / float(self._atlas.shape[0])
          texcoords = (u0, v0, u1, v1)
          glyph.update(dict(size=(w, h), texcoords=texcoords))
docs: Build and store a glyph corresponding to an individual character
  
          Parameters
          ----------
          char : str
              A single character to be represented.