Using booleans for handling text size
This commit is contained in:
parent
c0b4d03692
commit
a6e1d0df00
|
@ -422,7 +422,7 @@ class Escpos(object):
|
|||
|
||||
def set(self, align='left', font='a', bold=False, underline=0, width=1,
|
||||
height=1, density=9, invert=False, smooth=False, flip=False,
|
||||
size='normal'):
|
||||
double_width=False, double_height=False, custom_size=False):
|
||||
""" Set text properties by sending them to the printer
|
||||
|
||||
:param align: horizontal position for text, possible values are:
|
||||
|
@ -433,50 +433,53 @@ class Escpos(object):
|
|||
|
||||
*default*: 'left'
|
||||
|
||||
:param size: size modifier for text, possible values are:
|
||||
|
||||
* 'normal'
|
||||
* '2h' for double text height
|
||||
* '2w' for double text width
|
||||
* '2x' for double text height and width (doubles the text surface)
|
||||
* 'custom' for custom text height and width
|
||||
|
||||
In this last case, see the width and height parameters.
|
||||
*default*: 'normal'
|
||||
|
||||
:param font: font given as an index, a name, or one of the
|
||||
special values 'a' or 'b', referring to fonts 0 and 1.
|
||||
:param bold: text in bold, *default*: False
|
||||
:param underline: underline mode for text, decimal range 0-2, *default*: 0
|
||||
:param width: text width multiplier when size is set to custom, decimal range 1-8, *default*: 1
|
||||
:param height: text height multiplier when size is set to custom, decimal range 1-8, *default*: 1
|
||||
:param double_height: doubles the height of the text
|
||||
:param double_width: doubles the width of the text
|
||||
:param custom_size: uses custom size specified by width and height
|
||||
parameters. Cannot be used with double_width or double_height.
|
||||
:param width: text width multiplier when custom_size is used, decimal range 1-8, *default*: 1
|
||||
:param height: text height multiplier when custom_size is used, decimal range 1-8, *default*: 1
|
||||
:param density: print density, value from 0-8, if something else is supplied the density remains unchanged
|
||||
:param invert: True enables white on black printing, *default*: False
|
||||
:param smooth: True enables text smoothing. Effective on 4x4 size text and larger, *default*: False
|
||||
:param flip: True enables upside-down printing, *default*: False
|
||||
|
||||
:type font: str
|
||||
:type invert: bool
|
||||
:type bold: bool
|
||||
:type underline: bool
|
||||
:type smooth: bool
|
||||
:type flip: bool
|
||||
:type size: str
|
||||
:type custom_size: bool
|
||||
:type double_width: bool
|
||||
:type double_height: bool
|
||||
:type align: str
|
||||
:type width: int
|
||||
:type height: int
|
||||
:type density: int
|
||||
"""
|
||||
|
||||
if size in TXT_STYLE['size']:
|
||||
self._raw(TXT_NORMAL)
|
||||
self._raw(TXT_STYLE['size'][size])
|
||||
elif size == 'custom':
|
||||
if custom_size:
|
||||
if 1 <= width <= 8 and 1 <= height <= 8 and isinstance(width, int) and\
|
||||
isinstance(height, int):
|
||||
size_byte = TXT_STYLE['width'][width] + TXT_STYLE['height'][height]
|
||||
self._raw(TXT_SIZE + six.int2byte(size_byte))
|
||||
else:
|
||||
raise SetVariableError()
|
||||
else:
|
||||
self._raw(TXT_NORMAL)
|
||||
if double_width and double_height:
|
||||
self._raw(TXT_STYLE['size']['2x'])
|
||||
elif double_width:
|
||||
self._raw(TXT_STYLE['size']['2w'])
|
||||
elif double_height:
|
||||
self._raw(TXT_STYLE['size']['2h'])
|
||||
else:
|
||||
self._raw(TXT_STYLE['size']['normal'])
|
||||
|
||||
self._raw(TXT_STYLE['flip'][flip])
|
||||
self._raw(TXT_STYLE['smooth'][smooth])
|
||||
|
|
|
@ -33,7 +33,7 @@ def test_default_values():
|
|||
|
||||
def test_set_size_2h():
|
||||
instance = printer.Dummy()
|
||||
instance.set(size='2h')
|
||||
instance.set(double_height=True)
|
||||
|
||||
expected_sequence = (
|
||||
TXT_NORMAL, TXT_STYLE['size']['2h'], # Double height text size
|
||||
|
@ -51,7 +51,7 @@ def test_set_size_2h():
|
|||
|
||||
def test_set_size_2w():
|
||||
instance = printer.Dummy()
|
||||
instance.set(size='2w')
|
||||
instance.set(double_width=True)
|
||||
|
||||
expected_sequence = (
|
||||
TXT_NORMAL, TXT_STYLE['size']['2w'], # Double width text size
|
||||
|
@ -69,7 +69,7 @@ def test_set_size_2w():
|
|||
|
||||
def test_set_size_2x():
|
||||
instance = printer.Dummy()
|
||||
instance.set(size='2x')
|
||||
instance.set(double_height=True, double_width=True)
|
||||
|
||||
expected_sequence = (
|
||||
TXT_NORMAL, TXT_STYLE['size']['2x'], # Double text size
|
||||
|
@ -87,7 +87,7 @@ def test_set_size_2x():
|
|||
|
||||
def test_set_size_custom():
|
||||
instance = printer.Dummy()
|
||||
instance.set(size='custom', width=8, height=7)
|
||||
instance.set(custom_size=True, width=8, height=7)
|
||||
|
||||
expected_sequence = (
|
||||
TXT_SIZE, # Custom text size, no normal reset
|
||||
|
|
Loading…
Reference in New Issue