MCPcopy Create free account
hub / github.com/codemistic/Web-Development / lengthOfCode

Method lengthOfCode

text-to-qr/lib/phpqrcode/phpqrcode.php:1560–1600  ·  view source on GitHub ↗

----------------------------------------------------------------------

($mode, $version, $bits)

Source from the content-addressed store, hash-verified

1558
1559 //----------------------------------------------------------------------
1560 public static function lengthOfCode($mode, $version, $bits)
1561 {
1562 $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version);
1563 switch($mode) {
1564 case QR_MODE_NUM:
1565 $chunks = (int)($payload / 10);
1566 $remain = $payload - $chunks * 10;
1567 $size = $chunks * 3;
1568 if($remain >= 7) {
1569 $size += 2;
1570 } else if($remain >= 4) {
1571 $size += 1;
1572 }
1573 break;
1574 case QR_MODE_AN:
1575 $chunks = (int)($payload / 11);
1576 $remain = $payload - $chunks * 11;
1577 $size = $chunks * 2;
1578 if($remain >= 6)
1579 $size++;
1580 break;
1581 case QR_MODE_8:
1582 $size = (int)($payload / 8);
1583 break;
1584 case QR_MODE_KANJI:
1585 $size = (int)(($payload / 13) * 2);
1586 break;
1587 case QR_MODE_STRUCTURE:
1588 $size = (int)($payload / 8);
1589 break;
1590 default:
1591 $size = 0;
1592 break;
1593 }
1594
1595 $maxsize = QRspec::maximumWords($mode, $version);
1596 if($size < 0) $size = 0;
1597 if($size > $maxsize) $size = $maxsize;
1598
1599 return $size;
1600 }
1601
1602 //----------------------------------------------------------------------
1603 public function createBitStream()

Callers

nothing calls this directly

Calls 2

lengthIndicatorMethod · 0.45
maximumWordsMethod · 0.45

Tested by

no test coverage detected