diff --git a/.buildinfo b/.buildinfo index 140326af4..2e5efc09a 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 0de0441c8af752c75e3e996c76152ce3 +config: f9f40f23ccac1393824d3db875733056 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/Appendix/Contribute.html b/Appendix/Contribute.html index d91c11075..729c30e2d 100644 --- a/Appendix/Contribute.html +++ b/Appendix/Contribute.html @@ -17,7 +17,7 @@ - + diff --git a/Appendix/License.html b/Appendix/License.html index 064e70a1b..51f375c72 100644 --- a/Appendix/License.html +++ b/Appendix/License.html @@ -17,7 +17,7 @@ - + diff --git a/Appendix/Performance-considerations.html b/Appendix/Performance-considerations.html index 256aaf93f..718de2c77 100644 --- a/Appendix/Performance-considerations.html +++ b/Appendix/Performance-considerations.html @@ -17,7 +17,7 @@ - + diff --git a/Appendix/Terminology.html b/Appendix/Terminology.html index 490fd8b38..3fc55e2b6 100644 --- a/Appendix/Terminology.html +++ b/Appendix/Terminology.html @@ -17,7 +17,7 @@ - + diff --git a/Appendix/URI-Content.html b/Appendix/URI-Content.html index 117dd815c..08c964762 100644 --- a/Appendix/URI-Content.html +++ b/Appendix/URI-Content.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QREps.html b/Built-In-Output/QREps.html index abc6d507b..b47305e42 100644 --- a/Built-In-Output/QREps.html +++ b/Built-In-Output/QREps.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QRFpdf.html b/Built-In-Output/QRFpdf.html index 6729a725d..bc5d37c52 100644 --- a/Built-In-Output/QRFpdf.html +++ b/Built-In-Output/QRFpdf.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QRGdImage.html b/Built-In-Output/QRGdImage.html index cf565cd10..9a43f38c9 100644 --- a/Built-In-Output/QRGdImage.html +++ b/Built-In-Output/QRGdImage.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QRImagick.html b/Built-In-Output/QRImagick.html index ef47f893b..5ee55070b 100644 --- a/Built-In-Output/QRImagick.html +++ b/Built-In-Output/QRImagick.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QRMarkupHTML.html b/Built-In-Output/QRMarkupHTML.html index 94b36fa57..a92bef56e 100644 --- a/Built-In-Output/QRMarkupHTML.html +++ b/Built-In-Output/QRMarkupHTML.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QRMarkupSVG.html b/Built-In-Output/QRMarkupSVG.html index 26912e7ac..bd5ac9239 100644 --- a/Built-In-Output/QRMarkupSVG.html +++ b/Built-In-Output/QRMarkupSVG.html @@ -17,7 +17,7 @@ - + diff --git a/Built-In-Output/QRString.html b/Built-In-Output/QRString.html index 773e40a9d..1ed5353de 100644 --- a/Built-In-Output/QRString.html +++ b/Built-In-Output/QRString.html @@ -17,7 +17,7 @@ - + diff --git a/Customizing/Custom-output-interface.html b/Customizing/Custom-output-interface.html index 76a9003d0..209510139 100644 --- a/Customizing/Custom-output-interface.html +++ b/Customizing/Custom-output-interface.html @@ -17,7 +17,7 @@ - + diff --git a/Customizing/Module-Values.html b/Customizing/Module-Values.html index 7da2d1f42..9c1def6b6 100644 --- a/Customizing/Module-Values.html +++ b/Customizing/Module-Values.html @@ -17,7 +17,7 @@ - + diff --git a/Customizing/QROutputAbstract.html b/Customizing/QROutputAbstract.html index 98b11cd43..ab8318cc2 100644 --- a/Customizing/QROutputAbstract.html +++ b/Customizing/QROutputAbstract.html @@ -17,7 +17,7 @@ - + diff --git a/Usage/Advanced-usage.html b/Usage/Advanced-usage.html index 83c60e81a..3ad60a720 100644 --- a/Usage/Advanced-usage.html +++ b/Usage/Advanced-usage.html @@ -17,7 +17,7 @@ - + diff --git a/Usage/Configuration-settings.html b/Usage/Configuration-settings.html index 9272884da..595a04f16 100644 --- a/Usage/Configuration-settings.html +++ b/Usage/Configuration-settings.html @@ -17,7 +17,7 @@ - + @@ -362,7 +362,7 @@

Configuration settings

- +

version

QR Code version number

diff --git a/Usage/Installation.html b/Usage/Installation.html index f94a0337b..99a69a6a6 100644 --- a/Usage/Installation.html +++ b/Usage/Installation.html @@ -17,7 +17,7 @@ - + diff --git a/Usage/Overview.html b/Usage/Overview.html index 145b08610..f402e6214 100644 --- a/Usage/Overview.html +++ b/Usage/Overview.html @@ -17,7 +17,7 @@ - + @@ -460,6 +460,11 @@ It also features a QR Code reader based on a

