Documentation

QRcode
in package

Tags
class

QRcode Class to create QR-code arrays for TCPDF class. QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode.

This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). Please read comments on this class source file for full copyright and license information.

author

Nicola Asuni

version
1.0.010

Table of Contents

Properties

$alignmentPattern  : mixed
Array Positions of alignment patterns.
$anTable  : mixed
Alphabet-numeric convesion table.
$b1  : mixed
Value b1.
$barcode_array  : mixed
Barcode array to be returned which is readable by TCPDF.
$bit  : mixed
Single bit value.
$blocks  : mixed
Blocks.
$capacity  : mixed
Array Table of the capacity of symbols.
$casesensitive  : mixed
Boolean flag, if true the input string will be converted to uppercase.
$count  : mixed
Counter.
$data  : mixed
Mask data.
$datacode  : mixed
Data code.
$dataLength  : mixed
Data length.
$dataStr  : mixed
Input data string.
$dir  : mixed
Direction.
$ecccode  : mixed
Error correction code.
$eccLength  : mixed
Error correction length.
$eccTable  : mixed
Array Table of the error correction code (Reed-Solomon block).
$formatInfo  : mixed
Array Format information
$frame  : mixed
Frame.
$frames  : mixed
Array of frames.
$hint  : mixed
Encoding mode.
$items  : mixed
Input items.
$lengthTableBits  : mixed
Array Length indicator.
$level  : mixed
Levels of error correction. See definitions for possible values.
$rsblocks  : mixed
Reed-Solomon blocks.
$rsitems  : mixed
Reed-Solomon items.
$runLength  : mixed
Run length.
$structured  : mixed
Structured QR code (not supported yet).
$version  : mixed
QR code version. Size of QRcode is defined as version. Version is from 1 to 40. Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. So version 40 is 177*177 matrix.
$versionPattern  : mixed
Array Version information pattern (BCH coded).
$width  : mixed
Width.
$x  : mixed
X position of bit.
$y  : mixed
Y position of bit.

Methods

