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 eb33c4e920
commit 238ea71280
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); 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(); this->init_sc_dbus();
QString persistentDataFile = "/mnt/system_data/dc_persistentData.dat"; QString persistentDataFile = "/mnt/system_data/dc_persistentData.dat";
@@ -802,7 +808,10 @@ void ATBDeviceControllerPlugin::requestPrintReceipt(const QString & printingStri
//QByteArray ba = printingString.toUtf8(); //QByteArray ba = printingString.toUtf8();
hw->prn_switchPower(true); 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); hw->prn_sendText(&ba_receipt);
// DEBUG // DEBUG

View File

@@ -34,7 +34,14 @@ enum class PROGRAM_MODE {
NOT_DEFINED NOT_DEFINED
}; };
class PrinterDefaultsFont
{
public:
quint8 font;
quint8 size;
quint8 width;
quint8 height;
};
class ATBDeviceControllerPlugin : class ATBDeviceControllerPlugin :
public DeviceControllerInterface public DeviceControllerInterface
@@ -133,6 +140,8 @@ private:
QTextCodec *codec; QTextCodec *codec;
PrinterDefaultsFont printerDefaultFont;
bool private_loadCashAgentLib(QString pluginName); bool private_loadCashAgentLib(QString pluginName);
quint8 currentSelectedTicketType; quint8 currentSelectedTicketType;