class_docstr: FreeType font wrapper (requires _imagingft service)
class_docstr_tok: ["FreeType","font","wrapper","(","requires","_imagingft","service",")"]
docstr: :returns: A list of the named styles in a variation font.
  :exception OSError: If the font is not a variation font.
docstr_tok: [":","returns",":","A","list","of","the","named","styles","in","a","variation","font",".",":","exception","OSError",":","If","the","font","is","not","a","variation","font","."]
code: def get_variation_names(self):
      """
      :returns: A list of the named styles in a variation font.
      :exception OSError: If the font is not a variation font.
      """
      try:
          names = self.font.getvarnames()
      except AttributeError as e:
          raise NotImplementedError(
              "FreeType 2.9.1 or greater is required"
          ) from e
      return [name.replace(b"\x00", b"") for name in names]
  
imports: import base64
  import os
  import sys
  from io import BytesIO
  from .None import Image
  from ._util import isDirectory, isPath
label_desc: Use image node_id 15 for calling the FreeTypeFont obj's underlying member method code with example usage: obj.get_variation_names() and returns: unknown