From d1f843501f0aee623e7f62556eb978b36360ebe8 Mon Sep 17 00:00:00 2001 From: erikn69 Date: Mon, 23 Sep 2024 13:00:38 -0500 Subject: [PATCH] Support `\t`, `\r` on raw usage, they are printable --- src/Mike42/Escpos/PrintBuffers/EscposPrintBuffer.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Mike42/Escpos/PrintBuffers/EscposPrintBuffer.php b/src/Mike42/Escpos/PrintBuffers/EscposPrintBuffer.php index 60382d7..2f60639 100644 --- a/src/Mike42/Escpos/PrintBuffers/EscposPrintBuffer.php +++ b/src/Mike42/Escpos/PrintBuffers/EscposPrintBuffer.php @@ -133,8 +133,8 @@ public function writeTextRaw(string $text) $outp = str_repeat(self::REPLACEMENT_CHAR, $l); for ($i = 0; $i < $l; $i++) { $c = substr($text, $i, 1); - if ($c == "\r") { - /* Skip past Windows line endings (raw usage). */ + if ($c == "\r" && substr($text, $i + 1, 1) == "\n") { + /* Skip past Windows line endings CRLF (raw usage). */ continue; } elseif (self::asciiCheck($c, true)) { $outp[$j] = $c; @@ -296,6 +296,12 @@ private static function asciiCheck(string $char, bool $extended = false) if ($num == 10) { // New-line (printer will take these) return true; } + if ($num == 13) { // Carriage-return (printer will take these) + return true; + } + if ($num == 9) { // Horizontal-tab (printer will take these) + return true; + } if ($extended && $num > 127) { return true; }