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.
This commit is contained in:
2025-11-05 16:03:57 +01:00
parent b8648338fd
commit 548773c09c
2 changed files with 20 additions and 2 deletions

View File

@@ -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";
@@ -827,7 +833,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

View File

@@ -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;