I’ve seen the same issue with dot matrix printers, they don’t follow the same codes as thermal for font size so the built in SambaPOS ones don’t work.
Check the command reference that should be on the driver CD with the printer. You can use the decimal escape commands to change font size, change it back again, and change colour between Red / Black if you wish. You use the <XCT>
tag on a separate line to pass the commands to the printer.
For example (this may not work with your printer) - <XCT>27,33,33
will do the same as <L01>
. Make sure you still use <L01>
on the line to ensure the characters per line is followed properly still.
Here is a custom example I did recently for a dot matrix printer, might help you to get started. You will need to modify it, as I have some custom tags in there that won’t work on your setup.
[LAYOUT]
<XCT>27,33,33
[='{TICKET TYPE}' != 'Restaurant' ? '<L01>{TICKET TYPE}'.toUpperCase() : '']
{ENTITIES}
<XCT>27,33,1
<L00>
[<XCT>27,33,1
<F>-
<XCT>27,33,33
<L01>[='{TICKET TYPE}' == 'Delivery' ? 'Delivery' : 'Collection'] Time: [{TICKET TAG:Collection Time}]]
[<XCT>27,33,1
<F>-
<XCT>27,33,33
<L01>Ticket Note:
<L01>[{NOTE}]]
<XCT>27,33,1
<F>=
{ORDERS}
<XCT>27,33,1
<F>=
<L00>{TIME} {TICKET DATE} [[{TICKET TAG:Last User}]]
<L00>
<XCT>27,33,49
<R11>{TICKET NO}
[ORDERS]
<XCT>27,33,33
<W01:3,* >{QUANTITY}|[='{PRODUCT NAME}'.toUpperCase()]
[<XCT>27,114,1
<W01:4,* >|[[='{PORTION}'.toUpperCase()]]
<XCT>27,114,0]
{ORDER TAGS}
[ORDERS:Void]
<L00>
<XCT>27,33,33
<XCT>27,114,1
<L01>=== VOID ===
<XCT>27,114,0
<W01:3,* >{QUANTITY}|[='{PRODUCT NAME}'.toUpperCase()]
[<XCT>27,114,1
<W01:4,* >|[[='{PORTION}'.toUpperCase()]]
<XCT>27,114,0]
{ORDER TAGS}
<L00>
[ORDER TAGS]
-- Format for order tags
<XCT>27,114,1
<W01:4,* >|* [='{ORDER TAG NAME}'.toUpperCase()][=TN('{ORDER TAG QUANTITY}') > 1 ? ' x{ORDER TAG QUANTITY}' : '']
<XCT>27,114,0
[ENTITIES:Table]
-- Table entity format
<L01>+[='{ENTITY NAME}'.toLowerCase() == 'room service' ? '{ENTITY NAME}'.toUpperCase() : 'TABLE #{ENTITY NAME}']
It should output something like this:
