summaryrefslogtreecommitdiff
path: root/vendor/chillerlan/php-qrcode/src/Data/Kanji.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/chillerlan/php-qrcode/src/Data/Kanji.php')
-rw-r--r--vendor/chillerlan/php-qrcode/src/Data/Kanji.php23
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);
}