From a76354819cc2de05b0a63abc4786a0a3bfe4cafa Mon Sep 17 00:00:00 2001
From: ivan tkachenko <me@ratijas.tk>
Date: Sat, 2 Oct 2021 13:53:11 +0300
Subject: [PATCH] Convert code128 data table to binary literals

...and add a trailing comma, finally.
---
 src/lib/code128barcode.cpp | 220 ++++++++++++++++++-------------------
 1 file changed, 109 insertions(+), 111 deletions(-)

diff --git a/src/lib/code128barcode.cpp b/src/lib/code128barcode.cpp
index f379c09..cea724a 100644
--- a/src/lib/code128barcode.cpp
+++ b/src/lib/code128barcode.cpp
@@ -64,118 +64,116 @@ QImage Code128Barcode::paintImage(const QSizeF &size)
 }
 
 // Code 128 symbol table
-// ### this is the perfect use-case for binary literals (as the binary pattern
-// corresponds to the line pattern), adjust this once KF5 moves to C++14
 static const uint16_t code128_symbols[] = {
-    1740, // 0b11011001100 // 0
-    1644, // 0b11001101100
-    1638, // 0b11001100110
-    1176, // 0b10010011000
-    1164, // 0b10010001100
-    1100, // 0b10001001100
-    1224, // 0b10011001000
-    1220, // 0b10011000100
-    1124, // 0b10001100100
-    1608, // 0b11001001000
-    1604, // 0b11001000100 // 10
-    1572, // 0b11000100100
-    1436, // 0b10110011100
-    1244, // 0b10011011100
-    1230, // 0b10011001110
-    1484, // 0b10111001100
-    1260, // 0b10011101100
-    1254, // 0b10011100110
-    1650, // 0b11001110010
-    1628, // 0b11001011100
-    1614, // 0b11001001110 // 20
-    1764, // 0b11011100100
-    1652, // 0b11001110100
-    1902, // 0b11101101110
-    1868, // 0b11101001100
-    1836, // 0b11100101100
-    1830, // 0b11100100110
-    1892, // 0b11101100100
-    1844, // 0b11100110100
-    1842, // 0b11100110010
-    1752, // 0b11011011000 // 30
-    1734, // 0b11011000110
-    1590, // 0b11000110110
-    1304, // 0b10100011000
-    1112, // 0b10001011000
-    1094, // 0b10001000110
-    1416, // 0b10110001000
-    1128, // 0b10001101000
-    1122, // 0b10001100010
-    1672, // 0b11010001000
-    1576, // 0b11000101000 // 40
-    1570, // 0b11000100010
-    1464, // 0b10110111000
-    1422, // 0b10110001110
-    1134, // 0b10001101110
-    1496, // 0b10111011000
-    1478, // 0b10111000110
-    1142, // 0b10001110110
-    1910, // 0b11101110110
-    1678, // 0b11010001110
-    1582, // 0b11000101110 // 50
-    1768, // 0b11011101000
-    1762, // 0b11011100010
-    1774, // 0b11011101110
-    1880, // 0b11101011000
-    1862, // 0b11101000110
-    1814, // 0b11100010110
-    1896, // 0b11101101000
-    1890, // 0b11101100010
-    1818, // 0b11100011010
-    1914, // 0b11101111010 // 60
-    1602, // 0b11001000010
-    1930, // 0b11110001010
-    1328, // 0b10100110000
-    1292, // 0b10100001100
-    1200, // 0b10010110000
-    1158, // 0b10010000110
-    1068, // 0b10000101100
-    1062, // 0b10000100110
-    1424, // 0b10110010000
-    1412, // 0b10110000100 // 70
-    1232, // 0b10011010000
-    1218, // 0b10011000010
-    1076, // 0b10000110100
-    1074, // 0b10000110010
-    1554, // 0b11000010010
-    1616, // 0b11001010000
-    1978, // 0b11110111010
-    1556, // 0b11000010100
-    1146, // 0b10001111010
-    1340, // 0b10100111100 // 80
-    1212, // 0b10010111100
-    1182, // 0b10010011110
-    1508, // 0b10111100100
-    1268, // 0b10011110100
-    1266, // 0b10011110010
-    1956, // 0b11110100100
-    1940, // 0b11110010100
-    1938, // 0b11110010010
-    1758, // 0b11011011110
-    1782, // 0b11011110110 // 90
-    1974, // 0b11110110110
-    1400, // 0b10101111000
-    1310, // 0b10100011110
-    1118, // 0b10001011110
-    1512, // 0b10111101000
-    1506, // 0b10111100010
-    1960, // 0b11110101000
-    1954, // 0b11110100010
-    1502, // 0b10111011110
-    1518, // 0b10111101110 // 100
-    1886, // 0b11101011110
-    1966, // 0b11110101110
-    1668, // 0b11010000100
-    1680, // 0b11010010000
-    1692, // 0b11010011100
-    1594, // 0b11000111010
-    1720, // 0b11010111000
-    6379 // 0b1100011101011
+    0b11011001100, // 0
+    0b11001101100,
+    0b11001100110,
+    0b10010011000,
+    0b10010001100,
+    0b10001001100,
+    0b10011001000,
+    0b10011000100,
+    0b10001100100,
+    0b11001001000,
+    0b11001000100, // 10
+    0b11000100100,
+    0b10110011100,
+    0b10011011100,
+    0b10011001110,
+    0b10111001100,
+    0b10011101100,
+    0b10011100110,
+    0b11001110010,
+    0b11001011100,
+    0b11001001110, // 20
+    0b11011100100,
+    0b11001110100,
+    0b11101101110,
+    0b11101001100,
+    0b11100101100,
+    0b11100100110,
+    0b11101100100,
+    0b11100110100,
+    0b11100110010,
+    0b11011011000, // 30
+    0b11011000110,
+    0b11000110110,
+    0b10100011000,
+    0b10001011000,
+    0b10001000110,
+    0b10110001000,
+    0b10001101000,
+    0b10001100010,
+    0b11010001000,
+    0b11000101000, // 40
+    0b11000100010,
+    0b10110111000,
+    0b10110001110,
+    0b10001101110,
+    0b10111011000,
+    0b10111000110,
+    0b10001110110,
+    0b11101110110,
+    0b11010001110,
+    0b11000101110, // 50
+    0b11011101000,
+    0b11011100010,
+    0b11011101110,
+    0b11101011000,
+    0b11101000110,
+    0b11100010110,
+    0b11101101000,
+    0b11101100010,
+    0b11100011010,
+    0b11101111010, // 60
+    0b11001000010,
+    0b11110001010,
+    0b10100110000,
+    0b10100001100,
+    0b10010110000,
+    0b10010000110,
+    0b10000101100,
+    0b10000100110,
+    0b10110010000,
+    0b10110000100, // 70
+    0b10011010000,
+    0b10011000010,
+    0b10000110100,
+    0b10000110010,
+    0b11000010010,
+    0b11001010000,
+    0b11110111010,
+    0b11000010100,
+    0b10001111010,
+    0b10100111100, // 80
+    0b10010111100,
+    0b10010011110,
+    0b10111100100,
+    0b10011110100,
+    0b10011110010,
+    0b11110100100,
+    0b11110010100,
+    0b11110010010,
+    0b11011011110,
+    0b11011110110, // 90
+    0b11110110110,
+    0b10101111000,
+    0b10100011110,
+    0b10001011110,
+    0b10111101000,
+    0b10111100010,
+    0b11110101000,
+    0b11110100010,
+    0b10111011110,
+    0b10111101110, // 100
+    0b11101011110,
+    0b11110101110,
+    0b11010000100,
+    0b11010010000,
+    0b11010011100,
+    0b11000111010,
+    0b11010111000,
+    0b1100011101011,
 };
 
 static uint8_t symbolForCharacter(const QByteArray &data, int index, CodeSet set)
-- 
GitLab