Просмотр исходного кода

Deploying to readthedocs from @ chillerlan/php-qrcode@de3d321b00989946a06ba9f0eca7eae9e782a5b5 🚀

codemasher 1 год назад
Родитель
Сommit
c274a63c53
40 измененных файлов с 2429 добавлено и 936 удалено
  1. 22 22
      Appendix/Contribute.html
  2. 22 22
      Appendix/License.html
  3. 22 22
      Appendix/Performance-considerations.html
  4. 24 24
      Appendix/Terminology.html
  5. 22 22
      Appendix/URI-Content.html
  6. 24 53
      Built-In-Output/QREps.html
  7. 24 53
      Built-In-Output/QRFpdf.html
  8. 30 43
      Built-In-Output/QRGdImage.html
  9. 24 42
      Built-In-Output/QRImagick.html
  10. 522 0
      Built-In-Output/QRInterventionImage.html
  11. 24 24
      Built-In-Output/QRMarkupHTML.html
  12. 37 56
      Built-In-Output/QRMarkupSVG.html
  13. 515 0
      Built-In-Output/QRMarkupXML.html
  14. 460 0
      Built-In-Output/QRStringJSON.html
  15. 41 118
      Built-In-Output/QRStringText.html
  16. 22 22
      Customizing/Custom-output-interface.html
  17. 22 22
      Customizing/Module-Values.html
  18. 22 22
      Customizing/QROutputAbstract.html
  19. 22 22
      Usage/Advanced-usage.html
  20. 22 22
      Usage/Configuration-settings.html
  21. 22 22
      Usage/Installation.html
  22. 29 25
      Usage/Overview.html
  23. 22 22
      Usage/Quickstart.html
  24. 3 13
      _sources/Built-In-Output/QREps.md.txt
  25. 2 13
      _sources/Built-In-Output/QRFpdf.md.txt
  26. 12 18
      _sources/Built-In-Output/QRGdImage.md.txt
  27. 0 8
      _sources/Built-In-Output/QRImagick.md.txt
  28. 102 0
      _sources/Built-In-Output/QRInterventionImage.md.txt
  29. 7 14
      _sources/Built-In-Output/QRMarkupSVG.md.txt
  30. 104 0
      _sources/Built-In-Output/QRMarkupXML.md.txt
  31. 0 98
      _sources/Built-In-Output/QRString.md.txt
  32. 50 0
      _sources/Built-In-Output/QRStringJSON.md.txt
  33. 57 0
      _sources/Built-In-Output/QRStringText.md.txt
  34. 3 2
      _sources/Usage/Overview.md.txt
  35. 4 1
      _sources/index.rst.txt
  36. 22 22
      genindex.html
  37. 45 45
      index.html
  38. BIN
      objects.inv
  39. 22 22
      search.html
  40. 0 0
      searchindex.js

+ 22 - 22
Appendix/Contribute.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Appendix/License.html

@@ -199,37 +199,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -244,20 +238,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Appendix/Performance-considerations.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 24 - 24
Appendix/Terminology.html

@@ -23,7 +23,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Popular content and URI schemes" href="URI-Content.html" />
-    <link rel="prev" title="QRString" href="../Built-In-Output/QRString.html" /> 
+    <link rel="prev" title="QRStringText" href="../Built-In-Output/QRStringText.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -818,7 +818,7 @@ reflectance reversal therefore means a light image on dark background (example o
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="../Built-In-Output/QRString.html" class="btn btn-neutral float-left" title="QRString" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../Built-In-Output/QRStringText.html" class="btn btn-neutral float-left" title="QRStringText" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="URI-Content.html" class="btn btn-neutral float-right" title="Popular content and URI schemes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 

+ 22 - 22
Appendix/URI-Content.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 24 - 53
Built-In-Output/QREps.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -362,7 +362,8 @@
              
   <section id="qreps">
 <h1>QREps<a class="headerlink" href="#qreps" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php">Class <code class="docutils literal notranslate"><span class="pre">QREps</span></code></a>: <a class="reference external" href="https://en.wikipedia.org/wiki/Encapsulated_PostScript">Encapsulated Postscript</a> (EPS) output.</p>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php">Class <code class="docutils literal notranslate"><span class="pre">QREps</span></code></a>:
+<a class="reference external" href="https://en.wikipedia.org/wiki/Encapsulated_PostScript">Encapsulated Postscript</a> (EPS) output.</p>
 <section id="example">
 <h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
 <p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/eps.php">EPS example</a></p>
@@ -449,36 +450,6 @@
 </tr>
 </tbody>
 </table>
-<section id="options-that-have-no-effect">
-<h3>Options that have no effect<a class="headerlink" href="#options-that-have-no-effect" title="Link to this heading"></a></h3>
-<table class="docutils align-default">
-<thead>
-<tr class="row-odd"><th class="head"><p>property</p></th>
-<th class="head"><p>reason</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p>not implemented</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
-<td><p>not implemented</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
-<td><p>not implemented</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-</tbody>
-</table>
-</section>
 </section>
 </section>
 

+ 24 - 53
Built-In-Output/QRFpdf.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -362,7 +362,8 @@
              
   <section id="qrfpdf">
 <h1>QRFpdf<a class="headerlink" href="#qrfpdf" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRFpdf.php">Class <code class="docutils literal notranslate"><span class="pre">QRFpdf</span></code></a>: <a class="reference external" href="https://en.wikipedia.org/wiki/PDF">Portable Document Format</a> (PDF) output via <a class="reference external" href="https://github.com/setasign/fpdf">FPDF</a></p>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRFpdf.php">Class <code class="docutils literal notranslate"><span class="pre">QRFpdf</span></code></a>:
+<a class="reference external" href="https://en.wikipedia.org/wiki/PDF">Portable Document Format</a> (PDF) output via <a class="reference external" href="https://github.com/setasign/fpdf">FPDF</a>.</p>
 <section id="example">
 <h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
 <p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/fpdf.php">FPDF example</a></p>
@@ -457,36 +458,6 @@
 </tr>
 </tbody>
 </table>
-<section id="options-that-have-no-effect">
-<h3>Options that have no effect<a class="headerlink" href="#options-that-have-no-effect" title="Link to this heading"></a></h3>
-<table class="docutils align-default">
-<thead>
-<tr class="row-odd"><th class="head"><p>property</p></th>
-<th class="head"><p>reason</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-</tbody>
-</table>
-</section>
 </section>
 </section>
 

+ 30 - 43
Built-In-Output/QRGdImage.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -362,7 +362,8 @@
              
   <section id="qrgdimage">
 <h1>QRGdImage<a class="headerlink" href="#qrgdimage" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRGdImage.php">Class <code class="docutils literal notranslate"><span class="pre">QRGdImage</span></code></a>: <a class="reference external" href="https://www.php.net/manual/book.image">GdImage</a> raster graphic output (GIF, JPG, PNG)</p>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRGdImage.php">Class <code class="docutils literal notranslate"><span class="pre">QRGdImage</span></code></a>:
+<a class="reference external" href="https://www.php.net/manual/book.image">GdImage</a> raster graphic output (GIF, JPG, PNG, …)</p>
 <section id="example">
 <h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
 <p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/image.php">GdImage example</a></p>
