diff options
Diffstat (limited to 'vendor/chillerlan/php-qrcode/src/Data/Kanji.php')
-rw-r--r-- | vendor/chillerlan/php-qrcode/src/Data/Kanji.php | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/vendor/chillerlan/php-qrcode/src/Data/Kanji.php b/vendor/chillerlan/php-qrcode/src/Data/Kanji.php index ce600d4ff..e106c50f1 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/Kanji.php +++ b/vendor/chillerlan/php-qrcode/src/Data/Kanji.php @@ -18,18 +18,15 @@ use function mb_strlen, ord, sprintf, strlen; /** * Kanji mode: double-byte characters from the Shift JIS character set + * + * ISO/IEC 18004:2000 Section 8.3.5 + * ISO/IEC 18004:2000 Section 8.4.5 */ -class Kanji extends QRDataAbstract{ +final class Kanji extends QRDataAbstract{ - /** - * @inheritdoc - */ - protected $datamode = QRCode::DATA_KANJI; + protected int $datamode = QRCode::DATA_KANJI; - /** - * @inheritdoc - */ - protected $lengthBits = [8, 10, 12]; + protected array $lengthBits = [8, 10, 12]; /** * @inheritdoc @@ -40,6 +37,8 @@ class Kanji extends QRDataAbstract{ /** * @inheritdoc + * + * @throws \chillerlan\QRCode\Data\QRCodeDataException on an illegal character occurence */ protected function write(string $data):void{ $len = strlen($data); @@ -47,17 +46,17 @@ class Kanji extends QRDataAbstract{ for($i = 0; $i + 1 < $len; $i += 2){ $c = ((0xff & ord($data[$i])) << 8) | (0xff & ord($data[$i + 1])); - if(0x8140 <= $c && $c <= 0x9FFC){ + if($c >= 0x8140 && $c <= 0x9FFC){ $c -= 0x8140; } - elseif(0xE040 <= $c && $c <= 0xEBBF){ + elseif($c >= 0xE040 && $c <= 0xEBBF){ $c -= 0xC140; } else{ throw new QRCodeDataException(sprintf('illegal char at %d [%d]', $i + 1, $c)); } - $this->bitBuffer->put((($c >> 8) & 0xff) * 0xC0 + ($c & 0xff), 13); + $this->bitBuffer->put(((($c >> 8) & 0xff) * 0xC0) + ($c & 0xff), 13); } |