change printer codec to windows-1250
This commit is contained in:
@@ -43,7 +43,8 @@ PLUGIN_STATE ATBDeviceControllerPlugin::initDCPlugin(QObject *eventReceiver, con
|
|||||||
|
|
||||||
// read variables from setting
|
// read variables from setting
|
||||||
this->serialPortName = settings.value("ATBDeviceControllerPlugin/serialPort", "ttymxc2").toString();
|
this->serialPortName = settings.value("ATBDeviceControllerPlugin/serialPort", "ttymxc2").toString();
|
||||||
QByteArray printerEncoding = settings.value("ATBDeviceControllerPlugin/printerEncoding", "ISO 8859-2").toString().toLatin1();
|
// QByteArray printerEncoding = settings.value("ATBDeviceControllerPlugin/printerEncoding", "ISO 8859-2").toString().toLatin1();
|
||||||
|
QByteArray printerEncoding = settings.value("ATBDeviceControllerPlugin/printerEncoding", "Windows-1250").toString().toLatin1();
|
||||||
QString printerLocaleString = settings.value("ATBDeviceControllerPlugin/printerLocale", "de_DE").toString().toLatin1();
|
QString printerLocaleString = settings.value("ATBDeviceControllerPlugin/printerLocale", "de_DE").toString().toLatin1();
|
||||||
this->printerLocale = QLocale(printerLocaleString);
|
this->printerLocale = QLocale(printerLocaleString);
|
||||||
|
|
||||||
@@ -132,7 +133,7 @@ PLUGIN_STATE ATBDeviceControllerPlugin::initDCPlugin(QObject *eventReceiver, con
|
|||||||
this->codec = QTextCodec::codecForName(printerEncoding);
|
this->codec = QTextCodec::codecForName(printerEncoding);
|
||||||
|
|
||||||
if (this->codec == nullptr) {
|
if (this->codec == nullptr) {
|
||||||
printerEncoding = "ISO 8859-1";
|
printerEncoding = "Windows-1250";
|
||||||
qCritical() << "ATBDeviceControllerPlugin: ERROR: printer encoding \"" << printerEncoding << "\" is not supported!";
|
qCritical() << "ATBDeviceControllerPlugin: ERROR: printer encoding \"" << printerEncoding << "\" is not supported!";
|
||||||
qCritical() << " ... use default encoding: " << printerEncoding;
|
qCritical() << " ... use default encoding: " << printerEncoding;
|
||||||
this->codec = QTextCodec::codecForName(printerEncoding);
|
this->codec = QTextCodec::codecForName(printerEncoding);
|
||||||
@@ -833,16 +834,25 @@ void ATBDeviceControllerPlugin::requestPrintReceipt(const QHash<QString, QVarian
|
|||||||
|
|
||||||
void ATBDeviceControllerPlugin::requestPrintReceipt(const QString & printingString)
|
void ATBDeviceControllerPlugin::requestPrintReceipt(const QString & printingString)
|
||||||
{
|
{
|
||||||
|
this->codec = QTextCodec::codecForName("Windows-1250");
|
||||||
|
|
||||||
|
qCritical() << "Printer codec forced:"
|
||||||
|
<< this->codec->name();
|
||||||
|
|
||||||
QByteArray ba_receipt = this->codec->fromUnicode(printingString);
|
QByteArray ba_receipt = this->codec->fromUnicode(printingString);
|
||||||
|
|
||||||
//QByteArray ba = printingString.toUtf8();
|
//QByteArray ba = printingString.toUtf8();
|
||||||
hw->prn_switchPower(true);
|
hw->prn_switchPower(true);
|
||||||
|
hw->prn_sendPrnSetup(100, 25, 'c', 0);
|
||||||
hw->prn_setFonts(printerDefaultFont.font,
|
hw->prn_setFonts(printerDefaultFont.font,
|
||||||
printerDefaultFont.size,
|
//printerDefaultFont.size,
|
||||||
|
11,
|
||||||
printerDefaultFont.width,
|
printerDefaultFont.width,
|
||||||
printerDefaultFont.height);
|
printerDefaultFont.height);
|
||||||
hw->prn_sendText(&ba_receipt);
|
|
||||||
|
|
||||||
|
qCritical() << "Receipt bytes (hex):";
|
||||||
|
qCritical().noquote() << ba_receipt.toHex(' ');
|
||||||
|
hw->prn_sendText(&ba_receipt);
|
||||||
// DEBUG
|
// DEBUG
|
||||||
//qCritical() << "---------------------------------------------------------------";
|
//qCritical() << "---------------------------------------------------------------";
|
||||||
//qCritical() << "ATBDeviceControllerPlugin::requestPrintReceipt()";
|
//qCritical() << "ATBDeviceControllerPlugin::requestPrintReceipt()";
|
||||||
|
|||||||
Reference in New Issue
Block a user