Elefant CMS

  • OSIRIS

  • EspoCRM

  • +
  • FusionCMS

  • +
  • HortusFox

  • +
  • Pelican Panel

  • +
  • Laravel Boleto

  • +
  • OpenBoleto

  • Articles:

    @@ -476,7 +481,7 @@ It also features a QR Code reader based on a

    js-qrcode - a javascript port of this library

  • php-authenticator - a Google Authenticator implementation (see authenticator example)

  • php-httpinterface - a PSR-7/15/17/18 implemetation

  • -
  • php-oauth-core - an OAuth 1/2 client library along with a bunch of providers

  • +
  • php-oauth - an OAuth 1/2 client library, fully PSR-7/PSR-17/PSR-18 compatible

  • php-database - a database client & querybuilder for MySQL, Postgres, SQLite, MSSQL, Firebird

  • php-tootbot - a Mastodon bot library

  • diff --git a/Usage/Quickstart.html b/Usage/Quickstart.html index 2fdb68b2f..14264c808 100644 --- a/Usage/Quickstart.html +++ b/Usage/Quickstart.html @@ -17,7 +17,7 @@ - + diff --git a/_sources/Usage/Configuration-settings.md.txt b/_sources/Usage/Configuration-settings.md.txt index ad9799644..0dd2d4908 100644 --- a/_sources/Usage/Configuration-settings.md.txt +++ b/_sources/Usage/Configuration-settings.md.txt @@ -1,5 +1,5 @@ # Configuration settings - + ## version QR Code version number diff --git a/_sources/Usage/Overview.md.txt b/_sources/Usage/Overview.md.txt index cb9878d4c..69bac9d66 100644 --- a/_sources/Usage/Overview.md.txt +++ b/_sources/Usage/Overview.md.txt @@ -64,6 +64,11 @@ For the QR Code reader, either `ext-gd` or `ext-imagick` is required! - [Elefant CMS](https://github.com/jbroadway/elefant) - [OSIRIS](https://github.com/JKoblitz/osiris) - [EspoCRM](https://github.com/espocrm/espocrm) + - [FusionCMS](https://github.com/FusionWowCMS/FusionCMS) + - [HortusFox](https://github.com/danielbrendel/hortusfox-web) + - [Pelican Panel](https://github.com/pelican-dev/panel) + - [Laravel Boleto](https://github.com/eduardokum/laravel-boleto) + - [OpenBoleto](https://github.com/openboleto/openboleto) - Articles: - [Twilio: How to Create a QR Code in PHP](https://www.twilio.com/blog/create-qr-code-in-php) (featuring v4.3.x) @@ -75,6 +80,6 @@ Hi, please check out some of my other projects that are way cooler than qrcodes! - [js-qrcode](https://github.com/chillerlan/js-qrcode) - a javascript port of this library - [php-authenticator](https://github.com/chillerlan/php-authenticator) - a Google Authenticator implementation (see [authenticator example](https://github.com/chillerlan/php-qrcode/blob/main/examples/authenticator.php)) - [php-httpinterface](https://github.com/chillerlan/php-httpinterface) - a PSR-7/15/17/18 implemetation -- [php-oauth-core](https://github.com/chillerlan/php-oauth-core) - an OAuth 1/2 client library along with a bunch of [providers](https://github.com/chillerlan/php-oauth-providers) +- [php-oauth](https://github.com/chillerlan/php-oauth) - an OAuth 1/2 client library, fully PSR-7/PSR-17/PSR-18 compatible - [php-database](https://github.com/chillerlan/php-database) - a database client & querybuilder for MySQL, Postgres, SQLite, MSSQL, Firebird - [php-tootbot](https://github.com/php-tootbot/tootbot-template) - a Mastodon bot library diff --git a/_static/basic.css b/_static/basic.css index 30fee9d0f..f316efcb4 100644 --- a/_static/basic.css +++ b/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/_static/doctools.js b/_static/doctools.js index d06a71d75..4d67807d1 100644 --- a/_static/doctools.js +++ b/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/_static/language_data.js b/_static/language_data.js index 250f5665f..367b8ed81 100644 --- a/_static/language_data.js +++ b/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -13,7 +13,7 @@ var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; -/* Non-minified version is copied as a separate JS file, is available */ +/* Non-minified version is copied as a separate JS file, if available */ /** * Porter Stemmer diff --git a/_static/searchtools.js b/_static/searchtools.js index 7918c3fab..92da3f8b2 100644 --- a/_static/searchtools.js +++ b/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) + Search.makeSearchSummary(data, searchTerms, anchor) ); // highlight search terms in the summary if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js @@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => { ); else Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); }; const _displayNextItem = ( results, @@ -137,6 +137,22 @@ const _displayNextItem = ( // search finished, update title and status message else _finishSearch(resultCount); }; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; /** * Default splitQuery function. Can be overridden in ``sphinx.search`` with a @@ -160,13 +176,26 @@ const Search = { _queued_query: null, _pulse_status: -1, - htmlToText: (htmlString) => { + htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + for (const removalQuery of [".headerlinks", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; + if (docContent) return docContent.textContent; + console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." ); return ""; }, @@ -239,16 +268,7 @@ const Search = { else Search.deferQuery(query); }, - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - + _parseQuery: (query) => { // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -284,16 +304,32 @@ const Search = { // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); - // array of [docname, title, anchor, descr, score, filename] - let results = []; + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase(); + const queryLower = query.toLowerCase().trim(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { let score = Math.round(100 * queryLower.length / title.length) - results.push([ + normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", @@ -308,46 +344,47 @@ const Search = { // search for explicit entries in index directives for (const [entry, foundEntries] of Object.entries(indexEntries)) { if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ docNames[file], titles[file], id ? "#" + id : "", null, score, filenames[file], - ]); + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } } } } // lookup as object objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) + normalResults.push(...Search.performObjectSearch(term, objectTerms)) ); // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; // remove duplicate search results // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept @@ -361,7 +398,12 @@ const Search = { return acc; }, []); - results = results.reverse(); + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); // for debugging //Search.lastresults = results.slice(); // a copy @@ -466,14 +508,18 @@ const Search = { // add support for partial matches if (word.length > 2) { const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } } // no match but word was a required one @@ -496,9 +542,8 @@ const Search = { // create the mapping files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); }); }); @@ -549,8 +594,8 @@ const Search = { * search summary for a given text. keywords is a list * of stemmed words. */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); if (text === "") return null; const textLower = text.toLowerCase(); diff --git a/genindex.html b/genindex.html index 4c6228ce0..e4ff9374b 100644 --- a/genindex.html +++ b/genindex.html @@ -16,7 +16,7 @@ - + diff --git a/index.html b/index.html index e65a3f6e3..b1d54d20f 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,7 @@ - + @@ -361,7 +361,7 @@

    PHP-QRCode Manual

    -

    User manual for chillerlan/php-qrcode [main]. Updated on Apr 11, 2024.

    +

    User manual for chillerlan/php-qrcode [main]. Updated on Apr 19, 2024.

    The phpDocumentor API documentation can be found at chillerlan.github.io/php-qrcode.

    This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.

    diff --git a/search.html b/search.html index 69b716c7e..0042eeb21 100644 --- a/search.html +++ b/search.html @@ -17,7 +17,7 @@ - + diff --git a/searchindex.js b/searchindex.js index 35d96dda1..bd39eb3d0 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["Appendix/Contribute", "Appendix/License", "Appendix/Performance-considerations", "Appendix/Terminology", "Appendix/URI-Content", "Built-In-Output/QREps", "Built-In-Output/QRFpdf", "Built-In-Output/QRGdImage", "Built-In-Output/QRImagick", "Built-In-Output/QRMarkupHTML", "Built-In-Output/QRMarkupSVG", "Built-In-Output/QRString", "Customizing/Custom-output-interface", "Customizing/Module-Values", "Customizing/QROutputAbstract", "Usage/Advanced-usage", "Usage/Configuration-settings", "Usage/Installation", "Usage/Overview", "Usage/Quickstart", "index"], "filenames": ["Appendix/Contribute.md", "Appendix/License.rst", "Appendix/Performance-considerations.md", "Appendix/Terminology.md", "Appendix/URI-Content.md", "Built-In-Output/QREps.md", "Built-In-Output/QRFpdf.md", "Built-In-Output/QRGdImage.md", "Built-In-Output/QRImagick.md", "Built-In-Output/QRMarkupHTML.md", "Built-In-Output/QRMarkupSVG.md", "Built-In-Output/QRString.md", "Customizing/Custom-output-interface.md", "Customizing/Module-Values.md", "Customizing/QROutputAbstract.md", "Usage/Advanced-usage.md", "Usage/Configuration-settings.md", "Usage/Installation.md", "Usage/Overview.md", "Usage/Quickstart.md", "index.rst"], "titles": ["How to contribute", "License", "Performance considerations", "Terminology", "Popular content and URI schemes", "QREps", "QRFpdf", "QRGdImage", "QRImagick", "QRMarkupHTML", "QRMarkupSVG", "QRString", "Custom QROutputInterface", "Module values", "QROutputAbstract", "Advanced usage", "Configuration settings", "Installation", "Overview", "Quickstart", "PHP-QRCode Manual"], "terms": {"If": [0, 1, 3, 16, 17], "you": [0, 1, 2, 4, 9, 13, 14, 15, 16, 17, 19], "have": [0, 1, 3, 12, 14, 19, 20], "about": [0, 17], "gener": [0, 2, 4, 9, 13, 14, 15, 17, 18, 19], "while": 0, "us": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20], "thi": [0, 1, 2, 3, 4, 12, 13, 14, 15, 16, 18, 19, 20], "librari": [0, 2, 4, 18, 20], "head": [0, 9], "over": [0, 2, 12, 13, 14, 16], "discuss": [0, 10, 16], "section": [0, 1, 4, 12], "creat": [0, 1, 4, 7, 8, 11, 12, 13, 15, 18, 20], "new": [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 19], "post": 0, "describ": [0, 1, 4], "your": [0, 1, 8, 15, 17, 20], "precis": 0, "possibl": [0, 1, 2, 3, 4], "ideal": [0, 15], "add": [0, 2, 4, 10, 11, 14, 16, 17, 20], "code": [0, 2, 4, 9, 12, 13, 14, 16, 17, 18, 20], "exampl": [0, 1, 2, 3, 4, 12, 13, 14, 18, 19, 20], "applic": [0, 1, 2, 3, 4, 5, 6, 11, 12, 14, 15, 16, 17], "pleas": [0, 4, 8, 16, 17, 18], "don": [0, 12, 13, 19], "t": [0, 3, 4, 10, 12, 13, 19], "just": [0, 2, 4, 12, 13, 15, 16], "write": [0, 4], "headlin": 0, "sai": 0, "all": [0, 1, 3, 4, 9, 10, 13, 14, 15, 16, 17], "becaus": [0, 1, 2, 12], "repli": 0, "like": [0, 4, 14, 17, 19], "similarli": [0, 3], "concis": 0, "help": [0, 14], "me": 0, "other": [0, 1, 2, 3, 4, 6, 7, 8, 13, 14, 16, 18], "clarifi": 0, "doe": [0, 1, 2, 3, 15], "mean": [0, 1, 3, 12], "php": [0, 2, 4, 7, 8, 9, 10, 12, 15, 16, 18, 19], "support": [0, 2, 4, 8, 12, 18, 20], "which": [0, 1, 2, 3, 4, 9, 12, 13, 14, 15, 16], "case": [0, 1, 2, 4, 12, 13, 14, 15, 16, 17], "re": [0, 2, 12], "better": 0, "off": 0, "stackoverflow": 0, "r": [0, 4, 5, 6, 16], "phphelp": 0, "so": [0, 1, 2, 3, 4, 12, 13, 14, 16, 17], "found": [0, 3, 15, 20], "i": [0, 1, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20], "somehow": 0, "misbehav": 0, "That": 0, "": [0, 1, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19], "great": [0, 2], "well": [0, 1, 4], "tho": 0, "In": [0, 1, 12, 13, 15, 17], "open": [0, 4, 17], "fill": [0, 10, 13, 16], "out": [0, 1, 6, 7, 8, 9, 10, 12, 18], "THE": [0, 1], "templat": 0, "cap": 0, "nobodi": 0, "actual": [0, 14], "usual": 0, "lead": 0, "sever": [0, 1, 2, 12, 13, 14, 15, 16, 17], "avoid": [0, 1, 10, 14, 16, 17, 19], "follow": [0, 1, 3, 4, 8, 12, 13, 14, 17, 18], "up": [0, 2, 3, 17, 18], "cost": [0, 1, 2], "both": [0, 14], "u": [0, 4, 10, 16], "preciou": 0, "time": [0, 1, 2, 4, 20], "below": [0, 1, 2, 12, 14], "an": [0, 1, 2, 3, 4, 6, 9, 12, 13, 14, 16, 17, 18, 20], "hard": 0, "A": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 18], "clear": [0, 15], "descript": [0, 3, 4, 5, 6, 7, 8, 9, 10, 11], "what": [0, 2, 4], "step": [0, 3, 18], "reproduc": [0, 1], "behavior": 0, "when": [0, 3, 4, 9, 15, 16], "do": [0, 1, 2, 6, 7, 8, 12, 14, 17], "The": [0, 1, 2, 3, 4, 12, 13, 14, 15, 16, 17, 19, 20], "error": [0, 1, 2, 15, 16, 19, 20], "messag": [0, 3, 4], "sampl": 0, "here": [0, 1, 4, 12], "expect": [0, 1, 16, 17], "happen": [0, 14], "screenshot": 0, "explain": [0, 4], "problem": 0, "environ": 0, "complet": [0, 4], "inform": [0, 1, 20], "version": [0, 4, 10, 15, 18, 19, 20], "o": [0, 4], "e": [0, 1, 2, 8, 13, 14, 15, 16, 17, 19, 20], "g": [0, 1, 2, 4, 5, 6, 8, 13, 14, 15, 16, 17], "7": [0, 1, 2, 3, 4, 10, 15, 16, 17, 18, 19], "4": [0, 1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 16, 17, 18, 20], "12": [0, 2, 3, 13], "ubuntu": 0, "20": [0, 1, 2, 7, 8, 16], "04": 0, "3": [0, 1, 2, 3, 12, 13, 14, 17, 18], "addit": [0, 1, 3, 4, 15, 20], "context": [0, 1], "ani": [0, 1, 2, 12, 15, 19], "want": [0, 2, 12, 15, 17, 19], "someth": [0, 14], "featur": [0, 20], "hei": [0, 19], "cool": 0, "howev": [0, 1, 2, 4, 13, 14, 15, 17], "few": 0, "thing": 0, "keep": [0, 10, 17], "mind": 0, "pr": 0, "why": 0, "should": [0, 1, 2, 4, 9, 12, 15, 16], "merg": 0, "unsur": 0, "befor": [0, 1, 9, 12, 14, 16, 17], "gather": 0, "feedback": 0, "make": [0, 1, 4, 14, 15], "sure": [0, 4, 14, 15], "branch": [0, 17], "date": [0, 1], "even": [0, 1, 2, 13], "upstream": 0, "submit": 0, "try": [0, 13, 19], "adher": 0, "loos": 0, "outlin": 0, "standard": [0, 1, 3], "phpstorm": 0, "suppli": [0, 1, 4, 13, 20], "id": [0, 3, 10, 12], "profil": 0, "work": [0, 1, 4, 13, 16, 20], "progress": 0, "suggest": [0, 1], "veri": [0, 2], "welcom": 0, "correct": [0, 2, 16, 20], "feel": 0, "fre": 0, "api": [0, 17, 20], "auto": [0, 2, 16], "phpdocumentor": [0, 20], "from": [0, 1, 3, 4, 13, 14, 16, 17, 20], "docblock": 0, "sourc": 0, "markdown": 0, "read": [0, 1, 3, 16, 17, 20], "doc": [0, 10, 16], "onlin": [0, 4], "manual": [0, 2, 7, 13, 15, 16], "ar": [0, 1, 3, 4, 12, 13, 14, 17, 18], "locat": [0, 3, 4], "directori": [0, 17], "copyright": 1, "c": [1, 5, 16], "2023": 1, "smilei": 1, "under": [1, 12, 14, 15, 20], "creativ": [1, 20], "common": [1, 4, 16, 20], "attribut": [1, 10, 16, 20], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 20], "intern": [1, 2, 3, 13, 15, 16, 20], "cc": [1, 4, 20], "BY": [1, 20], "summari": [1, 4, 20], "given": [1, 2, 3, 8, 9, 10, 12, 13, 14, 16], "full": [1, 4, 12], "legal": 1, "text": [1, 4, 9, 13, 14, 18, 20], "free": [1, 3], "share": [1, 4, 18], "copi": [1, 4, 20], "redistribut": 1, "materi": 1, "medium": [1, 3], "format": [1, 4, 5, 6, 8, 12, 14, 16, 18, 20], "adapt": 1, "remix": 1, "transform": [1, 14, 20], "build": [1, 12], "upon": 1, "purpos": [1, 14, 16], "commerci": 1, "licensor": 1, "cannot": 1, "revok": 1, "freedom": 1, "long": [1, 14], "term": 1, "must": 1, "give": [1, 3, 14], "appropri": [1, 3], "credit": [1, 20], "provid": [1, 2, 3, 4, 12, 13, 14, 18], "link": [1, 4, 17], "indic": [1, 3, 4], "chang": [1, 3, 14], "were": [1, 14], "made": 1, "mai": [1, 2, 3, 4, 13, 14, 15, 16, 19], "reason": [1, 5, 6, 7, 8, 9, 10, 11], "manner": 1, "wai": [1, 12, 14, 18], "endors": 1, "No": [1, 16], "restrict": 1, "appli": [1, 3, 14, 16], "technolog": 1, "measur": [1, 16], "anyth": [1, 16], "permit": 1, "corpor": 1, "law": 1, "firm": 1, "servic": [1, 4], "advic": 1, "distribut": 1, "public": [1, 12, 14], "lawyer": 1, "client": [1, 18], "relationship": 1, "its": [1, 3, 12], "relat": [1, 13], "avail": [1, 9, 15, 16, 19], "basi": [1, 14], "warranti": 1, "regard": 1, "condit": 1, "disclaim": 1, "liabil": 1, "damag": 1, "result": [1, 15, 19], "fullest": 1, "extent": 1, "set": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 19, 20], "creator": 1, "right": [1, 2, 3], "holder": 1, "origin": 1, "authorship": 1, "subject": [1, 4], "certain": [1, 2], "specifi": [1, 4, 5, 13, 15, 16, 17], "consider": [1, 20], "onli": [1, 4, 12, 13, 14, 16], "exhaust": 1, "form": [1, 3, 4], "part": [1, 3, 19], "our": [1, 12, 13], "intend": [1, 3, 10], "those": [1, 2, 3], "author": 1, "permiss": 1, "otherwis": 1, "irrevoc": 1, "understand": 1, "thei": [1, 3, 4], "choos": [1, 2, 19], "also": [1, 3, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20], "secur": 1, "necessari": [1, 2, 12, 13, 14, 15, 19], "can": [1, 2, 3, 4, 5, 7, 10, 12, 13, 14, 15, 16, 18, 19, 20], "reus": [1, 15], "clearli": 1, "mark": [1, 3], "includ": [1, 4, 17, 19], "except": [1, 12, 14, 15, 19], "limit": 1, "more": [1, 2, 3, 4, 10, 13, 14, 15, 19], "wiki": [1, 4], "creativecommon": 1, "org": [1, 4, 8, 10, 16, 17], "considerations_for_licensor": 1, "By": [1, 2, 15], "one": [1, 2, 3, 4, 7, 10], "grant": 1, "regul": 1, "ha": [1, 4, 12, 14], "still": [1, 2, 14], "special": [1, 4, 13, 14], "request": [1, 20], "ask": 1, "although": [1, 2], "requir": [1, 4, 12, 14, 20], "encourag": 1, "respect": [1, 3, 13, 16, 17], "where": [1, 3, 13, 14, 15, 16], "considerations_for_license": 1, "exercis": 1, "defin": [1, 3, 13, 18], "accept": [1, 12, 13], "agre": 1, "bound": 1, "To": [1, 2, 12, 13, 17], "interpret": [1, 4, 20], "contract": 1, "benefit": 1, "receiv": [1, 13], "1": [1, 2, 3, 4, 9, 10, 12, 16, 17, 18], "definit": 1, "similar": [1, 3, 4, 10, 12, 13, 15, 17], "deriv": 1, "base": [1, 3, 4, 12, 14, 15, 18], "translat": 1, "alter": 1, "arrang": [1, 3], "modifi": [1, 12, 14, 15], "held": [1, 11], "For": [1, 3, 12, 15, 18], "music": 1, "perform": [1, 14, 20], "sound": 1, "record": 1, "alwai": [1, 3, 13], "produc": 1, "synch": 1, "move": [1, 3], "imag": [1, 2, 3, 7, 8, 10, 13, 16, 18, 19, 20], "b": [1, 5, 6, 16], "contribut": [1, 20], "accord": [1, 3, 4, 16], "close": 1, "without": [1, 4, 12, 15, 20], "broadcast": 1, "sui": 1, "generi": 1, "databas": [1, 15, 18], "how": [1, 12, 18, 20], "label": [1, 3, 4], "categor": 1, "2": [1, 2, 3, 4, 10, 11, 12, 13, 14, 16, 17, 18], "d": [1, 14], "effect": [1, 14, 15, 16, 20], "absenc": 1, "proper": [1, 11, 15], "circumv": [1, 2], "fulfil": 1, "oblig": 1, "articl": [1, 18], "11": [1, 2, 3, 4, 13, 20], "wipo": 1, "treati": 1, "adopt": 1, "decemb": 1, "1996": 1, "agreement": 1, "fair": 1, "deal": 1, "f": 1, "artist": 1, "literari": 1, "h": [1, 2, 3, 4, 16, 18], "individu": 1, "entiti": 1, "process": [1, 3, 13, 19], "reproduct": 1, "displai": [1, 2, 9], "dissemin": 1, "commun": 1, "import": [1, 20], "member": 1, "access": [1, 4, 12], "place": [1, 3, 14], "chosen": 1, "them": [1, 13, 15], "j": [1, 18], "than": [1, 2, 3, 15, 16, 18], "direct": [1, 3], "96": 1, "9": [1, 2, 3, 15, 16, 17], "ec": 1, "european": 1, "parliament": 1, "council": 1, "march": 1, "protect": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "amend": 1, "succeed": 1, "essenti": [1, 3], "equival": [1, 4, 13], "anywher": 1, "world": [1, 4], "k": [1, 4, 5, 16], "correspond": 1, "scope": 1, "herebi": 1, "worldwid": 1, "royalti": 1, "non": [1, 12, 13], "sublicens": 1, "exclus": [1, 16], "whole": 1, "doubt": 1, "need": [1, 3, 12, 13, 14, 15], "compli": 1, "6": [1, 2, 3, 4, 10, 11, 12, 17], "media": 1, "technic": 1, "modif": [1, 14, 15], "allow": [1, 2, 3, 17], "whether": [1, 12, 13, 14, 16], "now": [1, 13, 19], "known": 1, "hereaft": 1, "waiv": 1, "assert": 1, "forbid": 1, "simpli": [1, 4, 14, 19], "never": 1, "5": [1, 2, 3, 5, 6, 11, 12, 13, 15, 17], "downstream": 1, "recipi": [1, 4], "offer": [1, 2, 15], "everi": 1, "automat": 1, "impos": 1, "differ": [1, 4, 13, 14, 16], "noth": [1, 14], "constitut": 1, "constru": 1, "impli": 1, "connect": [1, 10, 16], "sponsor": 1, "offici": 1, "statu": 1, "design": [1, 3, 13], "moral": 1, "integr": [1, 20], "nor": [1, 17], "privaci": 1, "person": 1, "patent": 1, "trademark": 1, "collect": [1, 12, 14], "directli": [1, 15, 16], "through": [1, 2, 14], "societi": 1, "voluntari": 1, "waivabl": 1, "statutori": 1, "compulsori": 1, "scheme": [1, 20], "expressli": 1, "reserv": [1, 3], "retain": 1, "identif": [1, 3, 4], "pseudonym": 1, "ii": 1, "notic": 1, "iii": 1, "refer": [1, 3, 4], "iv": 1, "v": [1, 4, 5, 6, 7, 8, 9, 10, 11], "uri": [1, 14, 16, 19, 20], "hyperlink": 1, "practic": 1, "previou": [1, 3], "satisfi": 1, "resourc": [1, 4, 7, 16, 20], "remov": 1, "prevent": 1, "extract": [1, 17], "substanti": 1, "portion": 1, "content": [1, 3, 5, 7, 8, 9, 11, 15, 17, 19, 20], "supplement": 1, "replac": [1, 13, 14, 17], "unless": [1, 2], "separ": [1, 4, 12, 20], "undertaken": 1, "TO": 1, "AS": 1, "AND": [1, 13], "NO": 1, "represent": [1, 2], "OR": [1, 13], "OF": 1, "kind": [1, 2], "concern": 1, "express": 1, "titl": [1, 9], "merchant": 1, "fit": [1, 2], "FOR": 1, "particular": [1, 13], "infring": 1, "latent": 1, "defect": 1, "accuraci": 1, "presenc": 1, "NOT": [1, 13], "discover": 1, "IN": 1, "event": [1, 3, 20], "WILL": 1, "BE": 1, "liabl": 1, "ON": 1, "theori": 1, "neglig": 1, "indirect": 1, "incident": 1, "consequenti": 1, "punit": 1, "exemplari": 1, "loss": 1, "expens": 1, "aris": 1, "IF": 1, "been": [1, 14, 17], "advis": [1, 4], "SUCH": 1, "abov": [1, 12], "shall": [1, 3, 4], "most": [1, 4, 17], "approxim": [1, 3], "absolut": [1, 17], "waiver": 1, "termin": [1, 3, 20], "fail": [1, 2], "reinstat": 1, "violat": 1, "cure": 1, "within": [1, 3, 18], "30": [1, 2, 3, 4, 16], "dai": 1, "discoveri": 1, "affect": [1, 20], "seek": [1, 2], "remedi": 1, "stop": [1, 10], "8": [1, 2, 3, 4, 9, 10, 11, 12, 15, 16, 17, 18], "surviv": 1, "state": [1, 4, 13], "herein": 1, "independ": 1, "reduc": [1, 3], "could": [1, 13], "lawfulli": 1, "provis": 1, "deem": 1, "unenforc": 1, "reform": 1, "minimum": [1, 4, 12, 16], "enforc": 1, "remain": [1, 17], "failur": 1, "consent": 1, "privileg": 1, "immun": 1, "jurisdict": 1, "parti": 1, "notwithstand": 1, "elect": 1, "publish": 1, "instanc": [1, 2, 6, 7, 8, 12, 14, 19, 20], "consid": 1, "dedic": 1, "domain": 1, "cc0": 1, "polici": 1, "logo": [1, 4, 16, 20], "prior": 1, "written": 1, "unauthor": 1, "paragraph": 1, "contact": [1, 20], "qr": [2, 4, 7, 8, 9, 10, 13, 14, 16, 17, 18, 20], "trivial": 2, "task": 2, "combin": [2, 18], "countless": 2, "complex": [2, 4], "mathemat": 2, "oper": [2, 8, 17], "top": [2, 3, 16], "render": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 19, 20], "fastest": 2, "instead": [2, 4, 10, 12, 13, 14, 16, 19], "flexibl": [2, 15, 18], "user": [2, 13, 19, 20], "friendly": 2, "turn": 2, "come": [2, 15], "slight": 2, "symbol": [2, 3, 18], "major": 2, "factor": [2, 18], "determin": [2, 3, 14], "size": [2, 7, 10, 14, 16, 19], "therefor": [2, 3, 17], "amount": [2, 3], "store": [2, 3, 15], "iter": [2, 13, 20], "matrix": [2, 11, 12, 13, 15, 16, 19, 20], "take": [2, 14, 15, 16], "increas": [2, 3, 14, 15, 16, 19], "lot": 2, "select": [2, 3], "smallest": 2, "cours": 2, "encod": [2, 4, 14, 15, 16, 18, 19, 20], "default": [2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 19], "sometim": [2, 14], "possibli": [2, 12], "vari": [2, 3, 16], "desir": [2, 7, 17], "fix": [2, 3, 15, 20], "maximum": [2, 16, 20], "input": [2, 9, 12, 13, 14, 15, 19], "anoth": [2, 12, 14], "capac": [2, 20], "lowest": [2, 3], "l": [2, 3, 16, 18], "highest": [2, 13], "good": [2, 12, 14, 17, 19], "enough": 2, "screen": [2, 3], "poster": 2, "print": 2, "hand": [2, 3], "high": [2, 3, 19], "risk": 2, "mail": [2, 20], "With": [2, 17], "hold": [2, 13], "decreas": 2, "higher": [2, 3], "number": [2, 3, 15, 16, 20], "detect": [2, 3], "best": 2, "numer": [2, 3, 12, 13, 18], "alphanumer": [2, 3, 18], "kanji": [2, 3, 15, 18], "hanzi": [2, 3, 15, 18], "bit": [2, 3, 11, 13, 18], "binari": [2, 3, 18], "depend": [2, 3, 16, 17, 18], "length": [2, 3, 4, 20], "call": [2, 4, 7, 12, 13, 14, 15, 16], "segment": [2, 5, 10, 15, 20], "method": [2, 3, 4, 12, 13, 20], "qrcode": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19], "addbyteseg": [2, 12, 15], "byte": [2, 3, 15, 18], "fast": [2, 3, 19], "safe": 2, "eci": [2, 18, 20], "charact": [2, 3, 4, 12, 15], "utf": [2, 4, 9, 15, 16], "larg": 2, "japanes": [2, 3, 18], "chines": [2, 3, 18], "faster": 2, "compress": [2, 4, 16], "13": [2, 3, 18], "doubl": [2, 4, 18], "evalu": [2, 20], "order": [2, 3, 12, 14], "pick": 2, "costli": 2, "ensur": [2, 4], "readabl": [2, 3], "option": [2, 4, 12, 13, 16, 17, 18, 19, 20], "overrid": [2, 14, 15, 16], "recommend": [2, 17], "know": 2, "exactli": 2, "unread": 2, "tabl": [2, 3], "show": 2, "impact": 2, "milisecond": 2, "each": [2, 3, 12, 13, 15], "between": [2, 3, 13], "system": [2, 3, 4, 8, 17], "10": [2, 3, 4, 15], "414": 2, "697": 2, "986": 2, "221": 2, "877": 2, "293": 2, "901": 2, "15": [2, 3, 16, 18], "563": 2, "18": [2, 3, 18], "142": [2, 4], "501": 2, "22": 2, "662": 2, "27": [2, 3, 4], "779": 2, "29": 2, "622": 2, "33": 2, "017": 2, "36": 2, "358": 2, "39": 2, "712": 2, "43": 2, "685": 2, "47": [2, 4], "121": [2, 16], "51": 2, "389": 2, "57": [2, 10, 16], "865": 2, "21": [2, 3, 4, 11], "59": 2, "753": 2, "68": 2, "502": 2, "523": 2, "72": 2, "866": 2, "78": 2, "245": 2, "83": 2, "593": 2, "88": 2, "327": 2, "94": 2, "921": 2, "103": 2, "394": 2, "106": 2, "31": 2, "40": [2, 3, 16, 18], "113": 2, "311": 2, "120": 2, "484": 2, "126": 2, "215": 2, "132": 2, "931": 2, "139": 2, "783": 2, "145": 2, "617": 2, "170": 2, "576": 2, "165": 2, "996": 2, "167": 2, "365": 2, "175": 2, "821": 2, "heavili": 2, "type": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "underli": 2, "extens": [2, 18, 20], "especi": [2, 19], "raster": [2, 3, 7, 10, 18], "gd": [2, 7, 12, 13, 16, 17, 18], "imagmagick": 2, "slow": 2, "scale": [2, 5, 6, 7, 8, 9, 10, 11, 20], "filter": 2, "comparison": 2, "built": [2, 12, 17, 18, 19], "class": [2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 19, 20], "v5": [2, 17], "v10": 2, "v15": 2, "v20": 2, "v25": 2, "v30": 2, "v35": 2, "v40": 2, "qrmarkupsvg": [2, 13, 16, 20], "732": 2, "645": 2, "846": 2, "127": [2, 3], "32": 2, "842": 2, "56": 2, "584": 2, "73": 2, "885": 2, "qrmarkuphtml": [2, 16, 20], "522": 2, "308": 2, "062": 2, "761": 2, "907": 2, "201": 2, "572": 2, "qrgdimagebmp": [2, 16], "998": 2, "541": 2, "728": 2, "336": 2, "46": 2, "345": 2, "62": 2, "81": 2, "555": 2, "482": 2, "qrgdimagegif": 2, "427": 2, "817": 2, "226": 2, "17": [2, 3, 18], "925": 2, "25": [2, 3, 16], "453": 2, "35": [2, 4], "136": 2, "44": 2, "706": 2, "477": 2, "qrgdimagejpeg": [2, 16], "284": 2, "882": 2, "161": 2, "097": 2, "333": 2, "23": [2, 16], "862": 2, "qrgdimagepng": [2, 16], "377": 2, "16": [2, 3], "581": 2, "26": [2, 3], "207": 2, "516": 2, "49": 2, "066": 2, "63": [2, 5, 6, 7], "765": 2, "82": 2, "074": 2, "qrgdimagewebp": [2, 7, 16], "211": 2, "367": 2, "079": 2, "095": 2, "69": [2, 14], "668": 2, "91": 2, "378": 2, "119": 2, "869": 2, "150": [2, 7, 8], "288": 2, "qrstringjson": 2, "043": 2, "107": 2, "158": 2, "301": 2, "369": 2, "492": 2, "qrstringtext": [2, 11], "229": 2, "387": 2, "628": 2, "952": 2, "312": 2, "759": 2, "329": 2, "045": 2, "qrimagick": [2, 14, 16, 17, 18, 20], "37": [2, 4], "694": 2, "808": 2, "114": 2, "415": 2, "172": 2, "962": 2, "242": 2, "338": 2, "325": 2, "085": 2, "419": 2, "999": [2, 4], "529": 2, "897": 2, "qrfpdf": [2, 16, 20], "578": 2, "466": 2, "169": 2, "021": 2, "45": [2, 16], "469": 2, "61": 2, "198": 2, "80": 2, "092": 2, "100": [2, 3, 16], "059": 2, "qrep": [2, 16, 20], "269": 2, "515": 2, "933": 2, "049": 2, "14": [2, 3], "181": 2, "799": 2, "886": 2, "quick": 3, "respons": 3, "two": [3, 18], "dimension": [3, 13], "barcod": [3, 4], "invent": 3, "1994": 3, "compani": 3, "denso": 3, "wave": 3, "automobil": 3, "wa": [3, 9, 14], "beyond": 3, "industri": 3, "due": 3, "greater": 3, "storag": 3, "compar": 3, "upc": 3, "specif": [3, 4, 13, 17], "popular": [3, 20], "model": [3, 18], "internation": 3, "iso": 3, "iec": 3, "18004": 3, "consist": [3, 14], "arrai": [3, 5, 6, 7, 8, 10, 12, 13, 14], "nomin": 3, "squar": [3, 10, 16], "overal": 3, "eas": [3, 4], "posit": [3, 8, 16], "row": [3, 9, 12, 13, 14], "column": [3, 12, 13], "coordin": [3, 12, 14, 20], "x": [3, 4, 5, 6, 7, 10, 12, 13, 14, 16, 17, 18], "y": [3, 5, 6, 7, 10, 12, 13, 14, 16], "count": [3, 13], "left": [3, 16], "downward": 3, "commenc": 3, "upper": 3, "corner": [3, 16], "repres": [3, 13, 14], "singl": [3, 5, 6, 7, 8, 10], "pixel": [3, 7, 8, 10, 13, 16], "confus": 3, "dark": [3, 5, 6, 7, 8, 9, 10, 12, 13, 14], "light": [3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16], "zero": 3, "side": [3, 15], "word": 3, "rang": [3, 12], "441": 3, "total": 3, "177": 3, "31329": 3, "calcul": [3, 14], "com": [3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17], "three": 3, "ident": [3, 4], "lower": 3, "view": 3, "superimpos": 3, "concentr": 3, "construct": 3, "preferenti": 3, "low": 3, "probabl": 3, "being": [3, 14], "encount": 3, "elsewher": 3, "enabl": [3, 4], "rapid": 3, "field": [3, 4, 12], "compris": 3, "unambigu": 3, "orient": 3, "decod": 3, "softwar": 3, "resynchronis": 3, "map": [3, 4, 13, 14, 16], "moder": 3, "distort": 3, "central": 3, "larger": 3, "horizont": [3, 16], "vertic": [3, 16], "wide": [3, 13], "altern": [3, 4, 16], "end": [3, 4], "run": [3, 13, 17, 20], "across": [3, 17], "down": [3, 12], "densiti": 3, "datum": 3, "rest": 3, "surround": 3, "four": 3, "Its": 3, "valu": [3, 4, 5, 11, 15, 16, 20], "equal": 3, "contain": [3, 4, 14, 15], "codeword": 3, "block": [3, 4, 9, 11, 19], "start": [3, 11, 12, 16], "bottom": 3, "proceed": 3, "upward": 3, "reach": 3, "next": 3, "immedi": 3, "continu": [3, 14], "whenev": 3, "current": [3, 9, 10, 12, 13, 14, 15], "edg": 3, "area": [3, 4], "unus": 3, "see": [3, 5, 6, 7, 8, 9, 10, 14, 16, 17, 18, 19, 20], "wikipedia": [3, 4], "thonki": 3, "tutori": 3, "sequenc": [3, 11], "bch": 3, "It": [3, 4, 14, 18, 19], "remaind": 3, "string": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "identifi": [3, 4], "0001": 3, "per": [3, 12, 13], "digit": [3, 4], "0010": 3, "0100": 3, "1000": 3, "shift": [3, 18], "ji": [3, 18], "1101": 3, "simplifi": [3, 18], "gb2312": [3, 15, 18], "gb18030": [3, 15, 18], "structur": [3, 14], "append": 3, "0011": 3, "split": 3, "multipl": [3, 8, 14, 18], "0111": 3, "fnc1": 3, "first": [3, 12, 13, 14, 20], "0101": 3, "128": 3, "zxing": [3, 4, 18], "issu": [3, 9, 10, 13, 16, 17, 20], "1373": 3, "second": [3, 4, 15], "1001": 3, "0000": 3, "gb": 3, "18284": 3, "stream": 3, "variabl": [3, 14], "charcount": 3, "subset": 3, "pariti": 3, "assign": [3, 20], "payload": 3, "lenght": 3, "8859": 3, "latin": 3, "24": 3, "preced": [3, 4, 16], "16383": 3, "16384": 3, "999999": 3, "optim": 3, "usag": [3, 16, 19], "basic": [3, 17, 20], "bitstream": 3, "n": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "reed": 3, "solomon": 3, "reader": [3, 4, 18, 19, 20], "detail": [3, 4], "breakdown": 3, "versu": 3, "less": [3, 16], "list": [3, 4, 7, 12, 15, 17, 19], "capabl": 3, "short": 3, "01": 3, "m": [3, 4, 5, 15, 16, 18], "00": 3, "quartil": 3, "q": [3, 4, 16, 18], "shown": 3, "max": [3, 11, 13], "23648": 3, "7089": 3, "4296": 3, "2953": 3, "1817": 3, "18672": 3, "5596": 3, "3391": 3, "2331": 3, "1435": 3, "13328": 3, "3993": 3, "2420": 3, "1663": 3, "1024": 3, "10208": 3, "3057": 3, "1852": 3, "1273": 3, "784": 3, "xore": 3, "evenli": 3, "balanc": 3, "occurr": 3, "would": [3, 4, 12], "interfer": 3, "done": 3, "penalti": 3, "score": 3, "final": [3, 7, 12, 13, 14, 15], "output": [3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19], "dure": [3, 13, 14], "rule": [3, 9], "get": [3, 19], "find": [3, 13, 14, 17], "repetit": 3, "cell": [3, 4], "same": 3, "color": [3, 5, 7, 8, 10, 11, 13, 14, 16], "00000": 3, "11111": 3, "consecut": 3, "black": 3, "white": [3, 16], "ratio": 3, "far": 3, "50": 3, "000": 3, "mod": 3, "001": 3, "010": 3, "011": 3, "intdiv": 3, "101": 3, "110": 3, "111": 3, "width": [3, 9, 14, 16], "height": [3, 9, 14, 16], "either": [3, 4, 5, 18], "background": [3, 7, 8, 10, 11, 16], "revers": [3, 16], "brief": 4, "perhap": 4, "properli": [4, 13], "en": [4, 7, 10, 16], "some": [4, 11, 14, 15, 18, 19], "vendor": [4, 17, 19], "youtub": [4, 5, 6, 7, 8, 9, 10, 11], "app": 4, "www": [4, 5, 6, 7, 8, 9, 10, 11, 16], "watch": [4, 5, 6, 7, 8, 9, 10, 11], "dqw4w9wgxcq": [4, 5, 6, 7, 8, 9, 10, 11], "mozilla": [4, 10, 16], "mdn": 4, "paramet": [4, 12, 14, 15, 16], "ad": [4, 14, 15, 16], "queri": 4, "addr": 4, "bcc": 4, "bodi": [4, 9], "address": 4, "hello": 4, "20world": 4, "messagewith": 4, "20i": 4, "20the": 4, "20messag": 4, "20bodi": 4, "carbon": 4, "blind": 4, "adress": 4, "element": [4, 9, 10, 11, 12, 14, 16], "comma": 4, "rfc": 4, "3986": 4, "addr1": 4, "addr2": 4, "6068": 4, "email": 4, "prefix": [4, 16], "devic": [4, 9], "dialer": 4, "invok": [4, 15], "123": 4, "456": 4, "7890": 4, "telephon": 4, "countri": 4, "space": [4, 11, 16, 20], "hyphen": [4, 12], "sm": [4, 11], "fax": 4, "deprec": [4, 18], "favor": 4, "3966": 4, "nation": 4, "convent": 4, "googl": [4, 18], "libphonenumb": 4, "github": [4, 8, 10, 16, 17, 20], "port": [4, 18], "geograph": 4, "altitud": 4, "latitud": 4, "longitud": 4, "cr": 4, "num": 4, "wg": 4, "84": 4, "decim": 4, "degre": 4, "meter": 4, "uncertainti": 4, "z": [4, 12], "zoom": 4, "level": [4, 16, 18, 20], "local": 4, "search": 4, "620521": 4, "122": [4, 16], "349293": 4, "988056": 4, "86": 4, "925278": 4, "8848": 4, "373333": 4, "591667": 4, "10920": 4, "786971": 4, "399677": 4, "moon": 4, "2011": 4, "5870": 4, "uniform": 4, "mode": [4, 7, 18, 20], "secret": [4, 19], "issuer": [4, 19], "param": 4, "path": [4, 5, 10, 14, 15, 16, 19], "elemet": 4, "mandatori": 4, "strongi": 4, "totp": [4, 19], "hotp": 4, "counter": 4, "account": 4, "kei": [4, 13, 14, 15], "associ": 4, "name": [4, 9, 12, 15], "colon": 4, "cryptograph": 4, "random": [4, 14], "base32": 4, "3548": 4, "pad": 4, "base64": [4, 6, 7, 8, 10, 14, 16, 19, 20], "hexadecim": [4, 13], "algorithm": 4, "hash": [4, 17], "sha1": 4, "sha256": 4, "sha512": 4, "otp": 4, "initi": [4, 6, 9, 13], "period": 4, "valid": [4, 12, 13, 14, 17], "jbswy3dpehpk3pxp": 4, "42": 4, "3atim": 4, "60": 4, "4226": 4, "hmac": 4, "One": 4, "password": 4, "6238": 4, "wi": 4, "fi": 4, "syntax": [4, 12, 13, 17], "look": [4, 12, 13, 14, 19], "wifi": 4, "ssid": 4, "p": 4, "hidden": 4, "wep": 4, "wpa": 4, "wpa2": 4, "eap": 4, "nopass": 4, "omit": 4, "ignor": [4, 6, 7, 8, 13, 16], "true": [4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16], "enclos": 4, "quot": 4, "ascii": 4, "hex": 4, "abcd1234": 4, "escap": [4, 11], "backslash": 4, "wpa3": 4, "note": [4, 16, 17, 20], "anonym": 4, "ttl": 4, "pwd": 4, "ph2": 4, "phase": 4, "mschapv2": 4, "present": [4, 15], "sae": 4, "der": 4, "asn": 4, "subjectpublickeyinfo": 4, "pk": 4, "transit": 4, "disabl": [4, 15], "mynetworkwihoutpassword": 4, "myhiddenwpanetwork": 4, "password123": 4, "myhiddenwpa2network": 4, "commonli": [4, 14], "exchang": 4, "too": 4, "fulli": [4, 9], "bare": 4, "begin": 4, "fn": [4, 12, 13, 14], "gender": 4, "home": 4, "adr": 4, "line1": 4, "line2": 4, "street": 4, "citi": 4, "zip": [4, 17], "tz": 4, "photo": 4, "jpeg": [4, 7, 8, 18], "categori": 4, "6350": 4, "ontologi": 4, "peopl": 4, "organ": 4, "w3c": 4, "vobject": 4, "via": [4, 6, 8, 9, 10, 13, 14, 16, 17, 18, 20], "formerli": 4, "object": [4, 11, 14, 15], "prodid": 4, "spati": 4, "laracon": 4, "wr": 4, "calnam": 4, "vevent": 4, "uid": 4, "5ef5c3f64cb2c": 4, "dtstamp": 4, "tzid": 4, "utc": 4, "20200626t094630": 4, "feed": 4, "dtstart": 4, "20190306t150000z": 4, "dtend": 4, "20190306t160000z": 4, "20190419t135034z": 4, "5545": 4, "internet": 4, "schedul": 4, "core": [4, 18], "guidelin": 4, "data": [4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19, 20], "captur": 4, "encapsul": [5, 18], "postscript": [5, 18], "ep": [5, 12, 13, 14, 18], "qroption": [5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 19, 20], "outputinterfac": [5, 6, 7, 8, 9, 10, 11, 12, 20], "drawlightmodul": [5, 6, 7, 8, 9, 10, 11, 12, 14, 20], "fals": [5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19], "255": [5, 6, 7, 11, 13, 16], "bgcolor": [5, 6, 7, 8, 9, 10, 11, 14, 20], "222": [5, 6], "modulevalu": [5, 6, 7, 8, 9, 11, 12, 13, 20], "qrmatrix": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20], "m_finder_dark": [5, 6, 7, 8, 9, 10, 11, 13], "m_finder_dot": [5, 6, 7, 8, 9, 10, 11, 13], "finder": [5, 6, 7, 8, 9, 20], "dot": [5, 6, 7, 8, 9], "m_finder": [5, 6, 7, 8, 9, 11, 13], "233": [5, 7], "m_alignment_dark": [5, 6, 7, 8, 9, 10, 11, 13], "m_align": [5, 6, 7, 8, 9, 11, 13], "m_data_dark": [5, 6, 7, 12, 13, 16], "m_data": [5, 6, 7, 12, 13, 16], "save": [5, 14, 20], "file": [5, 12, 14, 16, 17, 19, 20], "http": [5, 6, 7, 8, 9, 10, 11, 20], "__dir__": [5, 19], "push": 5, "download": [5, 8, 17], "browser": [5, 9], "header": [5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 19], "disposit": 5, "filenam": 5, "echo": [5, 6, 8, 9, 11, 15, 19], "exit": 5, "return": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20], "formatcolor": 5, "int": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "m_type": [5, 6, 7, 9, 10, 11, 12, 13, 14, 16], "properti": [5, 6, 7, 8, 9, 10, 11, 15, 20], "connectpath": [5, 6, 7, 8, 9, 10, 11, 12, 14, 20], "bool": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "excludefromconnect": [5, 6, 7, 8, 9, 10, 11, 14, 20], "circleradiu": [5, 6, 7, 8, 9, 10, 11, 14, 20], "implement": [5, 11, 12, 13, 14, 17, 18], "drawcircularmodul": [5, 6, 7, 8, 9, 10, 11, 14, 20], "outputbase64": [5, 6, 7, 8, 9, 10, 11, 14, 15, 19, 20], "imagetranspar": [5, 6, 7, 8, 9, 10, 11, 20], "keepassquar": [5, 6, 7, 8, 9, 10, 11, 14, 20], "returnresourc": [5, 6, 7, 8, 9, 10, 11, 15, 20], "portabl": 6, "document": [6, 9, 20], "pdf": [6, 18], "fpdf": [6, 13, 16, 18], "fpdfmeasureunit": [6, 20], "mm": [6, 16], "pt": [6, 16], "cm": [6, 16, 18], "var": [6, 7, 8, 15], "stuff": [6, 7, 8, 18], "dump": [6, 7, 8, 12, 14, 16], "initfpdf": 6, "void": [6, 7, 8, 13, 14, 15], "\u00ecnt": 6, "gdimag": [7, 12, 13, 16, 17, 18], "graphic": [7, 10, 18], "gif": [7, 18], "jpg": 7, "png": [7, 8, 15, 18, 19], "qroutputinterfac": [7, 11, 14, 15, 16, 20], "qualiti": [7, 8, 20], "90": [7, 8], "200": 7, "transpar": [7, 8, 10, 16], "net": [7, 16, 19], "function": [7, 11, 12, 13, 14, 15, 20], "imagecolortranspar": [7, 16], "transparencycolor": [7, 8, 14, 20], "webp": [7, 8, 18], "printf": [7, 8, 10, 15, 19], "img": [7, 8, 10, 15, 19], "alt": [7, 8, 10, 15, 19], "src": [7, 8, 10, 15, 19], "imagesx": 7, "imagejpeg": [7, 16], "imagedestroi": 7, "drawimag": [7, 8], "draw": [7, 8, 10, 13, 16], "dumpimag": 7, "setbgcolor": [7, 8], "settransparencycolor": [7, 8], "mix": [7, 8, 14, 18, 20], "float": [7, 8, 10, 18], "imagemagick": [8, 10, 13, 16, 18, 20], "instal": [8, 18, 20], "guid": [8, 17, 19], "script": [8, 16, 17], "ext": [8, 17, 18], "imagick": [8, 15, 16, 17, 18], "window": [8, 17], "imagickdemo": 8, "imagickformat": [8, 20], "png32": 8, "ccccaa": 8, "a71111": [8, 9], "ffbfbf": [8, 9], "a70364": [8, 9], "ffc9c9": [8, 9], "m_version_dark": [8, 11, 13], "650098": 8, "m_version": [8, 11, 13], "e0b8ff": 8, "scaleimag": 8, "setimageformat": [8, 16], "getimageblob": [8, 15], "imagickdraw": 8, "html": [9, 10, 13, 14, 16, 18], "cheap": 9, "markup": [9, 13, 14, 18], "substitut": [9, 12, 13], "svg": [9, 10, 12, 13, 14, 15, 16, 18, 19], "ca": 9, "2012": 9, "As": [9, 12, 14], "plan": 9, "web": [9, 10, 16], "cssclass": [9, 10, 20], "align": [9, 16, 20], "doctyp": 9, "lang": 9, "none": 9, "meta": 9, "charset": 9, "viewport": 9, "style": [9, 10, 16], "div": 9, "margin": [9, 16], "1em": 9, "10px": 9, "span": 9, "inlin": 9, "poutput": 9, "createmarkup": 9, "savetofil": [9, 20], "pars": [9, 10], "getcssclass": [9, 10], "css": [9, 10, 16], "eol": [9, 10, 11, 14, 17, 20], "scalabl": 10, "vector": 10, "won": [10, 13], "svgusefillattribut": [10, 20], "circl": [10, 16], "isntead": 10, "glitch": [10, 16], "chillerlan": [10, 15, 16, 17, 19, 20], "gradient": [10, 16], "def": [10, 16], "develop": [10, 16], "lineargradi": 10, "svgdef": [10, 20], "rainbow": 10, "x1": 10, "y2": 10, "e2453c": 10, "offset": 10, "e07e39": 10, "e5d667": 10, "51b95b": 10, "1e72b7": 10, "6f5ba7": 10, "cdata": 10, "url": [10, 20], "eee": 10, "xml": [10, 16, 19], "pd94bwwgdmvyc2": 10, "svgaddxmlhead": [10, 20], "svgopac": 10, "svgpreserveaspectratio": [10, 20], "svgviewboxs": 10, "null": [10, 11, 12, 13, 14, 15, 16], "achiev": 10, "199": 10, "comment": 10, "cli": 11, "consol": [11, 16], "ansi": 11, "littl": 11, "helper": 11, "ansi8": 11, "str": 11, "min": [11, 13], "48": 11, "38": 11, "sprintf": [11, 12, 14], "x1b": 11, "0m": 11, "line": [11, 14, 16], "textlinestart": [11, 20], "str_repeat": 11, "unassign": 11, "textdark": 11, "253": 11, "textlight": 11, "124": 11, "outputtyp": [11, 12, 15], "string_json": 11, "integ": [11, 12, 13, 16], "jsonasboolean": [11, 20], "let": [12, 17], "suppos": [12, 14], "we": [12, 13, 14, 17, 19], "own": [12, 20], "interfac": [12, 14, 15], "ll": [12, 13, 17], "extend": [12, 14, 20], "qroutputabstract": [12, 13, 16, 20], "mycustomoutput": 12, "static": [12, 14], "modulevalueisvalid": [12, 13, 20], "preparemodulevalu": [12, 20], "getdefaultmodulevalu": [12, 13, 20], "isdark": [12, 13, 14], "check": [12, 13, 14, 15, 18], "rgb": [12, 13, 16], "insensit": [12, 16], "is_str": 12, "preg_match": 12, "prepar": [12, 13, 14], "further": 12, "imagickpixel": 12, "imagecoloralloc": [12, 13], "lowercas": 12, "strtolow": 12, "empti": [12, 14, 16], "go": 12, "layernam": 12, "constant": [12, 13, 16], "exist": [12, 15], "getmodulevalu": [12, 13, 20], "loop": [12, 14], "layer": [12, 14], "foreach": [12, 13, 14], "getmatrix": [12, 14], "012b": [12, 14], "implod": [12, 14], "ve": [12, 17], "introduc": 12, "handl": [12, 19, 20], "incooper": 12, "speak": 12, "haven": 12, "taken": 12, "care": 12, "yet": 12, "alreadi": 12, "collectmodul": [12, 16, 20], "collector": [12, 14, 16], "closur": [12, 14], "m_type_lay": [12, 14], "act": [12, 13], "narrow": 12, "callabl": 12, "test": [12, 13, 16, 17, 19], "var_dump": [12, 15], "000000000010": 12, "100000000010": 12, "profit": [12, 17], "learn": 12, "bitmask": 13, "m_": 13, "stand": 13, "pattern": [13, 16, 19, 20], "art": 13, "overwrit": 13, "_dark": 13, "_light": 13, "suffix": 13, "conveni": [13, 14], "m_null": 13, "m_darkmodule_light": 13, "m_darkmodul": 13, "is_dark": 13, "m_separ": 13, "m_time": 13, "m_format": 13, "m_quietzon": 13, "m_logo": 13, "m_finder_dot_light": 13, "m_separator_dark": 13, "m_timing_dark": 13, "m_format_dark": 13, "m_quietzone_dark": 13, "m_logo_dark": 13, "Not": 13, "miss": 13, "inheritor": 13, "rgba": [13, 16], "_get": 13, "qr_dark": 13, "treatment": 13, "sanitize_user_input": 13, "modulevalueprovid": 13, "ffffff": 13, "000000": 13, "setmodulevalu": [13, 16, 20], "abstract": [13, 14], "default_module_valu": 13, "defaultvalu": [13, 14, 15], "sinc": [13, 17], "rrr": 13, "ggg": 13, "bbb": 13, "aaa": 13, "nowher": 13, "is_arrai": 13, "is_int": 13, "strict": 13, "outlier": 13, "clamp": [13, 14, 16], "yai": 13, "array_valu": 13, "array_map": 13, "val": 13, "And": 13, "everyth": 13, "readi": 13, "bitwis": 13, "toggl": [13, 16], "opposit": 13, "xor": 13, "much": 13, "modulecount": [13, 16, 20], "shortcut": 13, "checktyp": 13, "checktypein": 13, "custom": [14, 15], "pass": [14, 16], "constructor": [14, 15], "runtim": 14, "These": 14, "mostli": [14, 16], "getsiz": 14, "__get": 14, "insid": 14, "aforement": 14, "updat": [14, 20], "after": [14, 15, 17], "quiet": [14, 16, 20], "zone": [14, 16, 20], "invoc": [14, 15], "magic": [14, 15, 16], "getter": [14, 15], "signific": 14, "modul": [14, 15, 16, 18, 19], "copyvar": 14, "addition": 14, "circlediamet": 14, "declar": 14, "pseudo": 14, "myoutput": 14, "is_expected_typ": 14, "is_somehow_valid": 14, "got": 14, "match": 14, "might": [14, 15], "despit": 14, "earlier": 14, "throw": [14, 15], "qrgdimag": [14, 16, 20], "examin": 14, "etc": [14, 16, 18], "is_valid": 14, "qrcodeoutputexcept": 14, "invalid": [14, 15], "modifyvalu": 14, "main": [14, 17, 19, 20], "extra": 14, "retriev": [14, 15], "leav": [14, 17], "mention": 14, "again": [14, 15], "round": 14, "simpl": [14, 18], "adjust": 14, "particularli": 14, "plain": [14, 18, 20], "variou": 14, "languag": 14, "reassign": 14, "blob": 14, "itself": 14, "writabl": 14, "mime": 14, "behav": 15, "stdclass": 15, "foo": 15, "bar": 15, "thrown": 15, "pair": 15, "setter": [15, 16], "myoption": 15, "gdimage_png": 15, "ecclevel": [15, 20], "fromiter": 15, "tojson": 15, "json_throw_on_error": 15, "jsonserializ": 15, "json_encod": [15, 16], "__tostr": 15, "fromjson": 15, "overwriten": 15, "mycustomopt": 15, "myparam": 15, "settingscontainerinterfac": 15, "approach": 15, "trait": 15, "mycustomoptionstrait": 15, "set_": 15, "set_myparam": 15, "trim": 15, "get_": 15, "get_myparam": 15, "strtoupper": 15, "settingscontainerabstract": 15, "qroptionstrait": [15, 16], "whatev": [15, 17], "fly": 15, "asid": 15, "setopt": 15, "backreferenc": 15, "getqrmatrix": 15, "readerresult": 15, "initfunctionalpattern": 15, "rendermatrix": [15, 16], "ini": 15, "internal_encod": 15, "default_charset": 15, "mbstring": [15, 17, 18], "mb_internal_encod": 15, "clearseg": 15, "addnumericseg": 15, "numericdata": 15, "addalphanumseg": 15, "alphanumdata": 15, "addkanjiseg": 15, "kanjidata": 15, "addhanziseg": 15, "hanzidata": 15, "binarydata": 15, "addeciseg": 15, "ecicharset": 15, "encodedecidata": 15, "qrdatamodeinterfac": 15, "validatestr": 15, "implemend": 15, "alphanum": 15, "handi": 15, "beforehand": 15, "contrast": [15, 16], "readeruseimagickifavail": [15, 20], "readerincreasecontrast": [15, 20], "readergrayscal": [15, 20], "readfromfil": [15, 19], "readfromblob": 15, "imagedata": 15, "decoderresult": [15, 19], "cachefil": [15, 20], "creation": [15, 16, 18], "crate": 15, "rather": 15, "addlogospac": [15, 20], "logospacewidth": [15, 20], "logospaceheight": [15, 20], "logospacestartx": [15, 20], "logospacestarti": [15, 20], "letter": 16, "160": 16, "mask": [16, 19, 20], "unit": 16, "pattern_auto": 16, "spec": 16, "howto": 16, "fqcn": 16, "cach": 16, "raw": [16, 19], "tobase64datauri": [16, 20], "newlin": 16, "php_eol": 16, "blank": 16, "page": 16, "invert": 16, "reflect": [16, 20], "upscal": 16, "drawn": 16, "imagefilledellips": 16, "back": 16, "radiu": 16, "exclud": 16, "weird": 16, "convert": 16, "currentti": 16, "abcdef": 16, "cssname": 16, "addmatrixmodif": 16, "setlogospac": 16, "assum": 16, "color_str": 16, "transparentpaintimag": 16, "imagebmp": 16, "imagepng": 16, "imagewebp": 16, "setimagecompressionqu": 16, "createimag": 16, "emb": 16, "tag": [16, 17], "preserveaspectratio": 16, "flag": 16, "json": [16, 18, 20], "boolean": 16, "__construct": 16, "grayscal": 16, "mileag": 16, "packag": [17, 18], "complain": 17, "monopol": 17, "dev": 17, "constraint": 17, "releas": 17, "commit": 17, "unforseen": 17, "cb69751c3bc090a7fdd2f2601bbe10f28d225f10": 17, "older": 17, "suit": [17, 18], "platform": 17, "v2": 17, "unchang": 17, "throughout": 17, "verifi": 17, "deploi": 17, "f15b0afe9d4128bf734c3bf1bcffae72bf7b3e53": 17, "project": [17, 18], "folder": [17, 19], "root": 17, "autoload": [17, 19], "said": 17, "info": 17, "choic": 17, "repo": 17, "packagist": 17, "luck": 17, "v3": 17, "ye": 17, "fileinfo": [17, 18], "v4": [17, 18], "php8": 17, "v1": 17, "die": 17, "psa": 17, "longer": 17, "kazuhiko": 18, "aras": 18, "namespac": 18, "clean": 18, "improv": 18, "ecc": [18, 20], "gbt18284": 18, "2000": 18, "easili": 18, "avif": 18, "bmp": 18, "setasign": 18, "cakephp": 18, "plugin": 18, "drupal": 18, "authent": [18, 19, 20], "tfa": 18, "login": 18, "ga_login": 18, "symfoni": 18, "phpqrcode": 18, "bundl": 18, "wordpress": 18, "wp": 18, "auth": 18, "2fa": 18, "button": 18, "woltlab": 18, "verif": 18, "appwrit": 18, "cachet": 18, "g\u00e9ant": 18, "cat": 18, "openitcockpit": 18, "twill": 18, "elef": 18, "osiri": 18, "espocrm": 18, "twilio": 18, "hi": 18, "my": 18, "cooler": 18, "javascript": 18, "httpinterfac": 18, "psr": 18, "implemet": 18, "oauth": 18, "along": 18, "bunch": 18, "querybuild": 18, "mysql": 18, "postgr": 18, "sqlite": 18, "mssql": 18, "firebird": 18, "tootbot": 18, "mastodon": 18, "bot": 18, "require_onc": 19, "mobil": [19, 20], "otpauth": [19, 20], "b3jx4vcvjdvnxnz5": 19, "advanc": [19, 20], "depth": 19, "pretti": 19, "straight": 19, "forward": 19, "cast": 19, "catch": 19, "throwabl": 19, "idea": 19, "wrap": 19, "occur": 19, "subroutin": 19, "caus": 19, "cpu": 19, "load": [19, 20], "oh": 19, "forget": 19, "sanit": 19, "apr": 20, "2024": 20, "io": 20, "licens": 20, "overview": 20, "framework": 20, "shameless": 20, "advertis": 20, "compos": 20, "quickstart": 20, "configur": 20, "versionmin": 20, "versionmax": 20, "maskpattern": 20, "addquietzon": 20, "quietzones": 20, "invertmatrix": 20, "gdimageuseupscal": 20, "jsonflag": 20, "readerinvertcolor": 20, "getmodulevalueat": 20, "setmatrixdimens": 20, "getoutputdimens": 20, "skeleton": 20, "qrstring": 20, "terminologi": 20, "region": 20, "darkmodul": 20, "channel": 20, "mailto": 20, "phone": 20, "tel": 20, "geo": 20, "wireless": 20, "network": 20, "vcard": 20, "calendar": 20, "vcalendar": 20, "icalendar": 20, "sepa": 20, "transfer": 20, "question": 20, "bug": 20, "report": 20, "pull": 20}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"how": 0, "contribut": 0, "question": 0, "issu": 0, "bug": 0, "report": 0, "pull": 0, "request": 0, "fix": 0, "document": 0, "licens": 1, "perform": 2, "consider": 2, "version": [2, 3, 16, 17], "ecc": [2, 3], "level": [2, 3], "data": [2, 3], "mode": [2, 3, 15], "mask": [2, 3], "pattern": [2, 3], "output": [2, 12, 15, 20], "terminologi": 3, "qr": [3, 15, 19], "code": [3, 15, 19], "matrix": [3, 14], "modul": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 20], "function": 3, "finder": 3, "align": 3, "time": 3, "separ": 3, "quiet": 3, "zone": 3, "encod": 3, "region": 3, "inform": [3, 4], "format": 3, "darkmodul": 3, "segment": 3, "extend": [3, 15], "channel": 3, "interpret": 3, "eci": 3, "mix": [3, 15], "error": 3, "correct": 3, "maximum": 3, "capac": 3, "evalu": 3, "reflect": 3, "popular": 4, "content": 4, "uri": [4, 15], "scheme": 4, "url": 4, "http": 4, "e": 4, "mail": 4, "mailto": 4, "phone": 4, "number": 4, "tel": 4, "geo": 4, "coordin": 4, "mobil": 4, "authent": 4, "otpauth": 4, "wireless": 4, "network": 4, "configur": [4, 15, 16, 19], "contact": 4, "vcard": 4, "calendar": 4, "event": 4, "vcalendar": 4, "icalendar": 4, "sepa": 4, "credit": 4, "transfer": 4, "see": 4, "also": 4, "qrep": 5, "exampl": [5, 6, 7, 8, 9, 10], "addit": [5, 6, 7, 8, 9, 10, 11], "method": [5, 6, 7, 8, 9, 10, 11, 14, 15], "option": [5, 6, 7, 8, 9, 10, 11, 14, 15], "affect": [5, 6, 7, 8, 9, 10, 11], "thi": [5, 6, 7, 8, 9, 10, 11, 17], "have": [5, 6, 7, 8, 9, 10, 11], "effect": [5, 6, 7, 8, 9, 10, 11], "qrfpdf": 6, "qrgdimag": 7, "qrimagick": 8, "qrmarkuphtml": 9, "qrmarkupsvg": 10, "qrstring": 11, "plain": 11, "text": 11, "json": [11, 15, 17], "custom": [12, 20], "qroutputinterfac": [12, 13], "class": [12, 15], "skeleton": 12, "valu": [12, 13, 14], "transform": 12, "run": 12, "summari": 12, "basic": 13, "assign": 13, "handl": 13, "your": [13, 19], "own": 13, "set": [13, 16], "us": [13, 17], "qroutputabstract": 14, "properti": 14, "modulecount": 14, "scale": [14, 16], "length": 14, "modulevalu": [14, 16], "copi": 14, "qroption": [14, 15], "setmodulevalu": 14, "modulevalueisvalid": 14, "preparemodulevalu": 14, "getdefaultmodulevalu": 14, "getmodulevalu": 14, "getmodulevalueat": 14, "setmatrixdimens": 14, "getoutputdimens": 14, "collectmodul": 14, "savetofil": 14, "tobase64datauri": 14, "advanc": 15, "usag": [15, 20], "via": 15, "suppli": 15, "an": 15, "iter": 15, "load": 15, "save": 15, "from": 15, "qrcode": [15, 20], "render": 15, "qrmatrix": 15, "instanc": 15, "reader": 15, "common": 15, "file": 15, "base64": 15, "return": 15, "imag": 15, "resourc": 15, "add": 15, "logo": 15, "space": 15, "versionmin": 16, "versionmax": 16, "ecclevel": 16, "maskpattern": 16, "addquietzon": 16, "quietzones": 16, "outputinterfac": 16, "returnresourc": 16, "cachefil": 16, "outputbase64": 16, "eol": 16, "bgcolor": 16, "invertmatrix": 16, "drawlightmodul": 16, "drawcircularmodul": 16, "circleradiu": 16, "keepassquar": 16, "connectpath": 16, "excludefromconnect": 16, "addlogospac": 16, "logospacewidth": 16, "logospaceheight": 16, "logospacestartx": 16, "logospacestarti": 16, "imagetranspar": 16, "transparencycolor": 16, "qualiti": 16, "gdimageuseupscal": 16, "imagickformat": 16, "cssclass": 16, "svgaddxmlhead": 16, "svgdef": 16, "svgpreserveaspectratio": 16, "svgusefillattribut": 16, "textlinestart": 16, "jsonflag": 16, "jsonasboolean": 16, "fpdfmeasureunit": 16, "readeruseimagickifavail": 16, "readergrayscal": 16, "readerinvertcolor": 16, "readerincreasecontrast": 16, "instal": 17, "compos": 17, "switch": 17, "termin": 17, "manual": [17, 20], "can": 17, "i": 17, "librari": [17, 19], "without": 17, "support": 17, "php": [17, 20], "extens": 17, "requir": [17, 18], "imagemagick": 17, "overview": 18, "featur": 18, "framework": 18, "integr": 18, "shameless": 18, "advertis": 18, "quickstart": 19, "import": 19, "creat": 19, "first": 19, "read": 19, "note": 19, "built": 20, "In": 20, "appendix": 20}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"How to contribute": [[0, "how-to-contribute"]], "Questions and issues": [[0, "questions-and-issues"]], "Bug reports": [[0, "bug-reports"]], "Pull requests and bug fixes": [[0, "pull-requests-and-bug-fixes"]], "Documentation": [[0, "documentation"]], "License": [[1, "license"]], "Performance considerations": [[2, "performance-considerations"]], "Version": [[2, "version"], [3, "version"]], "Ecc level": [[2, "ecc-level"]], "Data mode": [[2, "data-mode"]], "Mask pattern": [[2, "mask-pattern"], [3, "mask-pattern"]], "Output": [[2, "output"]], "Terminology": [[3, "terminology"]], "QR Code": [[3, "qr-code"]], "Matrix": [[3, "matrix"]], "Module": [[3, "module"]], "Function Patterns": [[3, "function-patterns"]], "Finder Pattern": [[3, "finder-pattern"]], "Alignment Pattern": [[3, "alignment-pattern"]], "Timing Pattern": [[3, "timing-pattern"]], "Separators": [[3, "separators"]], "Quiet Zone": [[3, "quiet-zone"]], "Encoding Region": [[3, "encoding-region"]], "Data": [[3, "data"]], "Version Information": [[3, "version-information"]], "Format Information": [[3, "format-information"]], "Darkmodule": [[3, "darkmodule"]], "Mode": [[3, "mode"]], "Segment": [[3, "segment"]], "Extended Channel Interpretation (ECI)": [[3, "extended-channel-interpretation-eci"]], "Mixed Mode": [[3, "mixed-mode"]], "ECC (Error Correction Coding)": [[3, "ecc-error-correction-coding"]], "ECC Level": [[3, "ecc-level"]], "Maximum data capacity": [[3, "maximum-data-capacity"]], "Data masking": [[3, "data-masking"]], "Evaluation": [[3, "evaluation"]], "Reflectance": [[3, "reflectance"]], "Popular content and URI schemes": [[4, "popular-content-and-uri-schemes"]], "URL https": [[4, "url-https"]], "E-Mail mailto": [[4, "e-mail-mailto"]], "Phone numbers tel": [[4, "phone-numbers-tel"]], "Geo Coordinates geo": [[4, "geo-coordinates-geo"]], "Mobile Authenticators otpauth": [[4, "mobile-authenticators-otpauth"]], "Wireless Network configuration": [[4, "wireless-network-configuration"]], "Contact information: vCard": [[4, "contact-information-vcard"]], "Calendar Events: vCalendar and iCalendar": [[4, "calendar-events-vcalendar-and-icalendar"]], "SEPA Credit Transfer": [[4, "sepa-credit-transfer"]], "See also": [[4, "see-also"]], "QREps": [[5, "qreps"]], "Example": [[5, "example"], [6, "example"], [7, "example"], [8, "example"], [9, "example"], [10, "example"]], "Additional methods": [[5, "additional-methods"], [6, "additional-methods"], [7, "additional-methods"], [8, "additional-methods"], [9, "additional-methods"], [10, "additional-methods"], [11, "additional-methods"]], "Options that affect this module": [[5, "options-that-affect-this-module"], [6, "options-that-affect-this-module"], [7, "options-that-affect-this-module"], [8, "options-that-affect-this-module"], [9, "options-that-affect-this-module"], [10, "options-that-affect-this-module"], [11, "options-that-affect-this-module"]], "Options that have no effect": [[5, "options-that-have-no-effect"], [6, "options-that-have-no-effect"], [7, "options-that-have-no-effect"], [8, "options-that-have-no-effect"], [9, "options-that-have-no-effect"], [10, "options-that-have-no-effect"], [11, "options-that-have-no-effect"]], "QRFpdf": [[6, "qrfpdf"]], "QRGdImage": [[7, "qrgdimage"]], "QRImagick": [[8, "qrimagick"]], "QRMarkupHTML": [[9, "qrmarkuphtml"]], "QRMarkupSVG": [[10, "qrmarkupsvg"]], "QRString": [[11, "qrstring"]], "Plain text": [[11, "plain-text"]], "JSON": [[11, "json"]], "Custom QROutputInterface": [[12, "custom-qroutputinterface"]], "Class skeleton": [[12, "class-skeleton"]], "Module values": [[12, "module-values"], [13, "module-values"]], "Transform the output": [[12, "transform-the-output"]], "Run the custom output": [[12, "run-the-custom-output"]], "Summary": [[12, "summary"]], "Basics": [[13, "basics"]], "Assigning values": [[13, "assigning-values"]], "Handling in your own QROutputInterface": [[13, "handling-in-your-own-qroutputinterface"]], "Setting module values": [[13, "setting-module-values"]], "Using the module values": [[13, "using-the-module-values"]], "QROutputAbstract": [[14, "qroutputabstract"]], "Properties": [[14, "properties"]], "$options and $matrix": [[14, "options-and-matrix"]], "$moduleCount, $scale and $length": [[14, "modulecount-scale-and-length"]], "$moduleValues": [[14, "modulevalues"]], "Copies of QROptions values": [[14, "copies-of-qroptions-values"]], "Methods": [[14, "methods"]], "setModuleValues()": [[14, "setmodulevalues"]], "moduleValueIsValid()": [[14, "modulevalueisvalid"]], "prepareModuleValue()": [[14, "preparemodulevalue"]], "getDefaultModuleValue()": [[14, "getdefaultmodulevalue"]], "getModuleValue() and getModuleValueAt()": [[14, "getmodulevalue-and-getmodulevalueat"]], "setMatrixDimensions()": [[14, "setmatrixdimensions"]], "getOutputDimensions()": [[14, "getoutputdimensions"]], "collectModules()": [[14, "collectmodules"]], "saveToFile() and toBase64DataURI()": [[14, "savetofile-and-tobase64datauri"]], "Advanced usage": [[15, "advanced-usage"]], "Configuration via QROptions": [[15, "configuration-via-qroptions"]], "Supply an iterable of options": [[15, "supply-an-iterable-of-options"]], "Load and save options from/to JSON": [[15, "load-and-save-options-from-to-json"]], "Extending the QROptions class": [[15, "extending-the-qroptions-class"]], "QRCode methods": [[15, "qrcode-methods"]], "Render a QRMatrix instance": [[15, "render-a-qrmatrix-instance"]], "Mixed mode": [[15, "mixed-mode"]], "QR Code reader": [[15, "qr-code-reader"]], "Common output options": [[15, "common-output-options"]], "Save to file": [[15, "save-to-file"]], "Base64 URI output": [[15, "base64-uri-output"]], "Return the image resource": [[15, "return-the-image-resource"]], "Add a logo space": [[15, "add-a-logo-space"]], "Configuration settings": [[16, "configuration-settings"]], "version": [[16, "version"]], "versionMin": [[16, "versionmin"]], "versionMax": [[16, "versionmax"]], "eccLevel": [[16, "ecclevel"]], "maskPattern": [[16, "maskpattern"]], "addQuietzone": [[16, "addquietzone"]], "quietzoneSize": [[16, "quietzonesize"]], "outputInterface": [[16, "outputinterface"]], "returnResource": [[16, "returnresource"]], "cachefile": [[16, "cachefile"]], "outputBase64": [[16, "outputbase64"]], "eol": [[16, "eol"]], "bgColor": [[16, "bgcolor"]], "invertMatrix": [[16, "invertmatrix"]], "drawLightModules": [[16, "drawlightmodules"]], "drawCircularModules": [[16, "drawcircularmodules"]], "circleRadius": [[16, "circleradius"]], "keepAsSquare": [[16, "keepassquare"]], "connectPaths": [[16, "connectpaths"]], "excludeFromConnect": [[16, "excludefromconnect"]], "moduleValues": [[16, "modulevalues"]], "addLogoSpace": [[16, "addlogospace"]], "logoSpaceWidth": [[16, "logospacewidth"]], "logoSpaceHeight": [[16, "logospaceheight"]], "logoSpaceStartX": [[16, "logospacestartx"]], "logoSpaceStartY": [[16, "logospacestarty"]], "scale": [[16, "scale"]], "imageTransparent": [[16, "imagetransparent"]], "transparencyColor": [[16, "transparencycolor"]], "quality": [[16, "quality"]], "gdImageUseUpscale": [[16, "gdimageuseupscale"]], "imagickFormat": [[16, "imagickformat"]], "cssClass": [[16, "cssclass"]], "svgAddXmlHeader": [[16, "svgaddxmlheader"]], "svgDefs": [[16, "svgdefs"]], "svgPreserveAspectRatio": [[16, "svgpreserveaspectratio"]], "svgUseFillAttributes": [[16, "svgusefillattributes"]], "textLineStart": [[16, "textlinestart"]], "jsonFlags": [[16, "jsonflags"]], "jsonAsBooleans": [[16, "jsonasbooleans"]], "fpdfMeasureUnit": [[16, "fpdfmeasureunit"]], "readerUseImagickIfAvailable": [[16, "readeruseimagickifavailable"]], "readerGrayscale": [[16, "readergrayscale"]], "readerInvertColors": [[16, "readerinvertcolors"]], "readerIncreaseContrast": [[16, "readerincreasecontrast"]], "Installation": [[17, "installation"]], "Installation with Composer": [[17, "installation-with-composer"]], "composer.json": [[17, "composer-json"]], "Version switch": [[17, "version-switch"]], "Terminal": [[17, "terminal"]], "Manual installation": [[17, "manual-installation"]], "Can i use this library without using composer?": [[17, "can-i-use-this-library-without-using-composer"]], "Supported PHP versions & extension requirements": [[17, "supported-php-versions-extension-requirements"]], "ImageMagick": [[17, "imagemagick"]], "Overview": [[18, "overview"]], "Features": [[18, "features"]], "Requirements": [[18, "requirements"]], "Framework Integration": [[18, "framework-integration"]], "Shameless advertising": [[18, "shameless-advertising"]], "Quickstart": [[19, "quickstart"]], "Import the library": [[19, "import-the-library"]], "Create your first QR Code": [[19, "create-your-first-qr-code"]], "Configuration": [[19, "configuration"]], "Reading QR Codes": [[19, "reading-qr-codes"]], "Notes": [[19, "notes"]], "PHP-QRCode Manual": [[20, "php-qrcode-manual"]], "Usage": [[20, null]], "Customizing output": [[20, null]], "Built-In Output Modules": [[20, null]], "Appendix": [[20, null]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"alltitles": {"$moduleCount, $scale and $length": [[14, "modulecount-scale-and-length"]], "$moduleValues": [[14, "modulevalues"]], "$options and $matrix": [[14, "options-and-matrix"]], "Add a logo space": [[15, "add-a-logo-space"]], "Additional methods": [[5, "additional-methods"], [6, "additional-methods"], [7, "additional-methods"], [8, "additional-methods"], [9, "additional-methods"], [10, "additional-methods"], [11, "additional-methods"]], "Advanced usage": [[15, "advanced-usage"]], "Alignment Pattern": [[3, "alignment-pattern"]], "Appendix": [[20, null]], "Assigning values": [[13, "assigning-values"]], "Base64 URI output": [[15, "base64-uri-output"]], "Basics": [[13, "basics"]], "Bug reports": [[0, "bug-reports"]], "Built-In Output Modules": [[20, null]], "Calendar Events: vCalendar and iCalendar": [[4, "calendar-events-vcalendar-and-icalendar"]], "Can i use this library without using composer?": [[17, "can-i-use-this-library-without-using-composer"]], "Class skeleton": [[12, "class-skeleton"]], "Common output options": [[15, "common-output-options"]], "Configuration": [[19, "configuration"]], "Configuration settings": [[16, "configuration-settings"]], "Configuration via QROptions": [[15, "configuration-via-qroptions"]], "Contact information: vCard": [[4, "contact-information-vcard"]], "Copies of QROptions values": [[14, "copies-of-qroptions-values"]], "Create your first QR Code": [[19, "create-your-first-qr-code"]], "Custom QROutputInterface": [[12, "custom-qroutputinterface"]], "Customizing output": [[20, null]], "Darkmodule": [[3, "darkmodule"]], "Data": [[3, "data"]], "Data masking": [[3, "data-masking"]], "Data mode": [[2, "data-mode"]], "Documentation": [[0, "documentation"]], "E-Mail mailto": [[4, "e-mail-mailto"]], "ECC (Error Correction Coding)": [[3, "ecc-error-correction-coding"]], "ECC Level": [[3, "ecc-level"]], "Ecc level": [[2, "ecc-level"]], "Encoding Region": [[3, "encoding-region"]], "Evaluation": [[3, "evaluation"]], "Example": [[5, "example"], [6, "example"], [7, "example"], [8, "example"], [9, "example"], [10, "example"]], "Extended Channel Interpretation (ECI)": [[3, "extended-channel-interpretation-eci"]], "Extending the QROptions class": [[15, "extending-the-qroptions-class"]], "Features": [[18, "features"]], "Finder Pattern": [[3, "finder-pattern"]], "Format Information": [[3, "format-information"]], "Framework Integration": [[18, "framework-integration"]], "Function Patterns": [[3, "function-patterns"]], "Geo Coordinates geo": [[4, "geo-coordinates-geo"]], "Handling in your own QROutputInterface": [[13, "handling-in-your-own-qroutputinterface"]], "How to contribute": [[0, "how-to-contribute"]], "ImageMagick": [[17, "imagemagick"]], "Import the library": [[19, "import-the-library"]], "Installation": [[17, "installation"]], "Installation with Composer": [[17, "installation-with-composer"]], "JSON": [[11, "json"]], "License": [[1, "license"]], "Load and save options from/to JSON": [[15, "load-and-save-options-from-to-json"]], "Manual installation": [[17, "manual-installation"]], "Mask pattern": [[2, "mask-pattern"], [3, "mask-pattern"]], "Matrix": [[3, "matrix"]], "Maximum data capacity": [[3, "maximum-data-capacity"]], "Methods": [[14, "methods"]], "Mixed Mode": [[3, "mixed-mode"]], "Mixed mode": [[15, "mixed-mode"]], "Mobile Authenticators otpauth": [[4, "mobile-authenticators-otpauth"]], "Mode": [[3, "mode"]], "Module": [[3, "module"]], "Module values": [[12, "module-values"], [13, "module-values"]], "Notes": [[19, "notes"]], "Options that affect this module": [[5, "options-that-affect-this-module"], [6, "options-that-affect-this-module"], [7, "options-that-affect-this-module"], [8, "options-that-affect-this-module"], [9, "options-that-affect-this-module"], [10, "options-that-affect-this-module"], [11, "options-that-affect-this-module"]], "Options that have no effect": [[5, "options-that-have-no-effect"], [6, "options-that-have-no-effect"], [7, "options-that-have-no-effect"], [8, "options-that-have-no-effect"], [9, "options-that-have-no-effect"], [10, "options-that-have-no-effect"], [11, "options-that-have-no-effect"]], "Output": [[2, "output"]], "Overview": [[18, "overview"]], "PHP-QRCode Manual": [[20, "php-qrcode-manual"]], "Performance considerations": [[2, "performance-considerations"]], "Phone numbers tel": [[4, "phone-numbers-tel"]], "Plain text": [[11, "plain-text"]], "Popular content and URI schemes": [[4, "popular-content-and-uri-schemes"]], "Properties": [[14, "properties"]], "Pull requests and bug fixes": [[0, "pull-requests-and-bug-fixes"]], "QR Code": [[3, "qr-code"]], "QR Code reader": [[15, "qr-code-reader"]], "QRCode methods": [[15, "qrcode-methods"]], "QREps": [[5, "qreps"]], "QRFpdf": [[6, "qrfpdf"]], "QRGdImage": [[7, "qrgdimage"]], "QRImagick": [[8, "qrimagick"]], "QRMarkupHTML": [[9, "qrmarkuphtml"]], "QRMarkupSVG": [[10, "qrmarkupsvg"]], "QROutputAbstract": [[14, "qroutputabstract"]], "QRString": [[11, "qrstring"]], "Questions and issues": [[0, "questions-and-issues"]], "Quickstart": [[19, "quickstart"]], "Quiet Zone": [[3, "quiet-zone"]], "Reading QR Codes": [[19, "reading-qr-codes"]], "Reflectance": [[3, "reflectance"]], "Render a QRMatrix instance": [[15, "render-a-qrmatrix-instance"]], "Requirements": [[18, "requirements"]], "Return the image resource": [[15, "return-the-image-resource"]], "Run the custom output": [[12, "run-the-custom-output"]], "SEPA Credit Transfer": [[4, "sepa-credit-transfer"]], "Save to file": [[15, "save-to-file"]], "See also": [[4, "see-also"]], "Segment": [[3, "segment"]], "Separators": [[3, "separators"]], "Setting module values": [[13, "setting-module-values"]], "Shameless advertising": [[18, "shameless-advertising"]], "Summary": [[12, "summary"]], "Supply an iterable of options": [[15, "supply-an-iterable-of-options"]], "Supported PHP versions & extension requirements": [[17, "supported-php-versions-extension-requirements"]], "Terminal": [[17, "terminal"]], "Terminology": [[3, "terminology"]], "Timing Pattern": [[3, "timing-pattern"]], "Transform the output": [[12, "transform-the-output"]], "URL https": [[4, "url-https"]], "Usage": [[20, null]], "Using the module values": [[13, "using-the-module-values"]], "Version": [[2, "version"], [3, "version"]], "Version Information": [[3, "version-information"]], "Version switch": [[17, "version-switch"]], "Wireless Network configuration": [[4, "wireless-network-configuration"]], "addLogoSpace": [[16, "addlogospace"]], "addQuietzone": [[16, "addquietzone"]], "bgColor": [[16, "bgcolor"]], "cachefile": [[16, "cachefile"]], "circleRadius": [[16, "circleradius"]], "collectModules()": [[14, "collectmodules"]], "composer.json": [[17, "composer-json"]], "connectPaths": [[16, "connectpaths"]], "cssClass": [[16, "cssclass"]], "drawCircularModules": [[16, "drawcircularmodules"]], "drawLightModules": [[16, "drawlightmodules"]], "eccLevel": [[16, "ecclevel"]], "eol": [[16, "eol"]], "excludeFromConnect": [[16, "excludefromconnect"]], "fpdfMeasureUnit": [[16, "fpdfmeasureunit"]], "gdImageUseUpscale": [[16, "gdimageuseupscale"]], "getDefaultModuleValue()": [[14, "getdefaultmodulevalue"]], "getModuleValue() and getModuleValueAt()": [[14, "getmodulevalue-and-getmodulevalueat"]], "getOutputDimensions()": [[14, "getoutputdimensions"]], "imageTransparent": [[16, "imagetransparent"]], "imagickFormat": [[16, "imagickformat"]], "invertMatrix": [[16, "invertmatrix"]], "jsonAsBooleans": [[16, "jsonasbooleans"]], "jsonFlags": [[16, "jsonflags"]], "keepAsSquare": [[16, "keepassquare"]], "logoSpaceHeight": [[16, "logospaceheight"]], "logoSpaceStartX": [[16, "logospacestartx"]], "logoSpaceStartY": [[16, "logospacestarty"]], "logoSpaceWidth": [[16, "logospacewidth"]], "maskPattern": [[16, "maskpattern"]], "moduleValueIsValid()": [[14, "modulevalueisvalid"]], "moduleValues": [[16, "modulevalues"]], "outputBase64": [[16, "outputbase64"]], "outputInterface": [[16, "outputinterface"]], "prepareModuleValue()": [[14, "preparemodulevalue"]], "quality": [[16, "quality"]], "quietzoneSize": [[16, "quietzonesize"]], "readerGrayscale": [[16, "readergrayscale"]], "readerIncreaseContrast": [[16, "readerincreasecontrast"]], "readerInvertColors": [[16, "readerinvertcolors"]], "readerUseImagickIfAvailable": [[16, "readeruseimagickifavailable"]], "returnResource": [[16, "returnresource"]], "saveToFile() and toBase64DataURI()": [[14, "savetofile-and-tobase64datauri"]], "scale": [[16, "scale"]], "setMatrixDimensions()": [[14, "setmatrixdimensions"]], "setModuleValues()": [[14, "setmodulevalues"]], "svgAddXmlHeader": [[16, "svgaddxmlheader"]], "svgDefs": [[16, "svgdefs"]], "svgPreserveAspectRatio": [[16, "svgpreserveaspectratio"]], "svgUseFillAttributes": [[16, "svgusefillattributes"]], "textLineStart": [[16, "textlinestart"]], "transparencyColor": [[16, "transparencycolor"]], "version": [[16, "version"]], "versionMax": [[16, "versionmax"]], "versionMin": [[16, "versionmin"]]}, "docnames": ["Appendix/Contribute", "Appendix/License", "Appendix/Performance-considerations", "Appendix/Terminology", "Appendix/URI-Content", "Built-In-Output/QREps", "Built-In-Output/QRFpdf", "Built-In-Output/QRGdImage", "Built-In-Output/QRImagick", "Built-In-Output/QRMarkupHTML", "Built-In-Output/QRMarkupSVG", "Built-In-Output/QRString", "Customizing/Custom-output-interface", "Customizing/Module-Values", "Customizing/QROutputAbstract", "Usage/Advanced-usage", "Usage/Configuration-settings", "Usage/Installation", "Usage/Overview", "Usage/Quickstart", "index"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["Appendix/Contribute.md", "Appendix/License.rst", "Appendix/Performance-considerations.md", "Appendix/Terminology.md", "Appendix/URI-Content.md", "Built-In-Output/QREps.md", "Built-In-Output/QRFpdf.md", "Built-In-Output/QRGdImage.md", "Built-In-Output/QRImagick.md", "Built-In-Output/QRMarkupHTML.md", "Built-In-Output/QRMarkupSVG.md", "Built-In-Output/QRString.md", "Customizing/Custom-output-interface.md", "Customizing/Module-Values.md", "Customizing/QROutputAbstract.md", "Usage/Advanced-usage.md", "Usage/Configuration-settings.md", "Usage/Installation.md", "Usage/Overview.md", "Usage/Quickstart.md", "index.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19], "0": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 20], "00": 3, "000": 3, "0000": 3, "00000": 3, "000000": 13, "000000000010": 12, "0001": 3, "001": 3, "0010": 3, "0011": 3, "01": 3, "010": 3, "0100": 3, "0101": 3, "011": 3, "0111": 3, "012b": [12, 14], "017": 2, "021": 2, "04": 0, "043": 2, "045": 2, "049": 2, "059": 2, "062": 2, "066": 2, "074": 2, "079": 2, "085": 2, "092": 2, "095": 2, "097": 2, "0m": 11, "1": [1, 2, 3, 4, 9, 10, 12, 16, 17, 18], "10": [2, 3, 4, 15], "100": [2, 3, 16], "1000": 3, "100000000010": 12, "1001": 3, "101": 3, "10208": 3, "1024": 3, "103": 2, "106": 2, "107": 2, "10920": 4, "10px": 9, "11": [1, 2, 3, 4, 13], "110": 3, "1101": 3, "111": 3, "11111": 3, "113": 2, "114": 2, "119": 2, "12": [0, 2, 3, 13], "120": 2, "121": [2, 16], "122": [4, 16], "123": 4, "124": 11, "126": 2, "127": [2, 3], "1273": 3, "128": 3, "13": [2, 3, 18], "132": 2, "13328": 3, "136": 2, "1373": 3, "139": 2, "14": [2, 3], "142": [2, 4], "1435": 3, "145": 2, "15": [2, 3, 16, 18], "150": [2, 7, 8], "158": 2, "16": [2, 3], "160": 16, "161": 2, "16383": 3, "16384": 3, "165": 2, "1663": 3, "167": 2, "169": 2, "17": [2, 3, 18], "170": 2, "172": 2, "175": 2, "177": 3, "18": [2, 3, 18], "18004": 3, "181": 2, "1817": 3, "18284": 3, "1852": 3, "18672": 3, "19": 20, "198": 2, "199": 10, "1994": 3, "1996": 1, "1e72b7": 10, "1em": 9, "2": [1, 2, 3, 4, 10, 11, 12, 13, 14, 16, 17, 18], "20": [0, 1, 2, 7, 8, 16], "200": 7, "2000": 18, "201": 2, "2011": 4, "2012": 9, "20190306t150000z": 4, "20190306t160000z": 4, "20190419t135034z": 4, "20200626t094630": 4, "2023": 1, "2024": 20, "207": 2, "20bodi": 4, "20i": 4, "20messag": 4, "20the": 4, "20world": 4, "21": [2, 3, 4, 11], "211": 2, "215": 2, "22": 2, "221": 2, "222": [5, 6], "226": 2, "229": 2, "23": [2, 16], "233": [5, 7], "2331": 3, "23648": 3, "24": 3, "242": 2, "2420": 3, "245": 2, "25": [2, 3, 16], "253": 11, "255": [5, 6, 7, 11, 13, 16], "26": [2, 3], "269": 2, "27": [2, 3, 4], "284": 2, "288": 2, "29": 2, "293": 2, "2953": 3, "2fa": 18, "3": [0, 1, 2, 3, 12, 13, 14, 17, 18], "30": [1, 2, 3, 4, 16], "301": 2, "3057": 3, "308": 2, "31": 2, "311": 2, "312": 2, "31329": 3, "32": 2, "325": 2, "327": 2, "329": 2, "33": 2, "333": 2, "336": 2, "338": 2, "3391": 3, "345": 2, "349293": 4, "35": [2, 4], "3548": 4, "358": 2, "36": 2, "365": 2, "367": 2, "369": 2, "37": [2, 4], "373333": 4, "377": 2, "378": 2, "38": 11, "387": 2, "389": 2, "39": 2, "394": 2, "3966": 4, "3986": 4, "3993": 3, "399677": 4, "3atim": 4, "4": [0, 1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 16, 17, 18, 20], "40": [2, 3, 16, 18], "414": 2, "415": 2, "419": 2, "42": 4, "4226": 4, "427": 2, "4296": 3, "43": 2, "44": 2, "441": 3, "45": [2, 16], "453": 2, "456": 4, "46": 2, "466": 2, "469": 2, "47": [2, 4], "477": 2, "48": 11, "482": 2, "484": 2, "49": 2, "492": 2, "5": [1, 2, 3, 5, 6, 11, 12, 13, 15, 17], "50": 3, "501": 2, "502": 2, "51": 2, "515": 2, "516": 2, "51b95b": 10, "522": 2, "523": 2, "529": 2, "541": 2, "5545": 4, "555": 2, "5596": 3, "56": 2, "563": 2, "57": [2, 10, 16], "572": 2, "576": 2, "578": 2, "581": 2, "584": 2, "5870": 4, "59": 2, "591667": 4, "593": 2, "5ef5c3f64cb2c": 4, "6": [1, 2, 3, 4, 10, 11, 12, 17], "60": 4, "6068": 4, "61": 2, "617": 2, "62": 2, "620521": 4, "622": 2, "6238": 4, "628": 2, "63": [2, 5, 6, 7], "6350": 4, "645": 2, "650098": 8, "662": 2, "668": 2, "68": 2, "685": 2, "69": [2, 14], "694": 2, "697": 2, "6f5ba7": 10, "7": [0, 1, 2, 3, 4, 10, 15, 16, 17, 18, 19], "706": 2, "7089": 3, "712": 2, "72": 2, "728": 2, "73": 2, "732": 2, "753": 2, "759": 2, "761": 2, "765": 2, "779": 2, "78": 2, "783": 2, "784": 3, "786971": 4, "7890": 4, "799": 2, "8": [1, 2, 3, 4, 9, 10, 11, 12, 15, 16, 17, 18], "80": 2, "808": 2, "81": 2, "817": 2, "82": 2, "821": 2, "83": 2, "84": 4, "842": 2, "846": 2, "86": 4, "862": 2, "865": 2, "866": 2, "869": 2, "877": 2, "88": 2, "882": 2, "8848": 4, "885": 2, "8859": 3, "886": 2, "897": 2, "9": [1, 2, 3, 15, 16, 17], "90": [7, 8], "901": 2, "907": 2, "91": 2, "921": 2, "925": 2, "925278": 4, "931": 2, "933": 2, "94": 2, "952": 2, "96": 1, "962": 2, "986": 2, "988056": 4, "996": 2, "998": 2, "999": [2, 4], "999999": 3, "A": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 18], "AND": [1, 13], "AS": 1, "And": 13, "As": [9, 12, 14], "BE": 1, "BY": [1, 20], "By": [1, 2, 15], "FOR": 1, "For": [1, 3, 12, 15, 18], "IF": 1, "IN": 1, "If": [0, 1, 3, 16, 17], "In": [0, 1, 12, 13, 15, 17], "It": [3, 4, 14, 18, 19], "Its": 3, "NO": 1, "NOT": [1, 13], "No": [1, 16], "Not": 13, "OF": 1, "ON": 1, "OR": [1, 13], "One": 4, "SUCH": 1, "THE": [0, 1], "TO": 1, "That": 0, "The": [0, 1, 2, 3, 4, 12, 13, 14, 15, 16, 17, 19, 20], "These": 14, "To": [1, 2, 12, 13, 17], "WILL": 1, "With": [2, 17], "__construct": 16, "__dir__": [5, 19], "__get": 14, "__tostr": 15, "_dark": 13, "_get": 13, "_light": 13, "a70364": [8, 9], "a71111": [8, 9], "aaa": 13, "abcd1234": 4, "abcdef": 16, "about": [0, 17], "abov": [1, 12], "absenc": 1, "absolut": [1, 17], "abstract": [13, 14], "accept": [1, 12, 13], "access": [1, 4, 12], "accord": [1, 3, 4, 16], "account": 4, "accuraci": 1, "achiev": 10, "across": [3, 17], "act": [12, 13], "actual": [0, 14], "ad": [4, 14, 15, 16], "adapt": 1, "add": [0, 2, 4, 10, 11, 14, 16, 17, 20], "addalphanumseg": 15, "addbyteseg": [2, 12, 15], "addeciseg": 15, "addhanziseg": 15, "addit": [0, 1, 3, 4, 15, 20], "addition": 14, "addkanjiseg": 15, "addlogospac": [15, 20], "addmatrixmodif": 16, "addnumericseg": 15, "addquietzon": 20, "addr": 4, "addr1": 4, "addr2": 4, "address": 4, "adher": 0, "adjust": 14, "adopt": 1, "adr": 4, "adress": 4, "advanc": [19, 20], "advertis": 20, "advic": 1, "advis": [1, 4], "affect": [1, 20], "aforement": 14, "after": [14, 15, 17], "again": [14, 15], "agre": 1, "agreement": 1, "algorithm": 4, "align": [9, 16, 20], "all": [0, 1, 3, 4, 9, 10, 13, 14, 15, 16, 17], "allow": [1, 2, 3, 17], "alphanum": 15, "alphanumdata": 15, "alphanumer": [2, 3, 18], "alreadi": 12, "also": [1, 3, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20], "alt": [7, 8, 10, 15, 19], "alter": 1, "altern": [3, 4, 16], "although": [1, 2], "altitud": 4, "alwai": [1, 3, 13], "amend": 1, "amount": [2, 3], "an": [0, 1, 2, 3, 4, 6, 9, 12, 13, 14, 16, 17, 18, 20], "ani": [0, 1, 2, 12, 15, 19], "anonym": 4, "anoth": [2, 12, 14], "ansi": 11, "ansi8": 11, "anyth": [1, 16], "anywher": 1, "api": [0, 17, 20], "app": 4, "append": 3, "appli": [1, 3, 14, 16], "applic": [0, 1, 2, 3, 4, 5, 6, 11, 12, 14, 15, 16, 17], "approach": 15, "appropri": [1, 3], "approxim": [1, 3], "appwrit": 18, "apr": 20, "ar": [0, 1, 3, 4, 12, 13, 14, 17, 18], "aras": 18, "area": [3, 4], "aris": 1, "arrai": [3, 5, 6, 7, 8, 10, 12, 13, 14], "arrang": [1, 3], "array_map": 13, "array_valu": 13, "art": 13, "articl": [1, 18], "artist": 1, "ascii": 4, "asid": 15, "ask": 1, "asn": 4, "assert": 1, "assign": [3, 20], "associ": 4, "assum": 16, "attribut": [1, 10, 16, 20], "auth": 18, "authent": [18, 19, 20], "author": 1, "authorship": 1, "auto": [0, 2, 16], "autoload": [17, 19], "automat": 1, "automobil": 3, "avail": [1, 9, 15, 16, 19], "avif": 18, "avoid": [0, 1, 10, 14, 16, 17, 19], "b": [1, 5, 6, 16], "b3jx4vcvjdvnxnz5": 19, "back": 16, "background": [3, 7, 8, 10, 11, 16], "backreferenc": 15, "backslash": 4, "balanc": 3, "bar": 15, "barcod": [3, 4], "bare": 4, "base": [1, 3, 4, 12, 14, 15, 18], "base32": 4, "base64": [4, 6, 7, 8, 10, 14, 16, 19, 20], "basi": [1, 14], "basic": [3, 17, 20], "bbb": 13, "bcc": 4, "bch": 3, "becaus": [0, 1, 2, 12], "been": [1, 14, 17], "befor": [0, 1, 9, 12, 14, 16, 17], "beforehand": 15, "begin": 4, "behav": 15, "behavior": 0, "being": [3, 14], "below": [0, 1, 2, 12, 14], "benefit": 1, "best": 2, "better": 0, "between": [2, 3, 13], "beyond": 3, "bgcolor": [5, 6, 7, 8, 9, 10, 11, 14, 20], "binari": [2, 3, 18], "binarydata": 15, "bit": [2, 3, 11, 13, 18], "bitmask": 13, "bitstream": 3, "bitwis": 13, "black": 3, "blank": 16, "blind": 4, "blob": 14, "block": [3, 4, 9, 11, 19], "bmp": 18, "bodi": [4, 9], "boleto": 18, "bool": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "boolean": 16, "bot": 18, "both": [0, 14], "bottom": 3, "bound": 1, "branch": [0, 17], "breakdown": 3, "brief": 4, "broadcast": 1, "browser": [5, 9], "bug": 20, "build": [1, 12], "built": [2, 12, 17, 18, 19], "bundl": 18, "button": 18, "byte": [2, 3, 15, 18], "c": [1, 5, 16], "ca": 9, "cach": 16, "cachefil": [15, 20], "cachet": 18, "cakephp": 18, "calcul": [3, 14], "calendar": 20, "call": [2, 4, 7, 12, 13, 14, 15, 16], "callabl": 12, "calnam": 4, "can": [1, 2, 3, 4, 5, 7, 10, 12, 13, 14, 15, 16, 18, 19, 20], "cannot": 1, "cap": 0, "capabl": 3, "capac": [2, 20], "captur": 4, "carbon": 4, "care": 12, "case": [0, 1, 2, 4, 12, 13, 14, 15, 16, 17], "cast": 19, "cat": 18, "catch": 19, "categor": 1, "categori": 4, "caus": 19, "cb69751c3bc090a7fdd2f2601bbe10f28d225f10": 17, "cc": [1, 4, 20], "cc0": 1, "ccccaa": 8, "cdata": 10, "cell": [3, 4], "central": 3, "certain": [1, 2], "chang": [1, 3, 14], "channel": 20, "charact": [2, 3, 4, 12, 15], "charcount": 3, "charset": 9, "cheap": 9, "check": [12, 13, 14, 15, 18], "checktyp": 13, "checktypein": 13, "chillerlan": [10, 15, 16, 17, 19, 20], "chines": [2, 3, 18], "choic": 17, "choos": [1, 2, 19], "chosen": 1, "circl": [10, 16], "circlediamet": 14, "circleradiu": [5, 6, 7, 8, 9, 10, 11, 14, 20], "circumv": [1, 2], "citi": 4, "clamp": [13, 14, 16], "clarifi": 0, "class": [2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 19, 20], "clean": 18, "clear": [0, 15], "clearli": 1, "clearseg": 15, "cli": 11, "client": [1, 18], "close": 1, "closur": [12, 14], "cm": [6, 16, 18], "code": [0, 2, 4, 9, 12, 13, 14, 16, 17, 18, 20], "codeword": 3, "collect": [1, 12, 14], "collectmodul": [12, 16, 20], "collector": [12, 14, 16], "colon": 4, "color": [3, 5, 7, 8, 10, 11, 13, 14, 16], "color_str": 16, "column": [3, 12, 13], "com": [3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17], "combin": [2, 18], "come": [2, 15], "comma": 4, "commenc": 3, "comment": 10, "commerci": 1, "commit": 17, "common": [1, 4, 16, 20], "commonli": [4, 14], "commun": 1, "compani": 3, "compar": 3, "comparison": 2, "compat": 18, "complain": 17, "complet": [0, 4], "complex": [2, 4], "compli": 1, "compos": 20, "compress": [2, 4, 16], "compris": 3, "compulsori": 1, "concentr": 3, "concern": 1, "concis": 0, "condit": 1, "configur": 20, "confus": 3, "connect": [1, 10, 16], "connectpath": [5, 6, 7, 8, 9, 10, 11, 12, 14, 20], "consecut": 3, "consent": 1, "consequenti": 1, "consid": 1, "consider": [1, 20], "considerations_for_license": 1, "considerations_for_licensor": 1, "consist": [3, 14], "consol": [11, 16], "constant": [12, 13, 16], "constitut": 1, "constraint": 17, "constru": 1, "construct": 3, "constructor": [14, 15], "contact": [1, 20], "contain": [3, 4, 14, 15], "content": [1, 3, 5, 7, 8, 9, 11, 15, 17, 19, 20], "context": [0, 1], "continu": [3, 14], "contract": 1, "contrast": [15, 16], "contribut": [1, 20], "conveni": [13, 14], "convent": 4, "convert": 16, "cool": 0, "cooler": 18, "coordin": [3, 12, 14, 20], "copi": [1, 4, 20], "copyright": 1, "copyvar": 14, "core": 4, "corner": [3, 16], "corpor": 1, "correct": [0, 2, 16, 20], "correspond": 1, "cost": [0, 1, 2], "costli": 2, "could": [1, 13], "council": 1, "count": [3, 13], "counter": 4, "countless": 2, "countri": 4, "cours": 2, "cpu": 19, "cr": 4, "crate": 15, "creat": [0, 1, 4, 7, 8, 11, 12, 13, 15, 18, 20], "createimag": 16, "createmarkup": 9, "creation": [15, 16, 18], "creativ": [1, 20], "creativecommon": 1, "creator": 1, "credit": [1, 20], "cryptograph": 4, "css": [9, 10, 16], "cssclass": [9, 10, 20], "cssname": 16, "cure": 1, "current": [3, 9, 10, 12, 13, 14, 15], "currentti": 16, "custom": [14, 15], "d": [1, 14], "dai": 1, "damag": 1, "dark": [3, 5, 6, 7, 8, 9, 10, 12, 13, 14], "darkmodul": 20, "data": [4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19, 20], "databas": [1, 15, 18], "date": [0, 1], "datum": 3, "deal": 1, "decemb": 1, "decim": 4, "declar": 14, "decod": 3, "decoderresult": [15, 19], "decreas": 2, "dedic": 1, "deem": 1, "def": [10, 16], "default": [2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 19], "default_charset": 15, "default_module_valu": 13, "defaultvalu": [13, 14, 15], "defect": 1, "defin": [1, 3, 13, 18], "definit": 1, "degre": 4, "densiti": 3, "denso": 3, "depend": [2, 3, 16, 17, 18], "deploi": 17, "deprec": [4, 18], "depth": 19, "der": 4, "deriv": 1, "describ": [0, 1, 4], "descript": [0, 3, 4, 5, 6, 7, 8, 9, 10, 11], "design": [1, 3, 13], "desir": [2, 7, 17], "despit": 14, "detail": [3, 4], "detect": [2, 3], "determin": [2, 3, 14], "dev": 17, "develop": [10, 16], "devic": [4, 9], "dialer": 4, "die": 17, "differ": [1, 4, 13, 14, 16], "digit": [3, 4], "dimension": [3, 13], "direct": [1, 3], "directli": [1, 15, 16], "directori": [0, 17], "disabl": [4, 15], "disclaim": 1, "discover": 1, "discoveri": 1, "discuss": [0, 10, 16], "displai": [1, 2, 9], "disposit": 5, "dissemin": 1, "distort": 3, "distribut": 1, "div": 9, "do": [0, 1, 2, 6, 7, 8, 12, 14, 17], "doc": [0, 10, 16], "docblock": 0, "doctyp": 9, "document": [6, 9, 20], "doe": [0, 1, 2, 3, 15], "domain": 1, "don": [0, 12, 13, 19], "done": 3, "dot": [5, 6, 7, 8, 9], "doubl": [2, 4, 18], "doubt": 1, "down": [3, 12], "download": [5, 8, 17], "downstream": 1, "downward": 3, "dqw4w9wgxcq": [4, 5, 6, 7, 8, 9, 10, 11], "draw": [7, 8, 10, 13, 16], "drawcircularmodul": [5, 6, 7, 8, 9, 10, 11, 14, 20], "drawimag": [7, 8], "drawlightmodul": [5, 6, 7, 8, 9, 10, 11, 12, 14, 20], "drawn": 16, "drupal": 18, "dtend": 4, "dtstamp": 4, "dtstart": 4, "due": 3, "dump": [6, 7, 8, 12, 14, 16], "dumpimag": 7, "dure": [3, 13, 14], "e": [0, 1, 2, 8, 13, 14, 15, 16, 17, 19, 20], "e07e39": 10, "e0b8ff": 8, "e2453c": 10, "e5d667": 10, "each": [2, 3, 12, 13, 15], "eap": 4, "earlier": 14, "eas": [3, 4], "easili": 18, "ec": 1, "ecc": [18, 20], "ecclevel": [15, 20], "echo": [5, 6, 8, 9, 11, 15, 19], "eci": [2, 18, 20], "ecicharset": 15, "edg": 3, "eee": 10, "effect": [1, 14, 15, 16, 20], "either": [3, 4, 5, 18], "elect": 1, "elef": 18, "element": [4, 9, 10, 11, 12, 14, 16], "elemet": 4, "elsewher": 3, "email": 4, "emb": 16, "empti": [12, 14, 16], "en": [4, 7, 10, 16], "enabl": [3, 4], "encapsul": [5, 18], "enclos": 4, "encod": [2, 4, 14, 15, 16, 18, 19, 20], "encodedecidata": 15, "encount": 3, "encourag": 1, "end": [3, 4], "endors": 1, "enforc": 1, "enough": 2, "ensur": [2, 4], "entiti": 1, "environ": 0, "eol": [9, 10, 11, 14, 17, 20], "ep": [5, 12, 13, 14, 18], "equal": 3, "equival": [1, 4, 13], "error": [0, 1, 2, 15, 16, 19, 20], "escap": [4, 11], "especi": [2, 19], "espocrm": 18, "essenti": [1, 3], "etc": [14, 16, 18], "european": 1, "evalu": [2, 20], "even": [0, 1, 2, 13], "evenli": 3, "event": [1, 3, 20], "everi": 1, "everyth": 13, "exactli": 2, "examin": 14, "exampl": [0, 1, 2, 3, 4, 12, 13, 14, 18, 19, 20], "except": [1, 12, 14, 15, 19], "exchang": 4, "exclud": 16, "excludefromconnect": [5, 6, 7, 8, 9, 10, 11, 14, 20], "exclus": [1, 16], "exemplari": 1, "exercis": 1, "exhaust": 1, "exist": [12, 15], "exit": 5, "expect": [0, 1, 16, 17], "expens": 1, "explain": [0, 4], "express": 1, "expressli": 1, "ext": [8, 17, 18], "extend": [12, 14, 20], "extens": [2, 18, 20], "extent": 1, "extra": 14, "extract": [1, 17], "f": 1, "f15b0afe9d4128bf734c3bf1bcffae72bf7b3e53": 17, "factor": [2, 18], "fail": [1, 2], "failur": 1, "fair": 1, "fals": [5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19], "far": 3, "fast": [2, 3, 19], "faster": 2, "fastest": 2, "favor": 4, "fax": 4, "featur": [0, 20], "feed": 4, "feedback": 0, "feel": 0, "few": 0, "ffbfbf": [8, 9], "ffc9c9": [8, 9], "ffffff": 13, "fi": 4, "field": [3, 4, 12], "file": [5, 12, 14, 16, 17, 19, 20], "fileinfo": [17, 18], "filenam": 5, "fill": [0, 10, 13, 16], "filter": 2, "final": [3, 7, 12, 13, 14, 15], "find": [3, 13, 14, 17], "finder": [5, 6, 7, 8, 9, 20], "firebird": 18, "firm": 1, "first": [3, 12, 13, 14, 20], "fit": [1, 2], "fix": [2, 3, 15, 20], "flag": 16, "flexibl": [2, 15, 18], "float": [7, 8, 10, 18], "fly": 15, "fn": [4, 12, 13, 14], "fnc1": 3, "folder": [17, 19], "follow": [0, 1, 3, 4, 8, 12, 13, 14, 17, 18], "foo": 15, "forbid": 1, "foreach": [12, 13, 14], "forget": 19, "form": [1, 3, 4], "format": [1, 4, 5, 6, 8, 12, 14, 16, 18, 20], "formatcolor": 5, "formerli": 4, "forward": 19, "found": [0, 3, 15, 20], "four": 3, "fpdf": [6, 13, 16, 18], "fpdfmeasureunit": [6, 20], "fqcn": 16, "framework": 20, "fre": 0, "free": [1, 3], "freedom": 1, "friendly": 2, "from": [0, 1, 3, 4, 13, 14, 16, 17, 20], "fromiter": 15, "fromjson": 15, "fulfil": 1, "full": [1, 4, 12], "fullest": 1, "fulli": [4, 9, 18], "function": [7, 11, 12, 13, 14, 15, 20], "further": 12, "fusioncm": 18, "g": [0, 1, 2, 4, 5, 6, 8, 13, 14, 15, 16, 17], "ga_login": 18, "gather": 0, "gb": 3, "gb18030": [3, 15, 18], "gb2312": [3, 15, 18], "gbt18284": 18, "gd": [2, 7, 12, 13, 16, 17, 18], "gdimag": [7, 12, 13, 16, 17, 18], "gdimage_png": 15, "gdimageuseupscal": 20, "gender": 4, "gener": [0, 2, 4, 9, 13, 14, 15, 17, 18, 19], "generi": 1, "geo": 20, "geograph": 4, "get": [3, 19], "get_": 15, "get_myparam": 15, "getcssclass": [9, 10], "getdefaultmodulevalu": [12, 13, 20], "getimageblob": [8, 15], "getmatrix": [12, 14], "getmodulevalu": [12, 13, 20], "getmodulevalueat": 20, "getoutputdimens": 20, "getqrmatrix": 15, "getsiz": 14, "getter": [14, 15], "ggg": 13, "gif": [7, 18], "github": [4, 8, 10, 16, 17, 20], "give": [1, 3, 14], "given": [1, 2, 3, 8, 9, 10, 12, 13, 14, 16], "glitch": [10, 16], "go": 12, "good": [2, 12, 14, 17, 19], "googl": [4, 18], "got": 14, "gradient": [10, 16], "grant": 1, "graphic": [7, 10, 18], "grayscal": 16, "great": [0, 2], "greater": 3, "guid": [8, 17, 19], "guidelin": 4, "g\u00e9ant": 18, "h": [1, 2, 3, 4, 16, 18], "ha": [1, 4, 12, 14], "hand": [2, 3], "handi": 15, "handl": [12, 19, 20], "hanzi": [2, 3, 15, 18], "hanzidata": 15, "happen": [0, 14], "hard": 0, "hash": [4, 17], "have": [0, 1, 3, 12, 14, 19, 20], "haven": 12, "head": [0, 9], "header": [5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 19], "headlin": 0, "heavili": 2, "hei": [0, 19], "height": [3, 9, 14, 16], "held": [1, 11], "hello": 4, "help": [0, 14], "helper": 11, "here": [0, 1, 4, 12], "hereaft": 1, "herebi": 1, "herein": 1, "hex": 4, "hexadecim": [4, 13], "hi": 18, "hidden": 4, "high": [2, 3, 19], "higher": [2, 3], "highest": [2, 13], "hmac": 4, "hold": [2, 13], "holder": 1, "home": 4, "horizont": [3, 16], "hortusfox": 18, "hotp": 4, "how": [1, 12, 18, 20], "howev": [0, 1, 2, 4, 13, 14, 15, 17], "howto": 16, "html": [9, 10, 13, 14, 16, 18], "http": [5, 6, 7, 8, 9, 10, 11, 20], "httpinterfac": 18, "hyperlink": 1, "hyphen": [4, 12], "i": [0, 1, 2, 3, 4, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20], "icalendar": 20, "id": [0, 3, 10, 12], "idea": 19, "ideal": [0, 15], "ident": [3, 4], "identif": [1, 3, 4], "identifi": [3, 4], "iec": 3, "ignor": [4, 6, 7, 8, 13, 16], "ii": 1, "iii": 1, "imag": [1, 2, 3, 7, 8, 10, 13, 16, 18, 19, 20], "imagebmp": 16, "imagecoloralloc": [12, 13], "imagecolortranspar": [7, 16], "imagedata": 15, "imagedestroi": 7, "imagefilledellips": 16, "imagejpeg": [7, 16], "imagemagick": [8, 10, 13, 16, 18, 20], "imagepng": 16, "imagesx": 7, "imagetranspar": [5, 6, 7, 8, 9, 10, 11, 20], "imagewebp": 16, "imagick": [8, 15, 16, 17, 18], "imagickdemo": 8, "imagickdraw": 8, "imagickformat": [8, 20], "imagickpixel": 12, "imagmagick": 2, "img": [7, 8, 10, 15, 19], "immedi": 3, "immun": 1, "impact": 2, "implemend": 15, "implement": [5, 11, 12, 13, 14, 17, 18], "implemet": 18, "impli": 1, "implod": [12, 14], "import": [1, 20], "impos": 1, "improv": 18, "incident": 1, "includ": [1, 4, 17, 19], "incooper": 12, "increas": [2, 3, 14, 15, 16, 19], "independ": 1, "indic": [1, 3, 4], "indirect": 1, "individu": 1, "industri": 3, "info": 17, "inform": [0, 1, 20], "infring": 1, "inheritor": 13, "ini": 15, "initfpdf": 6, "initfunctionalpattern": 15, "initi": [4, 6, 9, 13], "inlin": 9, "input": [2, 9, 12, 13, 14, 15, 19], "insensit": [12, 16], "insid": 14, "instal": [8, 18, 20], "instanc": [1, 2, 6, 7, 8, 12, 14, 19, 20], "instead": [2, 4, 10, 12, 13, 14, 16, 19], "int": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "intdiv": 3, "integ": [11, 12, 13, 16], "integr": [1, 20], "intend": [1, 3, 10], "interfac": [12, 14, 15], "interfer": 3, "intern": [1, 2, 3, 13, 15, 16, 20], "internal_encod": 15, "internation": 3, "internet": 4, "interpret": [1, 4, 20], "introduc": 12, "invalid": [14, 15], "invent": 3, "invert": 16, "invertmatrix": 20, "invoc": [14, 15], "invok": [4, 15], "io": 20, "irrevoc": 1, "is_arrai": 13, "is_dark": 13, "is_expected_typ": 14, "is_int": 13, "is_somehow_valid": 14, "is_str": 12, "is_valid": 14, "isdark": [12, 13, 14], "isntead": 10, "iso": 3, "issu": [3, 9, 10, 13, 16, 17, 20], "issuer": [4, 19], "iter": [2, 13, 20], "its": [1, 3, 12], "itself": 14, "iv": 1, "j": [1, 18], "japanes": [2, 3, 18], "javascript": 18, "jbswy3dpehpk3pxp": 4, "ji": [3, 18], "jpeg": [4, 7, 8, 18], "jpg": 7, "json": [16, 18, 20], "json_encod": [15, 16], "json_throw_on_error": 15, "jsonasboolean": [11, 20], "jsonflag": 20, "jsonserializ": 15, "jurisdict": 1, "just": [0, 2, 4, 12, 13, 15, 16], "k": [1, 4, 5, 16], "kanji": [2, 3, 15, 18], "kanjidata": 15, "kazuhiko": 18, "keep": [0, 10, 17], "keepassquar": [5, 6, 7, 8, 9, 10, 11, 14, 20], "kei": [4, 13, 14, 15], "kind": [1, 2], "know": 2, "known": 1, "l": [2, 3, 16, 18], "label": [1, 3, 4], "lang": 9, "languag": 14, "laracon": 4, "laravel": 18, "larg": 2, "larger": 3, "latent": 1, "latin": 3, "latitud": 4, "law": 1, "lawfulli": 1, "lawyer": 1, "layer": [12, 14], "layernam": 12, "lead": 0, "learn": 12, "leav": [14, 17], "left": [3, 16], "legal": 1, "lenght": 3, "length": [2, 3, 4, 20], "less": [3, 16], "let": [12, 17], "letter": 16, "level": [4, 16, 18, 20], "liabil": 1, "liabl": 1, "libphonenumb": 4, "librari": [0, 2, 4, 18, 20], "licens": 20, "licensor": 1, "light": [3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16], "like": [0, 4, 14, 17, 19], "limit": 1, "line": [11, 14, 16], "line1": 4, "line2": 4, "lineargradi": 10, "link": [1, 4, 17], "list": [3, 4, 7, 12, 15, 17, 19], "literari": 1, "littl": 11, "ll": [12, 13, 17], "load": [19, 20], "local": 4, "locat": [0, 3, 4], "login": 18, "logo": [1, 4, 16, 20], "logospaceheight": [15, 20], "logospacestarti": [15, 20], "logospacestartx": [15, 20], "logospacewidth": [15, 20], "long": [1, 14], "longer": 17, "longitud": 4, "look": [4, 12, 13, 14, 19], "loop": [12, 14], "loos": 0, "loss": 1, "lot": 2, "low": 3, "lower": 3, "lowercas": 12, "lowest": [2, 3], "luck": 17, "m": [3, 4, 5, 15, 16, 18], "m_": 13, "m_align": [5, 6, 7, 8, 9, 11, 13], "m_alignment_dark": [5, 6, 7, 8, 9, 10, 11, 13], "m_darkmodul": 13, "m_darkmodule_light": 13, "m_data": [5, 6, 7, 12, 13, 16], "m_data_dark": [5, 6, 7, 12, 13, 16], "m_finder": [5, 6, 7, 8, 9, 11, 13], "m_finder_dark": [5, 6, 7, 8, 9, 10, 11, 13], "m_finder_dot": [5, 6, 7, 8, 9, 10, 11, 13], "m_finder_dot_light": 13, "m_format": 13, "m_format_dark": 13, "m_logo": 13, "m_logo_dark": 13, "m_null": 13, "m_quietzon": 13, "m_quietzone_dark": 13, "m_separ": 13, "m_separator_dark": 13, "m_time": 13, "m_timing_dark": 13, "m_type": [5, 6, 7, 9, 10, 11, 12, 13, 14, 16], "m_type_lay": [12, 14], "m_version": [8, 11, 13], "m_version_dark": [8, 11, 13], "made": 1, "magic": [14, 15, 16], "mai": [1, 2, 3, 4, 13, 14, 15, 16, 19], "mail": [2, 20], "mailto": 20, "main": [14, 17, 19, 20], "major": 2, "make": [0, 1, 4, 14, 15], "mandatori": 4, "manner": 1, "manual": [0, 2, 7, 13, 15, 16], "map": [3, 4, 13, 14, 16], "march": 1, "margin": [9, 16], "mark": [1, 3], "markdown": 0, "markup": [9, 13, 14, 18], "mask": [16, 19, 20], "maskpattern": 20, "mastodon": 18, "match": 14, "materi": 1, "mathemat": 2, "matrix": [2, 11, 12, 13, 15, 16, 19, 20], "max": [3, 11, 13], "maximum": [2, 16, 20], "mb_internal_encod": 15, "mbstring": [15, 17, 18], "mdn": 4, "me": 0, "mean": [0, 1, 3, 12], "measur": [1, 16], "media": 1, "medium": [1, 3], "member": 1, "mention": 14, "merchant": 1, "merg": 0, "messag": [0, 3, 4], "messagewith": 4, "meta": 9, "meter": 4, "method": [2, 3, 4, 12, 13, 20], "might": [14, 15], "mileag": 16, "milisecond": 2, "mime": 14, "min": [11, 13], "mind": 0, "minimum": [1, 4, 12, 16], "misbehav": 0, "miss": 13, "mix": [7, 8, 14, 18, 20], "mm": [6, 16], "mobil": [19, 20], "mod": 3, "mode": [4, 7, 18, 20], "model": [3, 18], "moder": 3, "modif": [1, 14, 15], "modifi": [1, 12, 14, 15], "modifyvalu": 14, "modul": [14, 15, 16, 18, 19], "modulecount": [13, 16, 20], "modulevalu": [5, 6, 7, 8, 9, 11, 12, 13, 20], "modulevalueisvalid": [12, 13, 20], "modulevalueprovid": 13, "monopol": 17, "moon": 4, "moral": 1, "more": [1, 2, 3, 4, 10, 13, 14, 15, 19], "most": [1, 4, 17], "mostli": [14, 16], "move": [1, 3], "mozilla": [4, 10, 16], "mschapv2": 4, "mssql": 18, "much": 13, "multipl": [3, 8, 14, 18], "music": 1, "must": 1, "my": 18, "mycustomopt": 15, "mycustomoptionstrait": 15, "mycustomoutput": 12, "myhiddenwpa2network": 4, "myhiddenwpanetwork": 4, "mynetworkwihoutpassword": 4, "myoption": 15, "myoutput": 14, "myparam": 15, "mysql": 18, "n": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "name": [4, 9, 12, 15], "namespac": 18, "narrow": 12, "nation": 4, "necessari": [1, 2, 12, 13, 14, 15, 19], "need": [1, 3, 12, 13, 14, 15], "neglig": 1, "net": [7, 16, 19], "network": 20, "never": 1, "new": [0, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 17, 19], "newlin": 16, "next": 3, "nobodi": 0, "nomin": 3, "non": [1, 12, 13], "none": 9, "nopass": 4, "nor": [1, 17], "note": [4, 16, 17, 20], "noth": [1, 14], "notic": 1, "notwithstand": 1, "now": [1, 13, 19], "nowher": 13, "null": [10, 11, 12, 13, 14, 15, 16], "num": 4, "number": [2, 3, 15, 16, 20], "numer": [2, 3, 12, 13, 18], "numericdata": 15, "o": [0, 4], "oauth": 18, "object": [4, 11, 14, 15], "oblig": 1, "occur": 19, "occurr": 3, "off": 0, "offer": [1, 2, 15], "offici": 1, "offset": 10, "oh": 19, "older": 17, "omit": 4, "one": [1, 2, 3, 4, 7, 10], "onli": [1, 4, 12, 13, 14, 16], "onlin": [0, 4], "ontologi": 4, "open": [0, 4, 17], "openboleto": 18, "openitcockpit": 18, "oper": [2, 8, 17], "opposit": 13, "optim": 3, "option": [2, 4, 12, 13, 16, 17, 18, 19, 20], "order": [2, 3, 12, 14], "org": [1, 4, 8, 10, 16, 17], "organ": 4, "orient": 3, "origin": 1, "osiri": 18, "other": [0, 1, 2, 3, 4, 6, 7, 8, 13, 14, 16, 18], "otherwis": 1, "otp": 4, "otpauth": [19, 20], "our": [1, 12, 13], "out": [0, 1, 6, 7, 8, 9, 10, 12, 18], "outlier": 13, "outlin": 0, "output": [3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19], "outputbase64": [5, 6, 7, 8, 9, 10, 11, 14, 15, 19, 20], "outputinterfac": [5, 6, 7, 8, 9, 10, 11, 12, 20], "outputtyp": [11, 12, 15], "over": [0, 2, 12, 13, 14, 16], "overal": 3, "overrid": [2, 14, 15, 16], "overview": 20, "overwrit": 13, "overwriten": 15, "own": [12, 20], "p": 4, "packag": [17, 18], "packagist": 17, "pad": 4, "page": 16, "pair": 15, "panel": 18, "paragraph": 1, "param": 4, "paramet": [4, 12, 14, 15, 16], "pariti": 3, "parliament": 1, "pars": [9, 10], "part": [1, 3, 19], "parti": 1, "particular": [1, 13], "particularli": 14, "pass": [14, 16], "password": 4, "password123": 4, "patent": 1, "path": [4, 5, 10, 14, 15, 16, 19], "pattern": [13, 16, 19, 20], "pattern_auto": 16, "payload": 3, "pd94bwwgdmvyc2": 10, "pdf": [6, 18], "pelican": 18, "penalti": 3, "peopl": 4, "per": [3, 12, 13], "perform": [1, 14, 20], "perhap": 4, "period": 4, "permiss": 1, "permit": 1, "person": 1, "ph2": 4, "phase": 4, "phone": 20, "photo": 4, "php": [0, 2, 4, 7, 8, 9, 10, 12, 15, 16, 18, 19], "php8": 17, "php_eol": 16, "phpdocumentor": [0, 20], "phphelp": 0, "phpqrcode": 18, "phpstorm": 0, "pick": 2, "pixel": [3, 7, 8, 10, 13, 16], "pk": 4, "place": [1, 3, 14], "plain": [14, 18, 20], "plan": 9, "platform": 17, "pleas": [0, 4, 8, 16, 17, 18], "plugin": 18, "png": [7, 8, 15, 18, 19], "png32": 8, "polici": 1, "popular": [3, 20], "port": [4, 18], "portabl": 6, "portion": 1, "posit": [3, 8, 16], "possibl": [0, 1, 2, 3, 4], "possibli": [2, 12], "post": 0, "poster": 2, "postgr": 18, "postscript": [5, 18], "poutput": 9, "pr": 0, "practic": 1, "preced": [3, 4, 16], "preciou": 0, "precis": 0, "preferenti": 3, "prefix": [4, 16], "preg_match": 12, "prepar": [12, 13, 14], "preparemodulevalu": [12, 20], "presenc": 1, "present": [4, 15], "preserveaspectratio": 16, "pretti": 19, "prevent": 1, "previou": [1, 3], "print": 2, "printf": [7, 8, 10, 15, 19], "prior": 1, "privaci": 1, "privileg": 1, "probabl": 3, "problem": 0, "proceed": 3, "process": [1, 3, 13, 19], "prodid": 4, "produc": 1, "profil": 0, "profit": [12, 17], "progress": 0, "project": [17, 18], "proper": [1, 11, 15], "properli": [4, 13], "properti": [5, 6, 7, 8, 9, 10, 11, 15, 20], "protect": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "provid": [1, 2, 3, 4, 12, 13, 14], "provis": 1, "psa": 17, "pseudo": 14, "pseudonym": 1, "psr": 18, "pt": [6, 16], "public": [1, 12, 14], "publish": 1, "pull": 20, "punit": 1, "purpos": [1, 14, 16], "push": 5, "pwd": 4, "q": [3, 4, 16, 18], "qr": [2, 4, 7, 8, 9, 10, 13, 14, 16, 17, 18, 20], "qr_dark": 13, "qrcode": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19], "qrcodeoutputexcept": 14, "qrdatamodeinterfac": 15, "qrep": [2, 16, 20], "qrfpdf": [2, 16, 20], "qrgdimag": [14, 16, 20], "qrgdimagebmp": [2, 16], "qrgdimagegif": 2, "qrgdimagejpeg": [2, 16], "qrgdimagepng": [2, 16], "qrgdimagewebp": [2, 7, 16], "qrimagick": [2, 14, 16, 17, 18, 20], "qrmarkuphtml": [2, 16, 20], "qrmarkupsvg": [2, 13, 16, 20], "qrmatrix": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20], "qroption": [5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 19, 20], "qroptionstrait": [15, 16], "qroutputabstract": [12, 13, 16, 20], "qroutputinterfac": [7, 11, 14, 15, 16, 20], "qrstring": 20, "qrstringjson": 2, "qrstringtext": [2, 11], "qualiti": [7, 8, 20], "quartil": 3, "queri": 4, "querybuild": 18, "question": 20, "quick": 3, "quickstart": 20, "quiet": [14, 16, 20], "quietzones": 20, "quot": 4, "r": [0, 4, 5, 6, 16], "radiu": 16, "rainbow": 10, "random": [4, 14], "rang": [3, 12], "rapid": 3, "raster": [2, 3, 7, 10, 18], "rather": 15, "ratio": 3, "raw": [16, 19], "re": [0, 2, 12], "reach": 3, "read": [0, 1, 3, 16, 17, 20], "readabl": [2, 3], "reader": [3, 4, 18, 19, 20], "readergrayscal": [15, 20], "readerincreasecontrast": [15, 20], "readerinvertcolor": 20, "readerresult": 15, "readeruseimagickifavail": [15, 20], "readfromblob": 15, "readfromfil": [15, 19], "readi": 13, "reason": [1, 5, 6, 7, 8, 9, 10, 11], "reassign": 14, "receiv": [1, 13], "recipi": [1, 4], "recommend": [2, 17], "record": 1, "redistribut": 1, "reduc": [1, 3], "reed": 3, "refer": [1, 3, 4], "reflect": [16, 20], "reform": 1, "regard": 1, "region": 20, "regul": 1, "reinstat": 1, "relat": [1, 13], "relationship": 1, "releas": 17, "remain": [1, 17], "remaind": 3, "remedi": 1, "remix": 1, "remov": 1, "render": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 19, 20], "rendermatrix": [15, 16], "repetit": 3, "replac": [1, 13, 14, 17], "repli": 0, "repo": 17, "report": 20, "repres": [3, 13, 14], "represent": [1, 2], "reproduc": [0, 1], "reproduct": 1, "request": [1, 20], "requir": [1, 4, 12, 14, 20], "require_onc": 19, "reserv": [1, 3], "resourc": [1, 4, 7, 16, 20], "respect": [1, 3, 13, 16, 17], "respons": 3, "rest": 3, "restrict": 1, "result": [1, 15, 19], "resynchronis": 3, "retain": 1, "retriev": [14, 15], "return": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20], "returnresourc": [5, 6, 7, 8, 9, 10, 11, 15, 20], "reus": [1, 15], "revers": [3, 16], "revok": 1, "rfc": 4, "rgb": [12, 13, 16], "rgba": [13, 16], "right": [1, 2, 3], "risk": 2, "root": 17, "round": 14, "row": [3, 9, 12, 13, 14], "royalti": 1, "rrr": 13, "rule": [3, 9], "run": [3, 13, 17, 20], "runtim": 14, "sae": 4, "safe": 2, "sai": 0, "said": 17, "same": 3, "sampl": 0, "sanit": 19, "sanitize_user_input": 13, "satisfi": 1, "save": [5, 14, 20], "savetofil": [9, 20], "scalabl": 10, "scale": [2, 5, 6, 7, 8, 9, 10, 11, 20], "scaleimag": 8, "schedul": 4, "scheme": [1, 20], "scope": 1, "score": 3, "screen": [2, 3], "screenshot": 0, "script": [8, 16, 17], "search": 4, "second": [3, 4, 15], "secret": [4, 19], "section": [0, 1, 4, 12], "secur": 1, "see": [3, 5, 6, 7, 8, 9, 10, 14, 16, 17, 18, 19, 20], "seek": [1, 2], "segment": [2, 5, 10, 15, 20], "select": [2, 3], "sepa": 20, "separ": [1, 4, 12, 20], "sequenc": [3, 11], "servic": [1, 4], "set": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 19, 20], "set_": 15, "set_myparam": 15, "setasign": 18, "setbgcolor": [7, 8], "setimagecompressionqu": 16, "setimageformat": [8, 16], "setlogospac": 16, "setmatrixdimens": 20, "setmodulevalu": [13, 16, 20], "setopt": 15, "setter": [15, 16], "settingscontainerabstract": 15, "settingscontainerinterfac": 15, "settransparencycolor": [7, 8], "sever": [0, 1, 2, 12, 13, 14, 15, 16, 17], "sha1": 4, "sha256": 4, "sha512": 4, "shall": [1, 3, 4], "shameless": 20, "share": [1, 4, 18], "shift": [3, 18], "short": 3, "shortcut": 13, "should": [0, 1, 2, 4, 9, 12, 15, 16], "show": 2, "shown": 3, "side": [3, 15], "signific": 14, "similar": [1, 3, 4, 10, 12, 13, 15, 17], "similarli": [0, 3], "simpl": [14, 18], "simpli": [1, 4, 14, 19], "simplifi": [3, 18], "sinc": [13, 17], "singl": [3, 5, 6, 7, 8, 10], "size": [2, 7, 10, 14, 16, 19], "skeleton": 20, "slight": 2, "slow": 2, "sm": [4, 11], "smallest": 2, "smilei": 1, "so": [0, 1, 2, 3, 4, 12, 13, 14, 16, 17], "societi": 1, "softwar": 3, "solomon": 3, "some": [4, 11, 14, 15, 18, 19], "somehow": 0, "someth": [0, 14], "sometim": [2, 14], "sound": 1, "sourc": 0, "space": [4, 11, 16, 20], "span": 9, "spati": 4, "speak": 12, "spec": 16, "special": [1, 4, 13, 14], "specif": [3, 4, 13, 17], "specifi": [1, 4, 5, 13, 15, 16, 17], "split": 3, "sponsor": 1, "sprintf": [11, 12, 14], "sqlite": 18, "squar": [3, 10, 16], "src": [7, 8, 10, 15, 19], "ssid": 4, "stackoverflow": 0, "stand": 13, "standard": [0, 1, 3], "start": [3, 11, 12, 16], "state": [1, 4, 13], "static": [12, 14], "statu": 1, "statutori": 1, "stdclass": 15, "step": [0, 3, 18], "still": [1, 2, 14], "stop": [1, 10], "storag": 3, "store": [2, 3, 15], "str": 11, "str_repeat": 11, "straight": 19, "stream": 3, "street": 4, "strict": 13, "string": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "string_json": 11, "strongi": 4, "strtolow": 12, "strtoupper": 15, "structur": [3, 14], "stuff": [6, 7, 8, 18], "style": [9, 10, 16], "subject": [1, 4], "subjectpublickeyinfo": 4, "sublicens": 1, "submit": 0, "subroutin": 19, "subset": 3, "substanti": 1, "substitut": [9, 12, 13], "succeed": 1, "suffix": 13, "suggest": [0, 1], "sui": 1, "suit": [17, 18], "summari": [1, 4, 20], "superimpos": 3, "supplement": 1, "suppli": [0, 1, 4, 13, 20], "support": [0, 2, 4, 8, 12, 18, 20], "suppos": [12, 14], "sure": [0, 4, 14, 15], "surround": 3, "surviv": 1, "svg": [9, 10, 12, 13, 14, 15, 16, 18, 19], "svgaddxmlhead": [10, 20], "svgdef": [10, 20], "svgopac": 10, "svgpreserveaspectratio": [10, 20], "svgusefillattribut": [10, 20], "svgviewboxs": 10, "symbol": [2, 3, 18], "symfoni": 18, "synch": 1, "syntax": [4, 12, 13, 17], "system": [2, 3, 4, 8, 17], "t": [0, 3, 4, 10, 12, 13, 19], "tabl": [2, 3], "tag": [16, 17], "take": [2, 14, 15, 16], "taken": 12, "task": 2, "technic": 1, "technolog": 1, "tel": 20, "telephon": 4, "templat": 0, "term": 1, "termin": [1, 3, 20], "terminologi": 20, "test": [12, 13, 16, 17, 19], "text": [1, 4, 9, 13, 14, 18, 20], "textdark": 11, "textlight": 11, "textlinestart": [11, 20], "tfa": 18, "than": [1, 2, 3, 15, 16, 18], "thei": [1, 3, 4], "them": [1, 13, 15], "theori": 1, "therefor": [2, 3, 17], "thi": [0, 1, 2, 3, 4, 12, 13, 14, 15, 16, 18, 19, 20], "thing": 0, "tho": 0, "thonki": 3, "those": [1, 2, 3], "three": 3, "through": [1, 2, 14], "throughout": 17, "throw": [14, 15], "throwabl": 19, "thrown": 15, "time": [0, 1, 2, 4, 20], "titl": [1, 9], "tobase64datauri": [16, 20], "toggl": [13, 16], "tojson": 15, "too": 4, "tootbot": 18, "top": [2, 3, 16], "total": 3, "totp": [4, 19], "trademark": 1, "trait": 15, "transfer": 20, "transform": [1, 14, 20], "transit": 4, "translat": 1, "transpar": [7, 8, 10, 16], "transparencycolor": [7, 8, 14, 20], "transparentpaintimag": 16, "treati": 1, "treatment": 13, "trim": 15, "trivial": 2, "true": [4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16], "try": [0, 13, 19], "ttl": 4, "turn": 2, "tutori": 3, "twilio": 18, "twill": 18, "two": [3, 18], "type": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19], "tz": 4, "tzid": 4, "u": [0, 4, 10, 16], "ubuntu": 0, "uid": 4, "unambigu": 3, "unassign": 11, "unauthor": 1, "uncertainti": 4, "unchang": 17, "under": [1, 12, 14, 15, 20], "underli": 2, "understand": 1, "undertaken": 1, "unenforc": 1, "unforseen": 17, "uniform": 4, "unit": 16, "unless": [1, 2], "unread": 2, "unsur": 0, "unus": 3, "up": [0, 2, 3, 17, 18], "upc": 3, "updat": [14, 20], "upon": 1, "upper": 3, "upscal": 16, "upstream": 0, "upward": 3, "uri": [1, 14, 16, 19, 20], "url": [10, 20], "us": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20], "usag": [3, 16, 19], "user": [2, 13, 19, 20], "usual": 0, "utc": 4, "utf": [2, 4, 9, 15, 16], "v": [1, 4, 5, 6, 7, 8, 9, 10, 11], "v1": 17, "v10": 2, "v15": 2, "v2": 17, "v20": 2, "v25": 2, "v3": 17, "v30": 2, "v35": 2, "v4": [17, 18], "v40": 2, "v5": [2, 17], "val": 13, "valid": [4, 12, 13, 14, 17], "validatestr": 15, "valu": [3, 4, 5, 11, 15, 16, 20], "var": [6, 7, 8, 15], "var_dump": [12, 15], "vari": [2, 3, 16], "variabl": [3, 14], "variou": 14, "vcalendar": 20, "vcard": 20, "ve": [12, 17], "vector": 10, "vendor": [4, 17, 19], "veri": [0, 2], "verif": 18, "verifi": 17, "version": [0, 4, 10, 15, 18, 19, 20], "versionmax": 20, "versionmin": 20, "versu": 3, "vertic": [3, 16], "vevent": 4, "via": [4, 6, 8, 9, 10, 13, 14, 16, 17, 18, 20], "view": 3, "viewport": 9, "violat": 1, "vobject": 4, "void": [6, 7, 8, 13, 14, 15], "voluntari": 1, "w3c": 4, "wa": [3, 9, 14], "wai": [1, 12, 14, 18], "waiv": 1, "waivabl": 1, "waiver": 1, "want": [0, 2, 12, 15, 17, 19], "warranti": 1, "watch": [4, 5, 6, 7, 8, 9, 10, 11], "wave": 3, "we": [12, 13, 14, 17, 19], "web": [9, 10, 16], "webp": [7, 8, 18], "weird": 16, "welcom": 0, "well": [0, 1, 4], "wep": 4, "were": [1, 14], "wg": 4, "what": [0, 2, 4], "whatev": [15, 17], "when": [0, 3, 4, 9, 15, 16], "whenev": 3, "where": [1, 3, 13, 14, 15, 16], "whether": [1, 12, 13, 14, 16], "which": [0, 1, 2, 3, 4, 9, 12, 13, 14, 15, 16], "while": 0, "white": [3, 16], "whole": 1, "why": 0, "wi": 4, "wide": [3, 13], "width": [3, 9, 14, 16], "wifi": 4, "wiki": [1, 4], "wikipedia": [3, 4], "window": [8, 17], "wipo": 1, "wireless": 20, "within": [1, 3, 18], "without": [1, 4, 12, 15, 20], "woltlab": 18, "won": [10, 13], "word": 3, "wordpress": 18, "work": [0, 1, 4, 13, 16, 20], "world": [1, 4], "worldwid": 1, "would": [3, 4, 12], "wp": 18, "wpa": 4, "wpa2": 4, "wpa3": 4, "wr": 4, "wrap": 19, "writabl": 14, "write": [0, 4], "written": 1, "www": [4, 5, 6, 7, 8, 9, 10, 11, 16], "x": [3, 4, 5, 6, 7, 10, 12, 13, 14, 16, 17, 18], "x1": 10, "x1b": 11, "xml": [10, 16, 19], "xor": 13, "xore": 3, "y": [3, 5, 6, 7, 10, 12, 13, 14, 16], "y2": 10, "yai": 13, "ye": 17, "yet": 12, "you": [0, 1, 2, 4, 9, 13, 14, 15, 16, 17, 19], "your": [0, 1, 8, 15, 17, 20], "youtub": [4, 5, 6, 7, 8, 9, 10, 11], "z": [4, 12], "zero": 3, "zip": [4, 17], "zone": [14, 16, 20], "zoom": 4, "zxing": [3, 4, 18], "\u00ecnt": 6}, "titles": ["How to contribute", "License", "Performance considerations", "Terminology", "Popular content and URI schemes", "QREps", "QRFpdf", "QRGdImage", "QRImagick", "QRMarkupHTML", "QRMarkupSVG", "QRString", "Custom QROutputInterface", "Module values", "QROutputAbstract", "Advanced usage", "Configuration settings", "Installation", "Overview", "Quickstart", "PHP-QRCode Manual"], "titleterms": {"In": 20, "add": 15, "addit": [5, 6, 7, 8, 9, 10, 11], "addlogospac": 16, "addquietzon": 16, "advanc": 15, "advertis": 18, "affect": [5, 6, 7, 8, 9, 10, 11], "align": 3, "also": 4, "an": 15, "appendix": 20, "assign": 13, "authent": 4, "base64": 15, "basic": 13, "bgcolor": 16, "bug": 0, "built": 20, "cachefil": 16, "calendar": 4, "can": 17, "capac": 3, "channel": 3, "circleradiu": 16, "class": [12, 15], "code": [3, 15, 19], "collectmodul": 14, "common": 15, "compos": 17, "configur": [4, 15, 16, 19], "connectpath": 16, "consider": 2, "contact": 4, "content": 4, "contribut": 0, "coordin": 4, "copi": 14, "correct": 3, "creat": 19, "credit": 4, "cssclass": 16, "custom": [12, 20], "darkmodul": 3, "data": [2, 3], "document": 0, "drawcircularmodul": 16, "drawlightmodul": 16, "e": 4, "ecc": [2, 3], "ecclevel": 16, "eci": 3, "effect": [5, 6, 7, 8, 9, 10, 11], "encod": 3, "eol": 16, "error": 3, "evalu": 3, "event": 4, "exampl": [5, 6, 7, 8, 9, 10], "excludefromconnect": 16, "extend": [3, 15], "extens": 17, "featur": 18, "file": 15, "finder": 3, "first": 19, "fix": 0, "format": 3, "fpdfmeasureunit": 16, "framework": 18, "from": 15, "function": 3, "gdimageuseupscal": 16, "geo": 4, "getdefaultmodulevalu": 14, "getmodulevalu": 14, "getmodulevalueat": 14, "getoutputdimens": 14, "handl": 13, "have": [5, 6, 7, 8, 9, 10, 11], "how": 0, "http": 4, "i": 17, "icalendar": 4, "imag": 15, "imagemagick": 17, "imagetranspar": 16, "imagickformat": 16, "import": 19, "inform": [3, 4], "instal": 17, "instanc": 15, "integr": 18, "interpret": 3, "invertmatrix": 16, "issu": 0, "iter": 15, "json": [11, 15, 17], "jsonasboolean": 16, "jsonflag": 16, "keepassquar": 16, "length": 14, "level": [2, 3], "librari": [17, 19], "licens": 1, "load": 15, "logo": 15, "logospaceheight": 16, "logospacestarti": 16, "logospacestartx": 16, "logospacewidth": 16, "mail": 4, "mailto": 4, "manual": [17, 20], "mask": [2, 3], "maskpattern": 16, "matrix": [3, 14], "maximum": 3, "method": [5, 6, 7, 8, 9, 10, 11, 14, 15], "mix": [3, 15], "mobil": 4, "mode": [2, 3, 15], "modul": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 20], "modulecount": 14, "modulevalu": [14, 16], "modulevalueisvalid": 14, "network": 4, "note": 19, "number": 4, "option": [5, 6, 7, 8, 9, 10, 11, 14, 15], "otpauth": 4, "output": [2, 12, 15, 20], "outputbase64": 16, "outputinterfac": 16, "overview": 18, "own": 13, "pattern": [2, 3], "perform": 2, "phone": 4, "php": [17, 20], "plain": 11, "popular": 4, "preparemodulevalu": 14, "properti": 14, "pull": 0, "qr": [3, 15, 19], "qrcode": [15, 20], "qrep": 5, "qrfpdf": 6, "qrgdimag": 7, "qrimagick": 8, "qrmarkuphtml": 9, "qrmarkupsvg": 10, "qrmatrix": 15, "qroption": [14, 15], "qroutputabstract": 14, "qroutputinterfac": [12, 13], "qrstring": 11, "qualiti": 16, "question": 0, "quickstart": 19, "quiet": 3, "quietzones": 16, "read": 19, "reader": 15, "readergrayscal": 16, "readerincreasecontrast": 16, "readerinvertcolor": 16, "readeruseimagickifavail": 16, "reflect": 3, "region": 3, "render": 15, "report": 0, "request": 0, "requir": [17, 18], "resourc": 15, "return": 15, "returnresourc": 16, "run": 12, "save": 15, "savetofil": 14, "scale": [14, 16], "scheme": 4, "see": 4, "segment": 3, "sepa": 4, "separ": 3, "set": [13, 16], "setmatrixdimens": 14, "setmodulevalu": 14, "shameless": 18, "skeleton": 12, "space": 15, "summari": 12, "suppli": 15, "support": 17, "svgaddxmlhead": 16, "svgdef": 16, "svgpreserveaspectratio": 16, "svgusefillattribut": 16, "switch": 17, "tel": 4, "termin": 17, "terminologi": 3, "text": 11, "textlinestart": 16, "thi": [5, 6, 7, 8, 9, 10, 11, 17], "time": 3, "tobase64datauri": 14, "transfer": 4, "transform": 12, "transparencycolor": 16, "uri": [4, 15], "url": 4, "us": [13, 17], "usag": [15, 20], "valu": [12, 13, 14], "vcalendar": 4, "vcard": 4, "version": [2, 3, 16, 17], "versionmax": 16, "versionmin": 16, "via": 15, "wireless": 4, "without": 17, "your": [13, 19], "zone": 3}}) \ No newline at end of file