From 238ea712807d0435498b7530a01082cd84bd7808 Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Wed, 5 Nov 2025 16:03:57 +0100 Subject: [PATCH] Print: set printer default font for printing text ... E.g. used for prn_sendText(). E.g. in Lithuania only printer font table 24 supports special Lithuanian charcters. Other projects my not have font table 24 installed in printers. They use e.g. printer font table 8. --- src/ATBAPP/ATBDeviceControllerPlugin.cpp | 11 ++++++++++- src/ATBAPP/ATBDeviceControllerPlugin.h | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index f64572e..71fd051 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -48,6 +48,12 @@ PLUGIN_STATE ATBDeviceControllerPlugin::initDCPlugin(QObject *eventReceiver, con this->initTicketTemplateList(&settings); + // configurable default printer settings for 'prn_sendText()' used e.g. for bank receipts + this->printerDefaultFont.font = settings.value("ATBDeviceControllerPlugin/printerDefaultFont", "8").toUInt(); + this->printerDefaultFont.size = settings.value("ATBDeviceControllerPlugin/printerDefaultSize", "12").toUInt(); + this->printerDefaultFont.width = settings.value("ATBDeviceControllerPlugin/printerDefaultWidth", "0").toUInt(); + this->printerDefaultFont.height = settings.value("ATBDeviceControllerPlugin/printerDefaultHeight", "0").toUInt(); + this->init_sc_dbus(); QString persistentDataFile = "/mnt/system_data/dc_persistentData.dat"; @@ -802,7 +808,10 @@ void ATBDeviceControllerPlugin::requestPrintReceipt(const QString & printingStri //QByteArray ba = printingString.toUtf8(); hw->prn_switchPower(true); - hw->prn_setFonts(8,12,0,0); + hw->prn_setFonts(printerDefaultFont.font, + printerDefaultFont.size, + printerDefaultFont.width, + printerDefaultFont.height); hw->prn_sendText(&ba_receipt); // DEBUG diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.h b/src/ATBAPP/ATBDeviceControllerPlugin.h index 111b5df..c950179 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.h +++ b/src/ATBAPP/ATBDeviceControllerPlugin.h @@ -34,7 +34,14 @@ enum class PROGRAM_MODE { NOT_DEFINED }; - +class PrinterDefaultsFont +{ +public: + quint8 font; + quint8 size; + quint8 width; + quint8 height; +}; class ATBDeviceControllerPlugin : public DeviceControllerInterface @@ -133,6 +140,8 @@ private: QTextCodec *codec; + PrinterDefaultsFont printerDefaultFont; + bool private_loadCashAgentLib(QString pluginName); quint8 currentSelectedTicketType;