__construct()  : mixed
This is the class constructor.
getBarcodeArray()  : array<string|int, mixed>
Returns a barcode array which is readable by TCPDF
allocate()  : array<string|int, mixed>
Return an array with zeros
appendBitstream()  : array<string|int, mixed>
Append one bitstream to another
appendBytes()  : array<string|int, mixed>
Append one bitstream created from bytes to another
appendNewInputItem()  : array<string|int, mixed>
Append data to an input object.
appendNum()  : array<string|int, mixed>
Append one bitstream created from number to another
appendPaddingBit()  : array<string|int, mixed>
Append Padding Bit to bitstream
binarize()  : array<string|int, mixed>
Convert the frame in binary form
bitstreamToByte()  : array<string|int, mixed>
Convert bitstream to bytes
calcN1N3()  : int
calcN1N3
calcParity()  : int
calcParity
check()  : bool
Validate the input data.
checkModeAn()  : bool
checkModeAn
checkModeKanji()  : bool
checkModeKanji
checkModeNum()  : bool
checkModeNum
convertData()  : array<string|int, mixed>
convertData
createBitStream()  : array<string|int, mixed>
createBitStream
createFrame()  : array<string|int, mixed>
Return a copy of initialized frame.
eat8()  : int
eat8
eatAn()  : int
eatAn
eatKanji()  : int
eatKanji
eatNum()  : int
eatNum
encode_rs_char()  : parity
Encode a Reed-Solomon codec and returns the parity array
encodeBitStream()  : array<string|int, mixed>
encodeBitStream
encodeMask()  : mixed
Encode mask
encodeMode8()  : array<string|int, mixed>
encodeMode8
encodeModeAn()  : array<string|int, mixed>
encodeModeAn
encodeModeKanji()  : array<string|int, mixed>
encodeModeKanji
encodeModeNum()  : array<string|int, mixed>
encodeModeNum
encodeModeStructure()  : array<string|int, mixed>
encodeModeStructure
encodeString()  : mixed
Encode the input string to QR code
estimateBitsMode8()  : int
estimateBitsMode8
estimateBitsModeAn()  : int
estimateBitsModeAn
estimateBitsModeKanji()  : int
estimateBitsModeKanji
estimateBitsModeNum()  : int
estimateBitsModeNum
estimateBitStreamSize()  : int
estimateBitStreamSize
estimateVersion()  : int
estimateVersion
evaluateSymbol()  : int
evaluateSymbol
generateMaskNo()  : array<string|int, mixed>
Return bitmask
getBitStream()  : array<string|int, mixed>
Returns a stream of bits.
getByteStream()  : array<string|int, mixed>
Pack all bit streams padding bits into a byte array.
getCode()  : array<string|int, mixed>
Return Reed-Solomon block code.
getDataLength()  : int
Return maximum data code length (bytes) for the version.
getECCLength()  : int
Return maximum error correction code length (bytes) for the version.
getEccSpec()  : array<string|int, mixed>
Return an array of ECC specification.
getFormatInfo()  : string
Return BCH encoded format information pattern.
getFrameAt()  : value
Get frame value at specified position
getMinimumVersion()  : int
Return a version number that satisfies the input code length.
getNextPosition()  : array<string|int, mixed>
Return the next frame position
getRemainder()  : int
Return the numer of remainder bits.
getVersionPattern()  : string
Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. Use lower 18 bits.
getWidth()  : int
Return the width of the symbol for the version.
identifyMode()  : int
identifyMode
init()  : int
Initialize code.
init_rs()  : array<string|int, mixed>
Initialize a Reed-Solomon codec and add it to existing rsitems
init_rs_char()  : array<string|int, mixed>
Initialize a Reed-Solomon codec and returns an array of values.
insertStructuredAppendHeader()  : array<string|int, mixed>
insertStructuredAppendHeader
isalnumat()  : bool
Return true if the character at specified position is an alphanumeric character
isdigitat()  : bool
Return true if the character at specified position is a number
lengthIndicator()  : int
Return the size of length indicator for the mode and version.
lengthOfCode()  : int
lengthOfCode
lookAnTable()  : int
Look up the alphabet-numeric conversion table (see JIS X0510:2004, pp.19).
makeMask()  : array<string|int, mixed>
makeMask
makeMaskNo()  : int
makeMaskNo
mask()  : array<string|int, mixed>
mask
mask0()  : int
mask0
mask1()  : int
mask1
mask2()  : int
mask2
mask3()  : int
mask3
mask4()  : int
mask4
mask5()  : int
mask5
mask6()  : int
mask6
mask7()  : int
mask7
maximumWords()  : int
Return the maximum length for the mode and version.
mergeBitStream()  : array<string|int, mixed>
mergeBitStream
modnn()  : int
modnn
newFrame()  : array<string|int, mixed>
Set new frame for the specified version.
newFromBytes()  : array<string|int, mixed>
Return new bitstream from bytes
newFromNum()  : array<string|int, mixed>
Return new bitstream from number
newInputItem()  : array<string|int, mixed>
newInputItem
putAlignmentMarker()  : array<string|int, mixed>
Put an alignment marker.
putAlignmentPattern()  : array<string|int, mixed>
Put an alignment pattern.
putFinderPattern()  : array<string|int, mixed>
Put a finder pattern.
qrstrset()  : array<string|int, mixed>
Replace a value on the array at the specified position
rsBlockNum()  : int
Return block number 0
rsBlockNum1()  : int
Return block number 1
rsBlockNum2()  : int
Return block number 2
rsDataCodes1()  : int
Return data codes 1
rsDataCodes2()  : int
Return data codes 2
rsDataLength()  : int
Return data length
rsEccCodes1()  : int
Return ecc codes 1
rsEccCodes2()  : int
Return ecc codes 2
rsEccLength()  : int
Return ecc length
setFrameAt()  : mixed
Set frame value at specified position
splitString()  : int
splitString
toUpper()  : mixed
toUpper
writeFormatInformation()  : int
Write Format Information on frame and returns the number of black bits

Properties

$alignmentPattern

Array Positions of alignment patterns.

