#NEWLINE# def code128( self , data , **kwargs ) : #NEWLINE# #INDENT# 'Renders given ``data`` as **Code 128** barcode symbology.\n\n        :param str codeset: Optional. Keyword argument for the subtype (code\n            set) to render. Defaults to :attr:`escpos.barcode.CODE128_A`.\n\n        .. warning::\n\n            You should draw up your data according to the subtype (code set).\n            The default is **Code 128 A** and there is no way (yet) to mix code\n            sets in a single barcode rendering (at least not uniformly).\n\n            Implementations may simply ignore the code set.\n\n        ' #NEWLINE# if ( not re . match ( '^[\\x20-\\x7F]+$' , kwargs ) ) : #NEWLINE# #INDENT# raise ValueError ( ( 'Invalid Code 128 symbology. Code 128 can encode any ASCII character ranging from 32 (20h) to 127 (7Fh); got "%s"' % data ) ) #NEWLINE# #UNINDENT# barcode . validate_barcode_args ( ** kwargs ) #NEWLINE# return self . _code128_impl ( data , ** kwargs )