docstr: Remove any name records identified by the given combination of 'nameID',
  'platformID', 'platEncID' and 'langID'.
docstr_tok: ["Remove","any","name","records","identified","by","the","given","combination","of","'nameID","'",",","'platformID","'",",","'platEncID","'","and","'langID","'","."]
code: def removeNames(
      self, nameID=None, platformID=None, platEncID=None, langID=None
  ):
      """Remove any name records identified by the given combination of 'nameID',
      'platformID', 'platEncID' and 'langID'.
      """
      args = {
          argName: argValue
          for argName, argValue in (
              ("nameID", nameID),
              ("platformID", platformID),
              ("platEncID", platEncID),
              ("langID", langID),
          )
          if argValue is not None
      }
      if not args:
          # no arguments, nothing to do
          return
      self.names = [
          rec
          for rec in self.names
          if any(
              argValue != getattr(rec, argName)
              for argName, argValue in args.items()
          )
      ]
  
imports: from fontTools.misc import sstruct
  from fontTools.misc.textTools import bytechr, byteord, bytesjoin, strjoin, tobytes, tostr, safeEval
  from fontTools.misc.encodingTools import getEncoding
  from fontTools.ttLib import newTable
  from fontTools.ttLib.ttVisitor import TTVisitor
  from fontTools import ttLib
  import fontTools.ttLib.tables.otTables
  from fontTools.ttLib.tables import C_P_A_L_
  from .None import DefaultTable
  import struct
  import logging
label_desc: Use image node_id 12 for calling the table__n_a_m_e obj's underlying member method code with example usage: obj.removeNames(nameID, platformID, platEncID, langID) without return types