protected mixed $alignmentPattern = array( array(0, 0), array(0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), // 11-15 array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), // 16-20 array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), // 21-25 array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), // 26-30 array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), // 31-35 array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), )

This array includes only the second and the third position of the alignment patterns. Rest of them can be calculated from the distance between them. See Table 1 in Appendix E (pp.71) of JIS X0510:2004.

Tags
protected

$anTable

Alphabet-numeric convesion table.

protected mixed $anTable = array( -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, // -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, // 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, // -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, )
Tags
protected

$b1

Value b1.

protected mixed $b1
Tags
protected

$barcode_array

Barcode array to be returned which is readable by TCPDF.

protected mixed $barcode_array = array()
Tags
protected

$bit

Single bit value.

protected mixed $bit
Tags
protected

$blocks

Blocks.

protected mixed $blocks
Tags
protected

$capacity

Array Table of the capacity of symbols.

protected mixed $capacity = array( array(0, 0, 0, array(0, 0, 0, 0)), // array(21, 26, 0, array(7, 10, 13, 17)), // 1 array(25, 44, 7, array(10, 16, 22, 28)), // array(29, 70, 7, array(15, 26, 36, 44)), // array(33, 100, 7, array(20, 36, 52, 64)), // array(37, 134, 7, array(26, 48, 72, 88)), // 5 array(41, 172, 7, array(36, 64, 96, 112)), // array(45, 196, 0, array(40, 72, 108, 130)), // array(49, 242, 0, array(48, 88, 132, 156)), // array(53, 292, 0, array(60, 110, 160, 192)), // array(57, 346, 0, array(72, 130, 192, 224)), // 10 array(61, 404, 0, array(80, 150, 224, 264)), // array(65, 466, 0, array(96, 176, 260, 308)), // array(69, 532, 0, array(104, 198, 288, 352)), // array(73, 581, 3, array(120, 216, 320, 384)), // array(77, 655, 3, array(132, 240, 360, 432)), // 15 array(81, 733, 3, array(144, 280, 408, 480)), // array(85, 815, 3, array(168, 308, 448, 532)), // array(89, 901, 3, array(180, 338, 504, 588)), // array(93, 991, 3, array(196, 364, 546, 650)), // array(97, 1085, 3, array(224, 416, 600, 700)), // 20 array(101, 1156, 4, array(224, 442, 644, 750)), // array(105, 1258, 4, array(252, 476, 690, 816)), // array(109, 1364, 4, array(270, 504, 750, 900)), // array(113, 1474, 4, array(300, 560, 810, 960)), // array(117, 1588, 4, array(312, 588, 870, 1050)), // 25 array(121, 1706, 4, array(336, 644, 952, 1110)), // array(125, 1828, 4, array(360, 700, 1020, 1200)), // array(129, 1921, 3, array(390, 728, 1050, 1260)), // array(133, 2051, 3, array(420, 784, 1140, 1350)), // array(137, 2185, 3, array(450, 812, 1200, 1440)), // 30 array(141, 2323, 3, array(480, 868, 1290, 1530)), // array(145, 2465, 3, array(510, 924, 1350, 1620)), // array(149, 2611, 3, array(540, 980, 1440, 1710)), // array(153, 2761, 3, array(570, 1036, 1530, 1800)), // array(157, 2876, 0, array(570, 1064, 1590, 1890)), // 35 array(161, 3034, 0, array(600, 1120, 1680, 1980)), // array(165, 3196, 0, array(630, 1204, 1770, 2100)), // array(169, 3362, 0, array(660, 1260, 1860, 2220)), // array(173, 3532, 0, array(720, 1316, 1950, 2310)), // array(177, 3706, 0, array(750, 1372, 2040, 2430)), )

See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004.

Tags
protected

$casesensitive

Boolean flag, if true the input string will be converted to uppercase.

protected mixed $casesensitive = \true
Tags
protected

$count

Counter.

protected mixed $count
Tags
protected

$data

Mask data.

protected mixed $data
Tags
protected

$datacode

Data code.

protected mixed $datacode = array()
Tags
protected

$dataLength

Data length.

protected mixed $dataLength
Tags
protected

$dataStr

Input data string.

protected mixed $dataStr = ''
Tags
protected

$dir

Direction.

protected mixed $dir
Tags
protected

$ecccode

Error correction code.

protected mixed $ecccode = array()
Tags
protected

$eccLength

Error correction length.

protected mixed $eccLength
Tags
protected

$eccTable

Array Table of the error correction code (Reed-Solomon block).

protected mixed $eccTable = array( array(array(0, 0), array(0, 0), array(0, 0), array(0, 0)), // array(array(1, 0), array(1, 0), array(1, 0), array(1, 0)), // 1 array(array(1, 0), array(1, 0), array(1, 0), array(1, 0)), // array(array(1, 0), array(1, 0), array(2, 0), array(2, 0)), // array(array(1, 0), array(2, 0), array(2, 0), array(4, 0)), // array(array(1, 0), array(2, 0), array(2, 2), array(2, 2)), // 5 array(array(2, 0), array(4, 0), array(4, 0), array(4, 0)), // array(array(2, 0), array(4, 0), array(2, 4), array(4, 1)), // array(array(2, 0), array(2, 2), array(4, 2), array(4, 2)), // array(array(2, 0), array(3, 2), array(4, 4), array(4, 4)), // array(array(2, 2), array(4, 1), array(6, 2), array(6, 2)), // 10 array(array(4, 0), array(1, 4), array(4, 4), array(3, 8)), // array(array(2, 2), array(6, 2), array(4, 6), array(7, 4)), // array(array(4, 0), array(8, 1), array(8, 4), array(12, 4)), // array(array(3, 1), array(4, 5), array(11, 5), array(11, 5)), // array(array(5, 1), array(5, 5), array(5, 7), array(11, 7)), // 15 array(array(5, 1), array(7, 3), array(15, 2), array(3, 13)), // array(array(1, 5), array(10, 1), array(1, 15), array(2, 17)), // array(array(5, 1), array(9, 4), array(17, 1), array(2, 19)), // array(array(3, 4), array(3, 11), array(17, 4), array(9, 16)), // array(array(3, 5), array(3, 13), array(15, 5), array(15, 10)), // 20 array(array(4, 4), array(17, 0), array(17, 6), array(19, 6)), // array(array(2, 7), array(17, 0), array(7, 16), array(34, 0)), // array(array(4, 5), array(4, 14), array(11, 14), array(16, 14)), // array(array(6, 4), array(6, 14), array(11, 16), array(30, 2)), // array(array(8, 4), array(8, 13), array(7, 22), array(22, 13)), // 25 array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), // array(array(8, 4), array(22, 3), array(8, 26), array(12, 28)), // array(array(3, 10), array(3, 23), array(4, 31), array(11, 31)), // array(array(7, 7), array(21, 7), array(1, 37), array(19, 26)), // array(array(5, 10), array(19, 10), array(15, 25), array(23, 25)), // 30 array(array(13, 3), array(2, 29), array(42, 1), array(23, 28)), // array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), // array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), // array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), // array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), // 35 array(array(6, 14), array(6, 34), array(46, 10), array(2, 64)), // array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), // array(array(4, 18), array(13, 32), array(48, 14), array(42, 32)), // array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), // array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)), )

See Table 12-16 (pp.30-36), JIS X0510:2004.

Tags
protected

$formatInfo

Array Format information

protected mixed $formatInfo = array( array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), // array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), // array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), // array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x762, 0x255, 0xd0c, 0x83b), )
Tags
protected

$frame

Frame.

protected mixed $frame
Tags
protected

$frames

Array of frames.

protected mixed $frames = array()
Tags
protected

$hint

Encoding mode.

protected mixed $hint = \QR_MODE_8B
Tags
protected

$items

Input items.

protected mixed $items
Tags
protected

$lengthTableBits

Array Length indicator.

protected mixed $lengthTableBits = array(array(10, 12, 14), array(9, 11, 13), array(8, 16, 16), array(8, 10, 12))
Tags
protected

$level

Levels of error correction. See definitions for possible values.

protected mixed $level = \QR_ECLEVEL_L
Tags
protected

$rsblocks

Reed-Solomon blocks.

protected mixed $rsblocks = array()
Tags
protected

$rsitems

Reed-Solomon items.

protected mixed $rsitems = array()
Tags
protected

$runLength

Run length.

protected mixed $runLength = array()
Tags
protected

$structured

Structured QR code (not supported yet).

protected mixed $structured = 0
Tags
protected

$version

QR code version. Size of QRcode is defined as version. Version is from 1 to 40. Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. So version 40 is 177*177 matrix.

protected mixed $version = 0
Tags
protected

$versionPattern

Array Version information pattern (BCH coded).

protected mixed $versionPattern = array( 0x7c94, 0x85bc, 0x9a99, 0xa4d3, 0xbbf6, 0xc762, 0xd847, 0xe60d, // 0xf928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, // 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, // 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, // 0x27541, 0x28c69, )

See Table 1 in Appendix D (pp.68) of JIS X0510:2004. size: [QRSPEC_VERSION_MAX - 6]

Tags
protected

$width

Width.

protected mixed $width
Tags
protected

$x

X position of bit.

protected mixed $x
Tags
protected

$y

Y position of bit.

protected mixed $y
Tags
protected

Methods

__construct()

This is the class constructor.

public __construct(string $code[, string $eclevel = 'L' ]) : mixed

Creates a QRcode object

Parameters
$code : string

code to represent using QRcode

$eclevel : string = 'L'

error level:

  • L : About 7% or less errors can be corrected.
  • M : About 15% or less errors can be corrected.
  • Q : About 25% or less errors can be corrected.
  • H : About 30% or less errors can be corrected.

Tags
public
since
1.0.000

getBarcodeArray()

Returns a barcode array which is readable by TCPDF

public getBarcodeArray() : array<string|int, mixed>
Tags
public
Return values
array<string|int, mixed>

barcode array readable by TCPDF;

allocate()

Return an array with zeros

protected allocate(int $setLength) : array<string|int, mixed>
Parameters
$setLength : int

array size

Return values
array<string|int, mixed>

appendBitstream()

Append one bitstream to another

protected appendBitstream(array<string|int, mixed> $bitstream, array<string|int, mixed> $append) : array<string|int, mixed>
Parameters
$bitstream : array<string|int, mixed>

original bitstream

$append : array<string|int, mixed>

bitstream to append

Return values
array<string|int, mixed>

bitstream

appendBytes()

Append one bitstream created from bytes to another

protected appendBytes(array<string|int, mixed> $bitstream, int $size, array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$bitstream : array<string|int, mixed>

original bitstream

$size : int

size

$data : array<string|int, mixed>

bytes

Return values
array<string|int, mixed>

bitstream

appendNewInputItem()

Append data to an input object.

protected appendNewInputItem(array<string|int, mixed> $items, int $mode, int $size, array<string|int, mixed> $data) : array<string|int, mixed>

The data is copied and appended to the input object.

Parameters
$items : array<string|int, mixed>

input items

$mode : int

encoding mode.

$size : int

size of data (byte).

$data : array<string|int, mixed>

array of input data.

Return values
array<string|int, mixed>

items

appendNum()

Append one bitstream created from number to another

protected appendNum(array<string|int, mixed> $bitstream, int $bits, int $num) : array<string|int, mixed>
Parameters
$bitstream : array<string|int, mixed>

original bitstream

$bits : int

number of bits

$num : int

number

Return values
array<string|int, mixed>

bitstream

appendPaddingBit()

Append Padding Bit to bitstream

protected appendPaddingBit(array<string|int, mixed> $bstream) : array<string|int, mixed>
Parameters
$bstream : array<string|int, mixed>
Return values
array<string|int, mixed>

bitstream

binarize()

Convert the frame in binary form

protected binarize(array<string|int, mixed> $frame) : array<string|int, mixed>
Parameters
$frame : array<string|int, mixed>

array to binarize

Return values
array<string|int, mixed>

frame in binary form

bitstreamToByte()

Convert bitstream to bytes

protected bitstreamToByte(array<string|int, mixed> $bstream) : array<string|int, mixed>
Parameters
$bstream : array<string|int, mixed>

original bitstream

Return values
array<string|int, mixed>

of bytes

calcN1N3()

calcN1N3

protected calcN1N3(int $length) : int
Parameters
$length : int
Return values
int

demerit

calcParity()

calcParity

protected calcParity(array<string|int, mixed> $items) : int
Parameters
$items : array<string|int, mixed>
Return values
int

parity

check()

Validate the input data.

protected check(int $mode, int $size, array<string|int, mixed> $data) : bool
Parameters
$mode : int

encoding mode.

$size : int

size of data (byte).

$data : array<string|int, mixed>

data to validate

Return values
bool

true in case of valid data, false otherwise

checkModeAn()

checkModeAn

protected checkModeAn(int $size, array<string|int, mixed> $data) : bool
Parameters
$size : int
$data : array<string|int, mixed>
Return values
bool

true or false

checkModeKanji()

checkModeKanji

protected checkModeKanji(int $size, array<string|int, mixed> $data) : bool
Parameters
$size : int
$data : array<string|int, mixed>
Return values
bool

true or false

checkModeNum()

checkModeNum

protected checkModeNum(int $size, array<string|int, mixed> $data) : bool
Parameters
$size : int
$data : array<string|int, mixed>
Return values
bool

true or false

convertData()

convertData

protected convertData(array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
$items : array<string|int, mixed>
Return values
array<string|int, mixed>

items

createBitStream()

createBitStream

protected createBitStream(array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
$items : array<string|int, mixed>
Return values
array<string|int, mixed>

of items and total bits

createFrame()

Return a copy of initialized frame.

protected createFrame(int $version) : array<string|int, mixed>
Parameters
$version : int

version

Return values
array<string|int, mixed>

array of unsigned char.

eat8()

eat8

protected eat8() : int
Return values
int

run

eatAn()

eatAn

protected eatAn() : int
Return values
int

run

eatKanji()

eatKanji

protected eatKanji() : int
Return values
int

run

eatNum()

eatNum

protected eatNum() : int
Return values
int

run

encode_rs_char()

Encode a Reed-Solomon codec and returns the parity array

protected encode_rs_char(array<string|int, mixed> $rs, array<string|int, mixed> $data, array<string|int, mixed> $parity) : parity
Parameters
$rs : array<string|int, mixed>

RS values

$data : array<string|int, mixed>

data

$parity : array<string|int, mixed>

parity

Return values
parity

array

encodeBitStream()

encodeBitStream

protected encodeBitStream(array<string|int, mixed> $inputitem, int $version) : array<string|int, mixed>
Parameters
$inputitem : array<string|int, mixed>
$version : int
Return values
array<string|int, mixed>

input item

encodeMask()

Encode mask

protected encodeMask(int $mask) : mixed
Parameters
$mask : int

masking mode

encodeMode8()

encodeMode8

protected encodeMode8(array<string|int, mixed> $inputitem, int $version) : array<string|int, mixed>
Parameters
$inputitem : array<string|int, mixed>
$version : int
Return values
array<string|int, mixed>

input item

encodeModeAn()

encodeModeAn

protected encodeModeAn(array<string|int, mixed> $inputitem, int $version) : array<string|int, mixed>
Parameters
$inputitem : array<string|int, mixed>
$version : int
Return values
array<string|int, mixed>

input item

encodeModeKanji()

encodeModeKanji

protected encodeModeKanji(array<string|int, mixed> $inputitem, int $version) : array<string|int, mixed>
Parameters
$inputitem : array<string|int, mixed>
$version : int
Return values
array<string|int, mixed>

input item

encodeModeNum()

encodeModeNum

protected encodeModeNum(array<string|int, mixed> $inputitem, int $version) : array<string|int, mixed>
Parameters
$inputitem : array<string|int, mixed>
$version : int
Return values
array<string|int, mixed>

input item

encodeModeStructure()

encodeModeStructure

protected encodeModeStructure(array<string|int, mixed> $inputitem) : array<string|int, mixed>
Parameters
$inputitem : array<string|int, mixed>
Return values
array<string|int, mixed>

input item

encodeString()

Encode the input string to QR code

protected encodeString(string $string) : mixed
Parameters
$string : string

input string to encode

estimateBitsMode8()

estimateBitsMode8

protected estimateBitsMode8(int $size) : int
Parameters
$size : int
Return values
int

number of bits

estimateBitsModeAn()

estimateBitsModeAn

protected estimateBitsModeAn(int $size) : int
Parameters
$size : int
Return values
int

number of bits

estimateBitsModeKanji()

estimateBitsModeKanji

protected estimateBitsModeKanji(int $size) : int
Parameters
$size : int
Return values
int

number of bits

estimateBitsModeNum()

estimateBitsModeNum

protected estimateBitsModeNum(int $size) : int
Parameters
$size : int
Return values
int

number of bits

estimateBitStreamSize()

estimateBitStreamSize

protected estimateBitStreamSize(array<string|int, mixed> $items, int $version) : int
Parameters
$items : array<string|int, mixed>
$version : int
Return values
int

bits

estimateVersion()

estimateVersion

protected estimateVersion(array<string|int, mixed> $items) : int
Parameters
$items : array<string|int, mixed>
Return values
int

version

evaluateSymbol()

evaluateSymbol

protected evaluateSymbol(int $width, array<string|int, mixed> $frame) : int
Parameters
$width : int
$frame : array<string|int, mixed>
Return values
int

demerit

generateMaskNo()

Return bitmask

protected generateMaskNo(int $maskNo, int $width, array<string|int, mixed> $frame) : array<string|int, mixed>
Parameters
$maskNo : int

mask number

$width : int

width

$frame : array<string|int, mixed>

frame

Return values
array<string|int, mixed>

bitmask

getBitStream()

Returns a stream of bits.

protected getBitStream(int $items) : array<string|int, mixed>
Parameters
$items : int
Return values
array<string|int, mixed>

padded merged byte stream

getByteStream()

Pack all bit streams padding bits into a byte array.

protected getByteStream(int $items) : array<string|int, mixed>
Parameters
$items : int
Return values
array<string|int, mixed>

padded merged byte stream

getCode()

Return Reed-Solomon block code.

protected getCode() : array<string|int, mixed>
Return values
array<string|int, mixed>

rsblocks

getDataLength()

Return maximum data code length (bytes) for the version.

protected getDataLength(int $version, int $level) : int
Parameters
$version : int

version

$level : int

error correction level

Return values
int

maximum size (bytes)

getECCLength()

Return maximum error correction code length (bytes) for the version.

protected getECCLength(int $version, int $level) : int
Parameters
$version : int

version

$level : int

error correction level

Return values
int

ECC size (bytes)

getEccSpec()

Return an array of ECC specification.

protected getEccSpec(int $version, int $level, array<string|int, mixed> $spec) : array<string|int, mixed>
Parameters
$version : int

version

$level : int

error correction level

$spec : array<string|int, mixed>

an array of ECC specification contains as following: {# of type1 blocks, # of data code, # of ecc code, # of type2 blocks, # of data code}

Return values
array<string|int, mixed>

spec

getFormatInfo()

Return BCH encoded format information pattern.

protected getFormatInfo(array<string|int, mixed> $mask, int $level) : string
Parameters
$mask : array<string|int, mixed>
$level : int

error correction level

Return values
string

BCH encoded format information pattern

getFrameAt()

Get frame value at specified position

protected getFrameAt(array<string|int, mixed> $at) : value
Parameters
$at : array<string|int, mixed>

x,y position

Return values
value

at specified position

getMinimumVersion()

Return a version number that satisfies the input code length.

protected getMinimumVersion(int $size, int $level) : int
Parameters
$size : int

input code length (bytes)

$level : int

error correction level

Return values
int

version number

getNextPosition()

Return the next frame position

protected getNextPosition() : array<string|int, mixed>
Return values
array<string|int, mixed>

of x,y coordinates

getRemainder()

Return the numer of remainder bits.

protected getRemainder(int $version) : int
Parameters
$version : int

version

Return values
int

number of remainder bits

getVersionPattern()

Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. Use lower 18 bits.

protected getVersionPattern(int $version) : string
Parameters
$version : int

version

Return values
string

BCH encoded version information pattern

getWidth()

Return the width of the symbol for the version.

protected getWidth(int $version) : int
Parameters
$version : int

version

Return values
int

width

identifyMode()

identifyMode

protected identifyMode(int $pos) : int
Parameters
$pos : int
Return values
int

mode

init()

Initialize code.

protected init(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>

array of ECC specification

Return values
int

0 in case of success, -1 in case of error

init_rs()

Initialize a Reed-Solomon codec and add it to existing rsitems

protected init_rs(int $symsize, int $gfpoly, int $fcr, int $prim, int $nroots, int $pad) : array<string|int, mixed>
Parameters
$symsize : int

symbol size, bits

$gfpoly : int

Field generator polynomial coefficients

$fcr : int

first root of RS code generator polynomial, index form

$prim : int

primitive element to generate polynomial roots

$nroots : int

RS code generator polynomial degree (number of roots)

$pad : int

padding bytes at front of shortened block

Return values
array<string|int, mixed>

Array of RS values:

  • mm = Bits per symbol;
  • nn = Symbols per block;
  • alpha_to = log lookup table array;
  • index_of = Antilog lookup table array;
  • genpoly = Generator polynomial array;
  • nroots = Number of generator;
  • roots = number of parity symbols;
  • fcr = First consecutive root, index form;
  • prim = Primitive element, index form;
  • iprim = prim-th root of 1, index form;
  • pad = Padding bytes in shortened block;
  • gfpoly
.

init_rs_char()

Initialize a Reed-Solomon codec and returns an array of values.

protected init_rs_char(int $symsize, int $gfpoly, int $fcr, int $prim, int $nroots, int $pad) : array<string|int, mixed>
Parameters
$symsize : int

symbol size, bits

$gfpoly : int

Field generator polynomial coefficients

$fcr : int

first root of RS code generator polynomial, index form

$prim : int

primitive element to generate polynomial roots

$nroots : int

RS code generator polynomial degree (number of roots)

$pad : int

padding bytes at front of shortened block

Return values
array<string|int, mixed>

Array of RS values:

  • mm = Bits per symbol;
  • nn = Symbols per block;
  • alpha_to = log lookup table array;
  • index_of = Antilog lookup table array;
  • genpoly = Generator polynomial array;
  • nroots = Number of generator;
  • roots = number of parity symbols;
  • fcr = First consecutive root, index form;
  • prim = Primitive element, index form;
  • iprim = prim-th root of 1, index form;
  • pad = Padding bytes in shortened block;
  • gfpoly
.

insertStructuredAppendHeader()

insertStructuredAppendHeader

protected insertStructuredAppendHeader(array<string|int, mixed> $items, int $size, int $index, int $parity) : array<string|int, mixed>
Parameters
$items : array<string|int, mixed>
$size : int
$index : int
$parity : int
Return values
array<string|int, mixed>

items

isalnumat()

Return true if the character at specified position is an alphanumeric character

protected isalnumat(string $str, int $pos) : bool
Parameters
$str : string

string

$pos : int

characted position

Return values
bool

true of false

isdigitat()

Return true if the character at specified position is a number

protected isdigitat(string $str, int $pos) : bool
Parameters
$str : string

string

$pos : int

characted position

Return values
bool

true of false

lengthIndicator()

Return the size of length indicator for the mode and version.

protected lengthIndicator(int $mode, int $version) : int
Parameters
$mode : int

encoding mode

$version : int

version

Return values
int

the size of the appropriate length indicator (bits).

lengthOfCode()

lengthOfCode

protected lengthOfCode(int $mode, int $version, int $bits) : int
Parameters
$mode : int
$version : int
$bits : int
Return values
int

size

lookAnTable()

Look up the alphabet-numeric conversion table (see JIS X0510:2004, pp.19).

protected lookAnTable(int $c) : int
Parameters
$c : int

character value

Return values
int

value

makeMask()

makeMask

protected makeMask(int $width, array<string|int, mixed> $frame, int $maskNo, int $level) : array<string|int, mixed>
Parameters
$width : int
$frame : array<string|int, mixed>
$maskNo : int
$level : int
Return values
array<string|int, mixed>

mask

makeMaskNo()

makeMaskNo

protected makeMaskNo(int $maskNo, int $width, int $s, int &$d[, bool $maskGenOnly = false ]) : int
Parameters
$maskNo : int
$width : int
$s : int
$d : int
$maskGenOnly : bool = false
Return values
int

b

mask()

mask

protected mask(int $width, array<string|int, mixed> $frame, int $level) : array<string|int, mixed>
Parameters
$width : int
$frame : array<string|int, mixed>
$level : int
Return values
array<string|int, mixed>

best mask

mask0()

mask0

protected mask0(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask1()

mask1

protected mask1(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask2()

mask2

protected mask2(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask3()

mask3

protected mask3(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask4()

mask4

protected mask4(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask5()

mask5

protected mask5(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask6()

mask6

protected mask6(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

mask7()

mask7

protected mask7(int $x, int $y) : int
Parameters
$x : int

X position

$y : int

Y position

Return values
int

mask

maximumWords()

Return the maximum length for the mode and version.

protected maximumWords(int $mode, int $version) : int
Parameters
$mode : int

encoding mode

$version : int

version

Return values
int

the maximum length (bytes)

mergeBitStream()

mergeBitStream

protected mergeBitStream(array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
$items : array<string|int, mixed>

items

Return values
array<string|int, mixed>

bitstream

modnn()

modnn

protected modnn(array<string|int, mixed> $rs, int $x) : int
Parameters
$rs : array<string|int, mixed>

RS values

$x : int

X position

Return values
int

X osition

newFrame()

Set new frame for the specified version.

protected newFrame(int $version) : array<string|int, mixed>
Parameters
$version : int

version

Return values
array<string|int, mixed>

array of unsigned char.

newFromBytes()

Return new bitstream from bytes

protected newFromBytes(int $size, array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$size : int

size

$data : array<string|int, mixed>

bytes

Return values
array<string|int, mixed>

bitstream

newFromNum()

Return new bitstream from number

protected newFromNum(int $bits, int $num) : array<string|int, mixed>
Parameters
$bits : int

number of bits

$num : int

number

Return values
array<string|int, mixed>

bitstream

newInputItem()

newInputItem

protected newInputItem(int $mode, int $size, array<string|int, mixed> $data[, array<string|int, mixed> $bstream = null ]) : array<string|int, mixed>
Parameters
$mode : int
$size : int
$data : array<string|int, mixed>
$bstream : array<string|int, mixed> = null
Return values
array<string|int, mixed>

input item

putAlignmentMarker()

Put an alignment marker.

protected putAlignmentMarker(array<string|int, mixed> $frame, int $ox, int $oy) : array<string|int, mixed>
Parameters
$frame : array<string|int, mixed>

frame

$ox : int

X center coordinate of the pattern

$oy : int

Y center coordinate of the pattern

Return values
array<string|int, mixed>

frame

putAlignmentPattern()

Put an alignment pattern.

protected putAlignmentPattern(int $version, array<string|int, mixed> $frame, int $width) : array<string|int, mixed>
Parameters
$version : int

version

$frame : array<string|int, mixed>

frame

$width : int

width

Return values
array<string|int, mixed>

frame

putFinderPattern()

Put a finder pattern.

protected putFinderPattern(array<string|int, mixed> $frame, int $ox, int $oy) : array<string|int, mixed>
Parameters
$frame : array<string|int, mixed>

frame

$ox : int

X center coordinate of the pattern

$oy : int

Y center coordinate of the pattern

Return values
array<string|int, mixed>

frame

qrstrset()

Replace a value on the array at the specified position

protected qrstrset(array<string|int, mixed> $srctab, int $x, int $y, string $repl[, int $replLen = false ]) : array<string|int, mixed>
Parameters
$srctab : array<string|int, mixed>
$x : int

X position

$y : int

Y position

$repl : string

value to replace

$replLen : int = false

length of the repl string

Return values
array<string|int, mixed>

srctab

rsBlockNum()

Return block number 0

protected rsBlockNum(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsBlockNum1()

Return block number 1

protected rsBlockNum1(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsBlockNum2()

Return block number 2

protected rsBlockNum2(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsDataCodes1()

Return data codes 1

protected rsDataCodes1(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsDataCodes2()

Return data codes 2

protected rsDataCodes2(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsDataLength()

Return data length

protected rsDataLength(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsEccCodes1()

Return ecc codes 1

protected rsEccCodes1(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsEccCodes2()

Return ecc codes 2

protected rsEccCodes2(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

rsEccLength()

Return ecc length

protected rsEccLength(array<string|int, mixed> $spec) : int
Parameters
$spec : array<string|int, mixed>
Return values
int

value

setFrameAt()

Set frame value at specified position

protected setFrameAt(array<string|int, mixed> $at, int $val) : mixed
Parameters
$at : array<string|int, mixed>

x,y position

$val : int

value of the character to set

splitString()

splitString

protected splitString() : int
Return values
int

toUpper()

toUpper

protected toUpper() : mixed

writeFormatInformation()

Write Format Information on frame and returns the number of black bits

protected writeFormatInformation(int $width, array<string|int, mixed> &$frame, array<string|int, mixed> $mask, int $level) : int
Parameters
$width : int

frame width

$frame : array<string|int, mixed>

frame

$mask : array<string|int, mixed>

masking mode

$level : int

error correction level

Return values
int

blacks


        
On this page

Search results