From 99b779598b8976e5c22cf3ac80bfcbe6678c6dcf Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Mon, 1 Jun 2026 16:27:31 +0800 Subject: [PATCH 1/2] foo2xqx: set MX to 0 The proprietary blob of HPLIP seems to always set MX to 0. Set the MX to 0 in foo2xqx, which supports only HP printers, and is what currently used by LaserJet Pro M1130/M1210 MFP series. Without this change garbled content was seen on my LaserJet Pro M1136 MFP. Signed-off-by: Icenowy Zheng --- foo2xqx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foo2xqx.c b/foo2xqx.c index c5717c5..10b9d60 100644 --- a/foo2xqx.c +++ b/foo2xqx.c @@ -129,7 +129,7 @@ long JbgOptions[5] = /* L0 */ 128, /* MX */ - 16, + 0, /* MY */ 0 }; From a0808e20aa540afb73db78bd8f4e338f21c66901 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Mon, 1 Jun 2026 16:29:55 +0800 Subject: [PATCH 2/2] foo2zjs: set MX to 0 for HP printers The proprietary blob of HPLIP seems to always set MX to 0, and foo2zjs currently sets MX to 0 for z2/z3 printers. Set MX to 0 for z1 printers too. Tested on my LaserJet Pro M1136 MFP, which accepts XQX by default, but can be switched to ZJS by emitting a `PJL ENTER LANGUAGE` clause (HPLIP emits ZJS for this printer): with MX = 16 sometimes content is garbled, but with MX = 0 the same content prints okay. Signed-off-by: Icenowy Zheng --- foo2zjs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/foo2zjs.c b/foo2zjs.c index f7013a1..98a2c8e 100644 --- a/foo2zjs.c +++ b/foo2zjs.c @@ -1870,10 +1870,9 @@ main(int argc, char *argv[]) SaveToner = 0; EconoMode = 1; } - } - if (Model == MODEL_HP_PRO || Model == MODEL_HP_PRO_CP) JbgOptions[3] = 0; /* MX = 0 */ + } switch (Duplex) {