zint/backend/tools/cnv_gb2312.php

26 lines
684 B
PHP

<?php
/* Convert libiconv-1.16/lib/gb2312.h to EUC-CN values (+ 0x8080). */
/*
libzint - the open source barcode library
Copyright (C) 2008-2019 Robin Stuart <rstuart114@gmail.com>
*/
/* vim: set ts=4 sw=4 et : */
$in = false;
while ($line = fgets(STDIN)) {
if ($in) {
if (strncmp($line, '};', 2) === 0) {
echo $line;
break;
}
echo preg_replace_callback('/0x([0-9a-f]{4})/', function ($matches) {
return '0x' . dechex(hexdec($matches[1]) + 0x8080);
}, $line);
} else {
if (strpos($line, 'short gb2312_2charset') !== false) {
echo $line;
$in = true;
}
}
}