@@ -405,10 +406,10 @@
 <span class="nb">printf</span><span class="p">(</span><span class="s1">&#39;&lt;img alt=&quot;%s&quot; src=&quot;%s&quot; /&gt;&#39;</span><span class="p">,</span> <span class="nv">$alt</span><span class="p">,</span> <span class="nv">$out</span><span class="p">);</span>
 </pre></div>
 </div>
-<p>Return the <code class="docutils literal notranslate"><span class="pre">GdImage</span></code> instance/resource (will ignore other output options):</p>
+<p>Return the <code class="docutils literal notranslate"><span class="pre">GdImage</span></code> instance (will ignore other output options):</p>
 <div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span><span class="o">-&gt;</span><span class="na">returnResource</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
 
-<span class="sd">/** @var \GdImage|resource $gdImage */</span>
+<span class="sd">/** @var \GdImage $gdImage */</span>
 <span class="nv">$gdImage</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
 
 <span class="c1">// do stuff with the GdImage instance...</span>
@@ -453,6 +454,10 @@
 <td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
 <td><p>Sets the transparency color</p></td>
 </tr>
+<tr class="row-odd"><td><p>(abstract protected) <code class="docutils literal notranslate"><span class="pre">renderImage()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Renders the image with the gdimage function for the desired output, implemented by child classes</p></td>
+</tr>
 </tbody>
 </table>
 </section>
@@ -500,24 +505,6 @@
 </tr>
 </tbody>
 </table>
-<section id="options-that-have-no-effect">
-<h3>Options that have no effect<a class="headerlink" href="#options-that-have-no-effect" title="Link to this heading"></a></h3>
-<table class="docutils align-default">
-<thead>
-<tr class="row-odd"><th class="head"><p>property</p></th>
-<th class="head"><p>reason</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-</tbody>
-</table>
-</section>
 </section>
 </section>
 

+ 24 - 42
Built-In-Output/QRImagick.html

@@ -22,7 +22,7 @@
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="QRMarkupHTML" href="QRMarkupHTML.html" />
+    <link rel="next" title="QRInterventionImage" href="QRInterventionImage.html" />
     <link rel="prev" title="QRGdImage" href="QRGdImage.html" /> 
 </head>
 
@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -503,24 +503,6 @@
 </tr>
 </tbody>
 </table>
-<section id="options-that-have-no-effect">
-<h3>Options that have no effect<a class="headerlink" href="#options-that-have-no-effect" title="Link to this heading"></a></h3>
-<table class="docutils align-default">
-<thead>
-<tr class="row-odd"><th class="head"><p>property</p></th>
-<th class="head"><p>reason</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-</tbody>
-</table>
-</section>
 </section>
 </section>
 
@@ -529,7 +511,7 @@
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="QRGdImage.html" class="btn btn-neutral float-left" title="QRGdImage" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="QRMarkupHTML.html" class="btn btn-neutral float-right" title="QRMarkupHTML" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="QRInterventionImage.html" class="btn btn-neutral float-right" title="QRInterventionImage" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>

+ 522 - 0
Built-In-Output/QRInterventionImage.html

@@ -0,0 +1,522 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>QRInterventionImage &mdash; PHP-QRCode main
+ Manual</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a8da1a53"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="QRMarkupHTML" href="QRMarkupHTML.html" />
+    <link rel="prev" title="QRImagick" href="QRImagick.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html" class="icon icon-home">
+            PHP-QRCode
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Usage</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Overview.html">Overview</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#features">Features</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#requirements">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#framework-integration">Framework Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#shameless-advertising">Shameless advertising</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Installation.html">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#installation-with-composer">Installation with Composer</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#composer-json">composer.json</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../Usage/Installation.html#version-switch">Version switch</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#terminal">Terminal</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#manual-installation">Manual installation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#can-i-use-this-library-without-using-composer">Can i use this library without using composer?</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#supported-php-versions-extension-requirements">Supported PHP versions &amp; extension requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#imagemagick">ImageMagick</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Quickstart.html">Quickstart</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#import-the-library">Import the library</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#create-your-first-qr-code">Create your first QR Code</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Quickstart.html#configuration">Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#reading-qr-codes">Reading QR Codes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#notes">Notes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Advanced-usage.html">Advanced usage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#configuration-via-qroptions">Configuration via <code class="docutils literal notranslate"><span class="pre">QROptions</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#supply-an-iterable-of-options">Supply an <code class="docutils literal notranslate"><span class="pre">iterable</span></code> of options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#load-and-save-options-from-to-json">Load and save options from/to JSON</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#extending-the-qroptions-class">Extending the <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> class</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#qrcode-methods"><code class="docutils literal notranslate"><span class="pre">QRCode</span></code> methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#render-a-qrmatrix-instance">Render a <code class="docutils literal notranslate"><span class="pre">QRMatrix</span></code> instance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#mixed-mode">Mixed mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#qr-code-reader">QR Code reader</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#common-output-options">Common output options</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#save-to-file">Save to file</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#base64-uri-output">Base64 URI output</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#return-the-image-resource">Return the image resource</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#add-a-logo-space">Add a logo space</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Configuration-settings.html">Configuration settings</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#version">version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmin">versionMin</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmax">versionMax</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#ecclevel">eccLevel</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#eol">eol</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#bgcolor">bgColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#invertmatrix">invertMatrix</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawlightmodules">drawLightModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawcircularmodules">drawCircularModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#circleradius">circleRadius</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#keepassquare">keepAsSquare</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#connectpaths">connectPaths</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#excludefromconnect">excludeFromConnect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#modulevalues">moduleValues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addlogospace">addLogoSpace</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacewidth">logoSpaceWidth</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospaceheight">logoSpaceHeight</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestartx">logoSpaceStartX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestarty">logoSpaceStartY</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#scale">scale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparent">imageTransparent</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#transparencycolor">transparencyColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quality">quality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#gdimageuseupscale">gdImageUseUpscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickformat">imagickFormat</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cssclass">cssClass</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgaddxmlheader">svgAddXmlHeader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgdefs">svgDefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgpreserveaspectratio">svgPreserveAspectRatio</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgusefillattributes">svgUseFillAttributes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#textlinestart">textLineStart</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jsonflags">jsonFlags</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#fpdfmeasureunit">fpdfMeasureUnit</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#xmlstylesheet">xmlStylesheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readeruseimagickifavailable">readerUseImagickIfAvailable</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Customizing output</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Module-Values.html">Module values</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#basics">Basics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#assigning-values">Assigning values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#handling-in-your-own-qroutputinterface">Handling in your own <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#setting-module-values">Setting module values</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#using-the-module-values">Using the module values</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/QROutputAbstract.html"><code class="docutils literal notranslate"><span class="pre">QROutputAbstract</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#properties">Properties</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#options-and-matrix"><code class="docutils literal notranslate"><span class="pre">$options</span></code> and <code class="docutils literal notranslate"><span class="pre">$matrix</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulecount-scale-and-length"><code class="docutils literal notranslate"><span class="pre">$moduleCount</span></code>, <code class="docutils literal notranslate"><span class="pre">$scale</span></code> and <code class="docutils literal notranslate"><span class="pre">$length</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalues"><code class="docutils literal notranslate"><span class="pre">$moduleValues</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#copies-of-qroptions-values">Copies of <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> values</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#methods">Methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmodulevalues"><code class="docutils literal notranslate"><span class="pre">setModuleValues()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalueisvalid"><code class="docutils literal notranslate"><span class="pre">moduleValueIsValid()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#preparemodulevalue"><code class="docutils literal notranslate"><span class="pre">prepareModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getdefaultmodulevalue"><code class="docutils literal notranslate"><span class="pre">getDefaultModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getmodulevalue-and-getmodulevalueat"><code class="docutils literal notranslate"><span class="pre">getModuleValue()</span></code> and <code class="docutils literal notranslate"><span class="pre">getModuleValueAt()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmatrixdimensions"><code class="docutils literal notranslate"><span class="pre">setMatrixDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getoutputdimensions"><code class="docutils literal notranslate"><span class="pre">getOutputDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#collectmodules"><code class="docutils literal notranslate"><span class="pre">collectModules()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#savetofile-and-tobase64datauri"><code class="docutils literal notranslate"><span class="pre">saveToFile()</span></code> and <code class="docutils literal notranslate"><span class="pre">toBase64DataURI()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Custom-output-interface.html">Custom <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#class-skeleton">Class skeleton</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#module-values">Module values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#transform-the-output">Transform the output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#run-the-custom-output">Run the custom output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#summary">Summary</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#module">Module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#version">Version</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#function-patterns">Function Patterns</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#finder-pattern">Finder Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#alignment-pattern">Alignment Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#timing-pattern">Timing Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#separators">Separators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#quiet-zone">Quiet Zone</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#encoding-region">Encoding Region</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#data">Data</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#version-information">Version Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#format-information">Format Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#darkmodule">Darkmodule</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#mode">Mode</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#segment">Segment</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#extended-channel-interpretation-eci">Extended Channel Interpretation (ECI)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#mixed-mode">Mixed Mode</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#ecc-error-correction-coding">ECC (Error Correction Coding)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#ecc-level">ECC Level</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#maximum-data-capacity">Maximum data capacity</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#data-masking">Data masking</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#evaluation">Evaluation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#mask-pattern">Mask pattern</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#reflectance">Reflectance</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/URI-Content.html">Popular content and URI schemes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#url-https">URL <code class="docutils literal notranslate"><span class="pre">https</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#e-mail-mailto">E-Mail <code class="docutils literal notranslate"><span class="pre">mailto</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#phone-numbers-tel">Phone numbers <code class="docutils literal notranslate"><span class="pre">tel</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#geo-coordinates-geo">Geo Coordinates <code class="docutils literal notranslate"><span class="pre">geo</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#mobile-authenticators-otpauth">Mobile Authenticators <code class="docutils literal notranslate"><span class="pre">otpauth</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#wireless-network-configuration">Wireless Network configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#contact-information-vcard">Contact information: vCard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#calendar-events-vcalendar-and-icalendar">Calendar Events: vCalendar and iCalendar</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#sepa-credit-transfer">SEPA Credit Transfer</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">PHP-QRCode</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">QRInterventionImage</li>
+      <li class="wy-breadcrumbs-aside">
+              <a href="https://github.com/chillerlan/php-qrcode/blob/main/docs/Built-In-Output/QRInterventionImage.md" class="fa fa-github"> Edit on GitHub</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="qrinterventionimage">
+<h1>QRInterventionImage<a class="headerlink" href="#qrinterventionimage" title="Link to this heading"></a></h1>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRInterventionImage.php">Class <code class="docutils literal notranslate"><span class="pre">QRInterventionImage</span></code></a>:
+<a class="reference external" href="https://image.intervention.io/">intervention/image</a> alternative GD/ImageMagick output.</p>
+<p><em><strong>Note:</strong> this output class works significantly slower than the native GD/Imagick output classes due to the several underlying abstraction layers. Use only if you must.</em></p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/intervention-image.php">intervention/image example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputInterface</span>     <span class="o">=</span> <span class="nx">QRInterventionImage</span><span class="o">::</span><span class="na">class</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">scale</span>               <span class="o">=</span> <span class="mi">20</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">bgColor</span>             <span class="o">=</span> <span class="s1">&#39;#ccccaa&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">imageTransparent</span>    <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">transparencyColor</span>   <span class="o">=</span> <span class="s1">&#39;#ccccaa&#39;</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span>    <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawCircularModules</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">circleRadius</span>        <span class="o">=</span> <span class="mf">0.4</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">keepAsSquare</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span><span class="p">,</span>
+<span class="p">];</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>        <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="s1">&#39;#FFBFBF&#39;</span><span class="p">,</span> <span class="c1">// light (false)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="s1">&#39;#A70364&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="s1">&#39;#FFC9C9&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION_DARK</span>   <span class="o">=&gt;</span> <span class="s1">&#39;#650098&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION</span>        <span class="o">=&gt;</span> <span class="s1">&#39;#E0B8FF&#39;</span><span class="p">,</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>Render the output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; data:image/png;base64,...</span>
+
+<span class="nb">printf</span><span class="p">(</span><span class="s1">&#39;&lt;img alt=&quot;%s&quot; src=&quot;%s&quot; /&gt;&#39;</span><span class="p">,</span> <span class="nv">$alt</span><span class="p">,</span> <span class="nv">$out</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>Return the <code class="docutils literal notranslate"><span class="pre">ImageInterface</span></code> instance (will ignore other output options):</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span><span class="o">-&gt;</span><span class="na">returnResource</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span>
+
+<span class="sd">/** @var \Intervention\Image\Interfaces\ImageInterface $image */</span>
+<span class="nv">$image</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
+
+<span class="c1">// do stuff with the ImageInterface instance...</span>
+
+<span class="c1">// ...dump output</span>
+
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: image/png&#39;</span><span class="p">);</span>
+
+<span class="k">echo</span> <span class="nv">$image</span><span class="o">-&gt;</span><span class="na">toPng</span><span class="p">()</span><span class="o">-&gt;</span><span class="na">toString</span><span class="p">();</span>
+</pre></div>
+</div>
+<p>Set a different driver in the internal <code class="docutils literal notranslate"><span class="pre">ImageManager</span></code> instance (the internal detection order is: 1. GD, 2. Imagick):</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$qrOutputInterface</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QRInterventionImage</span><span class="p">(</span><span class="nv">$options</span><span class="p">,</span> <span class="nv">$matrix</span><span class="p">);</span>
+<span class="c1">// set a different driver</span>
+<span class="nv">$qrOutputInterface</span><span class="o">-&gt;</span><span class="na">setDriver</span><span class="p">(</span><span class="k">new</span> <span class="nx">\Intervention\Image\Drivers\Imagick\Driver</span><span class="p">);</span>
+<span class="c1">// dump output</span>
+<span class="nv">$out</span> <span class="o">=</span> <span class="nv">$qrOutputInterface</span><span class="o">-&gt;</span><span class="na">dump</span><span class="p">();</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">setDriver(DriverInterface</span> <span class="pre">$driver)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">static</span></code></p></td>
+<td><p>Sets a DriverInterface, see <a class="reference external" href="https://image.intervention.io/v3/basics/instantiation">instantiation (intervention.io)</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">void</span></code></p></td>
+<td><p>Draws a single pixel at the given position</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="options-that-affect-this-module">
+<h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>property</p></th>
+<th class="head"><p>type</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">array</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$transparencyColor</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">mixed</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="QRImagick.html" class="btn btn-neutral float-left" title="QRImagick" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="QRMarkupHTML.html" class="btn btn-neutral float-right" title="QRMarkupHTML" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, smiley.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>

+ 24 - 24
Built-In-Output/QRMarkupHTML.html

@@ -23,7 +23,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="QRMarkupSVG" href="QRMarkupSVG.html" />
-    <link rel="prev" title="QRImagick" href="QRImagick.html" /> 
+    <link rel="prev" title="QRInterventionImage" href="QRInterventionImage.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -515,7 +515,7 @@ As a general rule: if you plan to display the QR Code in a web browser, you shou
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="QRImagick.html" class="btn btn-neutral float-left" title="QRImagick" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="QRInterventionImage.html" class="btn btn-neutral float-left" title="QRInterventionImage" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="QRMarkupSVG.html" class="btn btn-neutral float-right" title="QRMarkupSVG" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 

+ 37 - 56
Built-In-Output/QRMarkupSVG.html

@@ -22,7 +22,7 @@
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="QRString" href="QRString.html" />
+    <link rel="next" title="QRMarkupXML" href="QRMarkupXML.html" />
     <link rel="prev" title="QRMarkupHTML" href="QRMarkupHTML.html" /> 
 </head>
 
@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1 current"><a class="current reference internal" href="#">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -362,10 +362,11 @@
              
   <section id="qrmarkupsvg">
 <h1>QRMarkupSVG<a class="headerlink" href="#qrmarkupsvg" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupSVG.php">Class <code class="docutils literal notranslate"><span class="pre">QRMarkupSVG</span></code></a>: <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/SVG">Scalable Vector Graphics</a> (SVG) output</p>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupSVG.php">Class <code class="docutils literal notranslate"><span class="pre">QRMarkupSVG</span></code></a>:
+<a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/SVG">Scalable Vector Graphics</a> (SVG) output.</p>
 <section id="example">
 <h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
-<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/imagick.php">ImageMagick example</a></p>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/svg.php">SVG example</a></p>
 <p>Set the options:</p>
 <div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
 
@@ -426,13 +427,13 @@
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p>returns a string with all css classes for the current element</p></td>
 </tr>
-<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">header()</span></code></p></td>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">getViewBox()</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-<td><p>returns the <code class="docutils literal notranslate"><span class="pre">&lt;svg&gt;</span></code> header with the given options parsed</p></td>
+<td><p>returns the value for the SVG viewBox attribute</p></td>
 </tr>
-<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">header()</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-<td><p>returns a path segment for a single module</p></td>
+<td><p>returns the <code class="docutils literal notranslate"><span class="pre">&lt;svg&gt;</span></code> header with the given options parsed</p></td>
 </tr>
 <tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">path(string</span> <span class="pre">$path,</span> <span class="pre">int</span> <span class="pre">$M_TYPE)</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
@@ -442,11 +443,15 @@
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p>returns one or more SVG <code class="docutils literal notranslate"><span class="pre">&lt;path&gt;</span></code> elements</p></td>
 </tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+<td><p>returns a path segment for a single module</p></td>
+</tr>
 </tbody>
 </table>
 </section>
-<section id="options-that-affect-this-module">
-<h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
+<section id="options-that-affect-this-class">
+<h2>Options that affect this class<a class="headerlink" href="#options-that-affect-this-class" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
 <thead>
 <tr class="row-odd"><th class="head"><p>property</p></th>
@@ -501,30 +506,6 @@
 </tr>
 </tbody>
 </table>
-<section id="options-that-have-no-effect">
-<h3>Options that have no effect<a class="headerlink" href="#options-that-have-no-effect" title="Link to this heading"></a></h3>
-<table class="docutils align-default">
-<thead>
-<tr class="row-odd"><th class="head"><p>property</p></th>
-<th class="head"><p>reason</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
-<td><p>background color can be achieved via CSS, attributes or the <code class="docutils literal notranslate"><span class="pre">&lt;defs&gt;</span></code> element, see also <a class="reference external" href="https://github.com/chillerlan/php-qrcode/discussions/199#discussioncomment-5747471">php-qrcode/discussions/199 (comment)</a></p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
-<td><p>SVG is - similar to a HTML element - transparent by default</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code> (pixel size of a qr module) is intended for raster image types, use <code class="docutils literal notranslate"><span class="pre">$svgViewBoxSize</span></code> instead</p></td>
-</tr>
-</tbody>
-</table>
-</section>
 </section>
 </section>
 
@@ -533,7 +514,7 @@
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="QRMarkupHTML.html" class="btn btn-neutral float-left" title="QRMarkupHTML" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="QRString.html" class="btn btn-neutral float-right" title="QRString" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="QRMarkupXML.html" class="btn btn-neutral float-right" title="QRMarkupXML" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>

+ 515 - 0
Built-In-Output/QRMarkupXML.html

@@ -0,0 +1,515 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>QRMarkupXML &mdash; PHP-QRCode main
+ Manual</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a8da1a53"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="QRStringJSON" href="QRStringJSON.html" />
+    <link rel="prev" title="QRMarkupSVG" href="QRMarkupSVG.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html" class="icon icon-home">
+            PHP-QRCode
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Usage</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Overview.html">Overview</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#features">Features</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#requirements">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#framework-integration">Framework Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#shameless-advertising">Shameless advertising</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Installation.html">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#installation-with-composer">Installation with Composer</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#composer-json">composer.json</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../Usage/Installation.html#version-switch">Version switch</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#terminal">Terminal</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#manual-installation">Manual installation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#can-i-use-this-library-without-using-composer">Can i use this library without using composer?</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#supported-php-versions-extension-requirements">Supported PHP versions &amp; extension requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#imagemagick">ImageMagick</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Quickstart.html">Quickstart</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#import-the-library">Import the library</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#create-your-first-qr-code">Create your first QR Code</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Quickstart.html#configuration">Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#reading-qr-codes">Reading QR Codes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#notes">Notes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Advanced-usage.html">Advanced usage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#configuration-via-qroptions">Configuration via <code class="docutils literal notranslate"><span class="pre">QROptions</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#supply-an-iterable-of-options">Supply an <code class="docutils literal notranslate"><span class="pre">iterable</span></code> of options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#load-and-save-options-from-to-json">Load and save options from/to JSON</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#extending-the-qroptions-class">Extending the <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> class</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#qrcode-methods"><code class="docutils literal notranslate"><span class="pre">QRCode</span></code> methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#render-a-qrmatrix-instance">Render a <code class="docutils literal notranslate"><span class="pre">QRMatrix</span></code> instance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#mixed-mode">Mixed mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#qr-code-reader">QR Code reader</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#common-output-options">Common output options</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#save-to-file">Save to file</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#base64-uri-output">Base64 URI output</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#return-the-image-resource">Return the image resource</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#add-a-logo-space">Add a logo space</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Configuration-settings.html">Configuration settings</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#version">version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmin">versionMin</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmax">versionMax</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#ecclevel">eccLevel</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#eol">eol</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#bgcolor">bgColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#invertmatrix">invertMatrix</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawlightmodules">drawLightModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawcircularmodules">drawCircularModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#circleradius">circleRadius</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#keepassquare">keepAsSquare</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#connectpaths">connectPaths</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#excludefromconnect">excludeFromConnect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#modulevalues">moduleValues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addlogospace">addLogoSpace</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacewidth">logoSpaceWidth</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospaceheight">logoSpaceHeight</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestartx">logoSpaceStartX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestarty">logoSpaceStartY</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#scale">scale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparent">imageTransparent</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#transparencycolor">transparencyColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quality">quality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#gdimageuseupscale">gdImageUseUpscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickformat">imagickFormat</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cssclass">cssClass</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgaddxmlheader">svgAddXmlHeader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgdefs">svgDefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgpreserveaspectratio">svgPreserveAspectRatio</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgusefillattributes">svgUseFillAttributes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#textlinestart">textLineStart</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jsonflags">jsonFlags</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#fpdfmeasureunit">fpdfMeasureUnit</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#xmlstylesheet">xmlStylesheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readeruseimagickifavailable">readerUseImagickIfAvailable</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Customizing output</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Module-Values.html">Module values</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#basics">Basics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#assigning-values">Assigning values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#handling-in-your-own-qroutputinterface">Handling in your own <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#setting-module-values">Setting module values</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#using-the-module-values">Using the module values</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/QROutputAbstract.html"><code class="docutils literal notranslate"><span class="pre">QROutputAbstract</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#properties">Properties</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#options-and-matrix"><code class="docutils literal notranslate"><span class="pre">$options</span></code> and <code class="docutils literal notranslate"><span class="pre">$matrix</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulecount-scale-and-length"><code class="docutils literal notranslate"><span class="pre">$moduleCount</span></code>, <code class="docutils literal notranslate"><span class="pre">$scale</span></code> and <code class="docutils literal notranslate"><span class="pre">$length</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalues"><code class="docutils literal notranslate"><span class="pre">$moduleValues</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#copies-of-qroptions-values">Copies of <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> values</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#methods">Methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmodulevalues"><code class="docutils literal notranslate"><span class="pre">setModuleValues()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalueisvalid"><code class="docutils literal notranslate"><span class="pre">moduleValueIsValid()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#preparemodulevalue"><code class="docutils literal notranslate"><span class="pre">prepareModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getdefaultmodulevalue"><code class="docutils literal notranslate"><span class="pre">getDefaultModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getmodulevalue-and-getmodulevalueat"><code class="docutils literal notranslate"><span class="pre">getModuleValue()</span></code> and <code class="docutils literal notranslate"><span class="pre">getModuleValueAt()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmatrixdimensions"><code class="docutils literal notranslate"><span class="pre">setMatrixDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getoutputdimensions"><code class="docutils literal notranslate"><span class="pre">getOutputDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#collectmodules"><code class="docutils literal notranslate"><span class="pre">collectModules()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#savetofile-and-tobase64datauri"><code class="docutils literal notranslate"><span class="pre">saveToFile()</span></code> and <code class="docutils literal notranslate"><span class="pre">toBase64DataURI()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Custom-output-interface.html">Custom <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#class-skeleton">Class skeleton</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#module-values">Module values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#transform-the-output">Transform the output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#run-the-custom-output">Run the custom output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#summary">Summary</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#module">Module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#version">Version</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#function-patterns">Function Patterns</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#finder-pattern">Finder Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#alignment-pattern">Alignment Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#timing-pattern">Timing Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#separators">Separators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#quiet-zone">Quiet Zone</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#encoding-region">Encoding Region</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#data">Data</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#version-information">Version Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#format-information">Format Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#darkmodule">Darkmodule</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#mode">Mode</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#segment">Segment</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#extended-channel-interpretation-eci">Extended Channel Interpretation (ECI)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#mixed-mode">Mixed Mode</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#ecc-error-correction-coding">ECC (Error Correction Coding)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#ecc-level">ECC Level</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#maximum-data-capacity">Maximum data capacity</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#data-masking">Data masking</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#evaluation">Evaluation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#mask-pattern">Mask pattern</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#reflectance">Reflectance</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/URI-Content.html">Popular content and URI schemes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#url-https">URL <code class="docutils literal notranslate"><span class="pre">https</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#e-mail-mailto">E-Mail <code class="docutils literal notranslate"><span class="pre">mailto</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#phone-numbers-tel">Phone numbers <code class="docutils literal notranslate"><span class="pre">tel</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#geo-coordinates-geo">Geo Coordinates <code class="docutils literal notranslate"><span class="pre">geo</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#mobile-authenticators-otpauth">Mobile Authenticators <code class="docutils literal notranslate"><span class="pre">otpauth</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#wireless-network-configuration">Wireless Network configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#contact-information-vcard">Contact information: vCard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#calendar-events-vcalendar-and-icalendar">Calendar Events: vCalendar and iCalendar</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#sepa-credit-transfer">SEPA Credit Transfer</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">PHP-QRCode</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">QRMarkupXML</li>
+      <li class="wy-breadcrumbs-aside">
+              <a href="https://github.com/chillerlan/php-qrcode/blob/main/docs/Built-In-Output/QRMarkupXML.md" class="fa fa-github"> Edit on GitHub</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="qrmarkupxml">
+<h1>QRMarkupXML<a class="headerlink" href="#qrmarkupxml" title="Link to this heading"></a></h1>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupXML.php">Class <code class="docutils literal notranslate"><span class="pre">QRMarkupXML</span></code></a>: <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/XML">eXtensible Markup Language</a> (XML) output</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/xml.php">XML example</a></p>
+<p>Set the options:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputInterface</span>  <span class="o">=</span> <span class="nx">QRMarkupXML</span><span class="o">::</span><span class="na">class</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputBase64</span>     <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+<span class="c1">// if set to false, the light modules won&#39;t be included in the output</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">drawLightModules</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
+
+<span class="c1">// assign an XSLT stylesheet</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">xmlStylesheet</span>    <span class="o">=</span> <span class="s1">&#39;./qrcode.style.xsl&#39;</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">moduleValues</span>     <span class="o">=</span> <span class="p">[</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DARK</span>    <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER_DOT</span>     <span class="o">=&gt;</span> <span class="s1">&#39;#A71111&#39;</span><span class="p">,</span> <span class="c1">// finder dot, dark (true)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_FINDER</span>         <span class="o">=&gt;</span> <span class="s1">&#39;#FFBFBF&#39;</span><span class="p">,</span> <span class="c1">// light (false)</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT_DARK</span> <span class="o">=&gt;</span> <span class="s1">&#39;#A70364&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_ALIGNMENT</span>      <span class="o">=&gt;</span> <span class="s1">&#39;#FFC9C9&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION_DARK</span>   <span class="o">=&gt;</span> <span class="s1">&#39;#650098&#39;</span><span class="p">,</span>
+	<span class="nx">QRMatrix</span><span class="o">::</span><span class="na">M_VERSION</span>        <span class="o">=&gt;</span> <span class="s1">&#39;#E0B8FF&#39;</span><span class="p">,</span>
+<span class="p">];</span>
+</pre></div>
+</div>
+<p>The XSLT stylesheet <code class="docutils literal notranslate"><span class="pre">qrcode.style.xsl</span></code>:</p>
+<div class="highlight-XSLT notranslate"><div class="highlight"><pre><span></span><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
+<span class="cm">&lt;!-- XSLT style for the XML output example --&gt;</span>
+<span class="k">&lt;xsl:stylesheet</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;1.0&quot;</span><span class="w"> </span><span class="na">xmlns:xsl=</span><span class="s">&quot;http://www.w3.org/1999/XSL/Transform&quot;</span><span class="nt">&gt;</span>
+<span class="w">	</span><span class="k">&lt;xsl:output</span><span class="w"> </span><span class="na">method=</span><span class="s">&quot;xml&quot;</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;1.0&quot;</span><span class="w"> </span><span class="na">encoding=</span><span class="s">&quot;UTF-8&quot;</span><span class="w"> </span><span class="na">indent=</span><span class="s">&quot;yes&quot;</span><span class="nt">/&gt;</span>
+<span class="w">	</span><span class="k">&lt;xsl:template</span><span class="w"> </span><span class="na">match=</span><span class="s">&quot;/&quot;</span><span class="nt">&gt;</span>
+<span class="w">		</span><span class="cm">&lt;!-- SVG header --&gt;</span>
+<span class="w">		</span><span class="nt">&lt;svg</span><span class="w"> </span><span class="na">xmlns=</span><span class="s">&quot;http://www.w3.org/2000/svg&quot;</span>
+<span class="w">		     </span><span class="na">version=</span><span class="s">&quot;1.0&quot;</span>
+<span class="w">		     </span><span class="na">viewBox=</span><span class="s">&quot;0 0 {qrcode/matrix/@width} {qrcode/matrix/@height}&quot;</span>
+<span class="w">		     </span><span class="na">preserveAspectRatio=</span><span class="s">&quot;xMidYMid&quot;</span>
+<span class="w">		</span><span class="nt">&gt;</span>
+<span class="w">			</span><span class="cm">&lt;!--</span>
+<span class="cm">				path for a single module</span>
+<span class="cm">				we could define a path for each layer and use the @layer attribute for selection,</span>
+<span class="cm">				but that would exaggerate this example</span>
+<span class="cm">			--&gt;</span>
+<span class="w">			</span><span class="nt">&lt;symbol</span><span class="w"> </span><span class="na">id=</span><span class="s">&quot;module&quot;</span><span class="w"> </span><span class="na">width=</span><span class="s">&quot;1&quot;</span><span class="w"> </span><span class="na">height=</span><span class="s">&quot;1&quot;</span><span class="nt">&gt;</span>
+<span class="w">				</span><span class="nt">&lt;circle</span><span class="w"> </span><span class="na">cx=</span><span class="s">&quot;0.5&quot;</span><span class="w"> </span><span class="na">cy=</span><span class="s">&quot;0.5&quot;</span><span class="w"> </span><span class="na">r=</span><span class="s">&quot;0.4&quot;</span><span class="w"> </span><span class="nt">/&gt;</span>
+<span class="w">			</span><span class="nt">&lt;/symbol&gt;</span>
+<span class="w">			</span><span class="cm">&lt;!-- loop over the rows --&gt;</span>
+<span class="w">			</span><span class="k">&lt;xsl:for-each</span><span class="w"> </span><span class="na">select=</span><span class="s">&quot;qrcode/matrix/row&quot;</span><span class="nt">&gt;</span>
+<span class="w">				</span><span class="cm">&lt;!-- set a variable for $y (vertical) --&gt;</span>
+<span class="w">				</span><span class="k">&lt;xsl:variable</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;y&quot;</span><span class="w"> </span><span class="na">select=</span><span class="s">&quot;@y&quot;</span><span class="nt">/&gt;</span>
+<span class="w">				</span><span class="k">&lt;xsl:for-each</span><span class="w"> </span><span class="na">select=</span><span class="s">&quot;module&quot;</span><span class="nt">&gt;</span>
+<span class="w">					</span><span class="cm">&lt;!-- set a variable for $x (horizontal) --&gt;</span>
+<span class="w">					</span><span class="k">&lt;xsl:variable</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;x&quot;</span><span class="w"> </span><span class="na">select=</span><span class="s">&quot;@x&quot;</span><span class="nt">/&gt;</span>
+<span class="w">					</span><span class="cm">&lt;!-- draw only dark modules --&gt;</span>
+<span class="w">					</span><span class="k">&lt;xsl:if</span><span class="w"> </span><span class="na">test=</span><span class="s">&quot;@dark=&#39;true&#39;&quot;</span><span class="nt">&gt;</span>
+<span class="w">						</span><span class="cm">&lt;!-- position the module and set its fill color --&gt;</span>
+<span class="w">						</span><span class="nt">&lt;use</span><span class="w"> </span><span class="na">href=</span><span class="s">&quot;#module&quot;</span><span class="w"> </span><span class="na">class=</span><span class="s">&quot;{@layer}&quot;</span><span class="w"> </span><span class="na">x=</span><span class="s">&quot;{$x}&quot;</span><span class="w"> </span><span class="na">y=</span><span class="s">&quot;{$y}&quot;</span><span class="w"> </span><span class="na">fill=</span><span class="s">&quot;{@value}&quot;</span><span class="nt">/&gt;</span>
+<span class="w">					</span><span class="k">&lt;/xsl:if&gt;</span>
+<span class="w">				</span><span class="k">&lt;/xsl:for-each&gt;</span>
+<span class="w">			</span><span class="k">&lt;/xsl:for-each&gt;</span>
+<span class="w">		</span><span class="nt">&lt;/svg&gt;</span>
+<span class="w">	</span><span class="k">&lt;/xsl:template&gt;</span>
+<span class="k">&lt;/xsl:stylesheet&gt;</span>
+</pre></div>
+</div>
+<p>Render the output:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+<span class="nv">$out</span>  <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; XML, rendered as SVG</span>
+
+<span class="nb">printf</span><span class="p">(</span><span class="s1">&#39;&lt;img alt=&quot;%s&quot; src=&quot;%s&quot; /&gt;&#39;</span><span class="p">,</span> <span class="nv">$alt</span><span class="p">,</span> <span class="nv">$out</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>The associated <a class="reference external" href="https://www.w3.org/XML/Schema">XML schema</a> can be found over at GitHub: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/qrcode.schema.xsd"><code class="docutils literal notranslate"><span class="pre">qrcode.schema.xsd</span></code></a></p>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">createMatrix()</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">DOMElement</span></code></p></td>
+<td><p>creates the matrix element</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">row(int $y, array $row)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">DOMElement|null</span></code></p></td>
+<td><p>creates a DOM element for a matrix row</p></td>
+</tr>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">DOMElement|null</span></code></p></td>
+<td><p>creates a DOM element for a single module</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="options-that-affect-this-class">
+<h2>Options that affect this class<a class="headerlink" href="#options-that-affect-this-class" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>property</p></th>
+<th class="head"><p>type</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">xmlStylesheet</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="QRMarkupSVG.html" class="btn btn-neutral float-left" title="QRMarkupSVG" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="QRStringJSON.html" class="btn btn-neutral float-right" title="QRStringJSON" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, smiley.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>

+ 460 - 0
Built-In-Output/QRStringJSON.html

@@ -0,0 +1,460 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>QRStringJSON &mdash; PHP-QRCode main
+ Manual</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a8da1a53"></script>
+        <script src="../_static/doctools.js?v=9a2dae69"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="QRStringText" href="QRStringText.html" />
+    <link rel="prev" title="QRMarkupXML" href="QRMarkupXML.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html" class="icon icon-home">
+            PHP-QRCode
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Usage</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Overview.html">Overview</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#features">Features</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#requirements">Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#framework-integration">Framework Integration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Overview.html#shameless-advertising">Shameless advertising</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Installation.html">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#installation-with-composer">Installation with Composer</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#composer-json">composer.json</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="../Usage/Installation.html#version-switch">Version switch</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#terminal">Terminal</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#manual-installation">Manual installation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Installation.html#can-i-use-this-library-without-using-composer">Can i use this library without using composer?</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#supported-php-versions-extension-requirements">Supported PHP versions &amp; extension requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Installation.html#imagemagick">ImageMagick</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Quickstart.html">Quickstart</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#import-the-library">Import the library</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#create-your-first-qr-code">Create your first QR Code</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Quickstart.html#configuration">Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#reading-qr-codes">Reading QR Codes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Quickstart.html#notes">Notes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Advanced-usage.html">Advanced usage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#configuration-via-qroptions">Configuration via <code class="docutils literal notranslate"><span class="pre">QROptions</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#supply-an-iterable-of-options">Supply an <code class="docutils literal notranslate"><span class="pre">iterable</span></code> of options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#load-and-save-options-from-to-json">Load and save options from/to JSON</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#extending-the-qroptions-class">Extending the <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> class</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#qrcode-methods"><code class="docutils literal notranslate"><span class="pre">QRCode</span></code> methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#render-a-qrmatrix-instance">Render a <code class="docutils literal notranslate"><span class="pre">QRMatrix</span></code> instance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#mixed-mode">Mixed mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#qr-code-reader">QR Code reader</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Advanced-usage.html#common-output-options">Common output options</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#save-to-file">Save to file</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#base64-uri-output">Base64 URI output</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#return-the-image-resource">Return the image resource</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Usage/Advanced-usage.html#add-a-logo-space">Add a logo space</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Usage/Configuration-settings.html">Configuration settings</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#version">version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmin">versionMin</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#versionmax">versionMax</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#ecclevel">eccLevel</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#maskpattern">maskPattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addquietzone">addQuietzone</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quietzonesize">quietzoneSize</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputinterface">outputInterface</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#returnresource">returnResource</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cachefile">cachefile</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#outputbase64">outputBase64</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#eol">eol</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#bgcolor">bgColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#invertmatrix">invertMatrix</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawlightmodules">drawLightModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#drawcircularmodules">drawCircularModules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#circleradius">circleRadius</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#keepassquare">keepAsSquare</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#connectpaths">connectPaths</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#excludefromconnect">excludeFromConnect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#modulevalues">moduleValues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#addlogospace">addLogoSpace</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacewidth">logoSpaceWidth</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospaceheight">logoSpaceHeight</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestartx">logoSpaceStartX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#logospacestarty">logoSpaceStartY</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#scale">scale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagetransparent">imageTransparent</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#transparencycolor">transparencyColor</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#quality">quality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#gdimageuseupscale">gdImageUseUpscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#imagickformat">imagickFormat</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#cssclass">cssClass</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgaddxmlheader">svgAddXmlHeader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgdefs">svgDefs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgpreserveaspectratio">svgPreserveAspectRatio</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#svgusefillattributes">svgUseFillAttributes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#textlinestart">textLineStart</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#jsonflags">jsonFlags</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#fpdfmeasureunit">fpdfMeasureUnit</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#xmlstylesheet">xmlStylesheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readeruseimagickifavailable">readerUseImagickIfAvailable</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readergrayscale">readerGrayscale</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerinvertcolors">readerInvertColors</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Usage/Configuration-settings.html#readerincreasecontrast">readerIncreaseContrast</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Customizing output</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Module-Values.html">Module values</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#basics">Basics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#assigning-values">Assigning values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Module-Values.html#handling-in-your-own-qroutputinterface">Handling in your own <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#setting-module-values">Setting module values</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/Module-Values.html#using-the-module-values">Using the module values</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/QROutputAbstract.html"><code class="docutils literal notranslate"><span class="pre">QROutputAbstract</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#properties">Properties</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#options-and-matrix"><code class="docutils literal notranslate"><span class="pre">$options</span></code> and <code class="docutils literal notranslate"><span class="pre">$matrix</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulecount-scale-and-length"><code class="docutils literal notranslate"><span class="pre">$moduleCount</span></code>, <code class="docutils literal notranslate"><span class="pre">$scale</span></code> and <code class="docutils literal notranslate"><span class="pre">$length</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalues"><code class="docutils literal notranslate"><span class="pre">$moduleValues</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#copies-of-qroptions-values">Copies of <code class="docutils literal notranslate"><span class="pre">QROptions</span></code> values</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/QROutputAbstract.html#methods">Methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmodulevalues"><code class="docutils literal notranslate"><span class="pre">setModuleValues()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#modulevalueisvalid"><code class="docutils literal notranslate"><span class="pre">moduleValueIsValid()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#preparemodulevalue"><code class="docutils literal notranslate"><span class="pre">prepareModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getdefaultmodulevalue"><code class="docutils literal notranslate"><span class="pre">getDefaultModuleValue()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getmodulevalue-and-getmodulevalueat"><code class="docutils literal notranslate"><span class="pre">getModuleValue()</span></code> and <code class="docutils literal notranslate"><span class="pre">getModuleValueAt()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#setmatrixdimensions"><code class="docutils literal notranslate"><span class="pre">setMatrixDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#getoutputdimensions"><code class="docutils literal notranslate"><span class="pre">getOutputDimensions()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#collectmodules"><code class="docutils literal notranslate"><span class="pre">collectModules()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Customizing/QROutputAbstract.html#savetofile-and-tobase64datauri"><code class="docutils literal notranslate"><span class="pre">saveToFile()</span></code> and <code class="docutils literal notranslate"><span class="pre">toBase64DataURI()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Customizing/Custom-output-interface.html">Custom <code class="docutils literal notranslate"><span class="pre">QROutputInterface</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#class-skeleton">Class skeleton</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#module-values">Module values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#transform-the-output">Transform the output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#run-the-custom-output">Run the custom output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Customizing/Custom-output-interface.html#summary">Summary</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Built-In Output Modules</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupHTML.html#options-that-affect-this-module">Options that affect this module</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="QRMarkupHTML.html#options-that-have-no-effect">Options that have no effect</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Terminology.html">Terminology</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#qr-code">QR Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#matrix">Matrix</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#module">Module</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#version">Version</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#function-patterns">Function Patterns</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#finder-pattern">Finder Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#alignment-pattern">Alignment Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#timing-pattern">Timing Pattern</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#separators">Separators</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#quiet-zone">Quiet Zone</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#encoding-region">Encoding Region</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#data">Data</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#version-information">Version Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#format-information">Format Information</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#darkmodule">Darkmodule</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#mode">Mode</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#segment">Segment</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#extended-channel-interpretation-eci">Extended Channel Interpretation (ECI)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#mixed-mode">Mixed Mode</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#ecc-error-correction-coding">ECC (Error Correction Coding)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#ecc-level">ECC Level</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#maximum-data-capacity">Maximum data capacity</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#data-masking">Data masking</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#evaluation">Evaluation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../Appendix/Terminology.html#mask-pattern">Mask pattern</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Terminology.html#reflectance">Reflectance</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/URI-Content.html">Popular content and URI schemes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#url-https">URL <code class="docutils literal notranslate"><span class="pre">https</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#e-mail-mailto">E-Mail <code class="docutils literal notranslate"><span class="pre">mailto</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#phone-numbers-tel">Phone numbers <code class="docutils literal notranslate"><span class="pre">tel</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#geo-coordinates-geo">Geo Coordinates <code class="docutils literal notranslate"><span class="pre">geo</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#mobile-authenticators-otpauth">Mobile Authenticators <code class="docutils literal notranslate"><span class="pre">otpauth</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#wireless-network-configuration">Wireless Network configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#contact-information-vcard">Contact information: vCard</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#calendar-events-vcalendar-and-icalendar">Calendar Events: vCalendar and iCalendar</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#sepa-credit-transfer">SEPA Credit Transfer</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/URI-Content.html#see-also">See also</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Performance-considerations.html">Performance considerations</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#version">Version</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#ecc-level">Ecc level</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#data-mode">Data mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#mask-pattern">Mask pattern</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Performance-considerations.html#output">Output</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/Contribute.html">How to contribute</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#questions-and-issues">Questions and issues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#bug-reports">Bug reports</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#pull-requests-and-bug-fixes">Pull requests and bug fixes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Appendix/Contribute.html#documentation">Documentation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../Appendix/License.html">License</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">PHP-QRCode</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">QRStringJSON</li>
+      <li class="wy-breadcrumbs-aside">
+              <a href="https://github.com/chillerlan/php-qrcode/blob/main/docs/Built-In-Output/QRStringJSON.md" class="fa fa-github"> Edit on GitHub</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="qrstringjson">
+<h1>QRStringJSON<a class="headerlink" href="#qrstringjson" title="Link to this heading"></a></h1>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRStringJSON.php">Class <code class="docutils literal notranslate"><span class="pre">QRStringJSON</span></code></a>:
+<a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/JSON">JSON</a> output.</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span> <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">STRING_JSON</span><span class="p">;</span>
+<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">jsonFlags</span>  <span class="o">=</span> <span class="nx">JSON_THROW_ON_ERROR</span><span class="o">|</span><span class="nx">JSON_UNESCAPED_SLASHES</span><span class="p">;</span>
+
+<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: application/json&#39;</span><span class="p">);</span>
+
+<span class="nv">$data</span>   <span class="o">=</span> <span class="s1">&#39;https://www.youtube.com/watch?v=dQw4w9WgXcQ&#39;</span><span class="p">;</span>
+
+<span class="k">echo</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// -&gt; JSON string</span>
+</pre></div>
+</div>
+<p>The associated <a class="reference external" href="https://json-schema.org/specification">JSON schema</a> can be found over at GitHub: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/qrcode.schema.json"><code class="docutils literal notranslate"><span class="pre">qrcode.schema.json</span></code></a></p>
+</section>
+<section id="previous-functionality">
+<h2>Previous functionality<a class="headerlink" href="#previous-functionality" title="Link to this heading"></a></h2>
+<p>The previous versions of <code class="docutils literal notranslate"><span class="pre">php-qrcode</span></code> (v5 and earlier) just dumped an array representation of the internal matrix,
+which is equivalent to the following:</p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$matrix</span> <span class="o">=</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">getQRMatrix</span><span class="p">();</span> <span class="c1">// -&gt; QRMatrix instance</span>
+
+<span class="c1">// retrieve the internal matrix as an array of booleans</span>
+<span class="nv">$json</span>   <span class="o">=</span> <span class="nb">json_encode</span><span class="p">(</span><span class="nv">$matrix</span><span class="o">-&gt;</span><span class="na">getMatrix</span><span class="p">(</span><span class="k">true</span><span class="p">),</span> <span class="nv">$jsonFlags</span><span class="p">);</span>
+</pre></div>
+</div>
+</section>
+<section id="additional-methods">
+<h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>method</p></th>
+<th class="head"><p>return</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">row(int $y, array $row)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">array|null</span></code></p></td>
+<td><p>creates a DOM element for a matrix row</p></td>
+</tr>
+<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">module(int $x, int $y, int $M_TYPE)</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">array|null</span></code></p></td>
+<td><p>creates a DOM element for a single module</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="options-that-affect-this-class">
+<h2>Options that affect this class<a class="headerlink" href="#options-that-affect-this-class" title="Link to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>property</p></th>
+<th class="head"><p>type</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$jsonFlags</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="QRMarkupXML.html" class="btn btn-neutral float-left" title="QRMarkupXML" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="QRStringText.html" class="btn btn-neutral float-right" title="QRStringText" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, smiley.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>

+ 41 - 118
Built-In-Output/QRString.html → Built-In-Output/QRStringText.html

@@ -4,7 +4,7 @@
   <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>QRString &mdash; PHP-QRCode main
+  <title>QRStringText &mdash; PHP-QRCode main
  Manual</title>
       <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
       <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
@@ -23,7 +23,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Terminology" href="../Appendix/Terminology.html" />
-    <link rel="prev" title="QRMarkupSVG" href="QRMarkupSVG.html" /> 
+    <link rel="prev" title="QRStringJSON" href="QRStringJSON.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -350,9 +350,9 @@
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
       <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
-      <li class="breadcrumb-item active">QRString</li>
+      <li class="breadcrumb-item active">QRStringText</li>
       <li class="wy-breadcrumbs-aside">
-              <a href="https://github.com/chillerlan/php-qrcode/blob/main/docs/Built-In-Output/QRString.md" class="fa fa-github"> Edit on GitHub</a>
+              <a href="https://github.com/chillerlan/php-qrcode/blob/main/docs/Built-In-Output/QRStringText.md" class="fa fa-github"> Edit on GitHub</a>
       </li>
   </ul>
   <hr/>
@@ -360,21 +360,14 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
              
-  <section id="qrstring">
-<h1>QRString<a class="headerlink" href="#qrstring" title="Link to this heading"></a></h1>
-<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRString.php">Class <code class="docutils literal notranslate"><span class="pre">QRString</span></code></a>: String output: plain text, <a class="reference external" href="https://developer.mozilla.org/en-US/docs/Glossary/JSON">JSON</a></p>
-<section id="plain-text">
-<h2>Plain text<a class="headerlink" href="#plain-text" title="Link to this heading"></a></h2>
-<p>Render in a CLI console, using <a class="reference external" href="https://en.wikipedia.org/wiki/ANSI_escape_code#Colors">ANSI colors</a> and <a class="reference external" href="https://en.wikipedia.org/wiki/Block_Elements">block elements</a>:</p>
-<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="c1">// a little helper to a create proper ANSI 8-bit color escape sequence</span>
-<span class="k">function</span> <span class="nf">ansi8</span><span class="p">(</span><span class="nx">string</span> <span class="nv">$str</span><span class="p">,</span> <span class="nx">int</span> <span class="nv">$color</span><span class="p">,</span> <span class="nx">bool</span> <span class="nv">$background</span> <span class="o">=</span> <span class="k">false</span><span class="p">)</span><span class="o">:</span><span class="nx">string</span><span class="p">{</span>
-	<span class="nv">$color</span>      <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">min</span><span class="p">(</span><span class="nv">$color</span><span class="p">,</span> <span class="mi">255</span><span class="p">));</span>
-	<span class="nv">$background</span> <span class="o">=</span> <span class="p">(</span><span class="nv">$background</span> <span class="o">?</span> <span class="mi">48</span> <span class="o">:</span> <span class="mi">38</span><span class="p">);</span>
-
-	<span class="k">return</span> <span class="nb">sprintf</span><span class="p">(</span><span class="s2">&quot;</span><span class="se">\x1b</span><span class="s2">[%s;5;%sm%s</span><span class="se">\x1b</span><span class="s2">[0m&quot;</span><span class="p">,</span> <span class="nv">$background</span><span class="p">,</span> <span class="nv">$color</span><span class="p">,</span> <span class="nv">$str</span><span class="p">);</span>
-<span class="p">}</span>
-
-<span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
+  <section id="qrstringtext">
+<h1>QRStringText<a class="headerlink" href="#qrstringtext" title="Link to this heading"></a></h1>
+<p><a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRStringText.php">Class <code class="docutils literal notranslate"><span class="pre">QRStringText</span></code></a>:
+render in a CLI console, using <a class="reference external" href="https://en.wikipedia.org/wiki/ANSI_escape_code#Colors">ANSI colors</a> and <a class="reference external" href="https://en.wikipedia.org/wiki/Block_Elements">block elements</a>.</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>See: <a class="reference external" href="https://github.com/chillerlan/php-qrcode/blob/main/examples/text.php">plaintext example</a></p>
+<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
 
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputInterface</span> <span class="o">=</span> <span class="nx">QRStringText</span><span class="o">::</span><span class="na">class</span><span class="p">;</span>
 <span class="nv">$options</span><span class="o">-&gt;</span><span class="na">eol</span>             <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">;</span>
@@ -402,20 +395,6 @@
 </pre></div>
 </div>
 </section>
-<section id="json">
-<h2>JSON<a class="headerlink" href="#json" title="Link to this heading"></a></h2>
-<div class="highlight-php notranslate"><div class="highlight"><pre><span></span><span class="nv">$options</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">QROptions</span><span class="p">;</span>
-
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">outputType</span>     <span class="o">=</span> <span class="nx">QROutputInterface</span><span class="o">::</span><span class="na">STRING_JSON</span><span class="p">;</span>
-<span class="c1">// output the integer values ($M_TYPE) held in the matrix object</span>
-<span class="nv">$options</span><span class="o">-&gt;</span><span class="na">jsonAsBooleans</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span>
-
-<span class="nb">header</span><span class="p">(</span><span class="s1">&#39;Content-type: application/json&#39;</span><span class="p">);</span>
-
-<span class="k">echo</span> <span class="p">(</span><span class="k">new</span> <span class="nx">QRCode</span><span class="p">(</span><span class="nv">$options</span><span class="p">))</span><span class="o">-&gt;</span><span class="na">render</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
-</pre></div>
-</div>
-</section>
 <section id="additional-methods">
 <h2>Additional methods<a class="headerlink" href="#additional-methods" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
@@ -426,23 +405,15 @@
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">text()</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-<td><p>string output</p></td>
-</tr>
-<tr class="row-odd"><td><p>(protected) <code class="docutils literal notranslate"><span class="pre">json()</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
-<td><p>JSON output</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansi8(string</span> <span class="pre">$str,</span> <span class="pre">int</span> <span class="pre">$color,</span> <span class="pre">bool</span> <span class="pre">$background</span> <span class="pre">=</span> <span class="pre">null)</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ansi8(string $str, int $color, bool $background = null)</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 <td><p>a little helper to create a proper ANSI 8-bit color escape sequence</p></td>
 </tr>
 </tbody>
 </table>
 </section>
-<section id="options-that-affect-this-module">
-<h2>Options that affect this module<a class="headerlink" href="#options-that-affect-this-module" title="Link to this heading"></a></h2>
+<section id="options-that-affect-this-class">
+<h2>Options that affect this class<a class="headerlink" href="#options-that-affect-this-class" title="Link to this heading"></a></h2>
 <table class="docutils align-default">
 <thead>
 <tr class="row-odd"><th class="head"><p>property</p></th>
@@ -453,65 +424,17 @@
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$eol</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$jsonAsBooleans</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">bool</span></code></p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textDark</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textDark</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textLight</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textLight</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$textLineStart</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$textLineStart</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">string</span></code></p></td>
 </tr>
 </tbody>
 </table>
-<section id="options-that-have-no-effect">
-<h3>Options that have no effect<a class="headerlink" href="#options-that-have-no-effect" title="Link to this heading"></a></h3>
-<table class="docutils align-default">
-<thead>
-<tr class="row-odd"><th class="head"><p>property</p></th>
-<th class="head"><p>reason</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$bgColor</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$circleRadius</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$connectPaths</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$drawCircularModules</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$drawLightModules</span></code></p></td>
-<td><p>not implemented</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$excludeFromConnect</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$imageTransparent</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$keepAsSquare</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$outputBase64</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">$returnResource</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">$scale</span></code></p></td>
-<td><p>N/A</p></td>
-</tr>
-</tbody>
-</table>
-</section>
 </section>
 </section>
 
@@ -519,7 +442,7 @@
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="QRMarkupSVG.html" class="btn btn-neutral float-left" title="QRMarkupSVG" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="QRStringJSON.html" class="btn btn-neutral float-left" title="QRStringJSON" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="../Appendix/Terminology.html" class="btn btn-neutral float-right" title="Terminology" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 

+ 22 - 22
Customizing/Custom-output-interface.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Customizing/Module-Values.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Customizing/QROutputAbstract.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Usage/Advanced-usage.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Usage/Configuration-settings.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Usage/Installation.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 29 - 25
Usage/Overview.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -402,15 +402,19 @@ It also features a QR Code reader based on a <a class="reference external" href=
 <section id="requirements">
 <h2>Requirements<a class="headerlink" href="#requirements" title="Link to this heading"></a></h2>
 <ul class="simple">
-<li><p>PHP 7.4+</p>
+<li><p>PHP 8.2+</p>
 <ul>
 <li><p><a class="reference external" href="https://www.php.net/manual/book.mbstring.php"><code class="docutils literal notranslate"><span class="pre">ext-mbstring</span></code></a></p></li>
 <li><p>optional:</p>
 <ul>
-<li><p><a class="reference external" href="https://www.php.net/manual/book.fileinfo.php"><code class="docutils literal notranslate"><span class="pre">ext-fileinfo</span></code></a> (required by <code class="docutils literal notranslate"><span class="pre">QRImagick</span></code> output)</p></li>
 <li><p><a class="reference external" href="https://www.php.net/manual/book.image"><code class="docutils literal notranslate"><span class="pre">ext-gd</span></code></a></p></li>
-<li><p><a class="reference external" href="https://github.com/Imagick/imagick"><code class="docutils literal notranslate"><span class="pre">ext-imagick</span></code></a> with <a class="reference external" href="https://imagemagick.org">ImageMagick</a> installed</p></li>
+<li><p><a class="reference external" href="https://github.com/Imagick/imagick"><code class="docutils literal notranslate"><span class="pre">ext-imagick</span></code></a> with <a class="reference external" href="https://imagemagick.org">ImageMagick</a> installed</p>
+<ul>
+<li><p><a class="reference external" href="https://www.php.net/manual/book.fileinfo.php"><code class="docutils literal notranslate"><span class="pre">ext-fileinfo</span></code></a> (required by <code class="docutils literal notranslate"><span class="pre">QRImagick</span></code> output)</p></li>
+</ul>
+</li>
 <li><p><a class="reference external" href="https://github.com/setasign/fpdf"><code class="docutils literal notranslate"><span class="pre">setasign/fpdf</span></code></a> for the PDF output module</p></li>
+<li><p><a class="reference external" href="https://github.com/Intervention/image"><code class="docutils literal notranslate"><span class="pre">intervention/image</span></code></a> for alternative GD/ImageMagick output</p></li>
 </ul>
 </li>
 </ul>

+ 22 - 22
Usage/Quickstart.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="../Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="../Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 3 - 13
_sources/Built-In-Output/QREps.md.txt

@@ -1,6 +1,7 @@
 # QREps
 
-[Class `QREps`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php): [Encapsulated Postscript](https://en.wikipedia.org/wiki/Encapsulated_PostScript) (EPS) output.
+[Class `QREps`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QREps.php):
+[Encapsulated Postscript](https://en.wikipedia.org/wiki/Encapsulated_PostScript) (EPS) output.
 
 
 ## Example
@@ -50,6 +51,7 @@ echo (new QRCode($options))->render($data);
 exit;
 ```
 
+
 ## Additional methods
 
 | method                                            | return   | description                                |
@@ -67,15 +69,3 @@ exit;
 | `$drawLightModules`   | `bool`  |
 | `$excludeFromConnect` | `array` |
 | `$scale`              | `int`   |
-
-
-### Options that have no effect
-
-| property               | reason          |
-|------------------------|-----------------|
-| `$circleRadius`        | not implemented |
-| `$drawCircularModules` | not implemented |
-| `$outputBase64`        | N/A             |
-| `$imageTransparent`    | N/A             |
-| `$keepAsSquare`        | not implemented |
-| `$returnResource`      | N/A             |

+ 2 - 13
_sources/Built-In-Output/QRFpdf.md.txt

@@ -1,6 +1,7 @@
 # QRFpdf
 
-[Class `QRFpdf`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRFpdf.php): [Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) output via [FPDF](https://github.com/setasign/fpdf)
+[Class `QRFpdf`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRFpdf.php):
+[Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) output via [FPDF](https://github.com/setasign/fpdf).
 
 
 ## Example
@@ -74,15 +75,3 @@ echo $fpdf->Output('S');
 | `$outputBase64`     | `bool`   |
 | `$returnResource`   | `bool`   |
 | `$scale`            | `ìnt`    |
-
-
-### Options that have no effect
-
-| property               | reason |
-|------------------------|--------|
-| `$circleRadius`        | N/A    |
-| `$connectPaths`        | N/A    |
-| `$drawCircularModules` | N/A    |
-| `$excludeFromConnect`  | N/A    |
-| `$imageTransparent`    | N/A    |
-| `$keepAsSquare`        | N/A    |

+ 12 - 18
_sources/Built-In-Output/QRGdImage.md.txt

@@ -1,6 +1,7 @@
 # QRGdImage
 
-[Class `QRGdImage`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRGdImage.php): [GdImage](https://www.php.net/manual/book.image) raster graphic output (GIF, JPG, PNG)
+[Class `QRGdImage`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRGdImage.php):
+[GdImage](https://www.php.net/manual/book.image) raster graphic output (GIF, JPG, PNG, ...)
 
 
 ## Example
@@ -51,12 +52,12 @@ printf('<img alt="%s" src="%s" />', $alt, $out);
 ```
 
 
-Return the `GdImage` instance/resource (will ignore other output options):
+Return the `GdImage` instance (will ignore other output options):
 
 ```php
 $options->returnResource = true;
 
-/** @var \GdImage|resource $gdImage */
+/** @var \GdImage $gdImage */
 $gdImage = (new QRCode($options))->render($data);
 
 // do stuff with the GdImage instance...
@@ -73,13 +74,14 @@ imagedestroy($gdImage);
 
 ## Additional methods
 
-| method                                            | return   | description                                                       |
-|---------------------------------------------------|----------|-------------------------------------------------------------------|
-| (protected) `drawImage()`                         | `void`   | Draws the QR image                                                |
-| (protected) `dumpImage()`                         | `string` | Creates the final image by calling the desired GD output function |
-| (protected) `module(int $x, int $y, int $M_TYPE)` | `void`   | Renders a single module                                           |
-| (protected) `setBgColor()`                        | `void`   | Sets the background color                                         |
-| (protected) `setTransparencyColor()`              | `void`   | Sets the transparency color                                       |
+| method                                            | return   | description                                                                                      |
+|---------------------------------------------------|----------|--------------------------------------------------------------------------------------------------|
+| (protected) `drawImage()`                         | `void`   | Draws the QR image                                                                               |
+| (protected) `dumpImage()`                         | `string` | Creates the final image by calling the desired GD output function                                |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `void`   | Renders a single module                                                                          |
+| (protected) `setBgColor()`                        | `void`   | Sets the background color                                                                        |
+| (protected) `setTransparencyColor()`              | `void`   | Sets the transparency color                                                                      |
+| (abstract protected) `renderImage()`              | `void`   | Renders the image with the gdimage function for the desired output, implemented by child classes |
 
 
 ## Options that affect this module
@@ -97,11 +99,3 @@ imagedestroy($gdImage);
 | `$returnResource`      | `bool`         |
 | `$scale`               | `int`          |
 | `$transparencyColor`   | `mixed`        |
-
-
-### Options that have no effect
-
-| property              | reason |
-|-----------------------|--------|
-| `$connectPaths`       | N/A    |
-| `$excludeFromConnect` | N/A    |

+ 0 - 8
_sources/Built-In-Output/QRImagick.md.txt

@@ -102,11 +102,3 @@ echo $imagick->getImageBlob();
 | `$returnResource`      | `bool`   |
 | `$scale`               | `int`    |
 | `$transparencyColor`   | `mixed`  |
-
-
-### Options that have no effect
-
-| property              | reason |
-|-----------------------|--------|
-| `$connectPaths`       | N/A    |
-| `$excludeFromConnect` | N/A    |

+ 102 - 0
_sources/Built-In-Output/QRInterventionImage.md.txt

@@ -0,0 +1,102 @@
+# QRInterventionImage
+
+[Class `QRInterventionImage`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRInterventionImage.php):
+[intervention/image](https://image.intervention.io/) alternative GD/ImageMagick output.
+
+***Note:** this output class works significantly slower than the native GD/Imagick output classes due to the several underlying abstraction layers. Use only if you must.*
+
+
+## Example
+
+See: [intervention/image example](https://github.com/chillerlan/php-qrcode/blob/main/examples/intervention-image.php)
+
+Set the options:
+
+```php
+$options = new QROptions;
+
+$options->outputInterface     = QRInterventionImage::class;
+$options->scale               = 20;
+$options->bgColor             = '#ccccaa';
+$options->imageTransparent    = false;
+$options->transparencyColor   = '#ccccaa';
+$options->drawLightModules    = false;
+$options->drawCircularModules = true;
+$options->circleRadius        = 0.4;
+$options->keepAsSquare        = [
+	QRMatrix::M_FINDER_DARK,
+	QRMatrix::M_FINDER_DOT,
+	QRMatrix::M_ALIGNMENT_DARK,
+];
+$options->moduleValues        = [
+	QRMatrix::M_FINDER_DARK    => '#A71111', // dark (true)
+	QRMatrix::M_FINDER_DOT     => '#A71111', // finder dot, dark (true)
+	QRMatrix::M_FINDER         => '#FFBFBF', // light (false)
+	QRMatrix::M_ALIGNMENT_DARK => '#A70364',
+	QRMatrix::M_ALIGNMENT      => '#FFC9C9',
+	QRMatrix::M_VERSION_DARK   => '#650098',
+	QRMatrix::M_VERSION        => '#E0B8FF',
+];
+```
+
+
+Render the output:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data); // -> data:image/png;base64,...
+
+printf('<img alt="%s" src="%s" />', $alt, $out);
+```
+
+
+Return the `ImageInterface` instance (will ignore other output options):
+
+```php
+$options->returnResource = true;
+
+/** @var \Intervention\Image\Interfaces\ImageInterface $image */
+$image = (new QRCode($options))->render($data);
+
+// do stuff with the ImageInterface instance...
+
+// ...dump output
+
+header('Content-type: image/png');
+
+echo $image->toPng()->toString();
+```
+
+Set a different driver in the internal `ImageManager` instance (the internal detection order is: 1. GD, 2. Imagick):
+
+```php
+$qrOutputInterface = new QRInterventionImage($options, $matrix);
+// set a different driver
+$qrOutputInterface->setDriver(new \Intervention\Image\Drivers\Imagick\Driver);
+// dump output
+$out = $qrOutputInterface->dump();
+```
+
+
+## Additional methods
+
+| method                               | return   | description                                                                                                          |
+|--------------------------------------|----------|----------------------------------------------------------------------------------------------------------------------|
+| `setDriver(DriverInterface $driver)` | `static` | Sets a DriverInterface, see [instantiation (intervention.io)](https://image.intervention.io/v3/basics/instantiation) |
+| (protected) `module()`               | `void`   | Draws a single pixel at the given position                                                                           |
+
+
+## Options that affect this module
+
+| property               | type     |
+|------------------------|----------|
+| `$bgColor`             | `mixed`  |
+| `$circleRadius`        | `float`  |
+| `$drawCircularModules` | `bool`   |
+| `$drawLightModules`    | `bool`   |
+| `$imageTransparent`    | `bool`   |
+| `$keepAsSquare`        | `array`  |
+| `$outputBase64`        | `bool`   |
+| `$returnResource`      | `bool`   |
+| `$scale`               | `int`    |
+| `$transparencyColor`   | `mixed`  |

+ 7 - 14
_sources/Built-In-Output/QRMarkupSVG.md.txt

@@ -1,10 +1,12 @@
 # QRMarkupSVG
 
-[Class `QRMarkupSVG`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupSVG.php): [Scalable Vector Graphics](https://developer.mozilla.org/en-US/docs/Glossary/SVG) (SVG) output
+[Class `QRMarkupSVG`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupSVG.php):
+[Scalable Vector Graphics](https://developer.mozilla.org/en-US/docs/Glossary/SVG) (SVG) output.
+
 
 ## Example
 
-See: [ImageMagick example](https://github.com/chillerlan/php-qrcode/blob/main/examples/imagick.php)
+See: [SVG example](https://github.com/chillerlan/php-qrcode/blob/main/examples/svg.php)
 
 Set the options:
 
@@ -62,13 +64,14 @@ printf('<img alt="%s" src="%s" />', $alt, $out);
 | method                                            | return   | description                                                   |
 |---------------------------------------------------|----------|---------------------------------------------------------------|
 | (protected) `getCssClass(int $M_TYPE = 0)`        | `string` | returns a string with all css classes for the current element |
+| (protected) `getViewBox()`                        | `string` | returns the value for the SVG viewBox attribute               |
 | (protected) `header()`                            | `string` | returns the `<svg>` header with the given options parsed      |
-| (protected) `module(int $x, int $y, int $M_TYPE)` | `string` | returns a path segment for a single module                    |
 | (protected) `path(string $path, int $M_TYPE)`     | `string` | renders and returns a single `<path>` element                 |
 | (protected) `paths()`                             | `string` | returns one or more SVG `<path>` elements                     |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `string` | returns a path segment for a single module                    |
 
 
-## Options that affect this module
+## Options that affect this class
 
 | property                  | type        |
 |---------------------------|-------------|
@@ -87,13 +90,3 @@ printf('<img alt="%s" src="%s" />', $alt, $out);
 | `$svgPreserveAspectRatio` | `string`    |
 | `$svgViewBoxSize`         | `int\|null` |
 | `$svgUseFillAttributes`   | `bool`      |
-
-
-### Options that have no effect
-
-| property            | reason                                                                                                                                                                                                            |
-|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `$bgColor`          | background color can be achieved via CSS, attributes or the `<defs>` element, see also [php-qrcode/discussions/199 (comment)](https://github.com/chillerlan/php-qrcode/discussions/199#discussioncomment-5747471) |
-| `$imageTransparent` | SVG is - similar to a HTML element - transparent by default                                                                                                                                                       |
-| `$returnResource`   | N/A                                                                                                                                                                                                               |
-| `$scale`            | `$scale` (pixel size of a qr module) is intended for raster image types, use `$svgViewBoxSize` instead                                                                                                            |

+ 104 - 0
_sources/Built-In-Output/QRMarkupXML.md.txt

@@ -0,0 +1,104 @@
+# QRMarkupXML
+
+[Class `QRMarkupXML`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRMarkupXML.php): [eXtensible Markup Language](https://developer.mozilla.org/en-US/docs/Glossary/XML) (XML) output
+
+
+## Example
+
+See: [XML example](https://github.com/chillerlan/php-qrcode/blob/main/examples/xml.php)
+
+Set the options:
+
+```php
+$options = new QROptions;
+
+$options->outputInterface  = QRMarkupXML::class;
+$options->outputBase64     = false;
+// if set to false, the light modules won't be included in the output
+$options->drawLightModules = false;
+
+// assign an XSLT stylesheet
+$options->xmlStylesheet    = './qrcode.style.xsl';
+
+$options->moduleValues     = [
+	QRMatrix::M_FINDER_DARK    => '#A71111', // dark (true)
+	QRMatrix::M_FINDER_DOT     => '#A71111', // finder dot, dark (true)
+	QRMatrix::M_FINDER         => '#FFBFBF', // light (false)
+	QRMatrix::M_ALIGNMENT_DARK => '#A70364',
+	QRMatrix::M_ALIGNMENT      => '#FFC9C9',
+	QRMatrix::M_VERSION_DARK   => '#650098',
+	QRMatrix::M_VERSION        => '#E0B8FF',
+];
+```
+
+
+The XSLT stylesheet `qrcode.style.xsl`:
+
+```XSLT
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- XSLT style for the XML output example -->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+	<xsl:template match="/">
+		<!-- SVG header -->
+		<svg xmlns="http://www.w3.org/2000/svg"
+		     version="1.0"
+		     viewBox="0 0 {qrcode/matrix/@width} {qrcode/matrix/@height}"
+		     preserveAspectRatio="xMidYMid"
+		>
+			<!--
+				path for a single module
+				we could define a path for each layer and use the @layer attribute for selection,
+				but that would exaggerate this example
+			-->
+			<symbol id="module" width="1" height="1">
+				<circle cx="0.5" cy="0.5" r="0.4" />
+			</symbol>
+			<!-- loop over the rows -->
+			<xsl:for-each select="qrcode/matrix/row">
+				<!-- set a variable for $y (vertical) -->
+				<xsl:variable name="y" select="@y"/>
+				<xsl:for-each select="module">
+					<!-- set a variable for $x (horizontal) -->
+					<xsl:variable name="x" select="@x"/>
+					<!-- draw only dark modules -->
+					<xsl:if test="@dark='true'">
+						<!-- position the module and set its fill color -->
+						<use href="#module" class="{@layer}" x="{$x}" y="{$y}" fill="{@value}"/>
+					</xsl:if>
+				</xsl:for-each>
+			</xsl:for-each>
+		</svg>
+	</xsl:template>
+</xsl:stylesheet>
+```
+
+
+Render the output:
+
+```php
+$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$out  = (new QRCode($options))->render($data); // -> XML, rendered as SVG
+
+printf('<img alt="%s" src="%s" />', $alt, $out);
+```
+
+The associated [XML schema](https://www.w3.org/XML/Schema) can be found over at GitHub: [`qrcode.schema.xsd`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/qrcode.schema.xsd)
+
+
+## Additional methods
+
+| method                                            | return             | description                               |
+|---------------------------------------------------|--------------------|-------------------------------------------|
+| (protected) `createMatrix()`                      | `DOMElement`       | creates the matrix element                |
+| (protected) `row(int $y, array $row)`             | `DOMElement\|null` | creates a DOM element for a matrix row    |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `DOMElement\|null` | creates a DOM element for a single module |
+
+
+## Options that affect this class
+
+| property                  | type     |
+|---------------------------|----------|
+| `$drawLightModules`       | `bool`   |
+| `$outputBase64`           | `bool`   |
+| `xmlStylesheet`           | `string` |

+ 0 - 98
_sources/Built-In-Output/QRString.md.txt

@@ -1,98 +0,0 @@
-# QRString
-
-[Class `QRString`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRString.php): String output: plain text, [JSON](https://developer.mozilla.org/en-US/docs/Glossary/JSON)
-
-## Plain text
-
-Render in a CLI console, using [ANSI colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) and [block elements](https://en.wikipedia.org/wiki/Block_Elements):
-
-```php
-// a little helper to a create proper ANSI 8-bit color escape sequence
-function ansi8(string $str, int $color, bool $background = false):string{
-	$color      = max(0, min($color, 255));
-	$background = ($background ? 48 : 38);
-
-	return sprintf("\x1b[%s;5;%sm%s\x1b[0m", $background, $color, $str);
-}
-
-$options = new QROptions;
-
-$options->outputInterface = QRStringText::class;
-$options->eol             = "\n";
-// add some space on the line start
-$options->textLineStart   = str_repeat(' ', 6);
-// default values for unassigned module types
-$options->textDark        = QRStringText::ansi8('██', 253);
-$options->textLight       = QRStringText::ansi8('░░', 253);
-$options->moduleValues    = [
-	QRMatrix::M_FINDER_DARK    => QRStringText::ansi8('██', 124),
-	QRMatrix::M_FINDER         => QRStringText::ansi8('░░', 124),
-	QRMatrix::M_FINDER_DOT     => QRStringText::ansi8('██', 124),
-	QRMatrix::M_ALIGNMENT_DARK => QRStringText::ansi8('██', 2),
-	QRMatrix::M_ALIGNMENT      => QRStringText::ansi8('░░', 2),
-	QRMatrix::M_VERSION_DARK   => QRStringText::ansi8('██', 21),
-	QRMatrix::M_VERSION        => QRStringText::ansi8('░░', 21),
-];
-```
-
-
-Output:
-
-```php
-$data   = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
-$qrcode = (new QRCode($options))->render($data);
-
-echo "\n\n$qrcode\n\n";
-```
-
-
-## JSON
-
-```php
-$options = new QROptions;
-
-$options->outputType     = QROutputInterface::STRING_JSON;
-// output the integer values ($M_TYPE) held in the matrix object
-$options->jsonAsBooleans = false;
-
-header('Content-type: application/json');
-
-echo (new QRCode($options))->render($data);
-```
-
-
-## Additional methods
-
-| method                                                    | return   | description                                                         |
-|-----------------------------------------------------------|----------|---------------------------------------------------------------------|
-| (protected) `text()`                                      | `string` | string output                                                       |
-| (protected) `json()`                                      | `string` | JSON output                                                         |
-| `ansi8(string $str, int $color, bool $background = null)` | `string` | a little helper to create a proper ANSI 8-bit color escape sequence |
-
-
-## Options that affect this module
-
-| property          | type     |
-|-------------------|----------|
-| `$eol`            | `string` |
-| `$jsonAsBooleans` | `bool`   |
-| `$textDark`       | `string` |
-| `$textLight`      | `string` |
-| `$textLineStart`  | `string` |
-
-
-### Options that have no effect
-
-| property               | reason          |
-|------------------------|-----------------|
-| `$bgColor`             | N/A             |
-| `$circleRadius`        | N/A             |
-| `$connectPaths`        | N/A             |
-| `$drawCircularModules` | N/A             |
-| `$drawLightModules`    | not implemented |
-| `$excludeFromConnect`  | N/A             |
-| `$imageTransparent`    | N/A             |
-| `$keepAsSquare`        | N/A             |
-| `$outputBase64`        | N/A             |
-| `$returnResource`      | N/A             |
-| `$scale`               | N/A             |

+ 50 - 0
_sources/Built-In-Output/QRStringJSON.md.txt

@@ -0,0 +1,50 @@
+# QRStringJSON
+
+[Class `QRStringJSON`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRStringJSON.php):
+[JSON](https://developer.mozilla.org/en-US/docs/Glossary/JSON) output.
+
+
+## Example
+
+```php
+$options = new QROptions;
+
+$options->outputType = QROutputInterface::STRING_JSON;
+$options->jsonFlags  = JSON_THROW_ON_ERROR|JSON_UNESCAPED_SLASHES;
+
+header('Content-type: application/json');
+
+$data   = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+
+echo (new QRCode($options))->render($data); // -> JSON string
+```
+
+The associated [JSON schema](https://json-schema.org/specification) can be found over at GitHub: [`qrcode.schema.json`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/qrcode.schema.json)
+
+
+## Previous functionality
+
+The previous versions of `php-qrcode` (v5 and earlier) just dumped an array representation of the internal matrix,
+which is equivalent to the following:
+
+```php
+$matrix = (new QRCode($options))->getQRMatrix(); // -> QRMatrix instance
+
+// retrieve the internal matrix as an array of booleans
+$json   = json_encode($matrix->getMatrix(true), $jsonFlags);
+```
+
+
+## Additional methods
+
+| method                                            | return        | description                               |
+|---------------------------------------------------|---------------|-------------------------------------------|
+| (protected) `row(int $y, array $row)`             | `array\|null` | creates a DOM element for a matrix row    |
+| (protected) `module(int $x, int $y, int $M_TYPE)` | `array\|null` | creates a DOM element for a single module |
+
+
+## Options that affect this class
+
+| property     | type  |
+|--------------|-------|
+| `$jsonFlags` | `int` |

+ 57 - 0
_sources/Built-In-Output/QRStringText.md.txt

@@ -0,0 +1,57 @@
+# QRStringText
+
+[Class `QRStringText`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRStringText.php):
+render in a CLI console, using [ANSI colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) and [block elements](https://en.wikipedia.org/wiki/Block_Elements).
+
+
+## Example
+
+See: [plaintext example](https://github.com/chillerlan/php-qrcode/blob/main/examples/text.php)
+
+```php
+$options = new QROptions;
+
+$options->outputInterface = QRStringText::class;
+$options->eol             = "\n";
+// add some space on the line start
+$options->textLineStart   = str_repeat(' ', 6);
+// default values for unassigned module types
+$options->textDark        = QRStringText::ansi8('██', 253);
+$options->textLight       = QRStringText::ansi8('░░', 253);
+$options->moduleValues    = [
+	QRMatrix::M_FINDER_DARK    => QRStringText::ansi8('██', 124),
+	QRMatrix::M_FINDER         => QRStringText::ansi8('░░', 124),
+	QRMatrix::M_FINDER_DOT     => QRStringText::ansi8('██', 124),
+	QRMatrix::M_ALIGNMENT_DARK => QRStringText::ansi8('██', 2),
+	QRMatrix::M_ALIGNMENT      => QRStringText::ansi8('░░', 2),
+	QRMatrix::M_VERSION_DARK   => QRStringText::ansi8('██', 21),
+	QRMatrix::M_VERSION        => QRStringText::ansi8('░░', 21),
+];
+```
+
+
+Output:
+
+```php
+$data   = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
+$qrcode = (new QRCode($options))->render($data);
+
+echo "\n\n$qrcode\n\n";
+```
+
+
+## Additional methods
+
+| method                                                    | return   | description                                                         |
+|-----------------------------------------------------------|----------|---------------------------------------------------------------------|
+| `ansi8(string $str, int $color, bool $background = null)` | `string` | a little helper to create a proper ANSI 8-bit color escape sequence |
+
+
+## Options that affect this class
+
+| property          | type     |
+|-------------------|----------|
+| `$eol`            | `string` |
+| `$textDark`       | `string` |
+| `$textLight`      | `string` |
+| `$textLineStart`  | `string` |

+ 3 - 2
_sources/Usage/Overview.md.txt

@@ -28,13 +28,14 @@ It also features a QR Code reader based on a [PHP port](https://github.com/khana
 
 ## Requirements
 
-- PHP 7.4+
+- PHP 8.2+
   - [`ext-mbstring`](https://www.php.net/manual/book.mbstring.php)
   - optional:
-    - [`ext-fileinfo`](https://www.php.net/manual/book.fileinfo.php) (required by `QRImagick` output)
     - [`ext-gd`](https://www.php.net/manual/book.image)
     - [`ext-imagick`](https://github.com/Imagick/imagick) with [ImageMagick](https://imagemagick.org) installed
+      - [`ext-fileinfo`](https://www.php.net/manual/book.fileinfo.php) (required by `QRImagick` output)
     - [`setasign/fpdf`](https://github.com/setasign/fpdf) for the PDF output module
+    - [`intervention/image`](https://github.com/Intervention/image) for alternative GD/ImageMagick output
 
 For the QR Code reader, either `ext-gd` or `ext-imagick` is required!
 

+ 4 - 1
_sources/index.rst.txt

@@ -38,9 +38,12 @@ This work is licensed under the Creative Commons Attribution 4.0 International (
    Built-In-Output/QRFpdf.md
    Built-In-Output/QRGdImage.md
    Built-In-Output/QRImagick.md
+   Built-In-Output/QRInterventionImage.md
    Built-In-Output/QRMarkupHTML.md
    Built-In-Output/QRMarkupSVG.md
-   Built-In-Output/QRString.md
+   Built-In-Output/QRMarkupXML.md
+   Built-In-Output/QRStringJSON.md
+   Built-In-Output/QRStringText.md
 
 .. toctree::
    :maxdepth: 3

+ 22 - 22
genindex.html

@@ -197,37 +197,31 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -242,20 +236,26 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

+ 45 - 45
index.html

@@ -199,37 +199,31 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -244,20 +238,26 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>
@@ -361,7 +361,7 @@
              
   <section id="php-qrcode-manual">
 <h1>PHP-QRCode Manual<a class="headerlink" href="#php-qrcode-manual" title="Link to this heading"></a></h1>
-<p>User manual for <a class="reference external" href="https://github.com/chillerlan/php-qrcode/">chillerlan/php-qrcode</a>  [main]. Updated on May 04, 2024.</p>
+<p>User manual for <a class="reference external" href="https://github.com/chillerlan/php-qrcode/">chillerlan/php-qrcode</a>  [main]. Updated on May 06, 2024.</p>
 <p>The phpDocumentor API documentation can be found at <a class="reference external" href="https://chillerlan.github.io/php-qrcode/">chillerlan.github.io/php-qrcode</a>.</p>
 <p>This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0) License.</p>
 <div class="toctree-wrapper compound">
@@ -521,37 +521,31 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -566,20 +560,26 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>


+ 22 - 22
search.html

@@ -200,37 +200,31 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QREps.html">QREps</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QREps.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRFpdf.html">QRFpdf</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRFpdf.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRGdImage.html">QRGdImage</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-have-no-effect">Options that have no effect</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRGdImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRImagick.html">QRImagick</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRImagick.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html">QRInterventionImage</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRInterventionImage.html#options-that-affect-this-module">Options that affect this module</a></li>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupHTML.html">QRMarkupHTML</a><ul>
@@ -245,20 +239,26 @@
 <li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html">QRMarkupSVG</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#example">Example</a></li>
 <li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupSVG.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html">QRMarkupXML</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRMarkupXML.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRString.html">QRString</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#plain-text">Plain text</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#json">JSON</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#additional-methods">Additional methods</a></li>
-<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-affect-this-module">Options that affect this module</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="Built-In-Output/QRString.html#options-that-have-no-effect">Options that have no effect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringJSON.html">QRStringJSON</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#previous-functionality">Previous functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringJSON.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="Built-In-Output/QRStringText.html">QRStringText</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#additional-methods">Additional methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="Built-In-Output/QRStringText.html#options-that-affect-this-class">Options that affect this class</a></li>
 </ul>
 </li>
 </ul>

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
searchindex.js


Некоторые файлы не были показаны из-за большого количества измененных файлов