classes-QRcode

It appears that you are using AdBlocking software. The cost of running this website is covered by advertisements. If you like it please feel free to a small amount of money to secure the future of this website.
    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

    $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.
    __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
    Return values
    mixed

    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

    Return values
    mixed

    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

    Return values
    mixed

    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

    Return values
    mixed

    splitString()

    splitString

    protected splitString() : int
    Return values
    int

    toUpper()

    toUpper

    protected toUpper() : mixed
    Return values
    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

     

    © 2004-2023 – Nicola Asuni - Tecnick.com - All rights reserved.
    about - disclaimer - privacy