smiley 2 سال پیش
والد
کامیت
9296d73bce
7فایلهای تغییر یافته به همراه18 افزوده شده و 299 حذف شده
  1. 0 26
      docs/API-DecoderResult.md
  2. 0 65
      docs/API-QRCode.md
  3. 0 82
      docs/API-QRMatrix.md
  4. 0 79
      docs/API-QROptions.md
  5. 0 31
      docs/API-QROutputInterface.md
  6. 12 12
      docs/Appendix-Terminology.md
  7. 6 4
      docs/Built-In-Output-QRImagick.md

+ 0 - 26
docs/API-DecoderResult.md

@@ -1,26 +0,0 @@
-# DecoderResult
-
-The full phpDocumentor API documentation can be found at [chillerlan.github.io/php-qrcode](https://chillerlan.github.io/php-qrcode/classes/chillerlan-QRCode-Decoder-DecoderResult.html).
-
-
-## Methods
-
-| method                                     | return     | description                                                                                                |
-|--------------------------------------------|------------|------------------------------------------------------------------------------------------------------------|
-| `__construct(iterable $properties = null)` | -          | used internally by [`Decoder`](https://github.com/chillerlan/php-qrcode/blob/main/src/Decoder/Decoder.php) |
-| `__toString()`                             | `string`   | returns the data contained in the QR symbol                                                                |
-| `hasStructuredAppend()`                    | `bool`     |                                                                                                            |
-| `getQRMatrix()`                            | `QRMatrix` |                                                                                                            |
-
-
-## Magic Properties (read-only)
-
-| property                    | type          | description      |
-|-----------------------------|---------------|------------------|
-| `$rawBytes`                 | `BitBuffer`   |                  |
-| `$version`                  | `Version`     |                  |
-| `$eccLevel`                 | `EccLevel`    |                  |
-| `$maskPattern`              | `MaskPattern` |                  |
-| `$data`                     | `string`      | defaults to `''` |
-| `$structuredAppendParity`   | `int`         | defaults to `-1` |
-| `$structuredAppendSequence` | `int`         | defaults to `-1` |

+ 0 - 65
docs/API-QRCode.md

@@ -1,65 +0,0 @@
-# QRCode
-
-The full phpDocumentor API documentation can be found at [chillerlan.github.io/php-qrcode](https://chillerlan.github.io/php-qrcode/classes/chillerlan-QRCode-QRCode.html).
-
-
-## Methods
-<!-- using non-breaking spaces chr(255) in the longest method signature to force the silly table to stretch -->
-| method                                                    | return          | description                                                                                                                                                                 |
-|-----------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `__construct(SettingsContainerInterface $options = null)` | -               | see [`QROptions`](./API-QROptions.md) and [`SettingsContainerInterface`](https://github.com/chillerlan/php-settings-container/blob/main/src/SettingsContainerInterface.php) |
-| `setOptions(SettingsContainerInterface $options)`         | `self`          | Sets an options instance, internally called via the constructor                                                                                                             |
-| `render(string $data, string $file = null)`               | `mixed`         | renders a QR Code for the given `$data` and `QROptions`, saves `$file` optionally, output depends on the chosen mode, see `QROutputInterface::dump()`                       |
-| `renderMatrix(QRMatrix $matrix, string $file = null)`     | `mixed`         | renders a QR Code for the given `QRMatrix` and `QROptions`, saves `$file` optionally, output depends on the chosen mode, see `QROutputInterface::dump()`                    |
-| `getQRMatrix()`                                           | `QRMatrix`      | returns a `QRMatrix` object for the given `$data` and current `QROptions`                                                                                                   |
-| `addSegment(QRDataModeInterface $segment)`                | `self`          | Adds a `QRDataModeInterface` segment                                                                                                                                        |
-| `clearSegments()`                                         | `self`          | Clears the data segments array                                                                                                                                              |
-| `addNumericSegment(string $data)`                         | `self`          | Adds a numeric data segment                                                                                                                                                 |
-| `addAlphaNumSegment(string $data)`                        | `self`          | Adds an alphanumeric data segment                                                                                                                                           |
-| `addKanjiSegment(string $data)`                           | `self`          | Adds a Kanji data segment (Japanese 13-bit double-byte characters, Shift-JIS)                                                                                               |
-| `addHanziSegment(string $data)`                           | `self`          | Adds a Hanzi data segment (simplified Chinese 13-bit double-byte characters, GB2312/GB18030)                                                                                |
-| `addByteSegment(string $data)`                            | `self`          | Adds an 8-bit byte data segment                                                                                                                                             |
-| `addEciDesignator(int $encoding)`                         | `self`          | Adds a standalone ECI designator                                                                                                                                            |
-| `addEciSegment(int $encoding, string $data)`              | `self`          | Adds an ECI data segment (including designator)                                                                                                                             |
-| `readFromFile(string $path)`                              | `DecoderResult` | Reads a QR Code from a given file                                                                                                                                           |
-| `readFromBlob(string $blob)`                              | `DecoderResult` | Reads a QR Code from the given data blob                                                                                                                                    |
-| `readFromSource(LuminanceSourceInterface $source)`        | `DecoderResult` | Reads a QR Code from the given luminance source                                                                                                                             |
-
-
-### Deprecated methods
-
-| method                       | since   | replacement                                |
-|------------------------------|---------|--------------------------------------------|
-| `getMatrix()`                | `5.0.0` | `QRCode::getQRMatrix()`                    |
-| `isNumber(string $string)`   | `5.0.0` | `Number::validateString(string $string)`   |
-| `isAlphaNum(string $string)` | `5.0.0` | `AlphaNum::validateString(string $string)` |
-| `isKanji(string $string)`    | `5.0.0` | `Kanji::validateString(string $string)`    |
-| `isByte(string $string)`     | `5.0.0` | `Byte::validateString(string $string)`     |
-
-
-##  Constants
-
-### Deprecated constants
-
-| name                 | since   | replacement                      |
-|----------------------|---------|----------------------------------|
-| `VERSION_AUTO`       | `5.0.0` | `Version::AUTO`                  |
-| `MASK_PATTERN_AUTO`  | `5.0.0` | `MaskPattern::AUTO`              |
-| `OUTPUT_MARKUP_SVG`  | `5.0.0` | `QROutputInterface::MARKUP_SVG`  |
-| `OUTPUT_MARKUP_HTML` | `5.0.0` | `QROutputInterface::MARKUP_HTML` |
-| `OUTPUT_IMAGE_PNG`   | `5.0.0` | `QROutputInterface::GDIMAGE_PNG` |
-| `OUTPUT_IMAGE_JPG`   | `5.0.0` | `QROutputInterface::GDIMAGE_JPG` |
-| `OUTPUT_IMAGE_GIF`   | `5.0.0` | `QROutputInterface::GDIMAGE_GIF` |
-| `OUTPUT_STRING_JSON` | `5.0.0` | `QROutputInterface::STRING_JSON` |
-| `OUTPUT_STRING_TEXT` | `5.0.0` | `QROutputInterface::STRING_TEXT` |
-| `OUTPUT_IMAGICK`     | `5.0.0` | `QROutputInterface::IMAGICK`     |
-| `OUTPUT_FPDF`        | `5.0.0` | `QROutputInterface::FPDF`        |
-| `OUTPUT_CUSTOM`      | `5.0.0` | `QROutputInterface::CUSTOM`      |
-| `ECC_L`              | `5.0.0` | `EccLevel::L`                    |
-| `ECC_M`              | `5.0.0` | `EccLevel::M`                    |
-| `ECC_Q`              | `5.0.0` | `EccLevel::Q`                    |
-| `ECC_H`              | `5.0.0` | `EccLevel::H`                    |
-| `DATA_NUMBER`        | `5.0.0` | `Mode::NUMBER`                   |
-| `DATA_ALPHANUM`      | `5.0.0` | `Mode::ALPHANUM`                 |
-| `DATA_BYTE`          | `5.0.0` | `Mode::BYTE`                     |
-| `DATA_KANJI`         | `5.0.0` | `Mode::KANJI`                    |

+ 0 - 82
docs/API-QRMatrix.md

@@ -1,82 +0,0 @@
-# QRMatrix
-
-The full phpDocumentor API documentation can be found at [chillerlan.github.io/php-qrcode](https://chillerlan.github.io/php-qrcode/classes/chillerlan-QRCode-Data-QRMatrix.html).
-
-
-## Methods
-<!-- using non-breaking spaces chr(255) in the longest method signature to force the silly table to stretch -->
-| method                                                                                 | return              | description                                                                                                                |
-|----------------------------------------------------------------------------------------|---------------------|----------------------------------------------------------------------------------------------------------------------------|
-| `__construct(Version $version, EccLevel $eccLevel)`                                    | -                   |                                                                                                                            |
-| `initFunctionalPatterns()`                                                             | `self`              | shortcut to initialize the functional patterns                                                                             |
-| `getMatrix()`                                                                          | `array`             | the internal matrix representation as a 2 dimensional array                                                                |
-| `getVersion()`                                                                         | `Version\|null`     | the current QR Code version instance                                                                                       |
-| `getEccLevel()`                                                                        | `EccLevel\|null`    | the current ECC level instance                                                                                             |
-| `getMaskPattern()`                                                                     | `MaskPattern\|null` | the used mask pattern instance                                                                                             |
-| `getSize()`                                                                            | `int`               | the absoulute size of the matrix, including quiet zone (if set). `$version * 4 + 17 + 2 * $quietzone`                      |
-| `get(int $x, int $y)`                                                                  | `int`               | returns the value of the module                                                                                            |
-| `set(int $x, int $y, bool $value, int $M_TYPE)`                                        | `self`              | sets the `$M_TYPE` value for the module                                                                                    |
-| `setArea(int $startX, int $startY, int $width, int $height, bool $value, int $M_TYPE)` | `self`              | Fills an area of $width * $height, from the given starting point $startX, $startY (top left) with $value for $M_TYPE       |
-| `checkType(int $x, int $y, int $M_TYPE)`                                               | `bool`              | Checks whether a module is of the given $M_TYPE                                                                            |
-| `checkTypeIn(int $x, int $y, array $M_TYPES)`                                          | `bool`              | Checks whether the module at ($x, $y) is in the given array of $M_TYPES, returns true if a match is found, otherwise false |
-| `check(int $x, int $y)`                                                                | `bool`              | checks whether a module is true (dark) or false (light)                                                                    |
-| `checkNeighbours(int $x, int $y, int $M_TYPE = null)`                                  | `int`               | Checks the status neighbouring modules of the given module at ($x, $y) and returns a bitmask with the results.             |
-| `setDarkModule()`                                                                      | `self`              |                                                                                                                            |
-| `setFinderPattern()`                                                                   | `self`              |                                                                                                                            |
-| `setSeparators()`                                                                      | `self`              |                                                                                                                            |
-| `setAlignmentPattern()`                                                                | `self`              |                                                                                                                            |
-| `setTimingPattern()`                                                                   | `self`              |                                                                                                                            |
-| `setVersionNumber()`                                                                   | `self`              |                                                                                                                            |
-| `setFormatInfo(MaskPattern $maskPattern = null)`                                       | `self`              |                                                                                                                            |
-| `setQuietZone(int $quietZoneSize)`                                                     | `self`              | Draws the "quiet zone" of $quietZoneSize around the matrix                                                                 |
-| `rotate90()`                                                                           | `self`              | Rotates the matrix by 90 degrees clock wise                                                                                |
-| `setLogoSpace(int $width, int $height = null, int $startX = null, int $startY = null)` | `self`              | Clears a space of $width * $height in order to add a logo or text.                                                         |
-| `writeCodewords(BitBuffer $bitBuffer)`                                                 | `self`              | Maps the interleaved binary data on the matrix                                                                             |
-| `mask(MaskPattern $maskPattern)`                                                       | `self`              | Applies/reverses the mask pattern                                                                                          |
-
-
-### Deprecated methods
-
-| method          | since   | replacement                  |
-|-----------------|---------|------------------------------|
-| `matrix()`      | `5.0.0` | `QRMatrix::getMatrix()`      |
-| `eccLevel()`    | `5.0.0` | `QRMatrix::getEccLevel()`    |
-| `version()`     | `5.0.0` | `QRMatrix::getVersion()`     |
-| `maskPattern()` | `5.0.0` | `QRMatrix::getMaskPattern()` |
-| `size()`        | `5.0.0` | `QRMatrix::getSize()`        |
-
-
-## Constants
-
-The `_DARK` and `_LIGHT` postfixed constans exist purely for convenience - their value is the same as
-`QRMatrix::M_XXX | QRMatrix::IS_DARK` and `QRMatrix::M_XXX ^ QRMatrix::IS_DARK` respectively,
-see [`QROutputInterface`](./API-QROutputInterface.md).
-
-| name                 | description                                                                       |
-|----------------------|-----------------------------------------------------------------------------------|
-| `IS_DARK`            | sets the "dark" flag for the given value: `QRMatrix::M_DATA \| QRMatrix::IS_DARK` |
-| `M_NULL`             | module not set                                                                    |
-| `M_DARKMODULE_LIGHT` | convenience (reversed reflectance)                                                |
-| `M_DARKMODULE`       | once per matrix at `$xy = [8, 4 * $version + 9]`                                  |
-| `M_DATA`             | the actual encoded data                                                           |
-| `M_DATA_DARK`        | convenience                                                                       |
-| `M_FINDER`           | the 7x7 finder patterns                                                           |
-| `M_FINDER_DARK`      | convenience                                                                       |
-| `M_FINDER_DOT_LIGHT` | convenience (reversed reflectance)                                                |
-| `M_FINDER_DOT`       | the inner 3x3 block of the finder pattern                                         |
-| `M_SEPARATOR`        | separator lines along the finder patterns                                         |
-| `M_SEPARATOR_DARK`   | convenience                                                                       |
-| `M_ALIGNMENT`        | the 5x5 alignment patterns                                                        |
-| `M_ALIGNMENT_DARK`   | convenience                                                                       |
-| `M_TIMING`           | the timing pattern lines                                                          |
-| `M_TIMING_DARK`      | convenience                                                                       |
-| `M_FORMAT`           | format information pattern                                                        |
-| `M_FORMAT_DARK`      | convenience                                                                       |
-| `M_VERSION`          | version information pattern                                                       |
-| `M_VERSION_DARK`     | convenience                                                                       |
-| `M_QUIETZONE`        | margin around the QR Code                                                         |
-| `M_QUIETZONE_DARK`   | convenience                                                                       |
-| `M_LOGO`             | space for a logo image (not used yet)                                             |
-| `M_LOGO_DARK`        | convenience                                                                       |
-| `M_TEST`             | test value                                                                        |
-| `M_TEST_DARK`        | convenience                                                                       |

+ 0 - 79
docs/API-QROptions.md

@@ -1,79 +0,0 @@
-# QROptions
-(via `QROptionsTrait`)
-
-The full phpDocumentor API documentation can be found at [chillerlan.github.io/php-qrcode](https://chillerlan.github.io/php-qrcode/classes/chillerlan-QRCode-QROptions.html).
-
-
-## Methods
-
-Inherited from [`SettingsContainerAbstract`](https://github.com/chillerlan/php-settings-container/blob/main/src/SettingsContainerAbstract.php)
-<!-- using non-breaking spaces chr(255) in the longest method signature to force the silly table to stretch -->
-| method                                     | return                       | info                                                                                                            |
-|--------------------------------------------|------------------------------|-----------------------------------------------------------------------------------------------------------------|
-| `__construct(iterable $properties = null)` | -                            | calls `construct()` internally after the properties have been set                                               |
-| (protected) `construct()`                  | `void`                       | calls a method with trait name as replacement constructor for each used trait (similar to PHP4 constructors)    |
-| `__get(string $property)`                  | `mixed`                      | calls `$this->{'get_'.$property}()` if such a method exists                                                     |
-| `__set(string $property, $value)`          | `void`                       | calls `$this->{'set_'.$property}($value)` if such a method exists                                               |
-| `__isset(string $property)`                | `bool`                       |                                                                                                                 |
-| `__unset(string $property)`                | `void`                       |                                                                                                                 |
-| `__toString()`                             | `string`                     | a JSON string                                                                                                   |
-| `toArray()`                                | `array`                      |                                                                                                                 |
-| `fromIterable(iterable $properties)`       | `SettingsContainerInterface` |                                                                                                                 |
-| `toJSON(int $jsonOptions = null)`          | `string`                     | accepts [JSON options constants](http://php.net/manual/json.constants.php)                                      |
-| `fromJSON(string $json)`                   | `SettingsContainerInterface` |                                                                                                                 |
-| `jsonSerialize()`                          | `mixed`                      | implements the [`JsonSerializable`](https://www.php.net/manual/en/jsonserializable.jsonserialize.php) interface |
-
-
-## Properties
-
-| property                       | type           | default                         | allowed                                 | description                                                                                                                                                                             |
-|--------------------------------|----------------|---------------------------------|-----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `$version`                     | `int`          | `Version::AUTO`                 | `1...40`, `Version::AUTO`               | [QR Code version number](http://www.qrcode.com/en/about/version.html)                                                                                                                   |
-| `$versionMin`                  | `int`          | `1`                             | `1...40`                                | Minimum QR version (if `$version = QRCode::VERSION_AUTO`)                                                                                                                               |
-| `$versionMax`                  | `int`          | `40`                            | `1...40`                                | Maximum QR version (if `$version = QRCode::VERSION_AUTO`)                                                                                                                               |
-| `$eccLevel`                    | `int`          | `EccLevel::L`                   | `EccLevel::X`                           | Error correct level, where X = L (7%), M (15%), Q (25%), H (30%)                                                                                                                        |
-| `$maskPattern`                 | `int`          | `MaskPattern::AUTO`             | `0...7`, `MaskPattern::AUTO`            | Mask Pattern to use                                                                                                                                                                     |
-| `$addQuietzone`                | `bool`         | `true`                          | *                                       | Add a "quiet zone" (margin) according to the QR code spec                                                                                                                               |
-| `$quietzoneSize`               | `int`          | `4`                             | clamped to `0...($matrixSize / 2)`      | Size of the quiet zone                                                                                                                                                                  |
-| `$outputType`                  | `string`       | `QROutputInterface::MARKUP_SVG` | `QROutputInterface::XXX`                | The built-in output type, XXX can be one of: `MARKUP_HTML`, `MARKUP_SVG`, `GDIMAGE_PNG`, `GDIMAGE_JPG`, `GDIMAGE_GIF`, `STRING_TEXT`, `STRING_JSON`, `IMAGICK`, `EPS`, `FPDF`, `CUSTOM` |
-| `$outputInterface`             | `string\|null` | `null`                          | *                                       | The FQCN of the custom `QROutputInterface` if `QROptions::$outputType` is set to `QROutputInterface::CUSTOM`                                                                            |
-| `$returnResource`              | `bool`         | `false`                         | *                                       | Return the image resource instead of a render if applicable.                                                                                                                            |
-| `$cachefile`                   | `string\|null` | `null`                          | *                                       | Optional cache file path                                                                                                                                                                |
-| `$outputBase64`                | `bool`         | `true`                          | *                                       | Toggle base64 data URI or raw data output (if applicable)                                                                                                                               |
-| `$eol`                         | `string`       | `PHP_EOL`                       | *                                       | Newline string (HTML, SVG, TEXT)                                                                                                                                                        |
-| `$bgColor`                     | `mixed`        | `null`                          | a valid FPDF, GD or Imagick color value | Sets the image background color (if applicable). QRImagick: defaults to "white", QRGdImage: defaults to [255, 255, 255], QRFpdf: defaults to blank internally (white page)              |
-| `$drawLightModules`            | `bool`         | `true`                          | *                                       | Whether to draw the light (false) modules                                                                                                                                               |
-| `$drawCircularModules`         | `bool`         | `false`                         | *                                       | Specify whether to draw the modules as filled circles                                                                                                                                   |
-| `$circleRadius`                | `float`        | `0.45`                          | `0.1...0.75`                            | Specifies the radius of the modules when $svgDrawCircularModules is set to true                                                                                                         |
-| `$keepAsSquare`                | `array`        | `[]`                            | `int[]`                                 | Specifies which module types to exclude when $svgDrawCircularModules is set to true                                                                                                     |
-| `$connectPaths`                | `bool`         | `false`                         | *                                       | Whether to connect the paths for the several module types to avoid weird glitches when using gradients etc.                                                                             |
-| `$excludeFromConnect`          | `array`        | `[]`                            | `int[]`                                 | Specify which paths/patterns to exclude from connecting if $svgConnectPaths is set to true                                                                                              |
-| `$moduleValues`                | `array\|null`  | `null`                          | *                                       | Module values map, see [[Custom module values]]                                                                                                                                         |
-| `$addLogoSpace`                | `bool`         | `false`                         | *                                       | Toggles logo space creation                                                                                                                                                             |
-| `$logoSpaceWidth`              | `int\|null`    | `null`                          | *                                       | Width of the logo space                                                                                                                                                                 |
-| `$logoSpaceHeight`             | `int\|null`    | `null`                          | *                                       | Height of the logo space                                                                                                                                                                |
-| `$logoSpaceStartX`             | `int\|null`    | `null`                          | *                                       | Optional horizontal start position of the logo space (top left corner)                                                                                                                  |
-| `$logoSpaceStartY`             | `int\|null`    | `null`                          | *                                       | Optional vertical start position of the logo space (top left corner)                                                                                                                    |
-| `$scale`                       | `int`          | `5`                             | *                                       | Pixel size of a QR code module                                                                                                                                                          |
-| `$imageTransparent`            | `bool`         | `true`                          | *                                       | Toggle transparency (no jpeg support), QRGdImage and QRImagick only. The given `QROptions::$transparencyColor` is set as transparent                                                    |
-| `$transparencyColor`           | `mixed`        | `null`                          | a valid GD or Imagick color value       | Sets a transparency color for when `QROptions::$imageTransparent` is set to true. Defaults to `QROptions::$bgColor`.                                                                    |
-| `$quality`                     | `int`          | `-1`                            | *                                       | compression quality setting for `imagejpeg()`, `imagepng()`, `imagewebp()`, `Imagick::setImageCompressionQuality()`                                                                     |
-| `$imagickFormat`               | `string`       | `'png'`                         | *                                       | ImageMagick output type, see `Imagick::setType()`                                                                                                                                       |
-| `$cssClass`                    | `string`       | `'qrcode'`                      | *                                       | A common css class                                                                                                                                                                      |
-| `$markupDark`                  | `string`       | `'#000'`                        | *                                       | Markup substitute for dark (CSS value)                                                                                                                                                  |
-| `$markupLight`                 | `string`       | `'#fff'`                        | *                                       | Markup substitute for light (CSS value)                                                                                                                                                 |
-| `$svgAddXmlHeader`             | `bool`         | `true`                          | *                                       | Whether to add an XML header line or not, e.g. to embed the SVG directly in HTML                                                                                                        |
-| `$svgOpacity`                  | `float`        | `1.0`                           | `0...1`                                 | SVG opacity                                                                                                                                                                             |
-| `$svgDefs`                     | `string`       | `''`                            | *                                       | Anything in the [`<defs>`](https://developer.mozilla.org/docs/Web/SVG/Element/defs) tag                                                                                                 |
-| `$svgViewBoxSize`              | `int\|null`    | `null`                          | *                                       | SVG viewBox size. A single integer number which defines width/height of the [viewBox attribute](https://css-tricks.com/scale-svg/#article-header-id-3) `viewBox="0 0 x x"`.             |
-| `$svgPreserveAspectRatio`      | `string`       | `'xMidYMid'`                    | *                                       | See [preserveAspectRatio on MDN](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio)                                                                        |
-| `$svgWidth`                    | `string\|null` | `null`                          | *                                       | Optional "width" attribute with the specified value (note that the value is not checked!)                                                                                               |
-| `$svgHeight`                   | `string\|null` | `null`                          | *                                       | Optional "height" attribute with the specified value (note that the value is not checked!)                                                                                              |
-| `$textDark`                    | `string`       | `'██'`                          | *                                       | String substitute for dark                                                                                                                                                              |
-| `$textLight`                   | `string`       | `'░░'`                          | *                                       | String substitute for light                                                                                                                                                             |
-| `$textLineStart`               | `string`       | `''`                            | *                                       | An optional line prefix, e.g. empty space to align the QR Code in a console                                                                                                             |
-| `$jsonAsBooleans`              | `bool`         | `false`                         | *                                       | Whether to return matrix values in JSON as booleans or $M_TYPE integers                                                                                                                 |
-| `$fpdfMeasureUnit`             | `string`       | `'pt'`                          | *                                       | Measurement unit for FPDF output: pt, mm, cm, in                                                                                                                                        |
-| `$readerUseImagickIfAvailable` | `bool`         | `false`                         | *                                       | Use Imagick (if available) when reading QR Codes                                                                                                                                        |
-| `$readerGrayscale`             | `bool`         | `false`                         | *                                       | Grayscale the image before reading                                                                                                                                                      |
-| `$readerIncreaseContrast`      | `bool`         | `false`                         | *                                       | Increase the contrast before reading                                                                                                                                                    |

+ 0 - 31
docs/API-QROutputInterface.md

@@ -1,31 +0,0 @@
-# QROutputInterface
-
-The full phpDocumentor API documentation can be found at [chillerlan.github.io/php-qrcode](https://chillerlan.github.io/php-qrcode/classes/chillerlan-QRCode-Output-QROutputInterface.html).
-
-
-##  Methods
-<!-- using non-breaking spaces chr(255) in the longest method signature to force the silly table to stretch -->
-| method                                | return  | description                                                          |
-|---------------------------------------|---------|----------------------------------------------------------------------|
-| (static) `moduleValueIsValid($value)` | `bool`  | Checks whether the given value is valid for the current output class |
-| `dump(string $file = null)`           | `mixed` | Generates the output, optionally dumps it to a file, and returns it  |
-
-
-##  Constants
-
-| name                    | description                                        |
-|-------------------------|----------------------------------------------------|
-| `MARKUP_HTML`           |                                                    |
-| `MARKUP_SVG`            |                                                    |
-| `GDIMAGE_PNG`           |                                                    |
-| `GDIMAGE_JPG`           |                                                    |
-| `GDIMAGE_GIF`           |                                                    |
-| `STRING_JSON`           |                                                    |
-| `STRING_TEXT`           |                                                    |
-| `IMAGICK`               |                                                    |
-| `FPDF`                  |                                                    |
-| `EPS`                   |                                                    |
-| `CUSTOM`                |                                                    |
-| `MODES`                 | Map of built-in output modes => class FQN          |
-| `DEFAULT_MODULE_VALUES` | Map of module type => default value                |
-| `LAYERNAMES`            | Map of module type => readable name (for CSS etc.) |

+ 12 - 12
docs/Appendix-Terminology.md

@@ -175,18 +175,18 @@ The *mode* is the method of representing a defined character set as a bit string
 
 
 Each segment consists of the 4 bit mode indicator followed by the data bit stream, where the content of the bit stream can vary depending on the mode:
 Each segment consists of the 4 bit mode indicator followed by the data bit stream, where the content of the bit stream can vary depending on the mode:
 
 
-| Mode                    | Bit stream contents                                                                                          |
-|-------------------------|--------------------------------------------------------------------------------------------------------------|
-| Numeric                 | \[ `0001` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 3 1⁄3 × charcount ]           |
-| Alphanumeric            | \[ `0010` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 5 1⁄2 × charcount ]           |
-| Byte                    | \[ `0100` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 8 × charcount ]               |
-| Kanji                   | \[ `1000` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 13 × charcount ]              |
-| Hanzi                   | \[ `1101` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 13 × charcount ]              |
-| Structured append       | \[ `0011` : 4 ] \[ Symbol Position : 4 ] \[ Total Symbols : 4 ] \[ Parity : 8 ]                              |
-| ECI                     | \[ `0111` : 4 ] \[ ECI Assignment number : variable ]                                                        |
-| FNC1 in first position  | \[ `0101` : 4 ] \[ Numeric/Alphanumeric/Byte/Kanji/Hanzi payload : variable ]                                |
-| FNC1 in second position | \[ `1001` : 4 ] \[ Application Indicator : 8 ] \[ Numeric/Alphanumeric/Byte/Kanji/Hanzi payload : variable ] |
-| Terminator              | \[ `0000` : 4 ]                                                                                              |
+| Mode                    | Bit stream contents                                                                                                       |
+|-------------------------|---------------------------------------------------------------------------------------------------------------------------|
+| Numeric                 | \[ `0001` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 3 1⁄3 × charcount ]                        |
+| Alphanumeric            | \[ `0010` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 5 1⁄2 × charcount ]                        |
+| Byte                    | \[ `0100` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 8 × charcount ]                            |
+| Kanji                   | \[ `1000` : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 13 × charcount ]                           |
+| Hanzi                   | \[ `1101` : 4 ] \[ Subset Indicator : 4 ] \[ Character Count Indicator : variable ] \[ Data Bit Stream : 13 × charcount ] |
+| Structured append       | \[ `0011` : 4 ] \[ Symbol Position : 4 ] \[ Total Symbols : 4 ] \[ Parity : 8 ]                                           |
+| ECI                     | \[ `0111` : 4 ] \[ ECI Assignment number : variable ]                                                                     |
+| FNC1 in first position  | \[ `0101` : 4 ] \[ Numeric/Alphanumeric/Byte/Kanji/Hanzi payload : variable ]                                             |
+| FNC1 in second position | \[ `1001` : 4 ] \[ Application Indicator : 8 ] \[ Numeric/Alphanumeric/Byte/Kanji/Hanzi payload : variable ]              |
+| Terminator              | \[ `0000` : 4 ]                                                                                                           |
 
 
 The lenght of the Character Count Indicator for Numeric/Alphanumeric/Byte/Kanji/Hanzi varies, depending on the version:
 The lenght of the Character Count Indicator for Numeric/Alphanumeric/Byte/Kanji/Hanzi varies, depending on the version:
 
 

+ 6 - 4
docs/Built-In-Output-QRImagick.md

@@ -96,6 +96,8 @@ echo $imagick->getImageBlob();
 | `$imageTransparent`    | `bool`   |
 | `$imageTransparent`    | `bool`   |
 | `$imagickFormat`       | `string` |
 | `$imagickFormat`       | `string` |
 | `$keepAsSquare`        | `array`  |
 | `$keepAsSquare`        | `array`  |
+| `$markupDark`          | `string` |
+| `$markupLight`         | `string` |
 | `$outputBase64`        | `bool`   |
 | `$outputBase64`        | `bool`   |
 | `$quality`             | `int`    |
 | `$quality`             | `int`    |
 | `$returnResource`      | `bool`   |
 | `$returnResource`      | `bool`   |
@@ -105,7 +107,7 @@ echo $imagick->getImageBlob();
 
 
 ### Options that have no effect
 ### Options that have no effect
 
 
-| property              | reason            |
-|-----------------------|-------------------|
-| `$connectPaths`       | N/A               |
-| `$excludeFromConnect` | N/A               |
+| property              | reason |
+|-----------------------|--------|
+| `$connectPaths`       | N/A    |
+| `$excludeFromConnect` | N/A    |