diff --git a/.mailmap b/.mailmap index fe88047..fb0069e 100644 --- a/.mailmap +++ b/.mailmap @@ -13,6 +13,7 @@ csoft2k Sergio Pulgarin reck31 Alex Debiasio +白月秋见心 Maximilian Wagenbach belono Benito López diff --git a/AUTHORS b/AUTHORS index 4ce84bf..02a4211 100644 --- a/AUTHORS +++ b/AUTHORS @@ -45,3 +45,4 @@ Thijs Triemstra Thomas van den Berg Yaisel Hurtado ysuolmai +白月秋见心 diff --git a/capabilities-data b/capabilities-data index 3612db4..190a96d 160000 --- a/capabilities-data +++ b/capabilities-data @@ -1 +1 @@ -Subproject commit 3612db407d02a08acd93a1540f2b4823be3f020e +Subproject commit 190a96db4b90425b99fbb4f034c04a36cf1c2bf7 diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index 2440467..94184c6 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -607,19 +607,16 @@ class Escpos(object): ) ) - # Render the barcode to a fake file + # Render the barcode barcode_class = barcode.get_barcode_class(barcode_type) my_code = barcode_class(data, writer=image_writer) - - with open(os.devnull, "wb") as nullfile: - my_code.write( - nullfile, - { - "module_height": module_height, - "module_width": module_width, - "text_distance": text_distance, - }, - ) + my_code.render( + writer_options={ + "module_height": module_height, + "module_width": module_width, + "text_distance": text_distance, + } + ) # Retrieve the Pillow image and print it image = my_code.writer._image diff --git a/src/escpos/magicencode.py b/src/escpos/magicencode.py index 4b6f9cb..bc0bb7f 100644 --- a/src/escpos/magicencode.py +++ b/src/escpos/magicencode.py @@ -18,6 +18,7 @@ from .constants import CODEPAGE_CHANGE from .exceptions import Error from .codepages import CodePages import six +import re class Encoder(object): @@ -252,6 +253,10 @@ class MagicEncode(object): self.write_with_encoding(self.encoding, text) return + if re.findall(r"[\u4e00-\u9fa5]", text): + self.driver._raw(text.encode("GB18030")) + return + # See how far we can go into the text with the current encoding to_write, text = split_writable_text(self.encoder, text, self.encoding) if to_write: