Constants

DEFAULT_BYTE_MODE_ECODING

DEFAULT_BYTE_MODE_ECODING = 'ISO-8859-1'

Default byte encoding.

Properties

$alphanumericTable

$alphanumericTable : array

The original table is defined in the table 5 of JISX0510:2004 (p.19).

Type

array

$codecs

$codecs : array

Codec cache.

Type

array

Methods

encode()

encode(string  $content, \BaconQrCode\Common\ErrorCorrectionLevel  $ecLevel,   $encoding = self::DEFAULT_BYTE_MODE_ECODING) : \BaconQrCode\Encoder\QrCode

Encodes "content" with the error correction level "ecLevel".

Parameters

string $content
\BaconQrCode\Common\ErrorCorrectionLevel $ecLevel
$encoding

Returns

\BaconQrCode\Encoder\QrCode

getAlphanumericCode()

getAlphanumericCode(string|integer  $code) : integer

Gets the alphanumeric code for a byte.

Parameters

string|integer $code

Returns

integer

chooseMode()

chooseMode(string  $content, string  $encoding = null) : \BaconQrCode\Common\Mode

Chooses the best mode for a given content.

Parameters

string $content
string $encoding

Returns

\BaconQrCode\Common\Mode

calculateMaskPenalty()

calculateMaskPenalty(\BaconQrCode\Encoder\ByteMatrix  $matrix) : integer

Calculates the mask penalty for a matrix.

Parameters

\BaconQrCode\Encoder\ByteMatrix $matrix

Returns

integer

chooseVersion()

chooseVersion(integer  $numInputBits, \BaconQrCode\Common\ErrorCorrectionLevel  $ecLevel) : \BaconQrCode\Common\Version

Chooses the best version for the input.

Parameters

integer $numInputBits
\BaconQrCode\Common\ErrorCorrectionLevel $ecLevel

Throws

\BaconQrCode\Exception\WriterException

Returns

\BaconQrCode\Common\Version

terminateBits()

terminateBits(integer  $numDataBytes, \BaconQrCode\Common\BitArray  $bits) 

Terminates the bits in a bit array.

Parameters

integer $numDataBytes
\BaconQrCode\Common\BitArray $bits

Throws

\BaconQrCode\Exception\WriterException

getNumDataBytesAndNumEcBytesForBlockId()

getNumDataBytesAndNumEcBytesForBlockId(integer  $numTotalBytes, integer  $numDataBytes, integer  $numRsBlocks, integer  $blockId) : array

Gets number of data- and EC bytes for a block ID.

Parameters

integer $numTotalBytes
integer $numDataBytes
integer $numRsBlocks
integer $blockId

Throws

\BaconQrCode\Exception\WriterException

Returns

array

interleaveWithEcBytes()

interleaveWithEcBytes(\BaconQrCode\Common\BitArray  $bits, integer  $numTotalBytes, integer  $numDataBytes, integer  $numRsBlocks) : \BaconQrCode\Common\BitArray

Interleaves data with EC bytes.

Parameters

\BaconQrCode\Common\BitArray $bits
integer $numTotalBytes
integer $numDataBytes
integer $numRsBlocks

Throws

\BaconQrCode\Exception\WriterException

Returns

\BaconQrCode\Common\BitArray

generateEcBytes()

generateEcBytes(\SplFixedArray  $dataBytes, integer  $numEcBytesInBlock) : \SplFixedArray

Generates EC bytes for given data.

Parameters

\SplFixedArray $dataBytes
integer $numEcBytesInBlock

Returns

\SplFixedArray

getCodec()

getCodec(integer  $numDataBytes, integer  $numEcBytesInBlock) : \BaconQrCode\Common\ReedSolomonCodec

Gets an RS codec and caches it.

Parameters

integer $numDataBytes
integer $numEcBytesInBlock

Returns

\BaconQrCode\Common\ReedSolomonCodec

appendBytes()

appendBytes(\BaconQrCode\Encoder\stirng  $content, \BaconQrCode\Common\Mode  $mode, \BaconQrCode\Common\BitArray  $bits, string  $encoding) : void

Appends bytes to a bit array in a specific mode.

Parameters

\BaconQrCode\Encoder\stirng $content
\BaconQrCode\Common\Mode $mode
\BaconQrCode\Common\BitArray $bits
string $encoding

Throws

\BaconQrCode\Exception\WriterException

appendNumericBytes()

appendNumericBytes(string  $content, \BaconQrCode\Common\BitArray  $bits) : void

Appends numeric bytes to a bit array.

Parameters

string $content
\BaconQrCode\Common\BitArray $bits

appendAlphanumericBytes()

appendAlphanumericBytes(string  $content, \BaconQrCode\Common\BitArray  $bits) : void

Appends alpha-numeric bytes to a bit array.

Parameters

string $content
\BaconQrCode\Common\BitArray $bits

append8BitBytes()

append8BitBytes(string  $content, \BaconQrCode\Common\BitArray  $bits,   $encoding) : void

Appends regular 8-bit bytes to a bit array.

Parameters

string $content
\BaconQrCode\Common\BitArray $bits
$encoding

appendKanjiBytes()

appendKanjiBytes(string  $content, \BaconQrCode\Common\BitArray  $bits) : void

Appends KANJI bytes to a bit array.

Parameters

string $content
\BaconQrCode\Common\BitArray $bits