diff --git a/docs/README.md b/docs/README.md
index 3690e8477..b0dbe7ff7 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -32,6 +32,13 @@ This then creates the HTML documentation within `build/html`.
> Use: `sphinx-build -a -b html . build/html` to build all, including the assets in `_static` (important if you have updated CSS).
+### Building the Japanese documentation
+
+- From the "docs" location run:
+
+`sphinx-build -a -b html -D language=ja . _build/html/ja`
+
+
## Building PDF documentation
diff --git a/docs/about-feature-matrix.rst b/docs/about-feature-matrix.rst
index 1279b5da9..e7454f3a6 100644
--- a/docs/about-feature-matrix.rst
+++ b/docs/about-feature-matrix.rst
@@ -136,17 +136,20 @@
+
This refers to opening a document and then saving it to a new file. This test measures the speed of reading a PDF and re-writing as a new PDF. This process is also at the core of functions like merging / joining multiple documents. The numbers below therefore apply to PDF joining and merging.
+
Copying
This refers to opening a document and then saving it to a new file. This test measures the speed of reading a PDF and re-writing as a new PDF. This process is also at the core of functions like merging / joining multiple documents. The numbers below therefore apply to PDF joining and merging.
-
The results for all 7,031 pages are:
+
The results for all 7,031 pages are:
@@ -183,7 +183,7 @@
400
300
200
-
100
⏱
seconds
+
100
⏱
seconds
@@ -210,19 +210,19 @@
-
fastest
+
fastest
←
←
-
slowest
+
slowest
-
Text Extraction
This refers to extracting simple, plain text from every page of the document and storing it in a text file.
+
Text Extraction
This refers to extracting simple, plain text from every page of the document and storing it in a text file.
-
The results for all 7,031 pages are:
+
The results for all 7,031 pages are:
@@ -235,7 +235,7 @@
400
300
200
-
100
⏱
seconds
+
100
⏱
seconds
@@ -261,10 +261,10 @@
-
fastest
+
fastest
←
←
-
slowest
+
slowest
@@ -273,9 +273,9 @@
-
Rendering
This refers to making an image (like PNG) from every page of a document at a given DPI resolution. This feature is the basis for displaying a document in a GUI window.
+
Rendering
This refers to making an image (like PNG) from every page of a document at a given DPI resolution. This feature is the basis for displaying a document in a GUI window.
-
The results for all 7,031 pages are:
+
The results for all 7,031 pages are:
@@ -290,7 +290,7 @@
800
600
400
-
200
⏱
seconds
+
200
⏱
seconds
@@ -314,9 +314,9 @@
-
fastest
+
fastest
←
-
slowest
+
@@ -324,5 +324,67 @@
+
+
+
+
diff --git a/docs/about.rst b/docs/about.rst
index 14fe690c1..906449fce 100644
--- a/docs/about.rst
+++ b/docs/about.rst
@@ -53,9 +53,20 @@ License and Copyright
.. raw:: html
-
+
+
+
+
+
:title:`Artifex` is the exclusive commercial licensing agent for :title:`MuPDF`.
:title:`Artifex`, the :title:`Artifex` logo, :title:`MuPDF`, and the :title:`MuPDF` logo are registered trademarks of :title:`Artifex Software Inc.`
diff --git a/docs/conf.py b/docs/conf.py
index 4a7f6d90a..7d98cf011 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -98,6 +98,15 @@
# If true, keep warnings as "system message" paragraphs in the built documents.
keep_warnings = False
+# Localization vars
+
+gettext_uuid = True
+
+gettext_compact = False
+
+locale_dirs = ["locales"]
+
+
# -- Options for HTML output ----------------------------------------------
diff --git a/docs/footer.rst b/docs/footer.rst
index ee36058e1..5d16d704e 100644
--- a/docs/footer.rst
+++ b/docs/footer.rst
@@ -25,7 +25,38 @@
});
-
This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States for further information.
+
This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States for further information.
+
+
+
+
+
+
+
.. note - this ensures that the Sphinx build system will pull in the image (as it is referenced in an RST file) to _images,
we don't want to display it via rst markup due to limitations (hence width:0), however we do want it available for our raw HTML
diff --git a/docs/header.rst b/docs/header.rst
index 98c0062e1..7b8891f4a 100644
--- a/docs/header.rst
+++ b/docs/header.rst
@@ -1,3 +1,11 @@
+.. meta::
+ :author: Artifex
+ :description lang=en: PyMuPDF is a high-performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents.
+ :description lang=ja: PyMuPDF は、PDF (およびその他の)ドキュメントのデータ抽出、分析、変換、操作のための高性能な Python ライブラリです。
+ :keywords lang=en: PDF Text Extraction, PDF Image Extraction, PDF Conversion, PDF Tables, PDF Splitting, PDF Creation, Pyodide, PyScript
+ :keywords lang=ja: PDFテキスト抽出、PDFイメージ抽出、PDF変換、PDFテーブル、PDF分割、PDF作成, Pyodide, PyScript
+
+
.. raw:: html
@@ -35,7 +43,7 @@
diff --git a/docs/locales/ja/LC_MESSAGES/about-feature-matrix.mo b/docs/locales/ja/LC_MESSAGES/about-feature-matrix.mo
new file mode 100644
index 000000000..48abd9ab2
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/about-feature-matrix.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/about-feature-matrix.po b/docs/locales/ja/LC_MESSAGES/about-feature-matrix.po
new file mode 100644
index 000000000..d2adae1de
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/about-feature-matrix.po
@@ -0,0 +1,21 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
diff --git a/docs/locales/ja/LC_MESSAGES/about-performance.mo b/docs/locales/ja/LC_MESSAGES/about-performance.mo
new file mode 100644
index 000000000..48abd9ab2
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/about-performance.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/about-performance.po b/docs/locales/ja/LC_MESSAGES/about-performance.po
new file mode 100644
index 000000000..d2adae1de
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/about-performance.po
@@ -0,0 +1,21 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
diff --git a/docs/locales/ja/LC_MESSAGES/about.mo b/docs/locales/ja/LC_MESSAGES/about.mo
new file mode 100644
index 000000000..428ab0a68
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/about.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/about.po b/docs/locales/ja/LC_MESSAGES/about.po
new file mode 100644
index 000000000..694a39bad
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/about.po
@@ -0,0 +1,105 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../about.rst:10 888b5bf60bc6435e90715e12dc2bdb28
+msgid "Features Comparison"
+msgstr "機能の比較"
+
+#: ../../about.rst:16 f075f60743ac4eacb93bbfffad517ecc
+msgid "Feature matrix"
+msgstr "機能比較表"
+
+#: ../../about.rst:18 ff238380567645238b1fbe2e64e623b0
+msgid ""
+"The following table illustrates how :title:`PyMuPDF` compares with other "
+"typical solutions."
+msgstr "以下の表は、:title:`PyMuPDF` が他の典型的な解決策と比較した場合の違いを示しています。"
+
+#: ../../about.rst:27 f2abbb9014ca4c8f82af6cd85a11704f
+msgid "Performance"
+msgstr "パフォーマンス"
+
+#: ../../about.rst:31 157fa531655e41478d9852f7c5e61f06
+msgid ""
+"To benchmark :title:`PyMuPDF` performance against a range of tasks a test"
+" suite with a fixed set of :ref:`8 PDFs with a total of 7,031 "
+"pages` containing text & images is used to obtain "
+"performance timings."
+msgstr ":ref:`8つのPDFファイル(合計7,031ページ)` にテキストと画像が含まれている固定されたセットのテストスイートを使用して、:title:`PyMuPDF` のパフォーマンスをさまざまなタスクに対してベンチマークします。"
+
+#: ../../about.rst:34 6a96665d1db74c969980db1fd2ea12a4
+msgid "Here are current results, grouped by task:"
+msgstr "以下は、タスクごとにグループ化された現在の結果です:"
+
+#: ../../about.rst:43 785c3e70fdca4aab9372cdd5273dc82e
+msgid ""
+"For more detail regarding the methodology for these performance timings "
+"see: :ref:`Performance Comparison Methodology`."
+msgstr "これらのパフォーマンスのタイミングに関する方法論の詳細については、:ref:`パフォーマンス比較方法論` を参照してください。"
+
+#: ../../about.rst:48 986945aa34944c01bc1ea61c44f2fc6c
+msgid "License and Copyright"
+msgstr "ライセンスと著作権"
+
+#: ../../about.rst:52 70fb5ce138354820aca1754304e0ce36
+msgid ""
+":title:`PyMuPDF` and :title:`MuPDF` are now available under both, open-"
+"source :title:`AGPL` and commercial license agreements. Please read the "
+"full text of the :title:`AGPL` license agreement, available in the "
+"distribution material (file COPYING) and `here "
+"`_, to ensure that your use "
+"case complies with the guidelines of the license. If you determine you "
+"cannot meet the requirements of the :title:`AGPL`, please contact "
+"`Artifex `_ for more information "
+"regarding a commercial license."
+msgstr "PyMuPDFとMuPDFは現在、オープンソースのAGPLと商用ライセンス契約の両方で提供されています。ライセンスのガイドラインに従うことを確認するため、配布資料(COPYINGファイル)と `ここ `_ にあるAGPLライセンス契約の全文をお読みください。AGPLの要件を満たせないと判断された場合は、商用ライセンスに関する詳細情報については、 `Artifex `_ にお問い合わせください。"
+
+#: ../../about.rst:59 f3b337656b7043aaaf9dca11699f7c2d
+msgid ""
+":title:`Artifex` is the exclusive commercial licensing agent for "
+":title:`MuPDF`."
+msgstr ":title:`Artifex` Artifexは、:title:`MuPDF` の独占的な商業ライセンスエージェントです。"
+
+#: ../../about.rst:61 1303d3e636b94a99b70c1087641984d5
+msgid ""
+":title:`Artifex`, the :title:`Artifex` logo, :title:`MuPDF`, and the "
+":title:`MuPDF` logo are registered trademarks of :title:`Artifex Software"
+" Inc.`"
+msgstr ":title:`Artifex` 、:title:`Artifex` のロゴ、:title:`MuPDF` 、およびMuPDFのロゴは、:title:`Artifex Software Inc.` の登録商標です。"
+
+#: ../../version.rst:3 ff0d4a3e0de94752b26e51a8a37bf914
+msgid ""
+"This documentation covers **PyMuPDF v1.23.0rc1** features as of "
+"**2023-08-10 00:00:01**."
+msgstr ""
+
+#: ../../version.rst:5 7c2446c0ab554e95b8c263ac5713d6a5
+msgid ""
+"The major and minor versions of **PyMuPDF** and **MuPDF** will always be "
+"the same. Only the third qualifier (patch level) may deviate from that of"
+" **MuPDF**."
+msgstr ""
+
+#: ../../footer.rst:-1 29505b8af3da40eda1190aeaab46fcba
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/algebra.mo b/docs/locales/ja/LC_MESSAGES/algebra.mo
new file mode 100644
index 000000000..3120c5893
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/algebra.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/algebra.po b/docs/locales/ja/LC_MESSAGES/algebra.po
new file mode 100644
index 000000000..07591b24f
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/algebra.po
@@ -0,0 +1,374 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../algebra.rst:6 813ba009ec774833bbcd496340eda09b
+msgid "Operator Algebra for Geometry Objects"
+msgstr "幾何学オブジェクトのためのオペレーター代数"
+
+#: ../../algebra.rst:10 0d2af547035941d8853df5738249e928
+msgid ""
+"Instances of classes :ref:`Point`, :ref:`IRect`, :ref:`Rect`, :ref:`Quad`"
+" and :ref:`Matrix` are collectively also called \"geometry\" objects."
+msgstr "クラス :ref:`Point` 、 :ref:`IRect` 、 :ref:`Rect` 、 :ref:`Quad` 、および :ref:`Matrix` のインスタンスは、集合的に「幾何学オブジェクト」とも呼ばれます。"
+
+#: ../../algebra.rst:12 39906200c9684896adf7213485a13e02
+msgid ""
+"They all are special cases of Python sequences, see :ref:`SequenceTypes` "
+"for more background."
+msgstr "これらはすべてPythonシーケンスの特殊なケースであり、詳細については、PyMuPDFでのPythonシーケンスを引数として使用するを参照してください。"
+
+#: ../../algebra.rst:14 9b9740cb8b8f49188bdb74a669d32575
+msgid ""
+"We have defined operators for these classes that allow dealing with them "
+"(almost) like ordinary numbers in terms of addition, subtraction, "
+"multiplication, division, and some others."
+msgstr "これらのクラスには、加算、減算、乗算、除算など、通常の数値とほぼ同じように取り扱うための演算子が定義されています。"
+
+#: ../../algebra.rst:16 ba82659191d14ec48fba8014a0fa2e29
+msgid "This chapter is a synopsis of what is possible."
+msgstr "この章では、可能な操作の要約を説明します。"
+
+#: ../../algebra.rst:19 62f3145601b541b984b384091a6ba5b2
+msgid "General Remarks"
+msgstr "一般的な注意事項"
+
+#: ../../algebra.rst:20 c566c8f6fe0c462aaab3ee536eba9e83
+msgid ""
+"Operators can be either **binary** (i.e. involving two objects) or "
+"**unary**."
+msgstr "演算子は2つのオブジェクトを含むバイナリ演算子または単項演算子になります。"
+
+#: ../../algebra.rst:22 3e82a4487c63474a91f4b42106cbfb31
+msgid ""
+"The resulting type of **binary** operations is either a **new object of "
+"the left operand's class** or a bool."
+msgstr "バイナリ演算の結果の型は、左オペランドのクラスの新しいオブジェクトまたはbool型です。"
+
+#: ../../algebra.rst:24 69f0f86c148241f5a4168f42234e032d
+msgid ""
+"The result of **unary** operations is either a **new object** of the same"
+" class, a bool or a float."
+msgstr "単項演算の結果は、同じクラスの新しいオブジェクト、bool型、またはfloat型のいずれかです。"
+
+#: ../../algebra.rst:26 f961d84c146f40f588ec3d543489ec61
+msgid ""
+"The binary operators *+, -, *, /* are defined for all classes. They "
+"*roughly* do what you would expect -- **except, that the second operand "
+"...**"
+msgstr "バイナリ演算子 ``+`` 、``-`` 、``*`` 、 ``/`` はすべてのクラスで定義されています。これらはおおよその期待通りの動作をしますが、2番目のオペランドは...(省略されました)。"
+
+#: ../../algebra.rst:28 821873dd1c924adcbea7641b0cc34487
+msgid ""
+"may always be a number which then performs the operation on every "
+"component of the first one,"
+msgstr "第2のオペランドは常に数値であり、それにより最初のオペランドのすべての要素に対して操作を行います。"
+
+#: ../../algebra.rst:29 372851491015464eab536977f0dc0f4e
+msgid ""
+"may always be a numeric sequence of the same length (2, 4 or 6) -- we "
+"call such sequences :data:`point_like`, :data:`rect_like`, "
+":data:`quad_like` or :data:`matrix_like`, respectively."
+msgstr "第2のオペランドは常に同じ長さの数値のシーケンスであることができます(2つ、4つ、または6つ) - それぞれ :data:`point_like` 、 :data:`rect_like` 、 :data:`quad_like` 、または :data:`matrix_like` と呼びます。"
+
+#: ../../algebra.rst:31 9e4f0de5a2d54c2eaf1607c8de696d2a
+msgid ""
+"Rectangles support additional binary operations: **intersection** "
+"(operator *\"&\"*), **union** (operator *\"|\"*) and **containment** "
+"checking."
+msgstr "矩形は追加のバイナリ演算をサポートしています:交差(演算子“&”)、結合(演算子“|”)、および包含チェック。"
+
+#: ../../algebra.rst:33 8768d96321144c42932ebe70ea897367
+msgid ""
+"Binary operators fully support in-place operations, so expressions like "
+"`a /= b` are valid if b is numeric or \"a_like\"."
+msgstr "バイナリ演算子は、すべての場所で完全にサポートされているため、``b`` が数値または「a_like」の場合、 ``a /= b`` のような式が有効です"
+
+#: ../../algebra.rst:37 bb3416126e3d4e64aa063dd75ac8bbb5
+msgid "Unary Operations"
+msgstr "単項演算"
+
+#: ../../algebra.rst:40 ../../algebra.rst:56 3fddc081d23642a89962017517d471c5
+#: f03cb99c327c4b4e90df5f100cde8236
+msgid "Oper."
+msgstr "演算"
+
+#: ../../algebra.rst:40 ../../algebra.rst:56 1cd6dbc24bee4292af783f00b10193f8
+#: 67b2c86ac824433a8a4f67606f5d1d3a
+msgid "Result"
+msgstr "結果"
+
+#: ../../algebra.rst:42 d7ecc6c8753e478aaeb18e9d80d9f124
+msgid "bool(OBJ)"
+msgstr ""
+
+#: ../../algebra.rst:42 82ed95910dae4ab2880a31277670d201
+msgid "is false exactly if all components of OBJ are zero"
+msgstr "OBJのすべての成分がゼロの場合にのみfalse"
+
+#: ../../algebra.rst:43 5d04d3f792a541258921c969e4fd4013
+msgid "abs(OBJ)"
+msgstr ""
+
+#: ../../algebra.rst:43 be27190f35bd43ac9953266759678142
+msgid "the rectangle area -- equal to norm(OBJ) for the other types"
+msgstr "他のタイプに対してnorm(OBJ)と等しい長方形の面積"
+
+#: ../../algebra.rst:44 79a7403d69504c62a9d2fe563ab0d3b5
+msgid "norm(OBJ)"
+msgstr ""
+
+#: ../../algebra.rst:44 b5ec5a9e82b34ed2a234969e12b1c3ec
+msgid "square root of the component squares (Euclidean norm)"
+msgstr "成分の二乗の平方根(ユークリッドノルム)"
+
+#: ../../algebra.rst:45 68fe924f3e6a4129b4e876ab688a87b1
+msgid "+OBJ"
+msgstr ""
+
+#: ../../algebra.rst:45 1cbbf43935cd4406bf5969060d147a74
+msgid "new copy of OBJ"
+msgstr "OBJの新しいコピー"
+
+#: ../../algebra.rst:46 5eee675e01914d72b3a8aae745147df9
+msgid "-OBJ"
+msgstr ""
+
+#: ../../algebra.rst:46 534d7082639e4877b47e4292b350ef4c
+msgid "new copy of OBJ with negated components"
+msgstr "成分が反転されたOBJの新しいコピー"
+
+#: ../../algebra.rst:47 bd2693aa6aa84f5c834bdcea7776366a
+msgid "~m"
+msgstr ""
+
+#: ../../algebra.rst:47 ba7102093c0b47cdab7c219996e314bc
+msgid "inverse of matrix \"m\", or the null matrix if not invertible"
+msgstr "行列 \"m\" の逆行列、または逆行列が存在しない場合は零行列"
+
+#: ../../algebra.rst:52 ccdc8e3d558144c2b9f54fb7b33debc5
+msgid "Binary Operations"
+msgstr "二項演算"
+
+#: ../../algebra.rst:53 385c2d08bdf14335ae2a50528cf29f8d
+msgid ""
+"For every geometry object \"a\" and every number \"b\", the operations "
+"\"a ° b\" and \"a °= b\" are always defined for the operators *+, -, *, "
+"/*. The respective operation is simply executed for each component of "
+"\"a\". If the **second operand is not a number**, then the following is "
+"defined:"
+msgstr "あらゆるジオメトリオブジェクト"a"とあらゆる数値 \"b\" に対して、演算子 ``+``, ``-`` , ``*`` , ``/`` については常に \"a ° b\" と \"a °= b\" の操作が定義されています。それぞれの操作は、\"a\" の各成分に対して単純に実行されます。もし第二オペランドが数値でない場合、次のように定義されます:"
+
+#: ../../algebra.rst:58 fc7ab3b4445b44f2a24094468b75f591
+msgid "a+b, a-b"
+msgstr ""
+
+#: ../../algebra.rst:58 1dfd49bc780d4b05b1fd934bc35c52d1
+msgid "component-wise execution, \"b\" must be \"a-like\"."
+msgstr "成分ごとの実行。\"b\" は \"a\" と同様の要素数である必要があります。"
+
+#: ../../algebra.rst:59 20bf755d8f7a4a52b4e963e3723d629b
+msgid "a*m, a/m"
+msgstr ""
+
+#: ../../algebra.rst:59 874894abe1404d07bef2a934733f59e0
+msgid ""
+"\"a\" can be a point, rectangle or matrix, but \"m\" must be "
+":data:`matrix_like`. *\"a/m\"* is treated as *\"a*~m\"* (see note below "
+"for non-invertible matrices). If \"a\" is a **point** or a **rectangle**,"
+" then *\"a.transform(m)\"* is executed. If \"a\" is a matrix, then matrix"
+" concatenation takes place."
+msgstr "\"a\" はポイント、矩形、または行列になりますが、\"m\" は :data:`matrix_like` でなければなりません。\"a/m\" は \"a*〜m\" として処理されます(非逆行列の場合は以下の注記を参照)。\"a\" がポイントまたは矩形の場合、\"a.transform(m)\" が実行されます。\"a\" が行列の場合、行列の連結が行われます。"
+
+
+
+#: ../../algebra.rst:64 d4655a899c0242859c8156400cca311f
+msgid "a&b"
+msgstr ""
+
+#: ../../algebra.rst:64 de275cd2e53a4ed1955340ef4c5fd538
+msgid ""
+"**intersection rectangle:** \"a\" must be a rectangle and \"b\" "
+":data:`rect_like`. Delivers the **largest rectangle** contained in both "
+"operands."
+msgstr "共通の長方形: \"a\" は長方形であり、\"b\" は :data:`rect_like` 形式である必要があります。両方のオペランドに含まれる最大の長方形を返します。"
+
+#: ../../algebra.rst:67 49ad439978e7430f9ee87346e8f2b690
+msgid "a|b"
+msgstr ""
+
+#: ../../algebra.rst:67 96c91fe2ea9741f4a3160762032fa53a
+msgid ""
+"**union rectangle:** \"a\" must be a rectangle, and \"b\" may be "
+":data:`point_like` or :data:`rect_like`. Delivers the **smallest "
+"rectangle** containing both operands."
+msgstr "合併した長方形: \"a\" は長方形であり、\"b\" は 点のような :data:`point_like` :data:`rect_like` 形式である必要があります。両方のオペランドを含む最小の長方形を返します。"
+
+#: ../../algebra.rst:70 3a45cae998a14a458026775418b6d400
+msgid "b in a"
+msgstr ""
+
+#: ../../algebra.rst:70 61b17d468f9b41ab90bd551e59e1f5cb
+msgid ""
+"if \"b\" is a number, then `b in tuple(a)` is returned. If \"b\" is "
+":data:`point_like`, :data:`rect_like` or :data:`quad_like`, then \"a\" "
+"must be a rectangle, and `a.contains(b)` is returned."
+msgstr "もし \"b\" が数値である場合、 `b in tuple(a)` が返されます。もし \"b\" が :data:`point_like` 形式、 :data:`rect_like` 形式、または :data:`quad_like` 形式である場合、\"a\" は長方形である必要があり、`a.contains(b)` が返されます。"
+
+#: ../../algebra.rst:73 b82a4b8b83f047ce998f43f5d1e4340a
+msgid "a == b"
+msgstr ""
+
+#: ../../algebra.rst:73 be5f151fd91b4cd28dc1f9b9d9ab1752
+msgid "*True* if *bool(a-b)* is *False* (\"b\" may be \"a-like\")."
+msgstr "bool(a-b) が `False` であれば `True` を返します(\"b\"は\"a-like\"である可能性があります)。"
+
+#: ../../algebra.rst:77 b6fc6540669146ed97ed098e5bb15b80
+msgid "Please note an important difference to usual arithmetic:"
+msgstr "以下は通常の算術との重要な違いに注意してください:"
+
+#: ../../algebra.rst:79 41f57bc8d08c4ec390c19dcd19704b1c
+msgid ""
+"Matrix multiplication is **not commutative**, i.e. in general we have "
+"`m*n != n*m` for two matrices. Also, there are non-zero matrices which "
+"have no inverse, for example `m = Matrix(1, 0, 1, 0, 1, 0)`. If you try "
+"to divide by any of these, you will receive a `ZeroDivisionError` "
+"exception using operator *\"/\"*, e.g. for the expression `fitz.Identity "
+"/ m`. But if you formulate `fitz.Identity * ~m`, the result will be "
+"`fitz.Matrix()` (the null matrix)."
+msgstr "行列の乗算は可換ではありません。つまり、一般に2つの行列に対して `m*n != n*m` が成り立ちます。また、逆行列を持たないゼロでない行列も存在します。例えば、`m = Matrix(1, 0, 1, 0, 1, 0)` のような行列があります。これらの行列で除算しようとすると、演算子 *\"/\"* を使用して `fitz.Identity / m` のような式で `ZeroDivisionError` 例外が発生します。しかし、`fitz.Identity * ~m` のように記述すると、結果は `fitz.Matrix()` (零行列)となります。"
+
+#: ../../algebra.rst:81 ea4197f624cd47238dd31180607bc2f5
+msgid ""
+"Admittedly, this represents an inconsistency, and we are considering to "
+"remove it. For the time being, you can choose to avoid an exception and "
+"check whether ~m is the null matrix, or accept a potential "
+"*ZeroDivisionError* by using `fitz.Identity / m`."
+msgstr "認めるところがあるかもしれませんが、これは矛盾を示しており、私たちはこれを取り除くことを検討しています。当面の間は、例外を回避し、`~m` が零行列であるかどうかをチェックするか、`fitz.Identity / m` を使用して `ZeroDivisionError` の可能性を受け入れることができます。"
+
+#: ../../algebra.rst:85 c88496037d3a40d6a79ea60482edbb24
+msgid ""
+"With these conventions, all the usual algebra rules apply. For example, "
+"arbitrarily using brackets **(among objects of the same class!)** is "
+"possible: if r1, r2 are rectangles and m1, m2 are matrices, you can do "
+"this `(r1 + r2) * m1 * m2`."
+msgstr "これらの規則に従うと、すべての通常の代数のルールが適用されます。例えば、任意の括弧を使うことができます(同じクラスのオブジェクトの間で!):もし `r1`, `r2` が長方形であり、`m1`, `m2` が行列であれば、次のようにできます: `(r1 + r2) * m1 * m2` 。"
+
+#: ../../algebra.rst:86 ce43454509e2470189a1952ff6200561
+msgid ""
+"For all objects of the same class, `a + b + c == (a + b) + c == a + (b + "
+"c)` is true."
+msgstr "同じクラスのオブジェクトに対して、 `a + b + c == (a + b) + c == a + (b + c)` が成り立ちます。"
+
+#: ../../algebra.rst:87 d6b539bd50e54b6ab1b4e5728ca9a095
+msgid ""
+"For matrices in addition the following is true: `(m1 + m2) * m3 == m1 * "
+"m3 + m2 * m3` (distributivity property)."
+msgstr "行列の加法については、次のような性質が成り立ちます: `(m1 + m2) * m3 == m1 * m3 + m2 * m3` (分配律)。"
+
+#: ../../algebra.rst:88 d08fc8a61bec442bafcbb7494c5cdfda
+msgid ""
+"**But the sequence of applying matrices is important:** If r is a "
+"rectangle and m1, m2 are matrices, then -- **caution!:**"
+msgstr "ただし、行列の適用順序が重要です:もし `r` が長方形であり、 `m1` , `m2` が行列である場合、注意してください!次のような場合:"
+
+#: ../../algebra.rst:89 81239c6054704fecaa4465d63bcb887a
+msgid "`r * m1 * m2 == (r * m1) * m2 != r * (m1 * m2)`"
+msgstr ""
+
+#: ../../algebra.rst:92 42c22a869f504aa3b7fb942af819765e
+msgid "Some Examples"
+msgstr "いくつかの例"
+
+#: ../../algebra.rst:95 f48155d1acc74b988ab9ebbe51bb9851
+msgid "Manipulation with numbers"
+msgstr "数値の操作"
+
+#: ../../algebra.rst:96 2b21b674b941431485d39fbfc14deb0e
+msgid ""
+"For the usual arithmetic operations, numbers are always allowed as second"
+" operand. In addition, you can formulate `\"x in OBJ\"`, where x is a "
+"number. It is implemented as `\"x in tuple(OBJ)\"`::"
+msgstr "通常の算術演算では、数値は常に第二オペランドとして使用できます。さらに、`"x in OBJ"` のように式を記述することもできます。ここで、xは数値です。これは `"x in tuple(OBJ)"` として実装されています::"
+
+#: ../../algebra.rst:104 1608ca09d98a487588bceef5cf093b4a
+msgid ""
+"The following will create the upper left quarter of a document page "
+"rectangle::"
+msgstr "以下は、ドキュメントページの四角形の左上の四分の一を作成します::"
+
+#: ../../algebra.rst:112 82cb73867831475a87df289bcc6ee0fe
+msgid ""
+"The following will deliver the **middle point of a line** that connects "
+"two points **p1** and **p2**::"
+msgstr "以下は、点 `p1` と点 `p2` を結ぶ直線の中点を求めます::"
+
+#: ../../algebra.rst:122 877be437fc494609a539d6d5d2a17dc6
+msgid "Manipulation with \"like\" Objects"
+msgstr "「Like」オブジェクトを用いた操作"
+
+#: ../../algebra.rst:124 5ceaf82fce7844cf8536efb47544998f
+msgid ""
+"The second operand of a binary operation can always be \"like\" the left "
+"operand. \"Like\" in this context means \"a sequence of numbers of the "
+"same length\". With the above examples::"
+msgstr "2項演算の第2オペランドは常に左オペランドと「like」することができます。「Like」とは、この文脈では「同じ長さの数列」という意味です。上記の例を用いて説明します。"
+
+#: ../../algebra.rst:135 53459cb98aca452e89039358d19c28fd
+msgid "To shift a rectangle for 5 pixels to the right, do this::"
+msgstr "長方形を右に5ピクセルシフトさせるには、次のようにします::"
+
+#: ../../algebra.rst:141 b3bfe998139b49b8a484310679ca7c74
+msgid ""
+"Points, rectangles and matrices can be *transformed* with matrices. In "
+"PyMuPDF, we treat this like a **\"multiplication\"** (or resp. "
+"**\"division\"**), where the second operand may be \"like\" a matrix. "
+"Division in this context means \"multiplication with the inverted "
+"matrix\"::"
+msgstr "点、長方形、および行列は行列で変換できます。PyMuPDFでは、これを「乗算」(または「除算」とも)として扱います。ここで、第2オペランドは行列と「like」することができます。「除算」とは、この文脈では「逆行列との乗算」を意味します。"
+
+#: ../../algebra.rst:181 a273f40f058d44a0a2f6401d9afa64f5
+msgid "As a specialty, rectangles support additional binary operations:"
+msgstr "特に、長方形は追加の2項演算をサポートしています:"
+
+#: ../../algebra.rst:183 ae804030722e4ec7974304bc85ac2947
+msgid "**intersection** -- the common area of rectangle-likes, operator *\"&\"*"
+msgstr "**交差** -- 長方形や類似の長方形の共通領域を示す演算子 *\"&\"*"
+
+#: ../../algebra.rst:184 3391d52a100140259a984fa3683fecb0
+msgid ""
+"**inclusion** -- enlarge to include a point-like or rect-like, operator "
+"*\"|\"*"
+msgstr "**含有** -- 点状または長方形状を含むように拡大する演算子 *\"|\"*"
+
+#: ../../algebra.rst:185 455ab97641f54c089ef32ef57d12ebbd
+msgid "**containment** check -- whether a point-like or rect-like is inside"
+msgstr "**含有確認** 点状または長方形状が内部にあるかどうかを確認します"
+
+#: ../../algebra.rst:187 06c181c1fc0848aeb8c4ad5a38900596
+msgid ""
+"Here is an example for creating the smallest rectangle enclosing given "
+"points::"
+msgstr "以下は、与えられた点を囲む最小の長方形を作成する例です::"
+
+#: ../../footer.rst:-1 9ee55d59589e4caf9cf2c1a9039b8467
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/annot.mo b/docs/locales/ja/LC_MESSAGES/annot.mo
new file mode 100644
index 000000000..25a177b98
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/annot.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/annot.po b/docs/locales/ja/LC_MESSAGES/annot.po
new file mode 100644
index 000000000..d86717e4e
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/annot.po
@@ -0,0 +1,1454 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../annot.rst:7 3b44369b87274b07865b9796c069f286
+msgid "Annot"
+msgstr "Annot (注釈)"
+
+#: ../../annot.rst:8 bc683ca9b67d4517ad2d367ac83ea67f
+msgid "**This class is supported for PDF documents only.**"
+msgstr "**このクラスはPDFドキュメントのみに対応しています。** "
+
+#: ../../annot.rst:10 3037c34304544c4ab2620db66a1d003a
+msgid ""
+"Quote from the :ref:`AdobeManual`: \"An annotation associates an object "
+"such as a note, sound, or movie with a location on a page of a PDF "
+"document, or provides a way to interact with the user by means of the "
+"mouse and keyboard.\""
+msgstr ":ref:`AdobeManual` からの引用: 「注釈は、ノート、音声、動画などのオブジェクトをPDFドキュメントのページ上の位置に関連付けるか、マウスとキーボードを介してユーザーと対話する手段を提供します。」"
+
+#: ../../annot.rst:12 a651563370954a53bdf63eb9983b36d6
+msgid ""
+"There is a parent-child relationship between an annotation and its page. "
+"If the page object becomes unusable (closed document, any document "
+"structure change, etc.), then so does every of its existing annotation "
+"objects -- an exception is raised saying that the object is \"orphaned\","
+" whenever an annotation property or method is accessed."
+msgstr "注釈とそのページとの間には親子関係があります。ページオブジェクトが使用できなくなる場合(閉じたドキュメント、文書構造の変更など)、そのページに存在するすべての注釈オブジェクトも同様に使用できなくなります。注釈のプロパティやメソッドにアクセスされるたびに、オブジェクトが「孤立した」という例外が発生します。"
+
+#: ../../annot.rst:15 a7e9f9b2c24e4f29852c1afb58486fa2
+msgid "**Attribute**"
+msgstr " **属性** "
+
+#: ../../annot.rst:15 5ae3e348086d4bf0837f4d3547c7b3e3
+msgid "**Short Description**"
+msgstr " **短い説明** "
+
+#: ../../annot.rst:17 a07fbe87bfd743b789b09176cc131f94
+msgid ":meth:`Annot.delete_responses`"
+msgstr ""
+
+#: ../../annot.rst:17 b3eacfe925b44e0a8c378aa1c3125483
+msgid "delete all responding annotions"
+msgstr "すべての応答アノテーションを削除します"
+
+#: ../../annot.rst:18 c0f62895f80646f49eca57f123c705a9
+msgid ":meth:`Annot.get_file`"
+msgstr ""
+
+#: ../../annot.rst:18 755e4a9f66f64b9e9b18cae6af06d09c
+msgid "get attached file content"
+msgstr "添付ファイルの内容を取得します"
+
+#: ../../annot.rst:19 661bdbceea2d4dc087fdde391328465c
+msgid ":meth:`Annot.get_oc`"
+msgstr ""
+
+#: ../../annot.rst:19 57519e02c3cf4205aeefc5bcc5bbc7d6
+msgid "get :data:`xref` of an :data:`OCG` / :data:`OCMD`"
+msgstr ":data:`xref` を :data:`OCG` または :data:`OCMD` に取得します。"
+
+#: ../../annot.rst:20 27a8686eeaa04874bbe702c190c222eb
+msgid ":meth:`Annot.get_pixmap`"
+msgstr ""
+
+#: ../../annot.rst:20 2ed44f73094840d0a3b6e7ed0e712289
+msgid "image of the annotation as a pixmap"
+msgstr "アノテーションの画像をピクマップとして取得します"
+
+#: ../../annot.rst:21 ab252abd78874e5096f3d7de9dcbc015
+msgid ":meth:`Annot.get_sound`"
+msgstr ""
+
+#: ../../annot.rst:21 c90bc86fc7994e338dcec039d085293f
+msgid "get the sound of an audio annotation"
+msgstr "オーディオアノテーションの音声を取得します"
+
+#: ../../annot.rst:22 4110b32acce742a59eccffb4970db3bd
+msgid ":meth:`Annot.get_text`"
+msgstr ""
+
+#: ../../annot.rst:22 ../../annot.rst:23 146d35a366c44a9ab4e8e342a636fd54
+#: 5a19d6ba89594901bc9f1a8a51f65991
+msgid "extract annotation text"
+msgstr "アノテーションテキストを抽出します"
+
+#: ../../annot.rst:23 014846c0411d434e8881507f3fabd499
+msgid ":meth:`Annot.get_textbox`"
+msgstr ""
+
+#: ../../annot.rst:24 ce9e86c8e1f74765a444b7dab1bb135a
+msgid ":meth:`Annot.set_border`"
+msgstr ""
+
+#: ../../annot.rst:24 e30e3712b18d4f4b8b567c020a1dc1e3
+msgid "set annotation's border properties"
+msgstr "アノテーションの境界線のプロパティを設定します"
+
+#: ../../annot.rst:25 091d733ad89c409da9bb830447924662
+msgid ":meth:`Annot.set_blendmode`"
+msgstr ""
+
+#: ../../annot.rst:25 e9c99adc440e4d0e96f13a7e97533910
+msgid "set annotation's blend mode"
+msgstr "アノテーションのブレンドモードを設定します"
+
+#: ../../annot.rst:26 94c945d08359498989e68094af5f5292
+msgid ":meth:`Annot.set_colors`"
+msgstr ""
+
+#: ../../annot.rst:26 45e61ebeee3046bba2b030d3ae88323f
+msgid "set annotation's colors"
+msgstr "アノテーションの色を設定します"
+
+#: ../../annot.rst:27 ../../annot.rst:320 1614af626c0342059e3bdd1a00d1778c
+#: 4cfa94c8399c481bab48699252ed1495
+msgid ":meth:`Annot.set_flags`"
+msgstr ""
+
+#: ../../annot.rst:27 f5defbec79c54a3189500b21c60e3500
+msgid "set annotation's flags field"
+msgstr "アノテーションのフラグフィールドを設定します"
+
+#: ../../annot.rst:28 1c98a89d1767488bba48e40dc19d2623
+msgid ":meth:`Annot.set_irt_xref`"
+msgstr ""
+
+#: ../../annot.rst:28 77d55791494848f3a6e992ce628cb1b3
+msgid "define the annotation to being \"In Response To\""
+msgstr "アノテーションを「応答対象」として定義します"
+
+#: ../../annot.rst:29 29ccb80eaeaa4959a529ea73baa659e7
+msgid ":meth:`Annot.set_name`"
+msgstr ""
+
+#: ../../annot.rst:29 4b478490f44e4570b423b983a44987a8
+msgid "set annotation's name field"
+msgstr "アノテーションの名前フィールドを設定します"
+
+#: ../../annot.rst:30 ../../annot.rst:321 b0b361604dea4739a7f66d7ce214c313
+#: e1a9b3d8376e4b59ae7ac57a72b54b9a
+msgid ":meth:`Annot.set_oc`"
+msgstr ""
+
+#: ../../annot.rst:30 fdb24926db0e4b4f8ae48e3f0b1e2c07
+msgid "set :data:`xref` to an :data:`OCG` / :data:`OCMD`"
+msgstr ":data:`xref` を :data:`OCG` または :data:`OCMD` に設定します。"
+
+
+#: ../../annot.rst:31 f6df0ea961a44439ae124ff19c6a84aa
+msgid ":meth:`Annot.set_opacity`"
+msgstr ""
+
+#: ../../annot.rst:31 3b80eeb9898349a0bf43291e515b3589
+msgid "change transparency"
+msgstr "透明度を変更します"
+
+#: ../../annot.rst:32 d8e675acce8647d0a616f6bde39c2aa5
+msgid ":meth:`Annot.set_open`"
+msgstr ""
+
+#: ../../annot.rst:32 e8f18b9101d64f479fef5b3b77932f0c
+msgid "open / close annotation or its Popup"
+msgstr "アノテーションまたはそのポップアップを開く/閉じる"
+
+#: ../../annot.rst:33 6df4665bc46b44cabea63b840624f324
+msgid ":meth:`Annot.set_popup`"
+msgstr ""
+
+#: ../../annot.rst:33 c98a7f9820e7401788753fe8fa44f2b5
+msgid "create a Popup for the annotation"
+msgstr "アノテーションのためのポップアップを作成します"
+
+#: ../../annot.rst:34 ../../annot.rst:319 54a69e131d83486e86c70eaa537eb471
+#: b494d77df89b40dea8fca39c7811fdcd
+msgid ":meth:`Annot.set_rect`"
+msgstr ""
+
+#: ../../annot.rst:34 52b054a70ded484981ba00b8a9ed49ef
+msgid "change annotation rectangle"
+msgstr "アノテーションの長方形を変更します"
+
+#: ../../annot.rst:35 027195dad8614e159d27a1c1521aa65c
+msgid ":meth:`Annot.set_rotation`"
+msgstr ""
+
+#: ../../annot.rst:35 c3aa0b6483e1433eaf02dca6245ab0f0
+msgid "change rotation"
+msgstr "回転を変更します"
+
+#: ../../annot.rst:36 ../../annot.rst:322 b2ccd102411e44b49bff3ea5bf51024c
+#: ee76c5a90c0a453f9b865b4d9328f227
+msgid ":meth:`Annot.update_file`"
+msgstr ""
+
+#: ../../annot.rst:36 0f123691fab5474b8f4c3911537246b6
+msgid "update attached file content"
+msgstr "添付ファイルの内容を更新します"
+
+#: ../../annot.rst:37 5f9b66c1247442caa55bd171bd29b8f3
+msgid ":meth:`Annot.update`"
+msgstr ""
+
+#: ../../annot.rst:37 6ef04d7743484a0ca242208e7449a8ae
+msgid "apply accumulated annot changes"
+msgstr "蓄積されたアノテーションの変更を適用します"
+
+#: ../../annot.rst:38 fd4ef5f6fafa488990c6499d31cdedf1
+msgid ":attr:`Annot.blendmode`"
+msgstr ""
+
+#: ../../annot.rst:38 8fa964bf13644714869898cfcb98a7e1
+msgid "annotation BlendMode"
+msgstr "アノテーションのブレンドモード"
+
+#: ../../annot.rst:39 068458ba501b494ebd2b1898da54c610
+msgid ":attr:`Annot.border`"
+msgstr ""
+
+#: ../../annot.rst:39 c13735090b6e4768bc066dfe0cbad901
+msgid "border details"
+msgstr "境界線の詳細"
+
+#: ../../annot.rst:40 7c90bfc1d12a40ffbf5ac95bfc790814
+msgid ":attr:`Annot.colors`"
+msgstr ""
+
+#: ../../annot.rst:40 6b10c999e28f407a8965a436e8efbfab
+msgid "border / background and fill colors"
+msgstr "境界線/背景および塗りつぶしの色"
+
+#: ../../annot.rst:41 153e59e7a86248578ccddebc92c5bc7e
+msgid ":attr:`Annot.file_info`"
+msgstr ""
+
+#: ../../annot.rst:41 2c69f672a6e749bea6ae448a497b20ad
+msgid "get attached file information"
+msgstr "添付ファイル情報を取得します"
+
+#: ../../annot.rst:42 222cae007cb24b99856a12db4182e28b
+msgid ":attr:`Annot.flags`"
+msgstr ""
+
+#: ../../annot.rst:42 7634442b962644a2b4cca2119592f49d
+msgid "annotation flags"
+msgstr "アノテーションフラグ"
+
+#: ../../annot.rst:43 3f9a959b33f84d49843ed47f14d853f5
+msgid ":attr:`Annot.has_popup`"
+msgstr ""
+
+#: ../../annot.rst:43 4ea4fcca9c024664b304c329e3c1c745
+msgid "whether annotation has a Popup"
+msgstr "アノテーションにポップアップがあるかどうか"
+
+#: ../../annot.rst:44 0a29ff4930544cc39da47776eff666ad
+msgid ":attr:`Annot.irt_xref`"
+msgstr ""
+
+#: ../../annot.rst:44 cd4482d320da4e79afb36df75af518a9
+msgid "annotation to which this one responds"
+msgstr "このアノテーションへの応答としてのアノテーション"
+
+#: ../../annot.rst:45 54cc9fbd9f2c40898861dea193a23289
+msgid ":attr:`Annot.info`"
+msgstr ""
+
+#: ../../annot.rst:45 4647006b6b8d40949246abe0e856f9cf
+msgid "various information"
+msgstr "さまざまな情報"
+
+#: ../../annot.rst:46 b9e02121d9df4286914bb81135a1cae6
+msgid ":attr:`Annot.is_open`"
+msgstr ""
+
+#: ../../annot.rst:46 d0be5260eac649b09d0fc76d1e6cf923
+msgid "whether annotation or its Popup is open"
+msgstr "アノテーションまたはそのポップアップが開いているかどうか"
+
+#: ../../annot.rst:47 96afdb62dd264857ae641d1e67cbd4f6
+msgid ":attr:`Annot.line_ends`"
+msgstr ""
+
+#: ../../annot.rst:47 e5f0e9967cac4a398f8910554ad8b41d
+msgid "start / end appearance of line-type annotations"
+msgstr "線タイプのアノテーションの始点/終点の外観"
+
+#: ../../annot.rst:48 ece421ccb9564da0b01b3ed98199abaf
+msgid ":attr:`Annot.next`"
+msgstr ""
+
+#: ../../annot.rst:48 ae213998ff0340f88a358d724a15c55b
+msgid "link to the next annotation"
+msgstr "次のアノテーションへのリンク"
+
+#: ../../annot.rst:49 01201331d4874aa4a60b4299877d4bf6
+msgid ":attr:`Annot.opacity`"
+msgstr ""
+
+#: ../../annot.rst:49 557df907868240dabe6e9be23e4cc67a
+msgid "the annot's transparency"
+msgstr "アノテーションの透明度"
+
+#: ../../annot.rst:50 2835d7933755413aacadcab255d51105
+msgid ":attr:`Annot.parent`"
+msgstr ""
+
+#: ../../annot.rst:50 0887a309600c4ca698263126884ffdcb
+msgid "page object of the annotation"
+msgstr "アノテーションのページオブジェクト"
+
+#: ../../annot.rst:51 1171914f918b4d4b9ba068c1d83965aa
+msgid ":attr:`Annot.popup_rect`"
+msgstr ""
+
+#: ../../annot.rst:51 e2f1df56580d43e39427aad94e2fad7f
+msgid "rectangle of the annotation's Popup"
+msgstr "アノテーションのポップアップの長方形"
+
+#: ../../annot.rst:52 fb79c864570343648e3bd02e5405ab73
+msgid ":attr:`Annot.popup_xref`"
+msgstr ""
+
+#: ../../annot.rst:52 760ff40bb0d84ecc97e5413af09871de
+msgid "the PDF :data:`xref` number of the annotation's Popup"
+msgstr "アノテーションのポップアップのPDF :data:`xref` 番号"
+
+#: ../../annot.rst:53 ecdb2bc6bb79400999b0645903fd30cd
+msgid ":attr:`Annot.rect`"
+msgstr ""
+
+#: ../../annot.rst:53 a320554faf2d49a48dcd7c004dea6b22
+msgid "rectangle containing the annotation"
+msgstr "アノテーションを含む長方形"
+
+#: ../../annot.rst:54 3e3a45eb5f944fc9b87729b83781010e
+msgid ":attr:`Annot.type`"
+msgstr ""
+
+#: ../../annot.rst:54 d0a5864ce9394b3685e03f696e832506
+msgid "type of the annotation"
+msgstr "アノテーションのタイプ"
+
+#: ../../annot.rst:55 c3a17f57621e445fa53e4e3611087cff
+msgid ":attr:`Annot.vertices`"
+msgstr ""
+
+#: ../../annot.rst:55 b819d44e2bf14251b72a918b66b86180
+msgid "point coordinates of Polygons, PolyLines, etc."
+msgstr "ポリゴン、ポリラインなどの点の座標"
+
+#: ../../annot.rst:56 9d91e1751e694b33b06a5b19ae0f4bef
+msgid ":attr:`Annot.xref`"
+msgstr ""
+
+#: ../../annot.rst:56 fd58b5ba677d4a02a0160574ee8f9ec2
+msgid "the PDF :data:`xref` number"
+msgstr "PDF :data:`xref` 番号"
+
+#: ../../annot.rst:59 1a6907b8ffdb498db17ff8c23b00f014
+msgid "**Class API**"
+msgstr " **APIクラス** "
+
+#: ../../annot.rst:71 e85c3a1672514473bf6aa2b86e078063
+msgid "Changed in v1.19.2: added support of dpi parameter."
+msgstr "v1.19.2で変更: dpiパラメータのサポートが追加されました。"
+
+#: ../../annot.rst:73 7c5f5d2d15a2414c906d90750e74cfaf
+msgid ""
+"Creates a pixmap from the annotation as it appears on the page in "
+"untransformed coordinates. The pixmap's :ref:`IRect` equals "
+"*Annot.rect.irect* (see below). **All parameters are keyword only.**"
+msgstr "変換されていない座標でページ上に表示される注釈からピクスマップを作成します。ピクスマップの :ref:`IRect` は *Annot.rect.irect* と同じです(以下を参照)。 **すべてのパラメータはキーワード専用です。** "
+
+#: ../../annot.rst 014cd49fd25148db9eb080d9aeb32f48
+#: 06503a24fede40ba94ffa25a891b5580 13c75ddea34640f880b15b25b6f38ac1
+#: 1d9c89970b3c48ce91204323b215b90a 2858846ed4284c36a2357373d2b4924f
+#: 3f711a8c65404692bb38638068fa2a4e 44d17d1afbc8417ea4cb16008f13984e
+#: 4c04f912cdb24d8a8c2e85a502803df8 50560649e45d41f4bb074f7fc2dbac04
+#: 61caeb8ddcc24f898b89646d45f3dbdc 63a9577c20b24997b2a22217f71bfdcd
+#: 7e897d8d1d3246b5afcd21fe94898832 8d6427559ef148bab36c19a8b1791794
+#: c58e3af913a646439641fcc9dc581b1f cbafe6bb005349d4b2cc75799917eb87
+#: dea46837562040e3bca09c683934cd6a df723b0fa80d45eabdd1437bc3b9c59a
+#: e7c08f7ae97d4b41a3facfd4b0933295 f05acfdd49224d3db26f5db521f21e10
+msgid "Parameters"
+msgstr "パラメータ"
+
+#: ../../annot.rst:75 305c8175fea44b69b50ea0c4d11a6940
+msgid "a matrix to be used for image creation. Default is :ref:`Identity`."
+msgstr "画像の作成に使用される行列。デフォルトは :ref:`Identity` です。"
+
+#: ../../annot.rst:77 1f7052d1c353453b8a3b8f88d809de12
+msgid ""
+"(new in v1.19.2) desired resolution in dots per inch. If not `None`, the "
+"matrix parameter is ignored."
+msgstr "(v1.19.2で新規追加)インチあたりのドット数で指定された解像度。 `None` でない場合、matrixパラメータは無視されます。"
+
+#: ../../annot.rst:79 b08104e2be7d4c89938681fc82464acb
+msgid "a colorspace to be used for image creation. Default is *fitz.csRGB*."
+msgstr "画像の作成に使用されるカラースペース。デフォルトは *fitz.csRGB* です。"
+
+#: ../../annot.rst:82 1a92d0a6269e45058bc674dd3f0dd5e5
+msgid "whether to include transparency information. Default is *False*."
+msgstr "透明情報を含めるかどうか。デフォルトは *False* です。"
+
+#: ../../annot.rst 02a36f51f73d4a7eb9a230ed09ffd671
+#: 0f36b0937b224d56ae0b798e9e25ddd7 11d8779361ed4fb98d85a63e9d9e90c6
+#: 1513c4bf46ca4cb7b76a94171b768175 16798ba59df14ec7b3e5469f82585b32
+#: 1bddc63e5af7455f9e53585a3f9de4bc 20176a0bd54c42a6a71ab9a76f9b0f22
+#: 28aa435c56ec435aa1b17c09d9c1e00c 30c47db631944ff6abc03e798dd8c404
+#: 30dc30bef584434f9ab87cbdc4e16633 33a32ec9cbd344e9915ad7620c671824
+#: 493b2f17683d4f8c9f80121c6cbd351b 4fda4661f3874e5aabb0950d6ced46ca
+#: 887587d71f86445884e3b4dd8a2d31c6 8a3da1772fef4bc0ba04e28a0416f6ff
+#: a5a0d69953b54a71930d1baa27e41225 aacd912ff3054e59826201d22f24488c
+#: ac7f9d620fe2479f85c4063d396b07a2 c7cd8de163dd4effb782277a05f2347f
+#: ca05ffd22c614a3e9a8d4feecc61383c cc5b65ca5d42466ead1f6c8c13f89836
+#: d1880fa810044014bd29ff9151679c9e d38dc4b0e8994799917863903efc78b4
+#: fab7f42712c74d5ca07b1d3f6b5e5a4e
+msgid "Return type"
+msgstr "戻り値の型"
+
+#: ../../annot.rst:84 fd1d09c4d4c5484e9397a998e3ea5da6
+msgid ":ref:`Pixmap`"
+msgstr ""
+
+#: ../../annot.rst:86 c7a728beaf554acb8e90f1084167a0f1
+msgid ""
+"If the annotation has just been created or modified, you should reload "
+"the page first via *page = doc.reload_page(page)*."
+msgstr "注釈が作成または変更されたばかりの場合、まず *page = doc.reload_page(page)* を使用してページを再読み込みする必要があります。"
+
+#: ../../annot.rst:104 ../../annot.rst:125 3f31549b13424f96b6c575435d5c507a
+#: e8052a8a0e5f466ba2db9da717442148
+msgid "New in 1.18.0"
+msgstr "1.18.0 で新たに追加"
+
+#: ../../annot.rst:106 d6512e2461ba4fa0afb2186992094bbc
+msgid ""
+"Retrieves the content of the annotation in a variety of formats -- much "
+"like the same method for :ref:`Page`.. This currently only delivers "
+"relevant data for annotation types 'FreeText' and 'Stamp'. Other types "
+"return an empty string (or equivalent objects)."
+msgstr "さまざまなフォーマットで注釈の内容を取得します - これは :ref:`Page` の同じメソッドのように動作します。現在、これはアノテーションタイプ「FreeText」と「Stamp」に関連するデータのみを提供します。他の種類は空の文字列(または同等のオブジェクト)を返します。"
+
+#: ../../annot.rst:108 2215ad6d0ec940fc8737322a7ea217e1
+msgid ""
+"(positional only) the desired format - one of the following values. "
+"Please note that this method works exactly like the same-named method of "
+":ref:`Page`. * \"text\" -- :meth:`TextPage.extractTEXT`, default * "
+"\"blocks\" -- :meth:`TextPage.extractBLOCKS` * \"words\" -- "
+":meth:`TextPage.extractWORDS` * \"html\" -- :meth:`TextPage.extractHTML` "
+"* \"xhtml\" -- :meth:`TextPage.extractXHTML` * \"xml\" -- "
+":meth:`TextPage.extractXML` * \"dict\" -- :meth:`TextPage.extractDICT` * "
+"\"json\" -- :meth:`TextPage.extractJSON` * \"rawdict\" -- "
+":meth:`TextPage.extractRAWDICT`"
+msgstr ""
+
+#: ../../annot.rst:108 7d17552724084f938284f36459e0284e
+msgid ""
+"(positional only) the desired format - one of the following values. "
+"Please note that this method works exactly like the same-named method of "
+":ref:`Page`."
+msgstr "(位置指定のみ) 望ましいフォーマット - 以下のいずれかの値の1つです。このメソッドは、:ref:`Page` の同名のメソッドとまったく同じように動作することに注意してください。"
+
+#: ../../annot.rst:110 e8d0695856f444fcb7eb883d3427b081
+msgid "\"text\" -- :meth:`TextPage.extractTEXT`, default"
+msgstr "\"text\" -- :meth:`TextPage.extractTEXT`、デフォルト"
+
+#: ../../annot.rst:111 fec71ebd95f540a0b29d1c4aad83f517
+msgid "\"blocks\" -- :meth:`TextPage.extractBLOCKS`"
+msgstr ""
+
+#: ../../annot.rst:112 22f9c92b2858409692e0c767c5f61b21
+msgid "\"words\" -- :meth:`TextPage.extractWORDS`"
+msgstr ""
+
+#: ../../annot.rst:113 4f61f534352444edbac98cc460c8c292
+msgid "\"html\" -- :meth:`TextPage.extractHTML`"
+msgstr ""
+
+#: ../../annot.rst:114 257adb16f060414f9bec766cf2501cbd
+msgid "\"xhtml\" -- :meth:`TextPage.extractXHTML`"
+msgstr ""
+
+#: ../../annot.rst:115 b982e7577b6e488ea292d647ff664e29
+msgid "\"xml\" -- :meth:`TextPage.extractXML`"
+msgstr ""
+
+#: ../../annot.rst:116 a077c4c5072744fb8ac881f23d9929ff
+msgid "\"dict\" -- :meth:`TextPage.extractDICT`"
+msgstr ""
+
+#: ../../annot.rst:117 91a05ef6e849453db171fad0770df9f9
+msgid "\"json\" -- :meth:`TextPage.extractJSON`"
+msgstr ""
+
+#: ../../annot.rst:118 f9693a262bc943858c18e614fb9d0557
+msgid "\"rawdict\" -- :meth:`TextPage.extractRAWDICT`"
+msgstr ""
+
+#: ../../annot.rst:120 4c7d403e62c44869b69c63d4401fca81
+msgid ""
+"(keyword only) restrict the extraction to this area. Should hardly ever "
+"be required, defaults to :attr:`Annot.rect`."
+msgstr "(キーワードのみ) このエリアに抽出を制限します。ほとんど必要ない場合がほとんどで、デフォルトは :attr:`Annot.rect` です。"
+
+#: ../../annot.rst:121 e9d7f0d5127442b79b1b6a21be6caa13
+msgid ""
+"(keyword only) control the amount of data returned. Defaults to simple "
+"text extraction."
+msgstr "(キーワードのみ) 返されるデータの量を制御します。単純なテキスト抽出がデフォルトです。"
+
+#: ../../annot.rst:127 30d3810f3e504cbfbbda5bd8cf036453
+msgid ""
+"Return the annotation text. Mostly (except line breaks) equal to "
+":meth:`Annot.get_text` with the \"text\" option."
+msgstr "注釈のテキストを返します。主に(改行を除く)「text」オプションを使用した :meth:`Annot.get_text` と同等です。
+"
+
+#: ../../annot.rst:129 a67fbfe7b40a4a30b4220a6461fae5b2
+msgid "the area to consider, defaults to :attr:`Annot.rect`."
+msgstr "rect (rect-like) – 考慮する領域、デフォルトは :attr:`Annot.rect` です。"
+
+#: ../../annot.rst:134 c9248f70691b4467994b4e396e4d1d68
+msgid "Changed in version 1.16.10"
+msgstr "バージョン 1.16.10 で変更"
+
+#: ../../annot.rst:136 6ee03ac3b87140fa915d061af58067d7
+msgid ""
+"Changes annotation properties. These include dates, contents, subject and"
+" author (title). Changes for *name* and *id* will be ignored. The update "
+"happens selectively: To leave a property unchanged, set it to *None*. To "
+"delete existing data, use an empty string."
+msgstr "注釈のプロパティを変更します。これには日付、内容、題名、および著者(タイトル)が含まれます。*名前* と *ID* の変更は無視されます。更新は選択的に行われます:プロパティを変更しない場合は、それを *None* に設定します。既存のデータを削除するには、空の文字列を使用します。"
+
+#: ../../annot.rst:138 780eb03f19e34d92895b8d006a85f70c
+msgid ""
+"a dictionary compatible with the *info* property (see below). All entries"
+" must be strings. If this argument is not a dictionary, the other "
+"arguments are used instead -- else they are ignored."
+msgstr "*info* プロパティと互換性のある辞書(以下参照)。すべてのエントリは文字列である必要があります。この引数が辞書でない場合、他の引数が代わりに使用されます。それ以外の場合、無視されます。"
+
+#: ../../annot.rst:139 ../../annot.rst:140 ../../annot.rst:143
+#: 3475de14fdb54721b31ad025bcc04162 a3e55922bac2478db2e9b9c94a2378e4
+#: f6755961921b4342ab94e0b9af83fd5c
+msgid "*(new in v1.16.10)* see description in :attr:`info`."
+msgstr "*(v1.16.10 で新規追加)* :attr:`info` の説明を参照してください。"
+
+#: ../../annot.rst:141 8c005250c89c44f7a50116a2213a8a07
+msgid ""
+"*(new in v1.16.10)* date of annot creation. If given, should be in PDF "
+"datetime format."
+msgstr "*(v1.16.10 で新規追加)* 注釈の作成日。指定する場合、PDF 日時形式である必要があります。"
+
+#: ../../annot.rst:142 9ae4e24d0b844f7f8c30af1432fddca8
+msgid ""
+"*(new in v1.16.10)* date of last modification. If given, should be in PDF"
+" datetime format."
+msgstr "*(v1.16.10 で新規追加)* 最終変更日。指定する場合、PDF 日時形式である必要があります。"
+
+#: ../../annot.rst:147 32484b1cf84e4d8f9734cc70b2cc0322
+msgid ""
+"Sets an annotation's line ending styles. Each of these annotation types "
+"is defined by a list of points which are connected by lines. The symbol "
+"identified by *start* is attached to the first point, and *end* to the "
+"last point of this list. For unsupported annotation types, a no-operation"
+" with a warning message results."
+msgstr "注釈の線終端スタイルを設定します。これらの注釈タイプの各々は、線で接続された点のリストによって定義されています。*start* で指定されたシンボルは、最初の点に、*end* はこのリストの最後の点に取り付けられます。サポートされていない注釈タイプの場合、警告メッセージとともに無操作となります。"
+
+#: ../../annot.rst:151 f4dcd456a7f64ef78e0cb9e1fe5afc9e
+msgid ""
+"While 'FreeText', 'Line', 'PolyLine', and 'Polygon' annotations can have "
+"these properties, (Py-) MuPDF does not support line ends for 'FreeText', "
+"because the call-out variant of it is not supported."
+msgstr "「FreeText」、「Line」、「PolyLine」、および「Polygon」注釈はこれらのプロパティを持つことができますが、(Py-)MuPDF は「FreeText」の線終端をサポートしていません。なぜなら、そのコールアウトバリアントはサポートされていないからです。"
+
+#: ../../annot.rst:152 2fa286e7b4ef4a14a3ee911d26eb0cd9
+msgid ""
+"*(Changed in v1.16.16)* Some symbols have an interior area (diamonds, "
+"circles, squares, etc.). By default, these areas are filled with the fill"
+" color of the annotation. If this is *None*, then white is chosen. The "
+"*fill_color* argument of :meth:`Annot.update` can now be used to override"
+" this and give line end symbols their own fill color."
+msgstr "*(v1.16.16 で変更)* 一部のシンボルには内部領域(ダイヤモンド、円、正方形など)があります。デフォルトでは、これらの領域は注釈の塗りつぶし色で塗りつぶされます。これが *None* の場合、白色が選択されます。:meth:`Annot.update` の *fill_color* 引数を使用して、線終端シンボルに独自の塗りつぶし色を設定することができるようになりました。"
+
+#: ../../annot.rst:154 70f82a50972b4b8f85aee7ca2947109f
+msgid "The symbol number for the first point."
+msgstr "最初の点のシンボル番号。"
+
+#: ../../annot.rst:155 dc2fa1adad044939a2fe94f7f3acec31
+msgid "The symbol number for the last point."
+msgstr "最後の点のシンボル番号。"
+
+#: ../../annot.rst:159 43d7e784c89e4ccda829ce450906b5ec
+msgid ""
+"Set the annotation's visibility using PDF optional content mechanisms. "
+"This visibility is controlled by the user interface of supporting PDF "
+"viewers. It is independent from other attributes like "
+":attr:`Annot.flags`."
+msgstr "PDFのオプションコンテンツメカニズムを使用して、注釈の表示/非表示を設定します。この表示は、サポートするPDFビューアのユーザーインターフェースによって制御されます。:attr:`Annot.flags` のような他の属性とは独立しています。"
+
+#: ../../annot.rst:161 84583c6f6a2f4bb992a6126649b7d2b1
+msgid ""
+"the :data:`xref` of an optional contents group (OCG or OCMD). Any "
+"previous xref will be overwritten. If zero, a previous entry will be "
+"removed. An exception occurs if the xref is not zero and does not point "
+"to a valid PDF object."
+msgstr "オプションコンテンツグループ(OCGまたはOCMD)のxref。以前の :data:`xref` は上書きされます。ゼロの場合、以前のエントリが削除されます。xrefがゼロでない場合かつ有効なPDFオブジェクトを指していない場合、例外が発生します。"
+
+#: ../../annot.rst:163 a3c33eb3fc204cf0af1903305d923ab7
+msgid "This does **not require executing** :meth:`Annot.update` to take effect."
+msgstr "これは :meth:`Annot.update` の **実行を必要としません。** "
+
+#: ../../annot.rst:167 242da23a4be04f8e801a07bfe67a1505
+msgid ""
+"Return the :data:`xref` of an optional content object, or zero if there "
+"is none."
+msgstr "オプションコンテンツオブジェクトの :data:`xref` 、または存在しない場合はゼロを返します。"
+
+#: ../../annot.rst 51594138673b4772b412635b463070e2
+#: 5648b17d1298466980cee38ec1ddac99 9806b1daae7f4f808e7280d37707a84e
+#: c83cb4306ce743d993ea294909661670 ccfa332676724a78a386497e9424edc5
+#: d580e1c4bbfa4cc586d81d7b3e6b3d9b
+msgid "Returns"
+msgstr "戻り値"
+
+#: ../../annot.rst:169 77902d1bb31d4249acaa96571bb88187
+msgid "zero or the xref of an OCG (or OCMD)."
+msgstr "ゼロまたはOCG(またはOCMD)のxref。"
+
+#: ../../annot.rst:174 3b02578225b34f9988e20c4383ff4913
+msgid "New in v1.19.3"
+msgstr "v1.19.3 で新規追加"
+
+#: ../../annot.rst:176 78e9745ee8d24ce1a4a2ecdd8e3bc312
+msgid "Set annotation to be \"In Response To\" another one."
+msgstr "注釈を別の注釈への「応答として」設定します。"
+
+#: ../../annot.rst:178 48efb26106214d799b692be7dd1c1d30
+msgid ""
+"The :data:`xref` of another annotation. .. note:: Must refer to an "
+"existing annotation on this page. Setting this property requires no "
+"subsequent `update()`."
+msgstr ""
+
+#: ../../annot.rst:178 9a779927274245c8b26692c80e24961c
+msgid "The :data:`xref` of another annotation."
+msgstr "別の注釈の :data:`xref` 。"
+
+#: ../../annot.rst:180 1aba151a8f864bd4a74bc3f6976ceb45
+msgid ""
+"Must refer to an existing annotation on this page. Setting this property "
+"requires no subsequent `update()`."
+msgstr "このプロパティを設定するには、このページの既存の注釈を参照する必要があります。このプロパティを設定する際、後続の `update()` は不要です。"
+
+#: ../../annot.rst:185 ../../annot.rst:194 ../../annot.rst:214
+#: 947db9161dbc4a5abaf2c4e5c327c2a5 96611258f0aa4dc0bf207ae360d52788
+#: bd70bb769d2746b284efa08b35620bfd
+msgid "New in v1.18.4"
+msgstr "v1.18.4 で新たに追加"
+
+#: ../../annot.rst:187 31ae7a8ecd5f43d6ac946be9532c8f1b
+msgid ""
+"Set the annotation's Popup annotation to open or closed -- **or** the "
+"annotation itself, if its type is 'Text' (\"sticky note\")."
+msgstr "注釈のポップアップ注釈を開いた状態または閉じた状態に設定します – *または* その注釈自体、そのタイプが 'Text'(「付箋」)の場合。"
+
+#: ../../annot.rst:189 c064d15b32e84ff8aacc7830c81b4785
+msgid "the desired open state."
+msgstr "望ましい開いた状態。"
+
+#: ../../annot.rst:196 b0fb54a5008345b6a0ecefa92dc66f64
+msgid ""
+"Create a Popup annotation for the annotation and specify its rectangle. "
+"If the Popup already exists, only its rectangle is updated."
+msgstr "注釈のためのポップアップ注釈を作成し、その矩形を指定します。ポップアップが既に存在する場合、その矩形のみが更新されます。"
+
+#: ../../annot.rst:198 2498a8aaab114ee1b8adac34c4eefd0b
+msgid "the desired rectangle."
+msgstr "望ましい矩形。"
+
+#: ../../annot.rst:204 3fe341f3444247d49256ba3202ff9054
+msgid ""
+"Set the annotation's transparency. Opacity can also be set in "
+":meth:`Annot.update`."
+msgstr "注釈の透明度を設定します。透明度は :meth:`Annot.update` でも設定できます。"
+
+#: ../../annot.rst:206 422d216638ff42869a36815fdf24c725
+msgid ""
+"a float in range *[0, 1]*. Any value outside is assumed to be 1. E.g. a "
+"value of 0.5 sets the transparency to 50%."
+msgstr "*[0、1]* の範囲内の浮動小数点数。範囲外の値は 1 と見なされます。例:0.5 の値は透明度を 50% に設定します。"
+
+#: ../../annot.rst:208 4d99ddd65f534841b9bd0620491395ca
+msgid "Three overlapping 'Circle' annotations with each opacity set to 0.5:"
+msgstr "透明度がそれぞれ 0.5 に設定された3つの重なる「Circle」注釈:"
+
+#: ../../annot.rst:216 56a1a767fb7643a4bf6ed086a86a70fc
+msgid ""
+"The annotation's blend mode. See :ref:`AdobeManual`, page 324 for "
+"explanations."
+msgstr "注釈のブレンドモード。詳細については :ref:`AdobeManual` 、ページ324を参照してください。"
+
+#: ../../annot.rst:219 2d772db649d840aebf5e824d2c81ce50
+msgid "the blend mode or *None*."
+msgstr "ブレンドモードまたは *None* 。"
+
+#: ../../annot.rst:224 e4286765368f4f1e967e8655bbecc1fa
+msgid "New in v1.16.14"
+msgstr "v1.16.14 で新たに追加"
+
+#: ../../annot.rst:226 31a22b94c5d24c76bb6d9a9f758d1744
+msgid ""
+"Set the annotation's blend mode. See :ref:`AdobeManual`, page 324 for "
+"explanations. The blend mode can also be set in :meth:`Annot.update`."
+msgstr "注釈のブレンドモードを設定します。詳細については :ref:`AdobeManual` 、ページ324を参照してください。ブレンドモードは :meth:`Annot.update` でも設定できます。"
+
+#: ../../annot.rst:228 79c3d84097f54e03bea6e473e57b2c9d
+msgid ""
+"set the blend mode. Use :meth:`Annot.update` to reflect this in the "
+"visual appearance. For predefined values see :ref:`BlendModes`. Use "
+"`PDF_BM_Normal` to **remove** a blend mode."
+msgstr "ブレンドモードを設定します。視覚的な外観に反映するには :meth:`Annot.update` を使用します。事前定義の値についてはPDF標準のブレンドモードを参照してください。ブレンドモードを **削除する** には `PDF_BM_Normal` を使用します。"
+
+#: ../../annot.rst:233 d9ed82b080f240719aa44b3f8b50335e
+msgid "New in version 1.16.0"
+msgstr "バージョン1.16.0で新たに追加"
+
+#: ../../annot.rst:235 338073f9c685498ea27382537f2f632b
+msgid ""
+"Change the name field of any annotation type. For 'FileAttachment' and "
+"'Text' annotations, this is the icon name, for 'Stamp' annotations the "
+"text in the stamp. The visual result (if any) depends on your PDF viewer."
+" See also :ref:`mupdficons`."
+msgstr "すべての注釈タイプの名前フィールドを変更します。「FileAttachment」と「Text」注釈の場合、これはアイコンの名前であり、「Stamp」注釈の場合はスタンプのテキストです。視覚的な結果(ある場合)は、PDFビューアに依存します。:ref:`mupdficons` も参照してください。"
+
+#: ../../annot.rst:237 12248bec971a410d80f9d4819e6bd81c
+msgid "the new name."
+msgstr "新しい名前。"
+
+#: ../../annot.rst:239 66346f820ba44887b02c75e6d2cf2c7e
+msgid ""
+"If you set the name of a 'Stamp' annotation, then this will **not "
+"change** the rectangle, nor will the text be layouted in any way. If you "
+"choose a standard text from :ref:`StampIcons` (the **exact** name piece "
+"after `\"STAMP_\"`), you should receive the original layout. An "
+"**arbitrary text** will not be changed to upper case, but be written in "
+"font \"Times-Bold\" as is, horizontally centered in **one line** and be "
+"shortened to fit. To get your text fully displayed, its length using "
+"fontsize 20 must not exceed 190 pixels. So please make sure that the "
+"following inequality is true: `fitz.get_text_length(text, "
+"fontname=\"tibo\", fontsize=20) <= 190`."
+msgstr "「Stamp」注釈の名前を設定した場合、これは矩形を **変更せず** 、テキストもレイアウトされません。:ref:`StampIcons` から標準のテキストを選択すると( `\"STAMP_\"` の後の **正確な** 名前部分)、元のレイアウトが表示されるはずです。**任意** のテキストは大文字に変更されず、「Times-Bold」フォントで水平中央揃えで **1行** に表示され、収まるように短縮されます。テキストを完全に表示するには、フォントサイズ20を使用してのテキストの長さが190ピクセルを超えてはいけません。したがって、以下の不等式が成り立つことを確認してください: `fitz.get_text_length(text, fontname="tibo", fontsize=20) <= 190` 。"
+
+#: ../../annot.rst:243 8aad971d494f43e0854189d0c9871699
+msgid ""
+"Change the rectangle of an annotation. The annotation can be moved around"
+" and both sides of the rectangle can be independently scaled. However, "
+"the annotation appearance will never get rotated, flipped or sheared. "
+"This method only affects certain annotation types [#f2]_ and will lead to"
+" a message on Python's `sys.stderr` in other cases. No exception will be "
+"raised, but `False` will be returned."
+msgstr "注釈の矩形を変更します。注釈は移動し、矩形の両側を独立してスケーリングできます。ただし、注釈の外観は回転、反転、またはせん断されることはありません。このメソッドは特定の注釈タイプにのみ影響を与えます [#f2]_ 、それ以外の場合はPythonの `sys.stderr` にメッセージが表示されます。例外は発生しませんが、`False` が返されます。"
+
+#: ../../annot.rst:245 5e7a21d507ea4bedbb42a4d9fe98b98c
+msgid ""
+"the new rectangle of the annotation (finite and not empty). E.g. using a "
+"value of *annot.rect + (5, 5, 5, 5)* will shift the annot position 5 "
+"pixels to the right and downwards."
+msgstr "rect (rect_like) – 注釈の新しい矩形(有限で空ではない)です。たとえば、*annot.rect + (5, 5, 5, 5)* の値を使用すると、注釈を右に5ピクセル、下に5ピクセル移動させます。"
+
+#: ../../annot.rst:247 acc6f7a3456c46ec9a5ca2df67ba86e8
+msgid "You **need not** invoke :meth:`Annot.update` for activation of the effect."
+msgstr "効果の有効化には :meth:`Annot.update` を呼び出す **必要はありません** 。"
+
+#: ../../annot.rst:252 8e38f3fb4a03497faeb65c00c6aa345b
+msgid ""
+"Set the rotation of an annotation. This rotates the annotation rectangle "
+"around its center point. Then a **new annotation rectangle** is "
+"calculated from the resulting quad."
+msgstr "注釈の回転を設定します。これにより、注釈の矩形はその中心点を中心に回転します。その後、結果の四角形から **新しい注釈の矩形** が計算されます。"
+
+#: ../../annot.rst:254 5c6253af3959405abc022dade5e322cf
+msgid ""
+"rotation angle in degrees. Arbitrary values are possible, but will be "
+"clamped to the interval `[0, 360)`."
+msgstr "度数法での回転角度。任意の値が可能ですが、区間 `[0, 360)` にクランプされます。"
+
+#: ../../annot.rst:257 28dcd865eac949b39506a5c6d1547474
+msgid "You **must invoke** :meth:`Annot.update` to activate the effect."
+msgstr "効果を有効にするには、:meth:`Annot.update` を **呼び出す必要があります** 。"
+
+#: ../../annot.rst:258 93fa3d3c17ed446b8e54b07cf7d58a35
+msgid ""
+"For PDF_ANNOT_FREE_TEXT, only one of the values 0, 90, 180 and 270 is "
+"possible and will **rotate the text** inside the current rectangle (which"
+" remains unchanged). Other values are silently ignored and replaced by 0."
+msgstr "PDF_ANNOT_FREE_TEXTの場合、値0、90、180、270のいずれかの値のみが可能で、現在の矩形内の **テキストを回転させます** (矩形自体は変更されません)。その他の値は静かに無視され、0に置き換えられます。"
+
+#: ../../annot.rst:259 cdbe65b4ac9d49ecaa4b86f8473b5d7e
+msgid ""
+"Otherwise, only the following :ref:`AnnotationTypes` can be rotated: "
+"'Square', 'Circle', 'Caret', 'Text', 'FileAttachment', 'Ink', 'Line', "
+"'Polyline', 'Polygon', and 'Stamp'. For all others the method is a no-op."
+msgstr "それ以外の場合、次の :ref:`AnnotationTypes` のみが回転できます:'Square'、'Circle'、'Caret'、'Text'、'FileAttachment'、'Ink'、'Line'、'Polyline'、'Polygon'、および'Stamp'。それ以外のすべての場合、このメソッドは無効です。"
+
+#: ../../annot.rst:264 daacc4e16f4b4ccba041e702ee5b2632
+msgid ""
+"Changed in version 1.16.9: Allow specification without using a "
+"dictionary. The direct parameters are used if *border* is not a "
+"dictionary."
+msgstr "バージョン1.16.9で変更: 辞書を使用せずに指定を許可。*border* が辞書でない場合、直接のパラメータが使用されます。"
+
+#: ../../annot.rst:266 645a12e3304a4efbaf7c6056908003a4
+msgid "Changed in version 1.22.5: Support of the \"cloudy\" border effect."
+msgstr "バージョン1.22.5で変更: "cloudy"ボーダーエフェクトのサポート。"
+
+#: ../../annot.rst:268 02c156e9a9f94a6c96c7dbf6facdd72a
+msgid ""
+"PDF only: Change border width, dashing, style and cloud effect. See the "
+":attr:`Annot.border` attribute for more details."
+msgstr "PDFのみ: ボーダーの幅、点線、スタイル、およびクラウド効果を変更します。詳細については :attr:`Annot.border` 属性を参照してください。"
+
+#: ../../annot.rst:271 4790077e58984a03a0f3f969cc8d6e21
+msgid ""
+"a dictionary as returned by the :attr:`border` property, with keys "
+"*\"width\"* (*float*), *\"style\"* (*str*), *\"dashes\"* (*sequence*) "
+"and *clouds* (*int*). Omitted keys will leave the resp. property "
+"unchanged. Set the border argument to `None` (the default) to use the "
+"other arguments."
+msgstr ":attr:`border` プロパティから返されるような辞書で、キーに "width"(float)、"style"(str)、"dashes"(シーケンス)、および "clouds"(int)を持っています。省略されたキーはそれぞれのプロパティを変更しないままにします。他の引数を使用する場合、border引数を `None` (デフォルト)に設定します。"
+
+#: ../../annot.rst:273 9c67c3df7a154045a701325d0b555c4a
+msgid "A non-negative value will change the border line width."
+msgstr "非負の値はボーダーの線幅を変更します。"
+
+#: ../../annot.rst:274 bd313db5b61c4b2cae852a25a1d42e17
+msgid "A value other than `None` will change this border property."
+msgstr "`None` 以外の値はこのボーダープロパティを変更します。"
+
+#: ../../annot.rst:275 8c948fd63f964fe6ad819ce156d09d27
+msgid ""
+"All items of the sequence must be integers, otherwise the parameter is "
+"ignored. To remove dashing use: `dashes=[]`. If dashes is a non-empty "
+"sequence, \"style\" will automatically be set to \"D\" (dashed)."
+msgstr "シーケンスのすべてのアイテムは整数である必要があり、それ以外の場合、パラメータは無視されます。点線を削除するには、`dashes=[]` を使用します。dashesが空でないシーケンスの場合、\"style\"は自動的に \"D\"(点線)に設定されます。"
+
+#: ../../annot.rst:276 294d48e69f134d34882a590ae256a258
+msgid ""
+"A value >= 0 will change this property. Use `clouds=0` to remove the "
+"cloudy appearance completely. Only annotation types 'Square', 'Circle', "
+"and 'Polygon' are supported with this property."
+msgstr "0以上の値はこのプロパティを変更します。クラウディな外観を完全に削除するには、`clouds=0` を使用します。このプロパティはアノテーションタイプ 'Square'、'Circle'、および 'Polygon' のみでサポートされています。"
+
+#: ../../annot.rst:280 bd8964a406d6477bb1d5188e1687c5d9
+msgid "Changes the annotation flags. Use the `|` operator to combine several."
+msgstr "注釈のフラグを変更します。複数のフラグを組み合わせるには `|` 演算子を使用します。"
+
+#: ../../annot.rst:282 766360a25c6d4d93812f5aa01bb72bc0
+msgid "an integer specifying the required flags."
+msgstr "必要なフラグを指定する整数。"
+
+#: ../../annot.rst:286 b6915a6f948f4c9892fb9b6848e2b52f
+msgid ""
+"Changed in version 1.16.9: Allow colors to be directly set. These "
+"parameters are used if *colors* is not a dictionary."
+msgstr "バージョン1.16.9で変更: 色を直接設定できるようにしました。これらのパラメータは、*colors* が辞書でない場合に使用されます。"
+
+#: ../../annot.rst:288 dfd086d5036d47bf91356e3b6d16b566
+msgid ""
+"Changes the \"stroke\" and \"fill\" colors for supported annotation types"
+" -- not all annotations accept both."
+msgstr "サポートされている注釈タイプに対して「ストローク」と「塗りつぶし」の色を変更します – すべての注釈が両方を受け入れるわけではありません。"
+
+#: ../../annot.rst:290 bc57fa68ef69489caaf249950bd2b181
+msgid ""
+"a dictionary containing color specifications. For accepted dictionary "
+"keys and values see below. The most practical way should be to first make"
+" a copy of the *colors* property and then modify this dictionary as "
+"required."
+msgstr "色の仕様を含む辞書。受け入れられる辞書のキーと値については以下を参照してください。最も実用的な方法は、まず ** プロパティのコピーを作成し、その後必要に応じてこの辞書を変更することです。"
+
+#: ../../annot.rst:291 ../../annot.rst:292 749bbdb3e9564365b73c1201067e24eb
+#: 7b9a7baeea574614bb336d541b7ec904
+msgid "see above."
+msgstr "上記を参照してください。"
+
+#: ../../annot.rst:294 f443539de5d14a239024115123791cd0
+msgid ""
+"*Changed in v1.18.5:* To completely remove a color specification, use an "
+"empty sequence like `[]`. If you specify `None`, an existing "
+"specification will not be changed."
+msgstr "*バージョン1.18.5で変更:* 色の仕様を完全に削除するには、`[]` のような空のシーケンスを使用してください。`None` を指定した場合、既存の仕様は変更されません。"
+
+#: ../../annot.rst:299 9e2180b758c14a2fb6d6e982f01deded
+msgid "New in version 1.16.12"
+msgstr "バージョン1.16.12で新規追加"
+
+#: ../../annot.rst:301 0e58bd8edcda4fc2b52bf49aad197328
+msgid ""
+"Delete annotations referring to this one. This includes any 'Popup' "
+"annotations and all annotations responding to it."
+msgstr "この注釈を参照する注釈を削除します。これには「ポップアップ」注釈とそれに応答するすべての注釈が含まれます。"
+
+#: ../../annot.rst:315 5129ccbaafa545c584567f505483534e
+msgid ""
+"Synchronize the appearance of an annotation with its properties after "
+"relevant changes."
+msgstr "関連する変更後に注釈の外観をプロパティに同期させます。"
+
+#: ../../annot.rst:317 b0401306e308472abd7d5a0abe6617bd
+msgid "You can safely **omit** this method **only** for the following changes:"
+msgstr "以下の変更に関して **のみ** 、このメソッドを安全に **省略できます** :"
+
+#: ../../annot.rst:323 91ddd1ac71474443893f38cbc753477f
+msgid ":meth:`Annot.set_info` (except any changes to *\"content\"*)"
+msgstr ":meth:`Annot.set_info` (*「content」* 以外の変更を除く)"
+
+#: ../../annot.rst:325 450c4d27706e4c71810c8e03c8eedeac
+msgid ""
+"All arguments are optional. *(Changed in v1.16.14)* Blend mode and "
+"opacity are applicable to **all annotation types**. The other arguments "
+"are mostly special use, as described below."
+msgstr "すべての引数はオプションです。 *(v1.16.14で変更)* ブレンドモードと不透明度は **すべての注釈タイプ** に適用されます。 他の引数は主に特殊な用途として、以下で説明されています。"
+
+#: ../../annot.rst:327 0acfbc2ec560443bbc4c3febdd7a4e09
+msgid ""
+"Color specifications may be made in the usual format used in PuMuPDF as "
+"sequences of floats ranging from 0.0 to 1.0 (including both). The "
+"sequence length must be 1, 3 or 4 (supporting GRAY, RGB and CMYK "
+"colorspaces respectively). For GRAY, just a float is also acceptable."
+msgstr "カラーの仕様は、通常のPuMuPDFで使用される形式で指定できます。0.0から1.0までの浮動小数点数のシーケンスです(両方を含む)。シーケンスの長さは1、3、または4である必要があります(GRAY、RGB、およびCMYKのカラースペースをサポートしています)。GRAYの場合、浮動小数点数だけでも受け入れられます。"
+
+#: ../../annot.rst:329 1b96aa7531af4910bc500e21125a260d
+msgid ""
+"*(new in v1.16.14)* **valid for all annotation types:** change or set the"
+" annotation's transparency. Valid values are *0 <= opacity < 1*."
+msgstr "*(v1.16.14で新規)* **すべての注釈タイプに対して有効:** 注釈の透明度を変更または設定します。有効な値は *0 <= opacity < 1です* 。"
+
+#: ../../annot.rst:330 fe23121ecc22459789cb5326f77b1207
+msgid ""
+"*(new in v1.16.14)* **valid for all annotation types:** change or set the"
+" annotation's blend mode. For valid values see :ref:`BlendModes`."
+msgstr "*(v1.16.14で新規)* **すべての注釈タイプに対して有効:** 注釈のブレンドモードを変更または設定します。有効な値についてはPDF標準のブレンドモードを参照してください。"
+
+#: ../../annot.rst:331 b9a936e1126d4e0c88339403023b57c3
+msgid "change font size of the text. 'FreeText' annotations only."
+msgstr "テキストのフォントサイズを変更します。 'FreeText' 注釈のみです。"
+
+#: ../../annot.rst:332 a1a2d104610b4bb9931755aa04666f15
+msgid "change the text color. 'FreeText' annotations only."
+msgstr "テキストの色を変更します。 'FreeText' 注釈のみです。"
+
+#: ../../annot.rst:333 fcaa278604f14d30bfc8945a7bf039cf
+msgid "change the border color. 'FreeText' annotations only."
+msgstr "境界線の色を変更します。 'FreeText' 注釈のみです。"
+
+#: ../../annot.rst:334 f9f62eb374154f5688abf7c2b7623aad
+msgid ""
+"the fill color. * 'Line', 'Polyline', 'Polygon' annotations: use it to "
+"give applicable line end symbols a fill color other than that of the "
+"annotation *(changed in v1.16.16)*."
+msgstr ""
+
+#: ../../annot.rst:334 4854bc60e3ba45febba7b58fd6063f3a
+msgid "the fill color."
+msgstr "塗りつぶしの色です。"
+
+#: ../../annot.rst:336 ef919587b82742bf9e78288b5c97390a
+msgid ""
+"'Line', 'Polyline', 'Polygon' annotations: use it to give applicable line"
+" end symbols a fill color other than that of the annotation *(changed in "
+"v1.16.16)*."
+msgstr "'Line'、'Polyline'、'Polygon' 注釈:適用可能な線の端のシンボルに注釈の色以外の塗りつぶしの色を与えるために使用します *(v1.16.16で変更)* 。"
+
+#: ../../annot.rst:338 e6f4dc396774426db932e45236cf6834
+msgid ""
+"*(new in v1.17.2)* add two diagonal lines to the annotation rectangle. "
+"'Redact' annotations only. If not desired, *False* must be specified even"
+" if the annotation was created with *False*."
+msgstr "*(v1.17.2で新規)* 注釈の矩形に2本の対角線を追加します。 'Redact' 注釈のみです。希望しない場合、注釈が*False* で作成された場合でも *False* を指定する必要があります。"
+
+#: ../../annot.rst:339 6f38bd4316ea459d9e7e5ac6c5765e83
+msgid ""
+"new rotation value. Default (-1) means no change. Supports 'FreeText' and"
+" several other annotation types (see :meth:`Annot.set_rotation`), [#f1]_."
+" Only choose 0, 90, 180, or 270 degrees for 'FreeText'. Otherwise any "
+"integer is acceptable."
+msgstr "新しい回転値。デフォルト値(-1)は変更なしを意味します。 'FreeText' およびいくつかの他の注釈タイプをサポートします:meth:`Annot.set_rotation` を参照) [#f1]_ 。 'FreeText' の場合、0、90、180、または270度を選択してください。それ以外の場合、任意の整数が受け入れられます。"
+
+#: ../../annot.rst:343 aa8949d961b247c8a52688427a4211da
+msgid ""
+"Using this method inside a :meth:`Page.annots` loop is **not "
+"recommended!** This is because most annotation updates require the owning"
+" page to be reloaded -- which cannot be done inside this loop. Please use"
+" the example coding pattern given in the documentation of this generator."
+msgstr ":meth:`Page.annots` ループ内でこのメソッドを使用することは **お勧めしません!** これは、ほとんどの注釈の更新には所有ページの再読み込みが必要であり、このループ内で行うことはできないためです。このジェネレータのドキュメントで提供されている例のコーディングパターンを使用してください。"
+
+#: ../../annot.rst:348 83280f0b2edd4a27abf953804f7e5004
+msgid "Basic information of the annot's attached file."
+msgstr "アノットが添付されたファイルの基本情報。"
+
+#: ../../annot.rst:351 0ab52508437d46709e4af04c37a7bdd3
+msgid ""
+"a dictionary with keys *filename*, *ufilename*, *desc* (description), "
+"*size* (uncompressed file size), *length* (compressed length) for "
+"FileAttachment annot types, else *None*."
+msgstr "FileAttachmentアノットタイプの場合、*filename* (ファイル名)、*ufilename* (Unicodeファイル名)、*desc* (説明)、*size* (非圧縮ファイルサイズ)、*length* (圧縮長さ)のキーを持つ辞書。それ以外の場合は *None* 。"
+
+#: ../../annot.rst:355 e75299db9eaa4a09b28c900ef2038b24
+msgid "Returns attached file content."
+msgstr "添付ファイルの内容を返します。"
+
+#: ../../annot.rst:358 f03024c0d5054b268a9c4eed5d7c2a8e
+msgid "the content of the attached file."
+msgstr "添付ファイルの内容。"
+
+#: ../../annot.rst:368 46973126c129496d9cccae299e907fb4
+msgid ""
+"Updates the content of an attached file. All arguments are optional. No "
+"arguments lead to a no-op."
+msgstr "添付ファイルの内容を更新します。すべての引数はオプションです。引数が指定されない場合、操作は行われません。"
+
+#: ../../annot.rst:370 2de521c55f3d4a77b9f15a3f552d4e86
+msgid ""
+"the new file content. Omit to only change meta-information. *(Changed in"
+" version 1.14.13)* *io.BytesIO* is now also supported."
+msgstr ""
+
+#: ../../annot.rst:370 da2d292308a74b3ebdc733efb99920ed
+msgid "the new file content. Omit to only change meta-information."
+msgstr "新しいファイルの内容。メタ情報のみ変更する場合は省略します。"
+
+#: ../../annot.rst:372 7530bb1e887647e6a87ec7650a49fb0f
+msgid "*(Changed in version 1.14.13)* *io.BytesIO* is now also supported."
+msgstr "*(バージョン1.14.13で変更)io.BytesIO* もサポートされるようになりました。"
+
+#: ../../annot.rst:374 952fdd67a1324a50833a656a1178f310
+msgid "new filename to associate with the file."
+msgstr "ファイルに関連付ける新しいファイル名。"
+
+#: ../../annot.rst:376 589ed063f5bc4f589509f00b0aef57d1
+msgid "new unicode filename to associate with the file."
+msgstr "ファイルに関連付ける新しいUnicodeファイル名。"
+
+#: ../../annot.rst:378 0f19fc2f0ec9482dbbe2063ae2c6e5e2
+msgid "new description of the file content."
+msgstr "ファイル内容の新しい説明。"
+
+#: ../../annot.rst:382 7cbef5f8586b4506b0ed59090e57aec3
+msgid "Return the embedded sound of an audio annotation."
+msgstr "オーディオアノテーションの埋め込まれた音声を返します。"
+
+#: ../../annot.rst:385 910c4bf546e24b80ab969a1df04cb1b7
+msgid ""
+"the sound audio file and accompanying properties. These are the possible "
+"dictionary keys, of which only \"rate\" and \"stream\" are always "
+"present. =========== "
+"======================================================= Key "
+"Description =========== "
+"======================================================= rate "
+"(float, requ.) samples per second channels (int, opt.) number of sound"
+" channels bps (int, opt.) bits per sample value per channel "
+"encoding (str, opt.) encoding format: Raw, Signed, muLaw, ALaw "
+"compression (str, opt.) name of compression filter stream (bytes, "
+"requ.) the sound file content =========== "
+"======================================================="
+msgstr ""
+
+#: ../../annot.rst:385 86deb7977a8047e1b297f637a832a687
+msgid ""
+"the sound audio file and accompanying properties. These are the possible "
+"dictionary keys, of which only \"rate\" and \"stream\" are always "
+"present."
+msgstr "音声オーディオファイルと関連するプロパティ。これらは可能な辞書キーで、常に「rate」と「stream」が存在します。"
+
+#: ../../annot.rst:388 9629a8e5b9894f839d0d1386e85f2158
+msgid "Key"
+msgstr "キー"
+
+#: ../../annot.rst:388 1ea199a943094b54adaafa23459ffd97
+msgid "Description"
+msgstr "説明"
+
+#: ../../annot.rst:390 c3eabbc0cc28413a9b1404a6e766f8f2
+msgid "rate"
+msgstr ""
+
+#: ../../annot.rst:390 99eaf259b71e45fc9bebb7a442517079
+msgid "(float, requ.) samples per second"
+msgstr "(float, 必須) 1秒あたりのサンプル数"
+
+#: ../../annot.rst:391 2c1043757abd4370870538ee4ca5072e
+msgid "channels"
+msgstr ""
+
+#: ../../annot.rst:391 46afbd0075cf49289183b80de2c6e5ac
+msgid "(int, opt.) number of sound channels"
+msgstr "(int, オプション) サウンドチャンネルの数"
+
+
+#: ../../annot.rst:392 21a8e7ff779644e3a307067bcac0b837
+msgid "bps"
+msgstr ""
+
+#: ../../annot.rst:392 b30e4484dd3247ffb6f7ca7323e69bb5
+msgid "(int, opt.) bits per sample value per channel"
+msgstr "(int, オプション) チャンネルごとのサンプル値のビット数"
+
+#: ../../annot.rst:393 8931170bced14233ba66d366a0e6b9ef
+msgid "encoding"
+msgstr ""
+
+#: ../../annot.rst:393 78793d1973c54d34a8a1b148b7c37e68
+msgid "(str, opt.) encoding format: Raw, Signed, muLaw, ALaw"
+msgstr "(str, オプション) エンコーディング形式: Raw, Signed, muLaw, ALaw"
+
+#: ../../annot.rst:394 9b9da73f1a6c4bf68c429a2d3115077b
+msgid "compression"
+msgstr ""
+
+#: ../../annot.rst:394 d8dab06f9295426e8ac395f71d6e3916
+msgid "(str, opt.) name of compression filter"
+msgstr "(str, オプション) 圧縮フィルタの名前"
+
+#: ../../annot.rst:395 330dbd6b6da44f6499c2170761861439
+msgid "stream"
+msgstr ""
+
+#: ../../annot.rst:395 0e11d94ac25c480f976974659d53a1cd
+msgid "(bytes, requ.) the sound file content"
+msgstr "(bytes, 必須) サウンドファイルの内容"
+
+#: ../../annot.rst:401 2356e90e8be34c2195d38a6a896d681e
+msgid ""
+"The annotation's transparency. If set, it is a value in range *[0, 1]*. "
+"The PDF default is 1. However, in an effort to tell the difference, we "
+"return *-1.0* if not set."
+msgstr "アノテーションの透明度。設定されている場合、範囲 *[0, 1]* の値です。PDFのデフォルトは1ですが、違いを示すために設定されていない場合は *-1.0* を返します。"
+
+#: ../../annot.rst:407 99a936b6eee5459ca0a9e266618886bc
+msgid "The owning page object of the annotation."
+msgstr "アノテーションの所属ページオブジェクト。"
+
+#: ../../annot.rst:409 28fa752ed6994c0697c764b99b9ca61b
+msgid ":ref:`Page`"
+msgstr ""
+
+#: ../../annot.rst:413 3fe47ed82cbc40439231ffbefd6eacf5
+msgid "The annot rotation."
+msgstr "アノテーションの回転角度。"
+
+#: ../../annot.rst:416 cc43e14633a242f99f02425afffe338d
+msgid ""
+"a value [-1, 359]. If rotation is not at all, -1 is returned (and implies"
+" a rotation angle of 0). Other possible values are normalized to some "
+"value value 0 <= angle < 360."
+msgstr "値は[-1, 359]です。回転が全くない場合、-1が返されます(回転角度0を意味します)。その他の可能な値は、一定の値0 <= angle < 360に正規化されます。"
+
+#: ../../annot.rst:420 b148bcf66d6a4bda9cff82f90479d76e
+msgid "The rectangle containing the annotation."
+msgstr "アノテーションを含む長方形領域。"
+
+#: ../../annot.rst:422 ../../annot.rst:519 4b9273ccf01340158a9c499a688c8dc3
+#: abec38ac2ba245889a467010980c978a
+msgid ":ref:`Rect`"
+msgstr ""
+
+#: ../../annot.rst:426 1187682643804cab8903788992774579
+msgid "The next annotation on this page or None."
+msgstr "このページ上の次のアノテーションまたはNone。"
+
+#: ../../annot.rst:428 e224f148714b422cbd5d5bbd23b175d1
+msgid "*Annot*"
+msgstr ""
+
+#: ../../annot.rst:432 7f9805386f3a4d7e965c89bc04b44b2b
+msgid ""
+"A number and one or two strings describing the annotation type, like "
+"**[2, 'FreeText', 'FreeTextCallout']**. The second string entry is "
+"optional and may be empty. See the appendix :ref:`AnnotationTypes` for a "
+"list of possible values and their meanings."
+msgstr "アノテーションタイプ を説明する数値と1つまたは2つの文字列、例: **[2, 'FreeText', 'FreeTextCallout']** 。第2の文字列エントリはオプションで、空であるかもしれません。可能な値とその意味については、付録の :ref:`AnnotationTypes` のリストを参照してください。"
+
+#: ../../annot.rst:438 b38c0e85dfca4421a29effc836066e27
+msgid ""
+"A dictionary containing various information. All fields are optional "
+"strings. For information items not provided, an empty string is returned."
+msgstr "異なる情報を含む辞書。すべてのフィールドはオプションの文字列です。提供されない情報項目については、空の文字列が返されます。"
+
+#: ../../annot.rst:440 a807f17849e349cb9c610d3d5babbbb8
+msgid ""
+"*name* -- e.g. for 'Stamp' annotations it will contain the stamp text "
+"like \"Sold\" or \"Experimental\", for other annot types you will see the"
+" name of the annot's icon here (\"PushPin\" for FileAttachment)."
+msgstr "*name* – たとえば、 'Stamp' 注釈の場合、 'Sold' または 'Experimental' のようなスタンプテキストが含まれ、他の注釈のタイプでは注釈のアイコンの名前がここに表示されます(FileAttachment の場合は 'PushPin')。"
+
+#: ../../annot.rst:442 49865cb4a1b34222ad521c97fa2a9690
+msgid ""
+"*content* -- a string containing the text for type *Text* and *FreeText* "
+"annotations. Commonly used for filling the text field of annotation pop-"
+"up windows."
+msgstr "*content* – *テキスト* タイプと *FreeText* 注釈のテキストを含む文字列。注釈のポップアップウィンドウのテキストフィールドを埋めるために一般的に使用されます。"
+
+#: ../../annot.rst:444 651297aa49a24f6697c93b0260ea9576
+msgid ""
+"*title* -- a string containing the title of the annotation pop-up window."
+" By convention, this is used for the **annotation author**."
+msgstr "*title* – 注釈のポップアップウィンドウのタイトルを含む文字列。通常、これは **注釈の著者** に使用されます。"
+
+#: ../../annot.rst:446 4843aed7f0f543258a352b51629a988b
+msgid "*creationDate* -- creation timestamp."
+msgstr "*creationDate* – 作成タイムスタンプ。"
+
+#: ../../annot.rst:447 3aec9555d0c944f2a5812fd732d6adc0
+msgid "*modDate* -- last modified timestamp."
+msgstr "*modDate* – 最終変更タイムスタンプ。"
+
+#: ../../annot.rst:448 0f24aa24858e4ea39fe4de86d80fa0ca
+msgid "*subject* -- subject."
+msgstr "*subject* – 主題。"
+
+#: ../../annot.rst:449 840c3dcf796c44f5b10345877145207d
+msgid ""
+"*id* -- *(new in version 1.16.10)* a unique identification of the "
+"annotation. This is taken from PDF key */NM*. Annotations added by "
+"PyMuPDF will have a unique name, which appears here."
+msgstr "*id* – (バージョン1.16.10で新規追加)注釈の一意の識別子。これはPDFキー */ NM* から取得されます。PyMuPDFによって追加された注釈には一意の名前があり、ここに表示されます。
+戻り値の型:"
+
+#: ../../annot.rst:456 8c5b2edf73d649a591c0bc3d95d0c99b
+msgid ""
+"An integer whose low order bits contain flags for how the annotation "
+"should be presented."
+msgstr "注釈の表示方法を示すフラグを含む低位ビットを持つ整数。"
+
+#: ../../annot.rst:462 97f755cdf47a4bd0b1d28b496f963dc1
+msgid ""
+"A pair of integers specifying start and end symbol of annotations types "
+"'FreeText', 'Line', 'PolyLine', and 'Polygon'. *None* if not applicable. "
+"For possible values and descriptions in this list, see the "
+":ref:`AdobeManual`, table 1.76 on page 400."
+msgstr "'FreeText'、'Line'、'PolyLine'、および'Polygon'の注釈タイプの開始および終了シンボルを指定する2つの整数のペア。該当しない場合は *なし* 。このリストでの可能な値と説明については、:ref:`AdobeManual` のページ400の表1.76を参照してください。"
+
+#: ../../annot.rst:468 8df8af27e997405fa80f5d6ca9697c02
+msgid ""
+"A list containing a variable number of point (\"vertices\") coordinates "
+"(each given by a pair of floats) for various types of annotations:"
+msgstr "さまざまな種類の注釈に対する、可変数の点("頂点")座標(各々が浮動小数点数のペアで指定される)を含むリスト:"
+
+#: ../../annot.rst:470 c0382f9df56043c7a7172613ca0515c8
+msgid "'Line' -- the starting and ending coordinates (2 float pairs)."
+msgstr "'Line' – 開始座標と終了座標(2つの浮動小数点数のペア)。"
+
+#: ../../annot.rst:471 dda2751668ca4ae4a2367b5c87040d47
+msgid ""
+"'FreeText' -- 2 or 3 float pairs designating the starting, the (optional)"
+" knee point, and the ending coordinates."
+msgstr "'FreeText' – 開始座標、(オプションの)曲線点、および終了座標を指定する2または3つの浮動小数点数のペア。"
+
+#: ../../annot.rst:472 be4be8ba66d44049a410e1330332ac3c
+msgid ""
+"'PolyLine' / 'Polygon' -- the coordinates of the edges connected by line "
+"pieces (n float pairs for n points)."
+msgstr "'PolyLine' / 'Polygon' – 線分で接続されたエッジの座標(nポイントのためのn個の浮動小数点数のペア)。"
+
+#: ../../annot.rst:473 5333c5ab042f43ed9241dc14238ff225
+msgid ""
+"text markup annotations -- 4 float pairs specifying the *QuadPoints* of "
+"the marked text span (see :ref:`AdobeManual`, page 403)."
+msgstr "テキストのマークアップ注釈 – マークされたテキストスパンのQuadPointsを指定する4つの浮動小数点数のペア(Adobe PDFリファレンス、ページ403を参照)。"
+
+#: ../../annot.rst:474 152d320c7410433689f7ba521e414141
+msgid ""
+"'Ink' -- list of one to many sublists of vertex coordinates. Each such "
+"sublist represents a separate line in the drawing."
+msgstr "'Ink' – 頂点座標の1つから多数のサブリストのリスト。各サブリストは、描画内の別々の線を表します。"
+
+#: ../../annot.rst:481 0c7b324656024002a7cb05c8f4cbaf5d
+msgid ""
+"dictionary of two lists of floats in range *0 <= float <= 1* specifying "
+"the \"stroke\" and the interior (\"fill\") colors. The stroke color is "
+"used for borders and everything that is actively painted or written "
+"(\"stroked\"). The fill color is used for the interior of objects like "
+"line ends, circles and squares. The lengths of these lists implicitly "
+"determine the colorspaces used: 1 = GRAY, 3 = RGB, 4 = CMYK. So \"[1.0, "
+"0.0, 0.0]\" stands for RGB color red. Both lists can be empty if no color"
+" is specified."
+msgstr "*0 <= 浮動小数点数 <= 1の範囲内* で指定された "ストローク" および内部("塗りつぶし")カラーの2つの浮動小数点数のリストから成る辞書。ストロークカラーは、境界線やアクティブに塗装されたり書かれたりするすべてに使用されます。塗りつぶしカラーは、線の端、円、正方形などのオブジェクトの内部に使用されます。これらのリストの長さは、暗黙的に使用されるカラースペースを決定します:1 = GRAY、3 = RGB、4 = CMYK。したがって、\"[1.0, 0.0, 0.0]\" はRGBカラーの赤を表します。どちらのリストも指定されていない場合、空にすることができます。"
+
+#: ../../annot.rst:487 573fa07263de48da9389dc6e50f01080
+msgid "The PDF :data:`xref`."
+msgstr "PDFの :data:`xref` 。"
+
+#: ../../annot.rst:493 b67fe83930144e2fb74ad12d83287479
+msgid ""
+"The PDF :data:`xref` of an annotation to which this one responds. Return "
+"zero if this is no response annotation."
+msgstr "この注釈が応答する注釈のPDF :data:`xref` 。これが応答注釈でない場合はゼロを返します。"
+
+#: ../../annot.rst:499 d937038795da4dc19dc9ffea201475f5
+msgid ""
+"The PDF :data:`xref` of the associated Popup annotation. Zero if non-"
+"existent."
+msgstr "関連するポップアップ注釈のPDF :data:`xref` 。存在しない場合はゼロ。"
+
+#: ../../annot.rst:505 61567d6ad66d4d0f8099e467ff8a2f91
+msgid "Whether the annotation has a Popup annotation."
+msgstr "注釈にポップアップ注釈があるかどうか。"
+
+#: ../../annot.rst:511 26a210c5806b42b89c09ebdc85debe13
+msgid ""
+"Whether the annotation's Popup is open -- **or** the annotation itself "
+"('Text' annotations only)."
+msgstr "注釈のポップアップが開いているかどうか - **または** 注釈自体('テキスト'注釈のみ)。"
+
+#: ../../annot.rst:517 ea9e9383dafe4d5f8561560d9719587e
+msgid ""
+"The rectangle of the associated Popup annotation. Infinite rectangle if "
+"non-existent."
+msgstr "関連するポップアップ注釈の矩形。存在しない場合は無限の矩形。"
+
+#: ../../annot.rst:523 2946f70e4f5740178e85c50ecea68914
+msgid ""
+"A tuple of four floats representing the `/RD` entry of the annotation. "
+"The four numbers describe the numerical differences (left, top, -right, "
+"-bottom) between two rectangles: the :attr:`rect` of the annotation and a"
+" rectangle contained within that rectangle. If the entry is missing, this"
+" property is `(0, 0, 0, 0)`. If the annotation border is a normal, "
+"straight line, these numbers are typically border width divided by 2. If "
+"the annotation has a \"cloudy\" border, you will see the breadth of the "
+"cloud semi-circles here. In general, the numbers need not be identical. "
+"To compute the inner rectangle do `a.rect + a.rect_delta`."
+msgstr "注釈の `/RD` エントリを表す4つの浮動小数点数のタプル。これらの4つの数値は、2つの矩形間の数値の差(左、上、-右、-下)を説明しています:注釈の :attr:`rect` とその矩形内に含まれる矩形。エントリが存在しない場合、このプロパティは. `(0、0、0、0)` です。注釈の境界線が通常のまっすぐな線である場合、これらの数値は通常、境界線の幅を2で割ったものです。注釈に「雲状」の境界線がある場合、ここで雲の半円の幅が表示されます。一般的に、これらの数値は同一である必要はありません。内側の矩形を計算するには、`a.rect + a.rect_delta` を使用します。"
+
+#: ../../annot.rst:527 86ac96ea95b24b45a6e3609c77c1794e
+msgid ""
+"A dictionary containing border characteristics. Empty if no border "
+"information exists. The following keys may be present:"
+msgstr "境界線の特性を含む辞書。境界線情報が存在しない場合は空です。次のキーが存在する可能性があります:"
+
+#: ../../annot.rst:529 eb1e6509e23d449c8c2cbf9b4f13ba9f
+msgid ""
+"*width* -- a float indicating the border thickness in points. The value "
+"is -1.0 if no width is specified."
+msgstr "*width* – ポイントでの境界線の太さを示す浮動小数点数。幅が指定されていない場合、値は -1.0 です。"
+
+#: ../../annot.rst:531 c3f0349738d94232b4ae68cc4d1526d3
+msgid ""
+"*dashes* -- a sequence of integers specifying a line dashing pattern. "
+"*[]* means no dashes, *[n]* means equal on-off lengths of *n* points, "
+"longer lists will be interpreted as specifying alternating on-off length "
+"values. See the :ref:`AdobeManual` page 126 for more details."
+msgstr "*dashes* – ラインダッシングパターンを指定する整数のシーケンス。*[]* はダッシュなし、*[n]* は *n* ポイントの等しいオンオフの長さを意味し、より長いリストは交互のオンオフ長さ値を指定して解釈されます。詳細については、:ref:`AdobeManual` のページ126を参照してください。"
+
+#: ../../annot.rst:533 0362514acff348d2b534d44b2018f340
+msgid ""
+"*style* -- 1-byte border style: **\"S\"** (Solid) = solid line "
+"surrounding the annotation, **\"D\"** (Dashed) = dashed line surrounding "
+"the annotation, the dash pattern is specified by the *dashes* entry, "
+"**\"B\"** (Beveled) = a simulated embossed rectangle that appears to be "
+"raised above the surface of the page, **\"I\"** (Inset) = a simulated "
+"engraved rectangle that appears to be recessed below the surface of the "
+"page, **\"U\"** (Underline) = a single line along the bottom of the "
+"annotation rectangle."
+msgstr "*style* – 1バイトの境界線スタイル: **\"S\"** (Solid)= 注釈を囲む実線、 **\"D\"** (Dashed)= 注釈を囲む破線、破線パターンは *dashes* エントリによって指定され、 **“B”** (Beveled)= ページの表面よりも上に浮かぶように見える模擬的な浮き出し矩形、 **\"I\"** (Inset)= ページの表面よりも下に凹んだように見える模擬的な浮き彫りの矩形、 **\"U\"** (Underline)= 注釈矩形の底部に沿った単一の線。"
+
+#: ../../annot.rst:535 133c794095db4653b2bd01ddc4297c6d
+msgid ""
+"*clouds* -- an integer indicating a \"cloudy\" border, where `n` is an "
+"integer `-1 <= n <= 2`. A value `n = 0` indicates a straight line (no "
+"clouds), 1 means small and 2 means large semi-circles, mimicking the "
+"cloudy appearance. If -1, then no specification is present."
+msgstr "*clouds* – “雲状”の境界を示す整数。``n`` は整数 `-1 <= n <= 2` を指します。値 `n = 0` は直線(雲なし)を示し、1 は小さな半円、2 は大きな半円を模倣した雲の外観を示します。-1 の場合、仕様が存在しないことを示します。"
+
+#: ../../annot.rst:543 d76b6cbb0c8b40dc8cfbf4d44c16be3d
+msgid "Annotation Icons in MuPDF"
+msgstr "MuPDFの注釈アイコン"
+
+#: ../../annot.rst:544 4a05c0579c2b4b9aa19d203a45cdde25
+msgid ""
+"This is a list of icons referenceable by name for annotation types 'Text'"
+" and 'FileAttachment'. You can use them via the *icon* parameter when "
+"adding an annotation, or use the as argument in :meth:`Annot.set_name`. "
+"It is left to your discretion which item to choose when -- no mechanism "
+"will keep you from using e.g. the \"Speaker\" icon for a "
+"'FileAttachment'."
+msgstr "これは「Text」および「FileAttachment」注釈タイプの名前で参照可能なアイコンのリストです。注釈を追加する際に*icon* パラメータを使用したり、:meth:`Annot.set_name` の引数として使用したりできます。どのアイテムを選択するかはあなたの裁量に任されています - たとえば、「Speaker」アイコンを「FileAttachment」に使用することを防ぐメカニズムは存在しません。"
+
+#: ../../annot.rst:550 53d5a649e207449f91a46c8fa5d9f828
+msgid "Example"
+msgstr "例"
+
+#: ../../annot.rst:551 8d81e4a7b9204709a92f3087f93d05d0
+msgid ""
+"Change the graphical image of an annotation. Also update the \"author\" "
+"and the text to be shown in the popup window::"
+msgstr "注釈のグラフィカルな画像を変更します。また、ポップアップウィンドウに表示される「著者」とテキストを更新します。"
+
+#: ../../annot.rst:574 5b4ec2421b4f49e4a1e5e22b9b687a56
+msgid ""
+"This is how the circle annotation looks like before and after the change "
+"(pop-up windows displayed using Nitro PDF viewer):"
+msgstr "これが、変更前と変更後のサークル注釈の見た目です(Nitro PDFビューアを使用して表示されるポップアップウィンドウ):"
+
+#: ../../annot.rst:576 25282fb048634f58b32e3d312cda8f15
+msgid "|circle|"
+msgstr ""
+
+#: ../../annot.rst:578 53f87c9e9e8740cbb4190a6d47eea16a
+#: 5e5dcf34c06e4e13ae469dd09f1c4da0
+msgid "circle"
+msgstr ""
+
+#: ../../annot.rst:582 8c9c1b484cad4a6094af529cebb63e87
+msgid "Footnotes"
+msgstr "脚注"
+
+#: ../../annot.rst:583 84c0227ad1a2483c80d493fec7c2ff80
+msgid ""
+"Rotating an annotation also changes its rectangle. Depending on how the "
+"annotation was defined, the original rectangle is **cannot be "
+"reconstructed** by setting the rotation value to zero again and will be "
+"lost."
+msgstr "注釈を回転させると、その矩形も変更されます。注釈がどのように定義されたかによって、元の矩形は回転値を再びゼロに設定しても **再構築できず** 、失われます。"
+
+#: ../../annot.rst:585 49e7a791420e452baa38f0513143152b
+msgid ""
+"Only the following annotation types support method "
+":meth:`Annot.set_rect`: Text, FreeText, Square, Circle, Redact, Stamp, "
+"Caret, FileAttachment, Sound, and Movie."
+msgstr ":meth:`Annot.set_rect` をサポートする注釈タイプは、次のものだけです:Text、FreeText、Square、Circle、Redact、Stamp、Caret、FileAttachment、Sound、およびMovie。"
+
+#: ../../footer.rst:-1 9e204c3d1dc34d338694c26828804f03
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/app1.mo b/docs/locales/ja/LC_MESSAGES/app1.mo
new file mode 100644
index 000000000..5d0e14fb3
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/app1.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/app1.po b/docs/locales/ja/LC_MESSAGES/app1.po
new file mode 100644
index 000000000..b1ffba529
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/app1.po
@@ -0,0 +1,623 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../app1.rst:7 4068765b43a540a08f8057acf1824e3a
+msgid "Appendix 1: Details on Text Extraction"
+msgstr "付録1: テキスト抽出の詳細"
+
+#: ../../app1.rst:8 5e4ee50f0bfa4d8a870f54fdcdc4178b
+msgid ""
+"This chapter provides background on the text extraction methods of "
+"PyMuPDF."
+msgstr "この章では、PyMuPDFのテキスト抽出メソッドに関する背景情報を提供します。"
+
+#: ../../app1.rst:10 ebe65558c3ff4e3ba56dffce2f58b55d
+msgid "Information of interest are"
+msgstr "興味のある情報は以下です"
+
+#: ../../app1.rst:12 228b4b8311db4d1b8a5baccbcc66e3ba
+msgid "what do they provide?"
+msgstr "彼らは何を提供するのか?"
+
+#: ../../app1.rst:13 d4a1d20bb9db4989b93e4d8ca0b19116
+msgid "what do they imply (processing time / data sizes)?"
+msgstr "それらは何を意味するのか(処理時間 / データサイズ)?"
+
+#: ../../app1.rst:16 694ea055be454474b1e9e079d3f878f0
+msgid "General structure of a TextPage"
+msgstr "TextPageの一般的な構造"
+
+#: ../../app1.rst:17 7683a5f81284475fb976dcf22d113536
+msgid ""
+":ref:`TextPage` is one of (Py-) MuPDF's classes. It is normally created "
+"(and destroyed again) behind the curtain, when :ref:`Page` text "
+"extraction methods are used, but it is also available directly and can be"
+" used as a persistent object. Other than its name suggests, images may "
+"optionally also be part of a text page::"
+msgstr ":ref:`TextPage` は(Py-)MuPDFのクラスの一つです。通常、:ref:`Page` のテキスト抽出メソッドが使用されるときにカーテンの後ろで作成され(および破棄され)ますが、直接利用することもでき、永続オブジェクトとして使用することができます。その名前が示すよりも、テキストページにはオプションで画像も含まれる場合があります:"
+
+#: ../../app1.rst:27 18237b66c5f64766bf3580dabe29508e
+msgid "A **text page** consists of blocks (= roughly paragraphs)."
+msgstr "**テキストページ** は、ブロック(おおよそ段落)で構成されています。"
+
+#: ../../app1.rst:29 e7676c139d5347df83d503787d6ef400
+msgid "A **block** consists of either lines and their characters, or an image."
+msgstr "**ブロック** は、行とその文字、または画像のいずれかから成り立っています。"
+
+#: ../../app1.rst:31 7de8573ace61426883ffb214106234c5
+msgid "A **line** consists of spans."
+msgstr "**行** は、スパンから成り立っています。"
+
+#: ../../app1.rst:33 6638f07e513a459b93879af7f8707de7
+msgid ""
+"A **span** consists of adjacent characters with identical font "
+"properties: name, size, flags and color."
+msgstr "**スパン** は、同一のフォントプロパティ(名前、サイズ、フラグ、色)を持つ隣接する文字から成り立っています。"
+
+#: ../../app1.rst:36 c766f61501e1442e8557c6457cc2b087
+msgid "Plain Text"
+msgstr "プレーンテキスト"
+
+#: ../../app1.rst:38 7e402454924d410faf38de97d841aa37
+msgid ""
+"Function :meth:`TextPage.extractText` (or *Page.get_text(\"text\")*) "
+"extracts a page's plain **text in original order** as specified by the "
+"creator of the document."
+msgstr "関数 :meth:`TextPage.extractText` (または *Page.get_text("text")* )は、ドキュメントの作成者によって指定された元の順序で、ページのプレーンテキストを抽出します。"
+
+#: ../../app1.rst:40 100fd58ac1b5476c898556ee63ca991e
+msgid "An example output::"
+msgstr "例の出力:"
+
+#: ../../app1.rst:45 c0e1243dd6b542bca236d8b4e77773d4
+msgid ""
+"The output may not equal an accustomed \"natural\" reading order. "
+"However, you can request a reordering following the scheme \"top-left to "
+"bottom-right\" by executing `page.get_text(\"text\", sort=True)`."
+msgstr "出力は通常の「自然な」読み順と一致しない場合があります。ただし、`page.get_text(\"text\", sort=True)` を実行することで、「左上から右下」のスキームに従った並べ替えを要求することができます。"
+
+#: ../../app1.rst:49 ../../app1.rst:336 1d268791d9184bd69e5f7304e149d5cc
+#: 3f7f192b38754e16b94ef04e98c39c84
+msgid "BLOCKS"
+msgstr "ブロック"
+
+#: ../../app1.rst:51 61376463e9cc4e39922f387afd9b0354
+msgid ""
+"Function :meth:`TextPage.extractBLOCKS` (or *Page.get_text(\"blocks\")*) "
+"extracts a page's text blocks as a list of items like::"
+msgstr "関数 :meth:`TextPage.extractBLOCKS` (または `Page.get_text(\"blocks\")` )は、ページのテキストブロックを以下のような項目のリストとして抽出します:"
+
+#: ../../app1.rst:55 0b61a5656baf4b6bbea67997a8b7d477
+msgid ""
+"Where the first 4 items are the float coordinates of the block's bbox. "
+"The lines within each block are concatenated by a new-line character."
+msgstr "最初の4つの項目は、ブロックのバウンディングボックスの浮動小数点座標です。各ブロック内の行は改行文字で連結されます。"
+
+#: ../../app1.rst:57 235d5eb541724ae0b5e3458ceab505b8
+msgid ""
+"This is a high-speed method, which by default also extracts image meta "
+"information: Each image appears as a block with one text line, which "
+"contains meta information. The image itself is not shown."
+msgstr "これは高速なメソッドであり、デフォルトでは画像のメタ情報も抽出されます。各画像はメタ情報を含む1行のテキスト行で表されるブロックとして表示されます。画像そのものは表示されません。"
+
+#: ../../app1.rst:59 82892ba8ea4341d19df65446d0d05321
+msgid ""
+"As with simple text output above, the `sort` argument can be used as well"
+" to obtain a reading order."
+msgstr "前述の単純なテキスト出力と同様に、`sort` 引数を使用して読み順を取得することもできます。"
+
+#: ../../app1.rst:61 ../../app1.rst:79 5f6acffb64114e55b19447e1d44b0fa9
+#: 668af4cd8028431cbccdde966932b4a9
+msgid "Example output::"
+msgstr "例の出力:"
+
+#: ../../app1.rst:69 ../../app1.rst:337 3c333544424c4605b51e0e673d59f31b
+#: 7a68d7c3e6e64348bc70688646fa260d
+msgid "WORDS"
+msgstr "単語"
+
+#: ../../app1.rst:71 be3f8ad8ecd844cf8181a79f8dc6074d
+msgid ""
+"Function :meth:`TextPage.extractWORDS` (or *Page.get_text(\"words\")*) "
+"extracts a page's text **words** as a list of items like::"
+msgstr "関数 :meth:`TextPage.extractWORDS` (または *Page.get_text(\"words\")* )は、ページのテキスト単語を以下のような項目のリストとして抽出します:"
+
+#: ../../app1.rst:75 3cf37d89c58d4e30b600373abc5d6610
+msgid ""
+"Where the first 4 items are the float coordinates of the words's bbox. "
+"The last three integers provide some more information on the word's "
+"whereabouts."
+msgstr "最初の4つの項目は、単語のバウンディングボックスの浮動小数点座標です。最後の3つの整数は、単語の位置に関する追加情報を提供します。
+"
+
+#: ../../app1.rst:77 244e1fe61cd94446b631dc8399b64f50
+msgid ""
+"This is a high-speed method. As with the previous methods, argument "
+"`sort=True` will reorder the words."
+msgstr "これは高速なメソッドです。前のメソッドと同様に、引数 `sort=True` を使用すると単語が再並べ替えされます。"
+
+#: ../../app1.rst:95 ../../app1.rst:340 3f7369adddcc41af9ed8f3747d63c9ab
+#: ab04f64bd93e4ba38c7858e41c37e1eb
+msgid "HTML"
+msgstr ""
+
+#: ../../app1.rst:97 ccc74faf3ad949409fee1541d0a9d26f
+msgid ""
+":meth:`TextPage.extractHTML` (or *Page.get_text(\"html\")* output fully "
+"reflects the structure of the page's *TextPage* -- much like DICT / JSON "
+"below. This includes images, font information and text positions. If "
+"wrapped in HTML header and trailer code, it can readily be displayed by "
+"an internet browser. Our above example::"
+msgstr ":meth:`TextPage.extractHTML` (または *Page.get_text("html")* の出力は、ページの `TextPage` の構造を完全に反映します。これは、以下のDICT / JSONのようなものです。これには画像、フォント情報、テキスト位置が含まれます。HTMLヘッダーとトレイラーコードで囲むと、インターネットブラウザで簡単に表示できます。上記の例:"
+
+#: ../../app1.rst:113 aaa78831137746b0b7e14585e6ca25c8
+msgid "Controlling Quality of HTML Output"
+msgstr "HTML出力の品質の制御"
+
+#: ../../app1.rst:114 29323ccbc9a849abb2bf222cbf75268d
+msgid ""
+"While HTML output has improved a lot in MuPDF v1.12.0, it is not yet bug-"
+"free: we have found problems in the areas **font support** and **image "
+"positioning**."
+msgstr "MuPDF v1.12.0でHTML出力はかなり改善されましたが、まだバグがないわけではありません。**フォントサポート** や**画像の配置** に関する問題が見つかっています。"
+
+#: ../../app1.rst:116 7e209c32ed6a45878b03296b4741e5a5
+msgid ""
+"HTML text contains references to the fonts used of the original document."
+" If these are not known to the browser (a fat chance!), it will replace "
+"them with others; the results will probably look awkward. This issue "
+"varies greatly by browser -- on my Windows machine, MS Edge worked just "
+"fine, whereas Firefox looked horrible."
+msgstr "HTMLテキストには元のドキュメントで使用されたフォントへの参照が含まれています。もしブラウザがそれらを認識できない場合(少ない確率ですが)、他のフォントで置き換えられ、結果が奇妙に見えるかもしれません。この問題はブラウザによって大きく異なります。Windowsマシンでは、MS Edgeはうまく動作するかもしれませんが、Firefoxはひどく見えるかもしれません。"
+
+#: ../../app1.rst:118 f82f22dc434b4f33a38bac8e49c0d9da
+msgid ""
+"For PDFs with a complex structure, images may not be positioned and / or "
+"sized correctly. This seems to be the case for rotated pages and pages, "
+"where the various possible page bbox variants do not coincide (e.g. "
+"*MediaBox != CropBox*). We do not know yet, how to address this -- we "
+"filed a bug at MuPDF's site."
+msgstr "複雑な構造を持つPDFの場合、画像の位置やサイズが正しく配置されないことがあります。これは回転したページや、さまざまなページbboxのバリアントが一致しない場合に起こる可能性があります(たとえば、*MediaBox != CropBox* )。これに対処する方法はまだわかっていませんが、MuPDFのサイトにバグを報告しました。"
+
+#: ../../app1.rst:120 8b80053fd0544be2957535f4602b2c3e
+msgid ""
+"To address the font issue, you can use a simple utility script to scan "
+"through the HTML file and replace font references. Here is a little "
+"example that replaces all fonts with one of the :ref:`Base-14-Fonts`: "
+"serifed fonts will become \"Times\", non-serifed \"Helvetica\" and "
+"monospaced will become \"Courier\". Their respective variations for "
+"\"bold\", \"italic\", etc. are hopefully done correctly by your browser::"
+msgstr "フォントの問題に対処するために、HTMLファイルをスキャンし、フォントの参照を置換するシンプルなユーティリティスクリプトを使用できます。以下は、すべてのフォントをPDFのベース14フォントの一つに置き換える例です:セリフフォントは「Times」になり、セリフのないフォントは「Helvetica」になり、等幅フォントは「Courier」になります。太字、斜体などの各バリエーションは、おそらくブラウザによって正しく処理されるでしょう。"
+
+#: ../../app1.rst:160 accbb3a46e88406fb3c74ac8e44e6dae
+msgid "DICT (or JSON)"
+msgstr "DICT(またはJSON)"
+
+#: ../../app1.rst:162 da108bf5a1e5494ea4b1461483c23096
+msgid ""
+":meth:`TextPage.extractDICT` (or *Page.get_text(\"dict\", sort=False)*) "
+"output fully reflects the structure of a *TextPage* and provides image "
+"content and position detail (*bbox* -- boundary boxes in pixel units) for"
+" every block, line and span. Images are stored as *bytes* for DICT output"
+" and base64 encoded strings for JSON output."
+msgstr ":meth:`TextPage.extractDICT` (または *Page.get_text(\"dict\", sort=False)* )の出力は、 *TextPage* の構造を完全に反映し、各ブロック、行、スパンのために画像の内容と位置の詳細( *bbox* – ピクセル単位の境界ボックス)を提供します。画像はDICT出力では *バイト* として格納され、JSON出力ではbase64エンコードされた文字列として格納されます。"
+
+#: ../../app1.rst:164 dfd23d480486409dbfd3b8951c428e5b
+msgid ""
+"For a visualization of the dictionary structure have a look at "
+":ref:`textpagedict`."
+msgstr "辞書の構造の可視化については、辞書出力の構造をご覧ください。"
+
+#: ../../app1.rst:166 604467a19d284a8eab3653951f43a508
+msgid "Here is how this looks like::"
+msgstr "以下がその様子です:"
+
+#: ../../app1.rst:192 5a48ee5893d44dd0ab30accb59c54027
+msgid "RAWDICT (or RAWJSON)"
+msgstr "RAWDICT(またはRAWJSON)"
+
+#: ../../app1.rst:193 28bde68d6e0147ae94eb5ea87e110998
+msgid ""
+":meth:`TextPage.extractRAWDICT` (or *Page.get_text(\"rawdict\", "
+"sort=False)*) is an **information superset of DICT** and takes the detail"
+" level one step deeper. It looks exactly like the above, except that the "
+"*\"text\"* items (*string*) in the spans are replaced by the list "
+"*\"chars\"*. Each *\"chars\"* entry is a character *dict*. For example, "
+"here is what you would see in place of item *\"text\": \"Text in black "
+"color.\"* above::"
+msgstr ":meth:`TextPage.extractRAWDICT` (または *Page.get_text(\"rawdict\", sort=False)* )は、**DICTの情報のスーパーセット** であり、詳細レベルを一段階深くします。これは上記のように見えますが、スパン内の *「text」* アイテム(文字列)は *「chars」* というリストに置き換えられます。各 *「chars」* エントリは文字の *dict* です。例えば、 *「Text in black color.」* の代わりに以下のような項目が表示されます:"
+
+#: ../../app1.rst:224 ../../app1.rst:338 7d8f3bdc5bd44d8790ff7fafc00fd352
+#: abb513b4c34f4896a85563fd643012c4
+msgid "XML"
+msgstr ""
+
+#: ../../app1.rst:226 d2b501231099484697e649939274e50d
+msgid ""
+"The :meth:`TextPage.extractXML` (or *Page.get_text(\"xml\")*) version "
+"extracts text (no images) with the detail level of RAWDICT::"
+msgstr ":meth:`TextPage.extractXML` (または *Page.get_text(\"xml\")* バージョンは、RAWDICTの詳細レベルでテキスト(画像なし)を抽出します:"
+
+#: ../../app1.rst:255 3561edf1013b4d7bbf3433f9b838475d
+msgid ""
+"We have successfully tested `lxml `_ to "
+"interpret this output."
+msgstr "この出力を解釈するためにlxmlを使用して正常にテストしました。"
+
+#: ../../app1.rst:258 ../../app1.rst:339 735c351f75f94ba6b763233fe8d5b309
+#: 92390c1a8a29446d8155f54f57f0194b
+msgid "XHTML"
+msgstr ""
+
+#: ../../app1.rst:259 f569e6e818554427866da876aa8e7fd0
+msgid ""
+":meth:`TextPage.extractXHTML` (or *Page.get_text(\"xhtml\")*) is a "
+"variation of TEXT but in HTML format, containing the bare text and images"
+" (\"semantic\" output)::"
+msgstr ":meth:`TextPage.extractXHTML` (または *Page.get_text(\"xhtml\")* は、テキストと画像を含むHTML形式のTEXTのバリエーションです(「セマンティック」出力):"
+
+#: ../../app1.rst:268 62a79ee9700a4f15a1905432115482e1
+msgid "Text Extraction Flags Defaults"
+msgstr "テキスト抽出フラグのデフォルト値"
+
+#: ../../app1.rst:269 52ccc281a39946ac8cbb01b029e3edf5
+msgid ""
+"New in version 1.16.2: Method :meth:`Page.get_text` supports a keyword "
+"parameter *flags* *(int)* to control the amount and the quality of "
+"extracted data. The following table shows the defaults settings (flags "
+"parameter omitted or None) for each extraction variant. If you specify "
+"flags with a value other than *None*, be aware that you must set **all "
+"desired** options. A description of the respective bit settings can be "
+"found in :ref:`TextPreserve`."
+msgstr "バージョン1.16.2で新しく追加されたメソッド :meth:`Page.get_text` は、抽出されるデータの量と品質を制御するためのキーワードパラメータ `flags` (整数)をサポートしています。以下の表は、各抽出バリエーションのデフォルト設定( `flags` パラメータが省略されたかNoneの場合)を示しています。 `None` 以外の値でflagsを指定する場合は、**すべての必要なオプション** を設定する必要があることに注意してください。各ビット設定の説明は「テキスト抽出フラグ」で確認できます。"
+
+#: ../../app1.rst:271 71334a9200f642c5bbd6356cc9f17c77
+msgid ""
+"New in v1.19.6: The default combinations in the following table are now "
+"available as Python constants: :data:`TEXTFLAGS_TEXT`, "
+":data:`TEXTFLAGS_WORDS`, :data:`TEXTFLAGS_BLOCKS`, "
+":data:`TEXTFLAGS_DICT`, :data:`TEXTFLAGS_RAWDICT`, "
+":data:`TEXTFLAGS_HTML`, :data:`TEXTFLAGS_XHTML`, :data:`TEXTFLAGS_XML`, "
+"and :data:`TEXTFLAGS_SEARCH`. You can now easily modify a default flag, "
+"e.g."
+msgstr "バージョン1.19.6で新しく追加された変更:次の表のデフォルトの組み合わせは、Pythonの定数として利用可能です: :data:`TEXTFLAGS_TEXT` 、 :data:`TEXTFLAGS_WORDS` 、 :data:`TEXTFLAGS_BLOCKS` 、 :data:`TEXTFLAGS_DICT` 、 :data:`TEXTFLAGS_RAWDICT` 、 :data:`TEXTFLAGS_HTML` 、 :data:`TEXTFLAGS_XHTML` 、 :data:`TEXTFLAGS_XML` 、 :data:`TEXTFLAGS_SEARCH` 。これにより、デフォルトのフラグを簡単に変更できます。例えば、"
+
+#: ../../app1.rst:273 f559200c78de42ed9ed74e9708510c47
+msgid "**include** images in a \"blocks\" output:"
+msgstr "「blocks」出力に画像を **含める** 場合:"
+
+#: ../../app1.rst:275 7e800757cc344d86a7c9eee2b01cd477
+msgid "`flags = TEXTFLAGS_BLOCKS | TEXT_PRESERVE_IMAGES`"
+msgstr ""
+
+#: ../../app1.rst:277 b35e0eb8ffc8432290cd908d6dc5cf63
+msgid "**exclude** images from a \"dict\" output:"
+msgstr "「dict」出力から画像を **除外する** 場合:"
+
+#: ../../app1.rst:279 cf3f815ee21b4c029aae2d4649035d67
+msgid "`flags = TEXTFLAGS_DICT & ~TEXT_PRESERVE_IMAGES`"
+msgstr ""
+
+#: ../../app1.rst:281 52d4534bfb40442b90685be566b6741d
+msgid "set **dehyphenation off** in text searches:"
+msgstr "テキスト検索での **ハイフネーション** をオフに設定する:"
+
+#: ../../app1.rst:283 ded7113b12b443d6ba88951accaef386
+msgid "`flags = TEXTFLAGS_SEARCH & ~TEXT_DEHYPHENATE`"
+msgstr ""
+
+#: ../../app1.rst:287 f63bd504e23d46a997360ff9d804b111
+msgid "Indicator"
+msgstr "指標"
+
+#: ../../app1.rst:287 c75be4a4f42745c8b924cc89e35a5559
+msgid "text"
+msgstr ""
+
+#: ../../app1.rst:287 0bee13626aab4e36a3a0928fdd269e3c
+msgid "html"
+msgstr ""
+
+#: ../../app1.rst:287 9765468dfe654594a4d2a14b70382d1e
+msgid "xhtml"
+msgstr ""
+
+#: ../../app1.rst:287 640d37a600874d9ea02a8d0503520177
+msgid "xml"
+msgstr ""
+
+#: ../../app1.rst:287 108b79e3108544f3961e075cd3a46273
+msgid "dict"
+msgstr ""
+
+#: ../../app1.rst:287 f8c05e4cea8f492abc7dc523e020e64f
+msgid "rawdict"
+msgstr ""
+
+#: ../../app1.rst:287 4a1e8d44896d43219d72da952e1b1a38
+msgid "words"
+msgstr ""
+
+#: ../../app1.rst:287 d20a27b512bf4725a9f1aa147850bba4
+msgid "blocks"
+msgstr ""
+
+#: ../../app1.rst:287 ef5ba83491b2492dabaf9be8d4ae8259
+msgid "search"
+msgstr ""
+
+#: ../../app1.rst:289 0fe2463f32844af9a68591db1bbfc21e
+msgid "preserve ligatures"
+msgstr "連結を保持"
+
+#: ../../app1.rst:289 ../../app1.rst:290 ../../app1.rst:291 ../../app1.rst:293
+#: ../../app1.rst:294 0070ec6871fd425594d704d5ab3bf8da
+#: 0f38422c9ed5436aa14afaa0c205bf8f 1617523e88b54ce590f23ed3bf76cde6
+#: 1a070120fb324151b0a1996959208d76 1aa13bd7b47b4e8a90bbeb38f3646484
+#: 1cf61da927db4772bd2a3b6eadda89c4 1f9f1ac4b4664b80a6981ca9bb9ca616
+#: 205111cfb83a4c328f8d2d5ebbf79d4d 23160bb73fc14a4a96fc36086dc641e9
+#: 44fae69411cf4594bd595c1c88eaae63 4786abb98fb145c69864b5a17262601d
+#: 48e00dc7b9974d2e9396570c619e8f25 4b3b090dfb704d6c852ad6c13716ba8b
+#: 4dd3f6e44dd64ccbbdeccbbc2f6e9a05 55534f7fef2343418f03926daa9c3609
+#: 66dbbc45f16d48cc9b59d261d1516fbc 69ce93f4df8f4c64a6f480ee09641153
+#: 6bc6836be9984b8698584c85a5ce27c9 71733a1dc0e842fdb3d0e8696fd0c2d2
+#: 745e2ab8888a49a8a65474d776cf9fcc 80f48f20bed543a0b0a5dc0b581d8043
+#: 9abb6daef17c46faac96d4487d81091c 9b2eef3cc7874693bd041bbb80e89c41
+#: 9d2e18db0db84954a9cf32fe921b8c12 a6bf39ca82a74232a40f6d771c634e05
+#: bdf0224621df4fd687ef1b680583f7b7 c12c6a507d56437c92edbde7d9553cf9
+#: cfdb74c39aa244fc862158f67cea9a96 e4fb6f1c46b345bfb8a3fc96ab37f450
+#: ec42484eab3c4fd1ad6ead9bc01688cc f79f92ae07c94f2db1111a473289e77e
+#: fdde625febf148bf8d9399475f236df1
+msgid "1"
+msgstr ""
+
+#: ../../app1.rst:290 b803dfcee6e6467cbf4b6a7952ca8943
+msgid "preserve whitespace"
+msgstr "空白を保持"
+
+#: ../../app1.rst:291 223f7653e2a3423a9a9d51a147ae457b
+msgid "preserve images"
+msgstr "画像を保持"
+
+#: ../../app1.rst:291 0237110b1f7c4f46a0255de6aede8a7a
+#: b0f53f07fa0f45dfbf0662ea1e86717c ff9aaf7df6ad46349e87a31707a7b487
+msgid "n/a"
+msgstr ""
+
+#: ../../app1.rst:291 ../../app1.rst:292 ../../app1.rst:293
+#: 16d904d5a4844da8b86942ac4f7a1dc0 236b874d90674660a6fac3921aaff01e
+#: 320a25f09b14498bb8a02116b95b5602 394a697d8ffb41ff9f9d8a5935778fd7
+#: 3b7f74eb8d46460496b59740af57fd5d 484c13a33655450bb557d8c44511e7dc
+#: 6eb7d76d0bd842b68583158cd1d6442a 6f76c0b378c34b0d8377f04fe91e948b
+#: 877473db8efc4bc68120542cbfa318fc 878e06af75404b7da037bc67d4921185
+#: 88d1ff06338f442988e791258d22e128 9019ce6d13024695829eb42b1b5a92eb
+#: 9d6412b5f3034a2795e6ad445514e8b6 a89ba5cd814d433a9eadfc9af5db3cd3
+#: b3b0b42883ee4cedb84f0e1a023eefb5 c52223483cfe414484444419a6510c12
+#: cc93a2bb9e2941eb8a7b88d2220b0cdd e3df170ea012425eb30304149954b780
+#: f148b93ee4e840309fa0360082a9c1ce
+msgid "0"
+msgstr ""
+
+#: ../../app1.rst:292 327a761ea95f4a0f9f814bc898b49eed
+msgid "inhibit spaces"
+msgstr "スペースの抑制"
+
+#: ../../app1.rst:293 83349b0f5e34477c9daac09e19af11ae
+msgid "dehyphenate"
+msgstr "ハイフネーション解除"
+
+#: ../../app1.rst:294 314d7ef0a92f4525be7c469f4fe01af0
+msgid "clip to mediabox"
+msgstr "メディアボックスにクリップ"
+
+#: ../../app1.rst:297 f805ff04e6044084941864eca443d381
+msgid "**search** refers to the text search function."
+msgstr "**検索** はテキスト検索機能を指します。"
+
+#: ../../app1.rst:298 2a944f3e71894dddb294ae16ca0544d1
+msgid "**\"json\"** is handled exactly like **\"dict\"** and is hence left out."
+msgstr "**「json」** は **「dict」** とまったく同様に処理されるため、省略されています。"
+
+#: ../../app1.rst:299 c65058d1a0c74723adfc11b277921e9d
+msgid ""
+"**\"rawjson\"** is handled exactly like **\"rawdict\"** and is hence left"
+" out."
+msgstr "**「rawjson」** は **「rawdict」** とまったく同様に処理されるため、省略されています。"
+
+#: ../../app1.rst:300 17654089eeb344b3a8cf9911726b9861
+msgid ""
+"An \"n/a\" specification means a value of 0 and setting this bit never "
+"has any effect on the output (but an adverse effect on performance)."
+msgstr "「n/a」の指定は値が0であり、このビットを設定しても出力に影響を与えることはありません(ただしパフォーマンスに悪影響を及ぼす可能性があります)。"
+
+#: ../../app1.rst:301 b0d772e43ad045e19774962af42138ae
+msgid ""
+"If you are not interested in images when using an output variant which "
+"includes them by default, then by all means set the respective bit off: "
+"You will experience a better performance and much lower space "
+"requirements."
+msgstr "画像を含む出力バリアントを使用する際に画像に興味がない場合、必ず該当するビットをオフに設定してください。これにより、パフォーマンスが向上し、スペース要件が大幅に削減されます。"
+
+#: ../../app1.rst:303 5909da20fbba4b31bb4e9c7c0d0106ee
+msgid "To show the effect of *TEXT_INHIBIT_SPACES* have a look at this example::"
+msgstr "`TEXT_INHIBIT_SPACES` の効果を示すために、この例をご覧ください:"
+
+#: ../../app1.rst:323 2177dc593e8a448e85026d65102f3d3b
+msgid "Performance"
+msgstr "パフォーマンス"
+
+#: ../../app1.rst:324 9924390521844618ba93ff78d7f6ff02
+msgid ""
+"The text extraction methods differ significantly both: in terms of "
+"information they supply, and in terms of resource requirements and "
+"runtimes. Generally, more information of course means, that more "
+"processing is required and a higher data volume is generated."
+msgstr "テキスト抽出メソッドは、情報の提供方法とリソース要件、実行時間の両方で大きく異なります。一般的に、情報が多いほど処理が必要であり、より多くのデータが生成されることを意味します。"
+
+#: ../../app1.rst:326 e2f7fcc6df1b43798cf2d73c4fa4c834
+#, python-format
+msgid ""
+"Especially images have a **very significant** impact. Make sure to "
+"exclude them (via the *flags* parameter) whenever you do not need them. "
+"To process the below mentioned 2'700 total pages with default flags "
+"settings required 160 seconds across all extraction methods. When all "
+"images where excluded, less than 50% of that time (77 seconds) were "
+"needed."
+msgstr "特に画像は **非常に大きな** 影響を持ちます。必要のない場合は、必ず画像を除外する(フラグパラメータを使用)ようにしてください。以下で言及されている2,700ページの総ページ数をデフォルトのフラグ設定で処理するには、全ての抽出メソッドで160秒が必要でした。画像をすべて除外した場合、その時間の50%未満(77秒)が必要でした。"
+
+#: ../../app1.rst:328 0995b31778ef45a2a46c512c27f6120d
+msgid ""
+"To begin with, all methods are **very fast** in relation to other "
+"products out there in the market. In terms of processing speed, we are "
+"not aware of a faster (free) tool. Even the most detailed method, "
+"RAWDICT, processes all 1'310 pages of the :ref:`AdobeManual` in less than"
+" 5 seconds (simple text needs less than 2 seconds here)."
+msgstr "まず始めに、すべてのメソッドは市場にある他の製品と比べて **非常に高速** です。処理速度の観点から、より速い(無料の)ツールは私たちの知る限り存在しません。最も詳細なメソッドであるRAWDICTでも、 :ref:`AdobeManual` リファレンスの1,310ページを5秒未満で処理できます(ここでは簡単なテキストは2秒未満で処理されます)。"
+
+#: ../../app1.rst:330 5891b408a34d4445b04d5aeb85e98a6c
+msgid ""
+"The following table shows average relative speeds (\"RSpeed\", baseline "
+"1.00 is TEXT), taken across ca. 1400 text-heavy and 1300 image-heavy "
+"pages."
+msgstr "以下の表は、約1400ページのテキストが多く、約1300ページが画像が多いページでの平均相対速度(ベースライン1.00はTEXT)を示しています。"
+
+#: ../../app1.rst:333 429f79ec87824ffb95a7dd05f2f9a6f4
+msgid "Method"
+msgstr "メソッド"
+
+#: ../../app1.rst:333 55a6ccb1c3bc4881888522bd5c10c0ba
+msgid "RSpeed"
+msgstr "平均相対"
+
+#: ../../app1.rst:333 ecf817af690e4fd89bdbbb04a5dd02bf
+msgid "Comments"
+msgstr "コメント"
+
+#: ../../app1.rst:333 e9aab714586d4f6d9c27d71fed35e4f3
+msgid "no images"
+msgstr "画像なし"
+
+#: ../../app1.rst:335 f39e66d7f52647368816c1379ac7cf4b
+msgid "TEXT"
+msgstr ""
+
+#: ../../app1.rst:335 ../../app1.rst:336 ../../app1.rst:339
+#: 24938cf6a13c40bfbc44c83835175faf 8862ffeb1d6a45b6a579829f802df7ca
+#: bbb17484ea17403e81649fdcc2ba74a3 c4a8768094974f7f932df4b4bb782629
+#: ea6a080c8f4844fb99bd269358e5fd31
+msgid "1.00"
+msgstr ""
+
+#: ../../app1.rst:335 29274ba263c442559104c739326116c3
+msgid "no images, **plain** text, line breaks"
+msgstr "画像なし、 **プレーン** テキスト、改行"
+
+#: ../../app1.rst:336 b97c7beeb1a24dac93eddea08b3ec88d
+msgid "image bboxes (only), **block** level text with bboxes, line breaks"
+msgstr "画像のバウンディングボックス(のみ)、 **ブロック** レベルのテキストとバウンディングボックス、改行"
+
+#: ../../app1.rst:337 8da9799dec2047c48db4fd73b273461a
+#: 9a11a9e62ebd4e69b4c971b35987d1cb
+msgid "1.02"
+msgstr ""
+
+#: ../../app1.rst:337 456785345fe247149ee096d381d4b74b
+msgid "no images, **word** level text with bboxes"
+msgstr "画像なし、 **ワード** レベルのテキストとバウンディングボックス"
+
+#: ../../app1.rst:338 4be95ee55bb4427bbeabba7e8edd918e
+#: d878bafc71784952840d88e3fd88ed0c
+msgid "2.72"
+msgstr ""
+
+#: ../../app1.rst:338 0cfe0f62ce9445a69db1bd171a43f4b2
+msgid "no images, **char** level text, layout and font details"
+msgstr "画像なし、**文字** レベルのテキスト、レイアウトとフォントの詳細"
+
+#: ../../app1.rst:339 e6a5137a5db3443b83a0c5eb92666011
+msgid "3.32"
+msgstr ""
+
+#: ../../app1.rst:339 265cf1a100c7472792c21d8aa245d017
+msgid "**base64** images, **span** level text, no layout info"
+msgstr "**base64** 画像、 **スパン** レベルのテキスト、レイアウト情報なし"
+
+#: ../../app1.rst:340 be14e342b2cb4bbeaea9da93d4058b97
+msgid "3.54"
+msgstr ""
+
+#: ../../app1.rst:340 533027d461294d299f1612b10a51e6a0
+msgid "**base64** images, **span** level text, layout and font details"
+msgstr "**base64画像** 、 **スパン** レベルのテキスト、レイアウトとフォントの詳細"
+
+#: ../../app1.rst:340 0d4c44a1bc2b461ab8b127d4ecda8284
+msgid "1.01"
+msgstr ""
+
+#: ../../app1.rst:341 28d2fbff0b984e12af5d2d873d35b39d
+msgid "DICT"
+msgstr ""
+
+#: ../../app1.rst:341 02771176c2624e50a30c77a7b6304ea1
+msgid "3.93"
+msgstr ""
+
+#: ../../app1.rst:341 f59d56b5f2ee452ca3fddc720acbe905
+msgid "**binary** images, **span** level text, layout and font details"
+msgstr "**バイナリ** 画像、 **スパン** レベルのテキスト、レイアウトとフォントの詳細"
+
+#: ../../app1.rst:341 52e25884bd174c7690a514b966c9f469
+msgid "1.04"
+msgstr ""
+
+#: ../../app1.rst:342 d99f5c978ff64203b9e6079ac5741f92
+msgid "RAWDICT"
+msgstr ""
+
+#: ../../app1.rst:342 2af1182d794c4142bc153dd562b0086b
+msgid "4.50"
+msgstr ""
+
+#: ../../app1.rst:342 7eff9659c5a249b9926b1ec4b6c8fb66
+msgid "**binary** images, **char** level text, layout and font details"
+msgstr "**バイナリ** 画像、**文字** レベルのテキスト、レイアウトとフォントの詳細"
+
+#: ../../app1.rst:342 fe21011347d141aeb3faafcbb9c5b922
+msgid "1.68"
+msgstr ""
+
+#: ../../app1.rst:345 23e6f9b8628a40eaa0535f5fea9977b1
+#, python-format
+msgid ""
+"As mentioned: when excluding image extraction (last column), the relative"
+" speeds are changing drastically: except RAWDICT and XML, the other "
+"methods are almost equally fast, and RAWDICT requires 40% less execution "
+"time than the **now slowest XML**."
+msgstr "前述のように、画像の抽出を除外する場合(最後の列)、相対速度は大きく変わります。RAWDICTとXMLを除いて、他のメソッドはほぼ同じ速さであり、RAWDICTは **今では遅いXML** よりも40%少ない実行時間を必要とします。"
+
+#: ../../app1.rst:347 7f9a7e5a6faa4f2288bc4d0371e7b861
+msgid "Look at chapter **Appendix 1** for more performance information."
+msgstr "もっとパフォーマンス情報については、 **付録1章** をご覧ください。"
+
+#: ../../footer.rst:-1 b8f999e8d1184eccb20858b347f3daa2
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/app2.mo b/docs/locales/ja/LC_MESSAGES/app2.mo
new file mode 100644
index 000000000..42f3867b7
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/app2.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/app2.po b/docs/locales/ja/LC_MESSAGES/app2.po
new file mode 100644
index 000000000..ac2cb14e0
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/app2.po
@@ -0,0 +1,118 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../app2.rst:7 c5a1a1cefa674a0c9a1df55cda6a1bf4
+msgid "Appendix 2: Considerations on Embedded Files"
+msgstr "付録2:埋め込みファイルに関する考慮事項"
+
+#: ../../app2.rst:8 3e3defa44d7b4b62b360469ff84c5c04
+msgid ""
+"This chapter provides some background on embedded files support in "
+"PyMuPDF."
+msgstr "この章では、PyMuPDFにおける埋め込みファイルのサポートに関する背景情報を提供します。"
+
+#: ../../app2.rst:11 ee565406549243898cf52727c58154db
+msgid "General"
+msgstr "一般"
+
+#: ../../app2.rst:12 c86d39e023424d2d9804e9303a5e537c
+msgid ""
+"Starting with version 1.4, PDF supports embedding arbitrary files as part"
+" (\"Embedded File Streams\") of a PDF document file (see chapter \"7.11.4"
+" Embedded File Streams\", pp. 103 of the :ref:`AdobeManual`)."
+msgstr "バージョン1.4から、PDFはPDFドキュメントファイルの一部として任意のファイルを埋め込むことができるようになりました(「7.11.4 埋め込みファイルストリーム」章を参照、 :ref:`AdobeManual` リファレンスの103ページ)。"
+
+#: ../../app2.rst:15 ef43351e76cb44349fb1ebe24196f90a
+msgid ""
+"In many aspects, this is comparable to concepts also found in ZIP files "
+"or the OLE technique in MS Windows. PDF embedded files do, however, *not*"
+" support directory structures as does the ZIP format. An embedded file "
+"can in turn contain embedded files itself."
+msgstr "多くの側面で、これはZIPファイルやMS WindowsのOLE技術でも見られる概念に類似しています。ただし、PDFの埋め込みファイルはZIP形式とは異なり、ディレクトリ構造をサポート *しません* 。埋め込みファイル自体もさらに埋め込みファイルを含むことができます。"
+
+#: ../../app2.rst:17 8346e4f23fd94f85a8d538dbb0f6aba4
+msgid ""
+"Advantages of this concept are that embedded files are under the PDF "
+"umbrella, benefitting from its permissions / password protection and "
+"integrity aspects: all data, which a PDF may reference or even may be "
+"dependent on, can be bundled into it and so form a single, consistent "
+"unit of information."
+msgstr "このコンセプトの利点は、埋め込みファイルがPDFの枠組みに含まれ、その権限/パスワード保護および整合性の側面を活用できることです。PDFが参照するデータや依存する可能性があるデータはすべて、PDFにまとめて1つの一貫した情報ユニットを形成することができます。"
+
+#: ../../app2.rst:19 6c5fa0f74dcd41f187241d6e11b6cc60
+msgid ""
+"In addition to embedded files, PDF 1.7 adds *collections* to its support "
+"range. This is an advanced way of storing and presenting meta information"
+" (i.e. arbitrary and extensible properties) of embedded files."
+msgstr "埋め込みファイルに加えて、PDF 1.7は *コレクション* をサポート範囲に追加しました。これは、埋め込みファイルのメタ情報(任意で拡張可能なプロパティ)を格納し、表示する高度な方法です。
+"
+
+#: ../../app2.rst:22 1c550f33d907464bbe56f0d0f0f0cf5d
+msgid "MuPDF Support"
+msgstr "MuPDFのサポート"
+
+#: ../../app2.rst:23 bcdf947b13534811a7e9d1143a345792
+msgid ""
+"After adding initial support for collections (portfolios) and "
+"*/EmbeddedFiles* in MuPDF version 1.11, this support was dropped again in"
+" version 1.15."
+msgstr "MuPDFバージョン1.11でコレクション(ポートフォリオ)と */EmbeddedFiles* への初期サポートを追加した後、このサポートはバージョン1.15で再び削除されました。"
+
+#: ../../app2.rst:25 cc2dbce08b9948418c19367038d05f77
+msgid ""
+"As a consequence, the cli utility *mutool* no longer offers access to "
+"embedded files."
+msgstr "その結果、cliユーティリティ *mutool* ではもはや埋め込みファイルにアクセスできなくなりました。"
+
+#: ../../app2.rst:27 cbb6b49f27614cf4a9f0c1ed3022263d
+msgid ""
+"PyMuPDF -- having implemented an */EmbeddedFiles* API in response in its "
+"version 1.11.0 -- was therefore forced to change gears starting with its "
+"version 1.16.0 (we never published a MuPDF v1.15.x compatible PyMuPDF)."
+msgstr "PyMuPDFは、バージョン1.11.0で */EmbeddedFiles* APIを実装したため、バージョン1.16.0からギアを変更せざるを得なくなりました(MuPDF v1.15.x互換のPyMuPDFは公開されませんでした)。"
+
+#: ../../app2.rst:29 7c71ad039ebe4b20b7ac9015c103bc71
+msgid ""
+"We are now maintaining our own code basis supporting embedded files. This"
+" code makes use of basic MuPDF dictionary and array functions only."
+msgstr "私たちは現在、埋め込みファイルをサポートする独自のコードベースを維持しています。このコードは、基本的なMuPDFの辞書と配列の機能のみを使用しています。"
+
+#: ../../app2.rst:32 8bd2cedc02944b80b24b2a6e169d505e
+msgid "PyMuPDF Support"
+msgstr "PyMuPDFのサポート"
+
+#: ../../app2.rst:33 daa9a9d8d9194b38844f5c668c0c73b2
+msgid ""
+"We continue to support the full old API with respect to embedded files --"
+" with only minor, cosmetic changes."
+msgstr "私たちは、埋め込みファイルに関する古いAPIを、わずかな見た目の変更のみを行いながら引き続きサポートしています。"
+
+#: ../../app2.rst:35 719e71e784014d6faa3b8d27d8593490
+msgid ""
+"There even also is a new function, which delivers a list of all names "
+"under which embedded data are resgistered in a PDF, "
+":meth:`Document.embfile_names`."
+msgstr "また、PDF内の埋め込みデータが登録されているすべての名前のリストを返す新しい関数も存在します。:meth:`Document.embfile_names` です。"
+
+#: ../../footer.rst:-1 81453fff5bdd46448c17b05989460289
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/app3.mo b/docs/locales/ja/LC_MESSAGES/app3.mo
new file mode 100644
index 000000000..c0e177cb6
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/app3.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/app3.po b/docs/locales/ja/LC_MESSAGES/app3.po
new file mode 100644
index 000000000..70f41a997
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/app3.po
@@ -0,0 +1,595 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../app3.rst:7 33ca195713624e268960b866532abe1b
+msgid "Appendix 3: Assorted Technical Information"
+msgstr "付録3:さまざまな技術情報"
+
+#: ../../app3.rst:8 5d7604936669477a8543dc05f394f711
+msgid ""
+"This section deals with various technical topics, that are not "
+"necessarily related to each other."
+msgstr "このセクションでは、必ずしも関連しないさまざまな技術的なトピックについて取り扱います。"
+
+#: ../../app3.rst:15 698afd719d9248b68cc78d0c514331a3
+msgid "Image Transformation Matrix"
+msgstr "画像変換行列"
+
+#: ../../app3.rst:16 8f461cbb3aee4833a1c77838562def55
+msgid ""
+"Starting with version 1.18.11, the image transformation matrix is "
+"returned by some methods for text and image extraction: "
+":meth:`Page.get_text` and :meth:`Page.get_image_bbox`."
+msgstr "バージョン1.18.11から、テキストと画像の抽出に関する一部のメソッドで画像変換行列が返されます::meth:`Page.get_text` および :meth:`Page.get_image_bbox` 。"
+
+#: ../../app3.rst:18 4656e953d5f9422bae9cb2df769dad1c
+msgid ""
+"The transformation matrix contains information about how an image was "
+"transformed to fit into the rectangle (its \"boundary box\" = \"bbox\") "
+"on some document page. By inspecting the image's bbox on the page and "
+"this matrix, one can determine for example, whether and how the image is "
+"displayed scaled or rotated on a page."
+msgstr "変換行列には、画像が文書ページ上の矩形(「境界ボックス」=「bbox」)に適合するためにどのように変換されたかに関する情報が含まれています。ページ上の画像のbboxとこの行列を検査することにより、例えば画像がページ上で拡大縮小または回転して表示されるかどうか、そしてどのように表示されるかを判断することができます。"
+
+#: ../../app3.rst:20 aa05b1468af44158ad2cac26b679a64b
+msgid ""
+"The relationship between image dimension and its bbox on a page is the "
+"following:"
+msgstr "画像の寸法とページ上のbboxとの関係は次のとおりです:"
+
+#: ../../app3.rst:24 505829211c4241ed8436e7702ecb4e35
+msgid "Using the original image's width and height,"
+msgstr "元の画像の幅と高さを使用して、"
+
+#: ../../app3.rst:23 afc6aa25316a4306beacbffe6a3a3b08
+msgid "define the image rectangle `imgrect = fitz.Rect(0, 0, width, height)`"
+msgstr "画像の矩形を `imgrect = fitz.Rect(0, 0, width, height)` と定義します。"
+
+#: ../../app3.rst:24 fe58a6e0cbec47918714a20520c60e34
+msgid ""
+"define the \"shrink matrix\" `shrink = fitz.Matrix(1/width, 0, 0, "
+"1/height, 0, 0)`."
+msgstr "「縮小行列」を `shrink = fitz.Matrix(1/width, 0, 0,1/height, 0, 0)` と定義します。"
+
+#: ../../app3.rst:26 70023984ad2c492ab9233234842f8a72
+msgid ""
+"Transforming the image rectangle with its shrink matrix, will result in "
+"the unit rectangle: `imgrect * shrink = fitz.Rect(0, 0, 1, 1)`."
+msgstr "画像矩形を縮小行列で変換すると、単位矩形が得られます: `imgrect * shrink = fitz.Rect(0, 0, 1, 1)` 。"
+
+#: ../../app3.rst:28 fec6c51054574cf8940a81ebe75a306e
+msgid ""
+"Using the image **transformation matrix** \"transform\", the following "
+"steps will compute the bbox::"
+msgstr "画像 **変換行列** 「transform」を使用して、次の手順でbboxを計算します:"
+
+#: ../../app3.rst:34 3c5328ada81748fa84ad503f7204eef5
+msgid ""
+"Inspecting the matrix product `shrink * transform` will reveal all "
+"information about what happened to the image rectangle to make it fit "
+"into the bbox on the page: rotation, scaling of its sides and translation"
+" of its origin. Let us look at an example:"
+msgstr "行列の積 `shrink * transform` を検査することで、画像矩形がページ上のbboxに適合させるために何が起こったかに関するすべての情報が明らかになります。回転、辺のスケーリング、および原点の移動です。例を見てみましょう:"
+
+#: ../../app3.rst:71 93862911aecc440b8d4589ed6e08db50
+msgid "PDF Base 14 Fonts"
+msgstr "PDFベース14フォント"
+
+#: ../../app3.rst:72 5744a4d4df564eec89a75c6014847444
+msgid ""
+"The following 14 builtin font names **must be supported by every PDF "
+"viewer** application. They are available as a dictionary, which maps "
+"their full names amd their abbreviations in lower case to the full font "
+"basename. Wherever a **fontname** must be provided in PyMuPDF, any **key "
+"or value** from the dictionary may be used::"
+msgstr "以下の14の組み込みフォント名は、**すべてのPDFビューアアプリケーションでサポートされる必要があります** 。これらは辞書として利用可能で、それぞれのフルネームとその略称を小文字で完全な **フォントベース名** にマッピングします。PyMuPDFでフォント名を提供する必要がある場合、辞書からの任意の **キーまたは値** を使用できます:"
+
+#: ../../app3.rst:105 db63a3bf8973449aacedd81967a27fb4
+msgid ""
+"In contrast to their obligation, not all PDF viewers support these fonts "
+"correctly and completely -- this is especially true for Symbol and "
+"ZapfDingbats. Also, the glyph (visual) images will be specific to every "
+"reader."
+msgstr "義務とは対照的に、すべてのPDFビューアがこれらのフォントを正確かつ完全にサポートしているわけではありません。特にSymbolとZapfDingbatsについては、これが特に当てはまります。また、グリフ(視覚的な)イメージは、それぞれの閲覧者に固有のものになります。"
+
+#: ../../app3.rst:107 40ff17b9c8784851aa9555bb17cd018f
+msgid ""
+"To see how these fonts can be used -- including the **CJK built-in** "
+"fonts -- look at the table in :meth:`Page.insert_font`."
+msgstr "これらのフォントがどのように使用されるか( **CJK組み込みフォント** も含めて)、:meth:`Page.insert_font` のテーブルをご覧ください。"
+
+#: ../../app3.rst:114 96a83114ee56481ca444d925db24309b
+msgid "Adobe PDF References"
+msgstr "Adobe PDFリファレンス"
+
+#: ../../app3.rst:116 c5fb37f607b2467ca7af74b66883ab82
+msgid ""
+"This PDF Reference manual published by Adobe is frequently quoted "
+"throughout this documentation. It can be viewed and downloaded from `here"
+" `_."
+msgstr "Adobeによって公開されたこのPDFリファレンスマニュアルは、このドキュメンテーション全体で頻繁に引用されています。 `こちら `_ から閲覧およびダウンロードが可能です。"
+
+#: ../../app3.rst:118 794622b3f36a4feca4fb8df3a088759a
+msgid ""
+"For a long time, an older version was also available under `this "
+"`_"
+" link. It seems to be taken off of the web site in October 2021. Earlier "
+"(pre 1.19.*) versions of the PyMuPDF documentation used to refer to this "
+"document. We have undertaken an effort to replace referrals to the "
+"current specification above."
+msgstr "長い間、古いバージョンも `この `_ リンクで利用可能でしたが、2021年10月にウェブサイトから取り下げられたようです。以前(1.19.*より前)のPyMuPDFドキュメンテーションはこの文書を参照していました。私たちは、上記の現行仕様への参照を置き換える取り組みを行っています。"
+
+#: ../../app3.rst:125 055579409da441d49688fb684c94a9df
+msgid "Using Python Sequences as Arguments in PyMuPDF"
+msgstr "PythonシーケンスをPyMuPDFで引数として使用する場合"
+
+#: ../../app3.rst:126 33a686f0660f4a9d938fcdb81b0c2a12
+msgid ""
+"When PyMuPDF objects and methods require a Python **list** of numerical "
+"values, other Python **sequence types** are also allowed. Python classes "
+"are said to implement the **sequence protocol**, if they have a "
+"`__getitem__()` method."
+msgstr "PyMuPDFのオブジェクトとメソッドが数値の値のPython **リスト** を必要とする場合、他のPython **シーケンス型** も許可されています。Pythonのクラスは、`__getitem__()` メソッドを持つ場合、**シーケンスプロトコル** を実装していると言われています。"
+
+#: ../../app3.rst:128 cc28166fe51e43bd8dd4862353d2409d
+msgid ""
+"This basically means, you can interchangeably use Python *list* or "
+"*tuple* or even *array.array*, *numpy.array* and *bytearray* types in "
+"these cases."
+msgstr "基本的には、これらの場合にPythonの *リスト* や *タプル* 、*array.array* 、*numpy.array* 、*bytearray* 型を互換性を持って使用できることを意味しています。"
+
+#: ../../app3.rst:130 16c32014c0364f25806837e9a7887b29
+msgid "For example, specifying a sequence `\"s\"` in any of the following ways"
+msgstr "例えば、次のいずれかの方法でシーケンス `\"s\"` を指定すると"
+
+#: ../../app3.rst:132 92e35b08c8354a8589255be2c0632791
+msgid "`s = [1, 2]` -- a list"
+msgstr "`s = [1, 2]` – リスト"
+
+#: ../../app3.rst:133 fa714ca3b8a047d8b54ec3e9c30585be
+msgid "`s = (1, 2)` -- a tuple"
+msgstr "`s = (1, 2)` – タプル"
+
+#: ../../app3.rst:134 3edaef312ee94cb6a28fdc690faccd6c
+msgid "`s = array.array(\"i\", (1, 2))` -- an array.array"
+msgstr "`s = array.array(\"i\", (1, 2))` – array.array"
+
+#: ../../app3.rst:135 0f216dc877794ec7ac6d87f489165244
+msgid "`s = numpy.array((1, 2))` -- a numpy array"
+msgstr "`s = numpy.array((1, 2))` – numpy配列"
+
+#: ../../app3.rst:136 217c10fe429b4a0db7aab1a6774bbfff
+msgid "`s = bytearray((1, 2))` -- a bytearray"
+msgstr "`s = bytearray((1, 2))` – bytearray"
+
+#: ../../app3.rst:138 0d35c5cad9a2496eb038df24e4f4dca2
+msgid "will make it usable in the following example expressions:"
+msgstr "これによって、以下の例の式で使用可能になります:"
+
+#: ../../app3.rst:140 8940895f973043ffbfb11116e4849eb8
+msgid "`fitz.Point(s)`"
+msgstr ""
+
+#: ../../app3.rst:141 5dfbd6c603374af386af13cbb05831d9
+msgid "`fitz.Point(x, y) + s`"
+msgstr ""
+
+#: ../../app3.rst:142 248d1d9d4a8e491e8724e8952814d071
+msgid "`doc.select(s)`"
+msgstr ""
+
+#: ../../app3.rst:144 08f875a418104cf8b5b443831a79374c
+msgid ""
+"Similarly with all geometry objects :ref:`Rect`, :ref:`IRect`, "
+":ref:`Matrix` and :ref:`Point`."
+msgstr "同様に、すべてのジオメトリオブジェクト :ref:`Rect` 、:ref:`IRect` 、:ref:`Matrix` 、 :ref:`Point` も同様です。"
+
+#: ../../app3.rst:146 a7c65d60549f4a1c984f58c3a42fb2b7
+msgid ""
+"Because all PyMuPDF geometry classes themselves are special cases of "
+"sequences, they (with the exception of :ref:`Quad` -- see below) can be "
+"freely used where numerical sequences can be used, e.g. as arguments for "
+"functions like *list()*, *tuple()*, *array.array()* or *numpy.array()*. "
+"Look at the following snippet to see this work."
+msgstr "なぜなら、すべてのPyMuPDFジオメトリクラス自体がシーケンスの特殊なケースであるため、( :ref:`Quad` を除く)数値のシーケンスが使用可能な場所で自由に使用できるからです。例えば、 *list()* 、 *tuple()* 、 *array.array()* 、
+*numpy.array()* の引数として。これが動作することを確認するために、次のスニペットを見てみてください。"
+
+#: ../../app3.rst:163 23165210c6244741a9ce6332eda74d2a
+msgid ""
+":ref:`Quad` is a Python sequence object as well and has a length of 4. "
+"Its items however are :data:`point_like` -- not numbers. Therefore, the "
+"above remarks do not apply."
+msgstr " :ref:`Quad` もPythonのシーケンスオブジェクトであり、長さが4です。ただし、そのアイテムは数値ではなく :data:`point_like` です。したがって、上記の注釈は適用されません。"
+
+#: ../../app3.rst:170 78acd4d431e341dd962f028050b264e5
+msgid "Ensuring Consistency of Important Objects in PyMuPDF"
+msgstr "重要なオブジェクトの整合性を確保するためのPyMuPDF"
+
+#: ../../app3.rst:171 9ec97038963641cf9c77ce883b4b7e17
+msgid ""
+"PyMuPDF is a Python binding for the C library MuPDF. While a lot of "
+"effort has been invested by MuPDF's creators to approximate some sort of "
+"an object-oriented behavior, they certainly could not overcome basic "
+"shortcomings of the C language in that respect."
+msgstr "PyMuPDFは、CライブラリMuPDFのPythonバインディングです。MuPDFの開発者たちは、ある種のオブジェクト指向の振る舞いを模倣するために多くの努力をしてきましたが、C言語の基本的な制約を克服することはできませんでした。"
+
+#: ../../app3.rst:173 358e188cabb04de490fe4f7f3f120c57
+msgid ""
+"Python on the other hand implements the OO-model in a very clean way. The"
+" interface code between PyMuPDF and MuPDF consists of two basic files: "
+"*fitz.py* and *fitz_wrap.c*. They are created by the excellent SWIG tool "
+"for each new version."
+msgstr "一方で、Pythonは非常にクリーンな方法でOOモデルを実装しています。PyMuPDFとMuPDFの間のインターフェースコードは、基本的に2つのファイルから構成されています: *fitz.py* と *fitz_wrap.c* 。これらは、新バージョンごとに優れたSWIGツールによって作成されます。"
+
+#: ../../app3.rst:175 1d4bde5f5e414fa4b2aaca07bec71664
+msgid ""
+"When you use one of PyMuPDF's objects or methods, this will result in "
+"execution of some code in *fitz.py*, which in turn will call some C code "
+"compiled with *fitz_wrap.c*."
+msgstr "PyMuPDFのオブジェクトやメソッドのいずれかを使用すると、これにより *fitz.py* でいくつかのコードが実行され、それがさらに *fitz_wrap.c* でコンパイルされたCコードを呼び出します。"
+
+#: ../../app3.rst:177 61133a4a341240ecbccbcaf3feae8dde
+msgid ""
+"Because SWIG goes a long way to keep the Python and the C level in sync, "
+"everything works fine, if a certain set of rules is being strictly "
+"followed. For example: **never access** a :ref:`Page` object, after you "
+"have closed (or deleted or set to *None*) the owning :ref:`Document`. Or,"
+" less obvious: **never access** a page or any of its children (links or "
+"annotations) after you have executed one of the document methods "
+"*select()*, *delete_page()*, *insert_page()* ... and more."
+msgstr "SWIGはPythonとCレベルを同期させるために大いに役立っているため、一定のルールが厳密に守られる限り、すべてが正常に動作します。例えば、所有している :ref:`ドキュメント` を閉じたり(または削除したり、Noneに設定したり)した後に :ref:`Page` オブジェクトに **アクセスしないでください** 。また、より明確な例では、 *select()* 、*delete_page()* 、 *insert_page()* などのドキュメントメソッドを実行した後にページやその子要素(リンクや注釈など)に **アクセスしないでください** 。"
+
+#: ../../app3.rst:179 84bfc9102b9f40f89c037cfb5d6cf601
+msgid ""
+"But just no longer accessing invalidated objects is actually not enough: "
+"They should rather be actively deleted entirely, to also free C-level "
+"resources (meaning allocated memory)."
+msgstr "ただし、無効なオブジェクトへのアクセスをやめるだけでは実際には十分ではありません。これらのオブジェクトは、Cレベルのリソース(割り当てられたメモリ)も解放するために、完全に削除されるべきです。"
+
+#: ../../app3.rst:181 270d6505474a4f9eb836eebf6ab9a782
+msgid ""
+"The reason for these rules lies in the fact that there is a hierarchical "
+"2-level one-to-many relationship between a document and its pages and "
+"also between a page and its links / annotations. To maintain a consistent"
+" situation, any of the above actions must lead to a complete reset -- in "
+"**Python and, synchronously, in C**."
+msgstr "これらのルールの理由は、ドキュメントとそのページ、およびページとそのリンク/注釈の間に階層的な2段階の1対多の関係があるためです。一貫した状況を維持するために、上記のアクションのいずれもが **PythonとCの両方で** 完全なリセットを引き起こさなければなりません。"
+
+#: ../../app3.rst:183 b1acb6e58964468ead03014ea3dfb41c
+msgid "SWIG cannot know about this and consequently does not do it."
+msgstr "SWIGはこれを知ることはできないため、それを実行しません。"
+
+#: ../../app3.rst:185 bb5d3b7fbef54e4fab7af5ea0db556b9
+msgid ""
+"The required logic has therefore been built into PyMuPDF itself in the "
+"following way."
+msgstr "必要な論理はしたがって、PyMuPDF自体に以下のように組み込まれています。"
+
+#: ../../app3.rst:187 7003814b9cb14bdf9aba5b6239e784fb
+msgid ""
+"If a page \"loses\" its owning document or is being deleted itself, all "
+"of its currently existing annotations and links will be made unusable in "
+"Python, and their C-level counterparts will be deleted and deallocated."
+msgstr "ページが所有するドキュメントを失ったり、それ自体が削除されると、現在存在するすべての注釈とリンクはPythonで使用できなくなり、それらのCレベルの対応部分が削除されて解放されます。"
+
+#: ../../app3.rst:189 096d5ae7233e4b3c919c467bf675491a
+msgid ""
+"If a document is closed (or deleted or set to *None*) or if its structure"
+" has changed, then similarly all currently existing pages and their "
+"children will be made unusable, and corresponding C-level deletions will "
+"take place. \"Structure changes\" include methods like *select()*, "
+"*delePage()*, *insert_page()*, *insert_pdf()* and so on: all of these "
+"will result in a cascade of object deletions."
+msgstr "ドキュメントが閉じられたり(または削除されたり、 *None* に設定されたり)したり、構造が変更されたりすると、同様に現在存在するすべてのページとその子要素は使用できなくなり、対応するCレベルの削除が行われます。「構造の変更」とは、 *select()* 、 *delete_page()* 、 *insert_page()* 、 *insert_pdf()* などのメソッドを含みます。これらのすべてはオブジェクトの削除の連鎖を引き起こします。"
+
+#: ../../app3.rst:191 7b5d97b44da5443f9612ec0a963c4c46
+msgid ""
+"The programmer will normally not realize any of this. If he, however, "
+"tries to access invalidated objects, exceptions will be raised."
+msgstr "プログラマーは通常、これらのいずれも気づかないでしょう。ただし、無効なオブジェクトにアクセスしようとすると、例外が発生します。"
+
+#: ../../app3.rst:193 dc0506dd89d64f98a17c93c9aa9d2c95
+msgid ""
+"Invalidated objects cannot be directly deleted as with Python statements "
+"like *del page* or *page = None*, etc. Instead, their *__del__* method "
+"must be invoked."
+msgstr "無効なオブジェクトは、 *del page* または *page = None* などのPythonステートメントで直接削除することはできません。代わりに、その *__del__* メソッドを呼び出す必要があります。"
+
+#: ../../app3.rst:195 6620fbbe21184d1a8506a7e52d58bdf2
+msgid ""
+"All pages, links and annotations have the property *parent*, which points"
+" to the owning object. This is the property that can be checked on the "
+"application level: if *obj.parent == None* then the object's parent is "
+"gone, and any reference to its properties or methods will raise an "
+"exception informing about this \"orphaned\" state."
+msgstr "すべてのページ、リンク、注釈には、所有するオブジェクトを指す *親* プロパティがあります。これはアプリケーションレベルでチェックできるプロパティです: *obj.parent == None* ならば、そのオブジェクトの親は存在せず、そのプロパティやメソッドへの参照は例外を発生させてこの「孤立」した状態について通知します。"
+
+#: ../../app3.rst:197 e8df4fb66951412b937d7a63e0657541
+msgid "A sample session:"
+msgstr "サンプルセッション:"
+
+#: ../../app3.rst:214 bea8af4d86c84f7096e87b9f4872b0a5
+msgid "This shows the cascading effect:"
+msgstr "これは連鎖効果を示しています。"
+
+#: ../../app3.rst:231 87b5d6c22a184db0907f64f3b23243b5
+msgid ""
+"Objects outside the above relationship are not included in this "
+"mechanism. If you e.g. created a table of contents by *toc = "
+"doc.get_toc()*, and later close or change the document, then this cannot "
+"and does not change variable *toc* in any way. It is your responsibility "
+"to refresh such variables as required."
+msgstr "上記の関係外のオブジェクトは、このメカニズムに含まれていません。たとえば、 `toc = doc.get_toc()` のように目次を作成し、後で文書を閉じたり変更したりする場合、これは変数 toc をどのようにも変更しません。必要に応じてそのような変数を更新する責任はあなたにあります。"
+
+#: ../../app3.rst:238 28be6e4896304aeaaf367d408afb2454
+msgid "Design of Method :meth:`Page.show_pdf_page`"
+msgstr "メソッド :meth:`Page.show_pdf_page` の設計"
+
+#: ../../app3.rst:241 0573c0f0ce5742bb90a5075d494d5738
+msgid "Purpose and Capabilities"
+msgstr "目的と機能"
+
+#: ../../app3.rst:243 97f7c9654077441c9b96c107f87c7786
+msgid ""
+"The method displays an image of a (\"source\") page of another PDF "
+"document within a specified rectangle of the current (\"containing\", "
+"\"target\") page."
+msgstr "このメソッドは、現在の(「含まれる」、「ターゲット」)ページの指定された矩形内に別のPDF文書の(「ソース」)ページの画像を表示します。"
+
+#: ../../app3.rst:245 fa832dda8bca412e8d4884ab5c36c9ec
+msgid ""
+"**In contrast** to :meth:`Page.insert_image`, this display is vector-"
+"based and hence remains accurate across zooming levels."
+msgstr ":meth:`Page.insert_image` **とは異なり** 、この表示はベクターベースであり、ズームレベルを超えて正確に保たれます。"
+
+#: ../../app3.rst:246 1c5113ba7b334b39aacdf3c71c365c11
+msgid ""
+"**Just like** :meth:`Page.insert_image`, the size of the display is "
+"adjusted to the given rectangle."
+msgstr ":meth:`Page.insert_image` **と同様に** 、表示のサイズは指定された矩形に調整されます。"
+
+#: ../../app3.rst:248 2794d785ea6f4754964fb7421a0af2c4
+msgid "The following variations of the display are currently supported:"
+msgstr "現在、次のバリエーションの表示がサポートされています:"
+
+#: ../../app3.rst:250 6c6b636b457448ac915d21288df7638f
+msgid ""
+"Bool parameter `\"keep_proportion\"` controls whether to maintain the "
+"aspect ratio (default) or not."
+msgstr "Bool パラメーター `\"keep_proportion\"` はアスペクト比を保持するかどうかを制御します(デフォルト)。"
+
+#: ../../app3.rst:251 ad729b1cf23f45f78ce599a7b0f5b505
+msgid ""
+"Rectangle parameter `\"clip\"` restricts the visible part of the source "
+"page rectangle. Default is the full page."
+msgstr "矩形パラメーター `\"clip\"` はソースページの矩形の可視部分を制限します。デフォルトはフルページです。"
+
+#: ../../app3.rst:252 bbe21508f39a4c8e9c47c8d42e06c788
+msgid ""
+"float `\"rotation\"` rotates the display by an arbitrary angle (degrees)."
+" If the angle is not an integer multiple of 90, only 2 of the 4 corners "
+"may be positioned on the target border if also `\"keep_proportion\"` is "
+"true."
+msgstr "float `\"rotation\"` は表示を任意の角度(度)で回転させます。角度が90の倍数でない場合、`\"keep_proportion\"` も true の場合、ターゲットの境界に4つのうち2つのコーナーのみが配置される場合があります。"
+
+#: ../../app3.rst:253 103b7790b22f43079d26ecaf727fc3a3
+msgid ""
+"Bool parameter `\"overlay\"` controls whether to put the image on top "
+"(foreground, default) of current page content or not (background)."
+msgstr "Bool パラメーター `\"overlay\"` は、画像を現在のページコンテンツの上(前景、デフォルト)に配置するか、そうでないか(背景)を制御します。"
+
+#: ../../app3.rst:255 cda7dd8ce6ad41cda2ec56124d76adeb
+msgid "Use cases include (but are not limited to) the following:"
+msgstr "使用例は以下のようなものがありますが、これに限定されません:"
+
+#: ../../app3.rst:257 b8ce554fb75a445fb6e9c017a18a973a
+msgid ""
+"\"Stamp\" a series of pages of the current document with the same image, "
+"like a company logo or a watermark."
+msgstr "現在の文書の複数のページに同じ画像(企業のロゴや透かし)を「スタンプ」する。"
+
+#: ../../app3.rst:258 3c982e832912448ea84c5b93508b3638
+msgid ""
+"Combine arbitrary input pages into one output page to support “booklet” "
+"or double-sided printing (known as \"4-up\", \"n-up\")."
+msgstr "任意の入力ページを1つの出力ページに組み合わせ、"ブックレット"や両面印刷をサポートする(「4-up」、「n-up」としても知られています)。"
+
+#: ../../app3.rst:259 830b590a3c8e416d8d132f87020c90de
+msgid ""
+"Split up (large) input pages into several arbitrary pieces. This is also "
+"called “posterization”, because you e.g. can split an A4 page "
+"horizontally and vertically, print the 4 pieces enlarged to separate A4 "
+"pages, and end up with an A2 version of your original page."
+msgstr "(大きな)入力ページをいくつかの任意のピースに分割する。これは「ポスタリゼーション」とも呼ばれ、たとえばA4ページを水平および垂直に分割し、4つのピースを別々のA4ページに拡大印刷して、元のページのA2バージョンを作成することができます。"
+
+#: ../../app3.rst:262 52a42578555a48ca8c94301e6a6cd7e0
+msgid "Technical Implementation"
+msgstr "テクニカル実装"
+
+#: ../../app3.rst:264 09e5f5e308a84f9d8511818b5ffcdc82
+msgid ""
+"This is done using PDF **\"Form XObjects\"**, see section 8.10 on page "
+"217 of :ref:`AdobeManual`. On execution of a :meth:`Page.show_pdf_page`, "
+"the following things happen:"
+msgstr "これはPDF **「フォームXObject」** を使用して行われます。 :ref:`AdobeManual` リファレンス の217ページ、セクション8.10を参照してください。 :meth:`Page.show_pdf_page` が実行されると、次のことが起こります。"
+
+#: ../../app3.rst:266 ce15260df9ed49d09a7e6e8b53d22f72
+msgid ""
+"The :data:`resources` and :data:`contents` objects of source page in "
+"source document are copied over to the target document, jointly creating "
+"a new **Form XObject** with the following properties. The PDF "
+":data:`xref` number of this object is returned by the method."
+msgstr "ソースドキュメント内のソースページの :data:`resources` と :data:`contents` オブジェクトは、ターゲットドキュメントにコピーされ、共同で新しい **フォームXObject** が作成されます。このオブジェクトのPDF :data:`xref` 番号がメソッドによって返されます。"
+
+#: ../../app3.rst:268 fed99b8ac0dc45bcb28939d98f8ff226
+msgid "`/BBox` equals `/Mediabox` of the source page"
+msgstr "`/BBox` はソースページの `/Mediabox` に等しいです。"
+
+#: ../../app3.rst:269 f7b845677736445f97969f076e069052
+msgid "`/Matrix` equals the identity matrix."
+msgstr "`/Matrix` は単位行列と等しいです。"
+
+#: ../../app3.rst:270 b6f825c436d34fbeb2bdc7630df6e278
+msgid ""
+"`/Resources` equals that of the source page. This involves a “deep-copy” "
+"of hierarchically nested other objects (including fonts, images, etc.). "
+"The complexity involved here is covered by MuPDF's grafting [#f1]_ "
+"technique functions."
+msgstr "`/Resources` はソースページのものに等しいです。これには、階層的にネストされた他のオブジェクト(フォント、画像など)の「ディープコピー」が含まれます。ここでの複雑さは、MuPDFのグラフティング[1]技術関数によってカバーされています。"
+
+#: ../../app3.rst:271 93c85d00c89541699d33481f09cd3a0b
+msgid ""
+"This is a stream object type, and its stream is an exact copy of the "
+"combined data of the source page's :data:`contents` objects."
+msgstr "これはストリームオブジェクトタイプであり、そのストリームはソースページの :data:`contents` オブジェクトの結合データの正確なコピーです。"
+
+#: ../../app3.rst:273 2834a7f762254412b36f8d0e45f2ddce
+msgid ""
+"This Form XObject is only executed once per shown source page. Subsequent"
+" displays of the same source page will skip this step and only create "
+"\"pointer\" Form XObjects (done in next step) to this object."
+msgstr "このフォームXObjectは、表示されるソースページごとに1回だけ実行されます。同じソースページの後続の表示では、このステップはスキップされ、このオブジェクトへの「ポインター」フォームXObject(次のステップで行われる)のみが作成されます。"
+
+#: ../../app3.rst:275 ae970441657e4bcaacab19e58abc5b7d
+msgid ""
+"A second **Form XObject** is then created which the target page uses to "
+"invoke the display. This object has the following properties:"
+msgstr "次に、ターゲットページが表示を呼び出すために使用する2番目の **フォームXObject** が作成されます。このオブジェクトには次のような特性があります。"
+
+#: ../../app3.rst:277 c95fad4b7da44ac0b44534432a399324
+msgid "`/BBox` equals the `/CropBox` of the source page (or `\"clip\"`)."
+msgstr "`/BBox` はソースページの `/CropBox`(または `"クリップ"` )に等しいです。"
+
+#: ../../app3.rst:278 709e8a03ef0648b9b0237f2d13e7aaf3
+msgid "`/Matrix` represents the mapping of `/BBox` to the target rectangle."
+msgstr "`/Matrix` は `/BBox` からターゲット矩形へのマッピングを表します。"
+
+#: ../../app3.rst:279 e5aad1bf1c4841fb9ec83b65e0195dbb
+msgid ""
+"`/XObject` references the previous Form XObject via the fixed name "
+"`fullpage`."
+msgstr "`/XObject` は、以前のフォームXObjectを固定された名前 `fullpage` を介して参照します。"
+
+#: ../../app3.rst:280 13c9ef1d1f864eaaa19a2a16492c9a4c
+msgid ""
+"The stream of this object contains exactly one fixed statement: "
+"`/fullpage Do`."
+msgstr "このオブジェクトのストリームには、正確に1つの固定されたステートメントが含まれています: `/fullpage Do` 。"
+
+#: ../../app3.rst:281 15adfedf89e24757a94421572bc07587
+msgid ""
+"If the method's `\"oc\"` argument is given, its value is assigned to this"
+" Form XObject as `/OC`."
+msgstr "メソッドの `「oc」` 引数が指定された場合、その値はこのフォームXObjectに `/OC` として割り当てられます。"
+
+#: ../../app3.rst:283 ca4a3b3bdf6f41cf9f689efcee4224cc
+msgid ""
+"The :data:`resources` and :data:`contents` objects of the target page are"
+" now modified as follows."
+msgstr "ターゲットページの :data:`リソース` と :data:`コンテンツ` オブジェクトは以下のように変更されます。"
+
+#: ../../app3.rst:285 efca8addf2f442a999367bdc630b53ac
+msgid ""
+"Add an entry to the `/XObject` dictionary of `/Resources` with the name "
+"`fzFrm` (with n chosen such that this entry is unique on the page)."
+msgstr "`/Resources` の `/XObject` 辞書に、 ` fzFrm ` という名前のエントリをページ内で一意であるように追加します(nはこのエントリがページで一意であるように選択されます)。"
+
+#: ../../app3.rst:286 7274a922d234436aa772aba08cd1cba9
+msgid ""
+"Depending on `\"overlay\"`, prepend or append a new object to the page's "
+"`/Contents` array, containing the statement `q /fzFrm Do Q`."
+msgstr "`\"overlay\"` に応じて、ページの `/ Contents` 配列に新しいオブジェクトを前または後に追加し、ステートメント `q / fzFrm Do Q` を含めます。"
+
+#: ../../app3.rst:288 2fab5f6088074d2b9dd280aa6b267583
+msgid "This design approach ensures that:"
+msgstr "この設計アプローチは次を保証します:"
+
+#: ../../app3.rst:290 353b1a2ba15949959a9e2da016c2ac06
+msgid ""
+"The (potentially large) source page is only copied once to the target "
+"PDF. Only small \"pointer\" Form XObjects objects are created per each "
+"target page to show the source page."
+msgstr "(潜在的に大きな)ソースページは、ターゲットPDFに1度だけコピーされます。各ターゲットページごとに、ソースページを表示するための小さな「ポインター」フォームXObjectオブジェクトが作成されます。"
+
+#: ../../app3.rst:291 aa91782567f245af894a3573cb420677
+msgid ""
+"Each referring target page can have its own `\"oc\"` parameter to control"
+" the source page's visibility individually."
+msgstr "参照する各ターゲットページは、ソースページの表示を個別に制御するための独自の `「oc」` パラメータを持つことができます。"
+
+#: ../../app3.rst:298 b91e7321758546f1bf2be546e74d0721
+msgid "Redirecting Error and Warning Messages"
+msgstr "エラーと警告メッセージのリダイレクト"
+
+#: ../../app3.rst:299 ea9068813d034a9894e5bdfa987726d2
+msgid ""
+"Since MuPDF version 1.16 error and warning messages can be redirected via"
+" an official plugin."
+msgstr "MuPDFバージョン1.16以降、エラーと警告メッセージは公式プラグインを介してリダイレクトできます。"
+
+#: ../../app3.rst:301 b494f2abdcfc4bffb97f4483b8d07755
+msgid ""
+"PyMuPDF will put error messages to `sys.stderr` prefixed with the string "
+"\"mupdf:\". Warnings are internally stored and can be accessed via "
+"*fitz.TOOLS.mupdf_warnings()*. There also is a function to empty this "
+"store."
+msgstr "PyMuPDFはエラーメッセージを、先頭に文字列「mupdf:」を付けて `sys.stderr` に表示します。警告は内部で保存され、*fitz.TOOLS.mupdf_warnings()* を通じてアクセスできます。また、この保存領域を空にするための関数も存在します。"
+
+#: ../../app3.rst:305 99b427f7ce9e4e528d930311d02cde0a
+msgid "Footnotes"
+msgstr "脚注"
+
+#: ../../app3.rst:306 49ef9c0a37e24a3685cd3b28faff61ed
+msgid ""
+"MuPDF supports \"deep-copying\" objects between PDF documents. To avoid "
+"duplicate data in the target, it uses so-called \"graftmaps\", like a "
+"form of scratchpad: for each object to be copied, its :data:`xref` number"
+" is looked up in the graftmap. If found, copying is skipped. Otherwise, "
+"the new :data:`xref` is recorded and the copy takes place. PyMuPDF makes "
+"use of this technique in two places so far: :meth:`Document.insert_pdf` "
+"and :meth:`Page.show_pdf_page`. This process is fast and very efficient, "
+"because it prevents multiple copies of typically large and frequently "
+"referenced data, like images and fonts. However, you may still want to "
+"consider using garbage collection (option 4) in any of the following "
+"cases:"
+msgstr "MuPDFはPDFドキュメント間でオブジェクトを「ディープコピー」することをサポートしています。対象の中で重複するデータを避けるために、「グラフトマップ」と呼ばれる仕組みを使用します。これはスクラッチパッドのようなもので、コピーされる各オブジェクトについて、その :data:`xref` 番号をグラフトマップで調べます。もし見つかれば、コピーはスキップされます。それ以外の場合は、新しい :data:`xref` が記録され、コピーが行われます。PyMuPDFは、:meth:`Document.insert_pdf` と :meth:`Page.show_pdf_page` の2つの場所でこの技術を使用しています。このプロセスは高速で非常に効率的です。なぜなら、通常大きなデータや頻繁に参照されるデータ(画像やフォントなど)の複数のコピーを防ぐためです。ただし、次のいずれかの場合にはガベージコレクション(オプション4)の使用を検討することをお勧めします:"
+
+#: ../../app3.rst:308 ae7161e9a4034459ad51b582d278f1e8
+msgid ""
+"The target PDF is not new / empty: grafting does not check for resources "
+"that already existed (e.g. images, fonts) in the target document before "
+"opening it."
+msgstr "対象のPDFが新しい/空でない場合:グラフティングは、対象ドキュメント内で既に存在しているリソース(例:画像、フォント)をチェックしません。"
+
+#: ../../app3.rst:309 42ac12d3ea0f4596b88ce4a2e737ad19
+msgid ""
+"Using :meth:`Page.show_pdf_page` for more than one source document: each "
+"grafting occurs **within one source** PDF only, not across multiple. So "
+"if e.g. the same image exists in pages from different source PDFs, then "
+"this will not be detected until garbage collection."
+msgstr "複数のソースドキュメントで :meth:`Page.show_pdf_page` を使用する場合:グラフティングは **1つのソース** PDF内でのみ発生し、複数のソースPDF間では発生しません。したがって、同じ画像が異なるソースPDFのページに存在する場合、これはガベージコレクションまで検出されません。
+"
+
+#: ../../footer.rst:-1 9ff4531737dd4caababe488f5de96325
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/app4.mo b/docs/locales/ja/LC_MESSAGES/app4.mo
new file mode 100644
index 000000000..b86308f2a
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/app4.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/app4.po b/docs/locales/ja/LC_MESSAGES/app4.po
new file mode 100644
index 000000000..d4a8cbc1b
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/app4.po
@@ -0,0 +1,1093 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../app4.rst:14 4a1e81ac1f0f495f98e107cebef3b1a6
+msgid "Appendix 4: Performance Comparison Methodology"
+msgstr "付録4:性能比較方法"
+
+#: ../../app4.rst:16 4c3e578b97d544bc9a3df491df95c184
+msgid ""
+"This article documents the approach to measure :title:`PyMuPDF's` "
+"performance and the tools and example files used to do comparisons."
+msgstr "この記事では、:title:`PyMuPDF` の性能を測定するアプローチと、比較を行うために使用されるツールとサンプルファイルについて説明します。"
+
+#: ../../app4.rst:18 65992b6edec440d5b8cd2ad855311676
+msgid "The following three sections deal with different performance aspects:"
+msgstr "以下の3つのセクションでは、異なる性能の側面に取り組んでいます:"
+
+#: ../../app4.rst:20 ef912ae97dab4a8bba8dfca25fbe77b0
+msgid ""
+":ref:`Document Copying` - This includes opening and parsing"
+" :title:`PDFs`, then writing them to an output file. Because the same "
+"basic activities are also used for joining (merging) :title:`PDFs`, the "
+"results also apply to these use cases."
+msgstr ":ref:`ドキュメントのコピー` - これには :title:`PDF` ファイルの開閉と解析、そしてそれらを出力ファイルに書き込む作業が含まれます。同じ基本的なアクティビティは、:title:`PDF` ファイルの結合(マージ)にも使用されるため、結果はこれらのユースケースにも適用されます。"
+
+#: ../../app4.rst:21 0c99ef7b1c4545dca0cc386a1dda49d3
+msgid ""
+":ref:`Text Extraction` - This extracts plain text "
+"from :title:`PDFs` and writes it to an output text file."
+msgstr ":ref:`テキスト抽出` - これにより :title:`PDF` ファイルから平文テキストが抽出され、テキストファイルに書き込まれます。"
+
+#: ../../app4.rst:22 8ce581173edf481d98f8ebeafbe64393
+msgid ""
+":ref:`Page Rendering` - This converts :title:`PDF` "
+"pages to image files looking identical to the pages. This ability is the "
+"basic prerequisite for using a tool in :title:`Python GUI` scripts to "
+"scroll through documents. We have chosen a medium-quality (resolution 150"
+" DPI) version."
+msgstr ":ref:`ページレンダリング` - これによりPDFページがページと同じような見た目の画像ファイルに変換されます。この機能は、:title:`Python GUI` スクリプトでドキュメントをスクロールするための基本的な前提条件です。中画質版(解像度150 DPI)を選択しました。"
+
+#: ../../app4.rst:24 fe5f9971743d4548bfe4b9f18c30474d
+msgid ""
+"Please note that in all cases the actual speed in dealing with "
+":title:`PDF` structures is not directly measured: instead, the timings "
+"also include the durations of writing files to the operating system's "
+"file system. This cannot be avoided because tools other than "
+":title:`PyMuPDF` do not offer the option to e.g., separate the image "
+"**creation** step from the following step, which **writes** the image "
+"into a file."
+msgstr ":title:`PDF` 構造の処理速度そのものを直接測定するのではなく、すべての場合において、タイミングにはファイルをオペレーティングシステムのファイルシステムに書き込む時間も含まれることに注意してください。これは回避できない要因です。なぜなら、:title:`PyMuPDF` 以外のツールでは、例えばイメージの **作成** ステップと、イメージをファイルに **書き込む** 後続のステップを分離するオプションが提供されていないためです。"
+
+#: ../../app4.rst:26 2d2d73cda2684e7785201a05ce329c91
+msgid ""
+"So all timings documented include a common, OS-oriented base effort. "
+"Therefore, performance **differences per tool are actually larger** than "
+"the numbers suggest."
+msgstr "したがって、すべての記録されたタイミングには共通のOS指向の基本的な努力が含まれています。したがって、**ツールごとの性能の違いは、数字が示す以上に実際には大きいです** 。"
+
+#: ../../app4.rst:33 78490caee14746d8928902a963581d48
+msgid "Files used"
+msgstr "使用されるファイル"
+
+#: ../../app4.rst:35 3605ae7c9069488b832c184f2494c069
+msgid ""
+"A set of eight files is used for the performance testing. With each file "
+"we have the following information:"
+msgstr "性能テストには、8つのファイルセットが使用されます。各ファイルには、次の情報があります:"
+
+#: ../../app4.rst:37 878bbefe08e94b999b48099a6879d6b5
+msgid "**Name** of the file and download **link**."
+msgstr "ファイル **名** とダウンロード **リンク**。"
+
+#: ../../app4.rst:38 6934547cd869488684f8653db1d78925
+msgid "**Size** in bytes."
+msgstr "バイト単位の **サイズ**。"
+
+#: ../../app4.rst:39 78a4f55d3c904546b355c8fc8f344adb
+msgid "Total number of **pages** in file."
+msgstr "ファイル内の総 **ページ** 数。"
+
+#: ../../app4.rst:40 996daa756f934560aee685307545e6e9
+msgid "Total number of bookmarks (**Table of Contents** entries)."
+msgstr "ブックマーク( **目次** エントリー)の総数。"
+
+#: ../../app4.rst:41 413a06231788471492472013a7e3652a
+msgid "Total number of **links**."
+msgstr "**リンク** の総数。"
+
+#: ../../app4.rst:42 ee37272a928b4f10a54b2774269e691b
+msgid "**KB size** per page."
+msgstr "ページごとの **KBサイズ** 。"
+
+#: ../../app4.rst:43 9b6478c67338486f9b73c929bd10a10e
+msgid ""
+"**Textsize per page** is the amount text in the whole file in KB, divided"
+" by the number of pages."
+msgstr "**ページごとのテキストサイズ** は、ファイル全体のテキスト量をKBで割ったものです。"
+
+#: ../../app4.rst:44 e4511814c0224720b9ee4c5c0eb258fd
+msgid "Any **notes** to generally describe the type of file."
+msgstr "ファイルのタイプを一般的に説明するための **メモ** 。"
+
+#: ../../app4.rst:50 ../../app4.rst:217 ../../app4.rst:295 ../../app4.rst:407
+#: 3fd177d471d1440c811cc46a24394604 6fb60f10210f4c988357c3933b16e79d
+#: 8366b5dba4da441c8cae1b3809a00593 97727bd687da4ad68a5fda6349a7bc01
+msgid "**Name**"
+msgstr "**ファイル名** "
+
+#: ../../app4.rst:51 8e5d6865a9294ade9d75af43a8eb66a1
+msgid "**Size (bytes)**"
+msgstr "**サイズ(バイト)** "
+
+#: ../../app4.rst:52 0899ed96a7554261a08141240a7a8b87
+msgid "**Pages**"
+msgstr "**ページ数** "
+
+#: ../../app4.rst:53 a674051ef8d448adb4640a80c86a50d0
+msgid "**TOC size**"
+msgstr "**目次サイズ** "
+
+#: ../../app4.rst:54 71c6e0a4d9214004b0d243aa3f29eef7
+msgid "**Links**"
+msgstr "**リンク数** "
+
+#: ../../app4.rst:55 356dca82b8f045d38d33944210fbacd3
+msgid "**KB/page**"
+msgstr "**KB/ページ** "
+
+#: ../../app4.rst:56 88f15dd129fc4b7486f2668046b8b365
+msgid "**Textsize/page**"
+msgstr "**テキストサイズ/ページ** "
+
+#: ../../app4.rst:57 b84db499dead43aa8143bde0ea854211
+msgid "**Notes**"
+msgstr "**メモ** "
+
+#: ../../app4.rst:58 53fab5550d494ff5bd74d2675825f613
+msgid "`adobe.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:59 27cade71b19146208e1d4e60ddd5bd62
+msgid "32,472,771"
+msgstr ""
+
+#: ../../app4.rst:60 5ada3deeca61430198ba8bef9edec039
+msgid "1,310"
+msgstr ""
+
+#: ../../app4.rst:61 931f8b738e654a3b9d7ac2b2a81ae52d
+msgid "794"
+msgstr ""
+
+#: ../../app4.rst:62 d5714630d3fa4154bc956aec8dc57cda
+msgid "32,096"
+msgstr ""
+
+#: ../../app4.rst:63 d753a6265534476db1644bded9a748ef
+msgid "24"
+msgstr ""
+
+#: ../../app4.rst:64 cee0ffcbc0f9417b9a6ce27464503bdc
+msgid "1,942"
+msgstr ""
+
+#: ../../app4.rst:65 2c988f08938a407b8c7f153907a8e68f
+msgid "linearized, many links / bookmarks"
+msgstr "線形化、多くのリンク/ブックマーク"
+
+#: ../../app4.rst:66 74d258d5966b413e8d47ea418ed006a7
+msgid "`artifex-website.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:67 eb52192a006349979a0c0cf305014aad
+msgid "31,570,732"
+msgstr ""
+
+#: ../../app4.rst:68 70b9d82a608440df97fef5e76ff4cde9
+msgid "47"
+msgstr ""
+
+#: ../../app4.rst:69 3b799d8ad01b43b28bcf5fa3de43454b
+msgid "46"
+msgstr ""
+
+#: ../../app4.rst:70 5b1ea78eeceb4c2894f44714f186fb50
+msgid "2,035"
+msgstr ""
+
+#: ../../app4.rst:71 bcbc3cf284db4a0db903a8b44ee54ffd
+msgid "656"
+msgstr ""
+
+#: ../../app4.rst:72 9af791bee5354025aef236894c4e50f7
+msgid "3,538"
+msgstr ""
+
+#: ../../app4.rst:73 bf96d5f791f14511852943f5efcdde71
+msgid "graphics oriented"
+msgstr "グラフィックス志向"
+
+#: ../../app4.rst:74 cddb476076f841199f799b8ce0ff9b11
+msgid "`db-systems.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:75 54f777a32133432daa3220e984ecbcf3
+msgid "29,326,355"
+msgstr ""
+
+#: ../../app4.rst:76 7b009814e2a2434eabf951aee00c2782
+msgid "1,241"
+msgstr ""
+
+#: ../../app4.rst:77 ../../app4.rst:78 ../../app4.rst:117 ../../app4.rst:118
+#: 28ec7b98ea16482cb5b123728880c449 33562aa03a1642eea3a2f4609800e688
+#: 53d0721533e24e8f81c2af4fa24443fa 6525009fb1844c5cb978dbf266e2ae12
+msgid "0"
+msgstr ""
+
+#: ../../app4.rst:79 33d01d1cbbe0478db5891d182b0211c5
+msgid "23"
+msgstr ""
+
+#: ../../app4.rst:80 b85bcdbbcf00425fba727575859ca95e
+msgid "2,142"
+msgstr ""
+
+#: ../../app4.rst:82 7a4799de47e94c9aa2753b9a70d191e6
+msgid "`fontforge.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:83 55986ba58bf74533942f85b95f47f849
+msgid "8,222,384"
+msgstr ""
+
+#: ../../app4.rst:84 42de0e524f7d44c9aaa81b4856c80187
+msgid "214"
+msgstr ""
+
+#: ../../app4.rst:85 000bbebf1850443c919611ef203b469a
+msgid "31"
+msgstr ""
+
+#: ../../app4.rst:86 6d050ec9c50b41198b653793bcd4228d
+msgid "242"
+msgstr ""
+
+#: ../../app4.rst:87 060a7623deac49dcb16145826da3c54c
+msgid "38"
+msgstr ""
+
+#: ../../app4.rst:88 eede32dd63d845afa8e09d5fdb634858
+msgid "1,058"
+msgstr ""
+
+#: ../../app4.rst:89 1d26d20edef0444c82aab4449b86c6c1
+msgid "mix of text & graphics"
+msgstr "テキストとグラフィックスのミックス"
+
+#: ../../app4.rst:90 10537b8385d748358485a334c0c5efd6
+msgid "`pandas.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:91 a410b18da6dc4bb89d1882539183e76c
+msgid "10,585,962"
+msgstr ""
+
+#: ../../app4.rst:92 5e004e5e9ca647d782b14f120346d868
+msgid "3,071"
+msgstr ""
+
+#: ../../app4.rst:93 0d68b3a3aade4cc9b9386b46e12c3789
+msgid "536"
+msgstr ""
+
+#: ../../app4.rst:94 49089510ac0b4de289e40334258fd8ff
+msgid "16,554"
+msgstr ""
+
+#: ../../app4.rst:95 9941b4144f4f47ba9bb5b86f45f194da
+msgid "3"
+msgstr ""
+
+#: ../../app4.rst:96 056553fbaea742c396355296e3bb15b0
+msgid "1,539"
+msgstr ""
+
+#: ../../app4.rst:97 4e71b5363b5b42ddb83b1e603eec2f39
+msgid "many pages"
+msgstr "多くのページ"
+
+#: ../../app4.rst:98 f24b4fcf8d954a4db2518c292961f957
+msgid "`pymupdf.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:99 beaae740bfff431d8498aad89fadb451
+msgid "6,805,176"
+msgstr ""
+
+#: ../../app4.rst:100 743e18c7a26f471a9151c0f102af2b1b
+msgid "478"
+msgstr ""
+
+#: ../../app4.rst:101 5e4599410b964cb59df4a5b28acaee98
+msgid "276"
+msgstr ""
+
+#: ../../app4.rst:102 69b3ac4638a9438287f172f34b66c67e
+msgid "5,277"
+msgstr ""
+
+#: ../../app4.rst:103 e9a527f549354d5f9af028d758849a0e
+msgid "14"
+msgstr ""
+
+#: ../../app4.rst:104 f623e630ba7e4502b2618393efb3b7b5
+msgid "1,937"
+msgstr ""
+
+#: ../../app4.rst:105 5c107aa662324e46a00443b2fce06f0b
+msgid "text oriented"
+msgstr "テキスト志向"
+
+#: ../../app4.rst:106 5c902d91a7db4d87961462de8e4c38de
+msgid "`pythonbook.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:107 958896ec1f1c4b85b806553bb3024ee3
+msgid "9,983,856"
+msgstr ""
+
+#: ../../app4.rst:108 2128771e851a46099be090e1b3d42ca0
+msgid "669"
+msgstr ""
+
+#: ../../app4.rst:109 7da607a6e5c344f7b1a5ab886644cc2a
+msgid "198"
+msgstr ""
+
+#: ../../app4.rst:110 77a633b9bca645a8ae5d35b5f0537d2c
+msgid "1,953"
+msgstr ""
+
+#: ../../app4.rst:111 ce76e6eb7ccd4aac8aac6ebdcb1ac675
+msgid "15"
+msgstr ""
+
+#: ../../app4.rst:112 65b69b191afe4c27ac269dc72d9a2511
+msgid "1,929"
+msgstr ""
+
+#: ../../app4.rst:114 0688d30672094117bed09291696e1e17
+msgid "`sample-50-MB-pdf-file.pdf`_"
+msgstr ""
+
+#: ../../app4.rst:115 b87e7f92596842ee883267519e32794f
+msgid "52,521,850"
+msgstr ""
+
+#: ../../app4.rst:116 6a461fb70c9d4271b4ecc13dea547fb0
+msgid "1"
+msgstr ""
+
+#: ../../app4.rst:119 37201416e86a4a85a3a75f9dd0fa3e0d
+msgid "51,291"
+msgstr ""
+
+#: ../../app4.rst:120 b7f6aa320b014148a49e5bdf72de31d8
+msgid "23,860"
+msgstr ""
+
+#: ../../app4.rst:121 397f7cfb7a0c4ae18ea0c8545c46e7c6
+msgid "single page, graphics oriented, large file size"
+msgstr "単一ページ、グラフィックス志向、大きなファイルサイズ"
+
+#: ../../app4.rst:127 b6e84732c7864afca79cf1147ffa35cc
+msgid ""
+"**adobe.pdf** and **pymupdf.pdf** are clearly text oriented, **artifex-"
+"website.pdf** and **sample-50-MB-pdf-file.pdf** are graphics oriented. "
+"Other files are a mix of both."
+msgstr "**adobe.pdf** と **pymupdf.pdf** は明らかにテキスト志向です。artifex-website.pdf と **sample-50-MB-pdf-file.pdf** はグラフィックス志向です。その他のファイルは両方のミックスです。"
+
+#: ../../app4.rst:131 e1d1a5c228f34d3ebc41c678b7b0a5f1
+msgid "Tools used"
+msgstr "使用されるツール"
+
+#: ../../app4.rst:133 fabc818269d443cdb4fe1afe068c98de
+msgid ""
+"In each section, the same fixed set of :title:`PDF` files is being "
+"processed by a set of tools. The set of tools used per performance aspect"
+" however varies, depending on the supported tool features."
+msgstr "各セクションでは、同じ固定されたセットの :title:`PDF` ファイルが一連のツールによって処理されます。ただし、性能の側面ごとに使用されるツールのセットは、サポートされるツールの機能に応じて異なります。"
+
+#: ../../app4.rst:135 48b4241e8160435592bdf6b44f224b38
+msgid ""
+"All tools are either platform independent, or at least can run on both, "
+":title:`Windows` and :title:`Unix` / :title:`Linux`."
+msgstr "すべてのツールは、プラットフォームに依存しないか、少なくとも :title:`Windows` と :title:`Unix` / :title:`Linux` の両方で実行できます。"
+
+#: ../../app4.rst:141 87a8843195a545a9b42907a52f4b1652
+msgid "**Tool**"
+msgstr "ツール"
+
+#: ../../app4.rst:142 8f0d2f4471244e7ead8e45fa1a2ef8a0
+msgid "**Description**"
+msgstr "説明"
+
+#: ../../app4.rst:143 ../../app4.rst:172 ../../app4.rst:368
+#: 526195586b60487f8c2305974a30881a abf2669c3dd6411bb16a02a5cdfc8dd3
+#: b241360add424730adfe165c7158a290
+msgid ":title:`PyMuPDF`"
+msgstr ""
+
+#: ../../app4.rst:144 312258c6e5234543816a927beca41aa8
+msgid "The tool of this manual."
+msgstr "このマニュアルのツールです。"
+
+#: ../../app4.rst:145 e73677c6b0be4fa7b1f916d56f4184cc
+msgid "PDFrw_"
+msgstr ""
+
+#: ../../app4.rst:146 10ff13ac3aff4698b46ffa602c888fb1
+msgid ""
+"A pure :title:`Python` tool, being used by :title:`rst2pdf`, has "
+"interface to :title:`ReportLab`."
+msgstr ":title:`rst2pdf` で使用される純粋な :title:`Python` ツールで、ReportLabとのインターフェースを持っています。"
+
+#: ../../app4.rst:147 f4f7927f3db6432394269d7c671dc7fd
+msgid "PyPDF2_"
+msgstr ""
+
+#: ../../app4.rst:148 b9cc1dc2b5364458af4b03cde80bd4bc
+msgid "A pure :title:`Python` tool with a large function set."
+msgstr "多くの機能を備えた純粋な :title:`Python` ツールです。"
+
+#: ../../app4.rst:149 6e2028fb78cd4ed4a1d2d53f860dffc9
+msgid "PDFMiner_"
+msgstr ""
+
+#: ../../app4.rst:150 f0f020f3b3c042feaebd09369c574800
+msgid "A pure :title:`Python` to extract text and other data from :title:`PDF`."
+msgstr ":title:`PDF` からテキストやその他のデータを抽出するための純粋な :title:`Python` ツールです。"
+
+#: ../../app4.rst:151 2e52a4b0f839437fa503008a66e10e6d
+msgid "XPDF_"
+msgstr ""
+
+#: ../../app4.rst:152 fcb4e7ba8c81450d8b35ff9b3f7abff9
+msgid "A command line utility with multiple functions."
+msgstr "複数の機能を備えたコマンドラインユーティリティです。"
+
+#: ../../app4.rst:153 da20b7a657ac4f3e943c2ea2d7f5b2ce
+msgid "PikePDF_"
+msgstr ""
+
+#: ../../app4.rst:154 930f5993e9b14457a73827762d9a5c21
+msgid ""
+"A :title:`Python` package similar to :title:`PDFrw`, but based on "
+":title:`C++` library :title:`QPDF`."
+msgstr ":title:`C++` ライブラリ :title:`QPDF` に基づいた :title:`Python` パッケージで、 :title:`PDFrw` に類似しています。"
+
+#: ../../app4.rst:155 fde87f1a17e74dabb58fbc20079446cd
+msgid "PDF2JPG_"
+msgstr ""
+
+#: ../../app4.rst:156 1cb993521b4641d29df6e74868d16849
+msgid ""
+"A :title:`Python` package specialized on rendering :title:`PDF` pages to "
+":title:`JPG` images."
+msgstr ":title:`PDF` ページを :title:`JPG` 画像にレンダリングすることに特化した :title:`Python` パッケージです。"
+
+#: ../../app4.rst:164 bdd439e571684818b0a479d6d904b205
+msgid "Copying / Joining / Merging"
+msgstr "コピー / 結合 / マージ"
+
+#: ../../app4.rst:166 e5bf729d9fee46b2b7284fa3ed6c9099
+msgid ""
+"How fast is a :title:`PDF` file read and its content parsed for further "
+"processing? The sheer parsing performance cannot directly be compared, "
+"because batch utilities always execute a requested task completely, in "
+"one go, front to end. :title:`PDFrw` too, has a *lazy* strategy for "
+"parsing, meaning it only parses those parts of a document that are "
+"required in any moment."
+msgstr ":title:`PDF` ファイルの読み取りおよびそのコンテンツの解析は、どれだけ高速に行われるのでしょうか?純粋な解析の性能を直接比較することはできません。なぜなら、バッチユーティリティは常に要求されたタスクを一度に完全に実行するからです。 :title:`PDFrw` も解析の際には *レイジー* な戦略を採用しており、必要な瞬間に必要な部分のみを解析します。"
+
+#: ../../app4.rst:168 7bdb36f76ef448318f5fc00751deb7c1
+msgid ""
+"To find an answer to the question, we therefore measure the time to copy "
+"a :title:`PDF` file to an output file with each tool, and do nothing "
+"else."
+msgstr "したがって、この質問に答えるために、各ツールで :title:`PDF` ファイルを出力ファイルにコピーする時間を計測し、それ以外の操作は行いません。"
+
+#: ../../app4.rst:170 ../../app4.rst:365 5ab34b74cd604749be3379e5229732d1
+#: 915b5d39fb6b4735a7ceec825a4f73ee
+msgid "These are the :title:`Python` commands for how each tool is used:"
+msgstr "各ツールの使用方法に関する :title:`Python` コマンドは以下の通りです:"
+
+#: ../../app4.rst:180 e28220c005484d3288f9a579523d6065
+msgid ":title:`PDFrw`"
+msgstr ""
+
+#: ../../app4.rst:190 56fb9e24ed274b6d8acbf0edbf1719c6
+msgid ":title:`PikePDF`"
+msgstr ""
+
+#: ../../app4.rst:198 95be39f3e4e04c1f99f62dc3832386de
+msgid ":title:`PyPDF2`"
+msgstr ""
+
+#: ../../app4.rst:210 ../../app4.rst:288 ../../app4.rst:399
+#: 15166afa26b442c782b604f3107b0ad3 6207ea1347c04ea68afac2437dfa705b
+#: 7ee61cbfb0ef46f7a30182469d1a5213
+msgid "**Observations**"
+msgstr "**観察結果**"
+
+#: ../../app4.rst:212 ../../app4.rst:290 ../../app4.rst:401
+#: 974b59b72d354f74a8528e756775031a cc3f56dedbde45e69a0033a48fdba23e
+#: f4d6a2855f0b435aac425eb0b5bae4ce
+msgid ""
+"These are our run time findings in **seconds** along with a base rate "
+"summary compared to :title:`PyMuPDF`:"
+msgstr "以下は、実行時間の結果( **秒単位**)と、 :title:`PyMuPDF` との比較における基本レートの要約です:"
+
+#: ../../app4.rst:218 ../../app4.rst:296 ../../app4.rst:408
+#: 9df03a667e904b9e8792fb6d7a13512d aeceaf75f8d24722a0603ac5f3e41bf6
+#: dbd7d8ba012d45ce8a6716d4f19336de
+msgid "**PyMuPDF**"
+msgstr ""
+
+#: ../../app4.rst:219 d8d2aa36870e4ef0947eb2e7ca0e251d
+msgid "**PDFrw**"
+msgstr ""
+
+#: ../../app4.rst:220 b302281b6d6d4271be163094d34cd2f7
+msgid "**PikePDF**"
+msgstr ""
+
+#: ../../app4.rst:221 ../../app4.rst:298 168de44e6f544f34820f9b4901463055
+#: cf3bc89e3d1b4f6b8836f046b1652e99
+msgid "**PyPDF2**"
+msgstr ""
+
+#: ../../app4.rst:222 ../../app4.rst:300 ../../app4.rst:411
+#: 692b3b08f5834e54a9dcdb47a55706fe 73f084f8a5af4dfeb581d985acc8567b
+#: cdf4a04f4b4a463d9541640a9c49f069
+msgid "adobe.pdf"
+msgstr ""
+
+#: ../../app4.rst:223 ea613374b423460286ed33cbb413f31f
+msgid "1.75"
+msgstr ""
+
+#: ../../app4.rst:224 dcc9350bfdf343f38b383de903302849
+msgid "5.15"
+msgstr ""
+
+#: ../../app4.rst:225 611db1502bb14ba89923d8be627fc87c
+msgid "22.37"
+msgstr ""
+
+#: ../../app4.rst:226 d0c52d5cce30462785c438994eb74b21
+msgid "374.05"
+msgstr ""
+
+#: ../../app4.rst:227 ../../app4.rst:305 ../../app4.rst:415
+#: 3b4d0332272e43478db075b50fa00489 deee43e76b6c48e799974db35b8e11ac
+#: e555a527b2fe4bd891aeadaf49cca198
+msgid "artifex-website.pdf"
+msgstr ""
+
+#: ../../app4.rst:228 4c432ec2898e4252bee5ff77b5e3ca0b
+msgid "0.26"
+msgstr ""
+
+#: ../../app4.rst:229 ../../app4.rst:243 3031e2b02b214b9383f737a6ab08135d
+#: 7f6593cf3c6845cb956e8ac3e8648b21
+msgid "0.38"
+msgstr ""
+
+#: ../../app4.rst:230 97df865d382c4611ac42f74be40dc6cb
+msgid "1.41"
+msgstr ""
+
+#: ../../app4.rst:231 d8a4e5b3c39c4d3689d7613ce39fe690
+msgid "2.81"
+msgstr ""
+
+#: ../../app4.rst:232 ../../app4.rst:310 ../../app4.rst:419
+#: a72bb9acb4734dc9af3094a42b60fddf af40770987af45579bb14d82a2165278
+#: fb8e2ae89de74d8e9ffc2072ab7ea2be
+msgid "db-systems.pdf"
+msgstr ""
+
+#: ../../app4.rst:233 cc499b9dcf274943b6ff6efd717b848b
+msgid "0.15"
+msgstr ""
+
+#: ../../app4.rst:234 5ac4b91364b24700a48507f7605b3792
+msgid "0.8"
+msgstr ""
+
+#: ../../app4.rst:235 bed4c28888c946018416c00d16d75550
+msgid "1.68"
+msgstr ""
+
+#: ../../app4.rst:236 332a419a20e742afbd1b1efdd7f719f8
+msgid "2.46"
+msgstr ""
+
+#: ../../app4.rst:237 ../../app4.rst:315 ../../app4.rst:423
+#: 3678431052d049749225b2fe3ce6367a 43a99212e93249a78f525662b144cbb2
+#: 874f3f96d563442ebc057cb332d43784
+msgid "fontforge.pdf"
+msgstr ""
+
+#: ../../app4.rst:238 f5a333915193415fa0c21a1e8a6f6b92
+msgid "0.09"
+msgstr ""
+
+#: ../../app4.rst:239 c8f56a41c0a54bf79c9e9f1265b95b1a
+msgid "0.14"
+msgstr ""
+
+#: ../../app4.rst:240 644883982d6848d78024d481500ea360
+msgid "0.28"
+msgstr ""
+
+#: ../../app4.rst:241 ../../app4.rst:308 4c5ba38976d1497b81d722c2087d2fd4
+#: 799d2851fbcd4f78b0a5320606255ac8
+msgid "1.1"
+msgstr ""
+
+#: ../../app4.rst:242 ../../app4.rst:320 ../../app4.rst:427
+#: 661832415f114e919a931cba55614aed 6ab010e326a0461382002498ad51f190
+#: d3bd270fbcd945648f67919019e840f8
+msgid "pandas.pdf"
+msgstr ""
+
+#: ../../app4.rst:244 93a4d469c88645d68c3d1fbd4e472129
+msgid "2.21"
+msgstr ""
+
+#: ../../app4.rst:245 00bdf777a816455e9c3ad38c8ac3f0da
+msgid "2.73"
+msgstr ""
+
+#: ../../app4.rst:246 528874b37e9b4d328d61d15b6e9ac29b
+msgid "70.3"
+msgstr ""
+
+#: ../../app4.rst:247 ../../app4.rst:325 ../../app4.rst:431
+#: 9efd9fccb79a4cb2b48707996b9c8ec2 bbe7f9df346a470fbf9c17124eabb00d
+#: e8d1663e67e849b5901c3dab91f2b52f
+msgid "pymupdf.pdf"
+msgstr ""
+
+#: ../../app4.rst:248 c7c0bdcc2bff429393624e04ce61a730
+msgid "0.11"
+msgstr ""
+
+#: ../../app4.rst:249 4d971c369b6843dfbacb57e495f5b419
+msgid "0.56"
+msgstr ""
+
+#: ../../app4.rst:250 8b8a26ee24a04be9adfcfae2dc517e25
+msgid "0.83"
+msgstr ""
+
+#: ../../app4.rst:251 b10bbef58e2a4622b54cc6dd4be533d0
+msgid "6.05"
+msgstr ""
+
+#: ../../app4.rst:252 ../../app4.rst:330 ../../app4.rst:435
+#: 323f47fc2f1d44a085d2d1e84abee8a5 6a700503996e45d7ad1a278f7b4d6e2d
+#: eb4106100a6d48fdb398f129c4d1888d
+msgid "pythonbook.pdf"
+msgstr ""
+
+#: ../../app4.rst:253 96c45c5694e549feb5a57422c70ab2ff
+msgid "0.19"
+msgstr ""
+
+#: ../../app4.rst:254 9bc397fda5ab41db966afef26f4ca840
+msgid "1.2"
+msgstr ""
+
+#: ../../app4.rst:255 186949f116144c9f92c62af5606eb9a0
+msgid "1.34"
+msgstr ""
+
+#: ../../app4.rst:256 c480e636a915485998bdd4ff05ed1e8c
+msgid "37.19"
+msgstr ""
+
+#: ../../app4.rst:257 ../../app4.rst:335 ../../app4.rst:439
+#: 3767e3547c404558b9ea54e1636aa38a 9fd75b69ad914726b4e0fc2eb87bd930
+#: b0c5ee27a1564fcc9bacde3f84f01604
+msgid "sample-50-MB-pdf-file.pdf"
+msgstr ""
+
+#: ../../app4.rst:258 3ac80bfe06a6466b807178b9cd940b3f
+msgid "0.12"
+msgstr ""
+
+#: ../../app4.rst:259 74cff96c735042dc979655e89b6cd7c1
+msgid "0.1"
+msgstr ""
+
+#: ../../app4.rst:260 e2dd5a96337e427b84de42cd93c3e35e
+msgid "2.93"
+msgstr ""
+
+#: ../../app4.rst:261 a65a648402224ebdb56f72cd09e95dc9
+msgid "0.08"
+msgstr ""
+
+#: ../../app4.rst:262 ../../app4.rst:340 ../../app4.rst:443
+#: 16934e5745fa4e70b36f6778ff2140c1 7896cf3923894dbbbc6ca6563f7debdf
+#: b1a0bddf2ff34ec7ab1e7940e6cde15d
+msgid "**Total**"
+msgstr "**合計** "
+
+#: ../../app4.rst:263 28cf40a46da2482a93c201906fb039c3
+msgid "**3.05**"
+msgstr ""
+
+#: ../../app4.rst:264 dddd21ea2e5e4182b875dd9ed6da6efb
+msgid "**10.54**"
+msgstr ""
+
+#: ../../app4.rst:265 0fc439df2934427480ae9d2e2274e23e
+msgid "**33.57**"
+msgstr ""
+
+#: ../../app4.rst:266 4d6a1667feba4cbc817636c39fbcb3d5
+msgid "**494.04**"
+msgstr ""
+
+#: ../../app4.rst:272 ../../app4.rst:350 ../../app4.rst:451
+#: 90a4a88a385e434486d1b04c50fc64f4 c548d757925b4695a51eeb95cc2e1673
+#: f24afb98730547468876cfecb11bc709
+msgid "**Rate compared to PyMuPDF**"
+msgstr "**PyMuPDFに対する比率** "
+
+#: ../../app4.rst:273 ../../app4.rst:351 ../../app4.rst:452
+#: 849d746c5eab4b5db97d520f6b9939a0 e0f0342c5dd84540af2dd45dae62947a
+#: e4ba085886b84b85811ce6804521d9f4
+msgid ":green-color:`1.0`"
+msgstr ""
+
+#: ../../app4.rst:274 ff773716620146f5911ae04e744067ad
+msgid ":orange-color:`3.5`"
+msgstr ""
+
+#: ../../app4.rst:275 0f695b1aa4ec4cc3a128156a3c78d442
+msgid ":orange-color:`11.0`"
+msgstr ""
+
+#: ../../app4.rst:276 cb9ff2dca34246e1b87259c056eb2bb0
+msgid ":red-color:`162`"
+msgstr ""
+
+#: ../../app4.rst:283 63c01914b71541de9227dfb9637ea9ff
+msgid "Text Extraction"
+msgstr "テキスト抽出"
+
+#: ../../app4.rst:285 c166066c1aa64e3384a5c283822ea6c5
+msgid ""
+"The following table shows plain text extraction durations. All tools have"
+" been used with their most basic functionality - i.e. no layout re-"
+"arrangements, etc."
+msgstr "以下の表は、プレーンテキストの抽出にかかる時間を示しています。すべてのツールは、基本的な機能のみを使用しています - レイアウトの再配置などはありません。"
+
+#: ../../app4.rst:297 ../../app4.rst:409 11f0b736fae14807968b6fddc1ad057a
+#: 52c20be5534141fba2a1fcc6dfb2b2a3
+msgid "**XPDF**"
+msgstr ""
+
+#: ../../app4.rst:299 42cc16177ba945138f4eae24116cb76d
+msgid "**PDFMiner**"
+msgstr ""
+
+#: ../../app4.rst:301 1606cdf993e64701a5c088ac9df98678
+msgid "2.01"
+msgstr ""
+
+#: ../../app4.rst:302 9be766d4f713462eb315d58215d13fe7
+msgid "6.19"
+msgstr ""
+
+#: ../../app4.rst:303 2318b8677831455a8aaa4b7763a9cb00
+msgid "22.2"
+msgstr ""
+
+#: ../../app4.rst:304 83c635dce0bf423c9a93893c0e699050
+msgid "49.15"
+msgstr ""
+
+#: ../../app4.rst:306 fe89c1c8e64441cd80ad39d23458a153
+msgid "0.18"
+msgstr ""
+
+#: ../../app4.rst:307 c566039691a34402970bb2074c8373c7
+msgid "0.3"
+msgstr ""
+
+#: ../../app4.rst:309 e84428585ed64f22b8f85a556ba101a6
+msgid "4.06"
+msgstr ""
+
+#: ../../app4.rst:311 48004419cab4408590f6fd4a9ca0247c
+msgid "1.57"
+msgstr ""
+
+#: ../../app4.rst:312 74898de52754482290536758bb36c479
+msgid "4.26"
+msgstr ""
+
+#: ../../app4.rst:313 4c7d6bdedf704b28aa69a16407cc800e
+msgid "25.75"
+msgstr ""
+
+#: ../../app4.rst:314 df46269ec4ef462891051e2b59670591
+msgid "42.19"
+msgstr ""
+
+#: ../../app4.rst:316 86c83c5dbffb462b9219a11c6d352d25
+msgid "0.24"
+msgstr ""
+
+#: ../../app4.rst:317 6b893558ff31413aa0de5ffe115b4c0e
+msgid "0.47"
+msgstr ""
+
+#: ../../app4.rst:318 08994c6a52d04825b9a40df993915bb1
+msgid "2.69"
+msgstr ""
+
+#: ../../app4.rst:319 6373d0f539e14347b5e72be1341dab77
+msgid "4.2"
+msgstr ""
+
+#: ../../app4.rst:321 50908e4aa7194c25a5c1b85b65ac378a
+msgid "2.41"
+msgstr ""
+
+#: ../../app4.rst:322 b189d97eb14541a6962f551a4879504c
+msgid "10.54"
+msgstr ""
+
+#: ../../app4.rst:323 a4ea2ed658ee412d93b27d5bb7060d9c
+msgid "25.38"
+msgstr ""
+
+#: ../../app4.rst:324 444ea285e3874242bb0c99487b2d6440
+msgid "76.56"
+msgstr ""
+
+#: ../../app4.rst:326 5a9516664ccc437492552c523b59c4c6
+msgid "0.49"
+msgstr ""
+
+#: ../../app4.rst:327 e46a2dc6aca84f5eab982041c8a8c915
+msgid "2.34"
+msgstr ""
+
+#: ../../app4.rst:328 cab65185ff6e4f71b9d28b45b1650d72
+msgid "6.44"
+msgstr ""
+
+#: ../../app4.rst:329 71d3cfc4bfbd4d8a97f4f90d7834631f
+msgid "13.55"
+msgstr ""
+
+#: ../../app4.rst:331 fc5ab74f778847aab4bad2c7a786ba92
+msgid "0.84"
+msgstr ""
+
+#: ../../app4.rst:332 f8e78c84788149dea103259fe2b2c011
+msgid "2.88"
+msgstr ""
+
+#: ../../app4.rst:333 5864281c5bda4fad98f52466c3d4bdbf
+msgid "9.28"
+msgstr ""
+
+#: ../../app4.rst:334 2901dc7bdb8640aeb04c87f8053c4da3
+msgid "24.27"
+msgstr ""
+
+#: ../../app4.rst:336 ca65d65c11944eb1aaf5a2fb73d7acd1
+msgid "0.27"
+msgstr ""
+
+#: ../../app4.rst:337 ac10c8c961b64bddb9021a453d566717
+msgid "0.44"
+msgstr ""
+
+#: ../../app4.rst:338 e9d7c3e1d6764cc8bf84b214408ef52e
+msgid "8.8"
+msgstr ""
+
+#: ../../app4.rst:339 219ef87b5acf4189afc90cce4114e525
+msgid "13.29"
+msgstr ""
+
+#: ../../app4.rst:341 3f88fd39b07d4f7c804b1529f8926698
+msgid "**8.01**"
+msgstr ""
+
+#: ../../app4.rst:342 18441994bd4940d18fa0db52babf6906
+msgid "**27.42**"
+msgstr ""
+
+#: ../../app4.rst:343 76a55e750b884a46890197d95541c97b
+msgid "**101.64**"
+msgstr ""
+
+#: ../../app4.rst:344 03ae808f9f744353ae775352ad57b10f
+msgid "**227.27**"
+msgstr ""
+
+#: ../../app4.rst:352 b388a44f67c24a52be7cf1dd9b90b3ed
+msgid ":orange-color:`3.42`"
+msgstr ""
+
+#: ../../app4.rst:353 3ab55e7e21034e97b94e0c096bc52aa1
+msgid ":orange-color:`12.69`"
+msgstr ""
+
+#: ../../app4.rst:354 7c344dce997b4c7f990bfc9a421b32aa
+msgid ":red-color:`28.37`"
+msgstr ""
+
+#: ../../app4.rst:360 f772e8b1da3e42308e26ed1ae4d58fc1
+msgid "Page Rendering"
+msgstr "ページのレンダリング"
+
+#: ../../app4.rst:362 ead0738e1b934defaf09c5be6916daa3
+msgid ""
+"We have tested rendering speed of :title:`PyMuPDF` against "
+":title:`pdf2jpg` and :title:`XPDF` at a resolution of 150 DPI,"
+msgstr "私たちは、解像度150 DPIで :title:`PyMuPDF` のレンダリング速度を :title:`pdf2jpg` と :title:`XPDF` と比較しました。"
+
+#: ../../app4.rst:382 1fab69d0e2af48f0a9f0f3fa30f0c6f6
+msgid ":title:`XPDF`"
+msgstr ""
+
+#: ../../app4.rst:389 d6ba27839bf64c488bf74bb2e1e57873
+msgid ":title:`PDF2JPG`"
+msgstr ""
+
+#: ../../app4.rst:410 63ce81487bb34ec89ba0c1f0a348d4a9
+msgid "**PDF2JPG**"
+msgstr ""
+
+#: ../../app4.rst:412 88b8f3078fa44a61b579e057515acd1c
+msgid "51.33"
+msgstr ""
+
+#: ../../app4.rst:413 bbe8931f115d42aca182e9407578a02f
+msgid "98.16"
+msgstr ""
+
+#: ../../app4.rst:414 7262738febdb4753ba11f2fb25322f17
+msgid "75.71"
+msgstr ""
+
+#: ../../app4.rst:416 8c5d5fc5843b4b33a05f70c828c56dfe
+msgid "26.35"
+msgstr ""
+
+#: ../../app4.rst:417 cf469bfdd66a41f6a0440423d5ee75fa
+msgid "51.28"
+msgstr ""
+
+#: ../../app4.rst:418 5d8ea9fabdc145a58a979ac291201164
+msgid "54.11"
+msgstr ""
+
+#: ../../app4.rst:420 1fbc73aa1ca2426e876e7672aa365686
+msgid "84.59"
+msgstr ""
+
+#: ../../app4.rst:421 ea251e62a044421ca983016f8950dd87
+msgid "143.16"
+msgstr ""
+
+#: ../../app4.rst:422 35609e6523b44c7c974e4745cea5d667
+msgid "405.22"
+msgstr ""
+
+#: ../../app4.rst:424 a05f863e08c547c880f00be43a3542c0
+msgid "12.23"
+msgstr ""
+
+#: ../../app4.rst:425 42daac4998bc44e4aac09a86b5a3c55a
+msgid "22.18"
+msgstr ""
+
+#: ../../app4.rst:426 8681927f26864fd39ea7c201346e6afb
+msgid "20.14"
+msgstr ""
+
+#: ../../app4.rst:428 e04b91bd2126421fa54a16dea942dee3
+msgid "138.74"
+msgstr ""
+
+#: ../../app4.rst:429 b31a50d7fa58484b9f35a172bdf0dff7
+msgid "241.67"
+msgstr ""
+
+#: ../../app4.rst:430 b0efc770265c45d49849dbf092d2e20a
+msgid "202.06"
+msgstr ""
+
+#: ../../app4.rst:432 7d620df0ada4436fb937c240246d0927
+msgid "22.35"
+msgstr ""
+
+#: ../../app4.rst:433 d9c922c17ab2463093d8f600ca013caa
+msgid "39.11"
+msgstr ""
+
+#: ../../app4.rst:434 7377dbefa11042f8b91ef5490aa53cc1
+msgid "33.38"
+msgstr ""
+
+#: ../../app4.rst:436 83037ee81f1f4c02b0c84c8eb231f694
+msgid "30.44"
+msgstr ""
+
+#: ../../app4.rst:437 aa5a6bb5fa834cee9c1bcb4c671eab3f
+msgid "49.12"
+msgstr ""
+
+#: ../../app4.rst:438 720afcbe1cb64ca48233a3f55bd0d808
+msgid "55.68"
+msgstr ""
+
+#: ../../app4.rst:440 b47cd78a58e84745a0f1d70724a5f560
+msgid "1.01"
+msgstr ""
+
+#: ../../app4.rst:441 5fea368f2827433f8fa6b64c6c41c9af
+msgid "1.32"
+msgstr ""
+
+#: ../../app4.rst:442 535d22b214e945de8fbdf630bbda80f8
+msgid "5.22"
+msgstr ""
+
+#: ../../app4.rst:444 6bac36a76eec4adba37fc9e450398b34
+msgid "**367.04**"
+msgstr ""
+
+#: ../../app4.rst:445 4bfa1c6c075f49d4a24da40d054b20f8
+msgid "**646**"
+msgstr ""
+
+#: ../../app4.rst:446 dee1cae954064c8a8603955888904edb
+msgid "**851.52**"
+msgstr ""
+
+#: ../../app4.rst:453 be65ac3fb8b54e1caf7b12890f593d42
+msgid ":orange-color:`1.76`"
+msgstr ""
+
+#: ../../app4.rst:454 a9c4728bc957426cbbc4827152aec2ff
+msgid ":red-color:`2.32`"
+msgstr ""
+
+#: ../../footer.rst:-1 29a3d891d6c64114acc2690074ccd35f
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/archive-class.mo b/docs/locales/ja/LC_MESSAGES/archive-class.mo
new file mode 100644
index 000000000..7447a1a13
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/archive-class.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/archive-class.po b/docs/locales/ja/LC_MESSAGES/archive-class.po
new file mode 100644
index 000000000..dccac8f11
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/archive-class.po
@@ -0,0 +1,251 @@
+# PyMuPDF Japanese documentation
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# Jamie Lemon , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Suzan Sanver \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../archive-class.rst:7 cbddf81d2a68467c9f24fa33fc7f96ad
+msgid "Archive"
+msgstr "Archive (アーカイブ)"
+
+#: ../../archive-class.rst:9 1360c74e68f247a19a9bd9537ee36ac7
+msgid "New in v1.21.0"
+msgstr "v1.21.0での新機能"
+
+#: ../../archive-class.rst:11 84721349647b43ffb95d35c5e15fce71
+msgid ""
+"This class represents a generalization of file folders and container "
+"files like ZIP and TAR archives. Archives allow accessing arbitrary "
+"collections of file folders, ZIP / TAR files and single binary data "
+"elements as if they all were part of one hierarchical tree of folders."
+msgstr "このクラスは、ファイルフォルダーやZIPやTARアーカイブのようなコンテナファイルの一般化を表します。アーカイブは、ファイルフォルダー、ZIP/TARファイル、および単一のバイナリデータ要素の任意のコレクションにアクセスできるようにし、すべてが1つの階層的なフォルダーツリーの一部であるかのようにします。"
+
+#: ../../archive-class.rst:13 19fa20e5cb404f6cbf4fc876d84bf01b
+msgid ""
+"In PyMuPDF, archives are currently only used by :ref:`Story` objects to "
+"specify where to look for fonts, images and other resources."
+msgstr "PyMuPDFでは、アーカイブは現在、フォント、画像、およびその他のリソースを検索する場所を指定するために :ref:`Story` オブジェクトによってのみ使用されています。"
+
+#: ../../archive-class.rst:16 5ab448cf36bd4b0c8a2ee911b0fbf350
+msgid "**Method / Attribute**"
+msgstr "**メソッド / 属性**"
+
+#: ../../archive-class.rst:16 ea2f425c9aa649ad9883b7f23e5615b7
+msgid "**Short Description**"
+msgstr "**簡単な説明**"
+
+#: ../../archive-class.rst:18 039b1a9cf75e49ad9007430fe2f0c1e9
+msgid ":meth:`Archive.add`"
+msgstr ""
+
+#: ../../archive-class.rst:18 fc94218186184ac38d171cbf42ca6f1d
+msgid "add new data to the archive"
+msgstr "アーカイブに新しいデータを追加する"
+
+#: ../../archive-class.rst:19 8b30aa94bb7d4e5188a61ca6530f02ea
+msgid ":meth:`Archive.has_entry`"
+msgstr ""
+
+#: ../../archive-class.rst:19 58cece5b265449ebbb21d9a1350aa6e8
+msgid "check if given name is a member"
+msgstr "名前で指定されたデータを読む"
+
+#: ../../archive-class.rst:20 e62621b2b41642f394e44c0f0f5ea744
+msgid ":meth:`Archive.read_entry`"
+msgstr ""
+
+#: ../../archive-class.rst:20 425cfb846f6d49c0b5c2e110373f67d0
+msgid "read the data given by the name"
+msgstr "名前で指定されたデータを読む"
+
+#: ../../archive-class.rst:21 65c0b741a8c2401c8984d63306e262a9
+msgid ":attr:`Archive.entry_list`"
+msgstr ""
+
+#: ../../archive-class.rst:21 591798a00fe541b98e584adf3f49e75e
+msgid "list[dict] of archive items"
+msgstr "アーカイブアイテムのリスト[辞書]"
+
+#: ../../archive-class.rst:24 9bbcc21ebd34406b91f333d9db07a398
+msgid "**Class API**"
+msgstr "クラス API"
+
+#: ../../archive-class.rst:30 effdcb484b13440485cad2942946afb4
+msgid "Creates a new archive. Without parameters, an empty archive is created."
+msgstr "新しいアーカイブを作成します。パラメーターが指定されない場合、空のアーカイブが作成されます。"
+
+#: ../../archive-class.rst:32 449ce11e9fe845fea99e2b97cdf4eff7
+msgid "If provided, `content` may be one of the following:"
+msgstr "提供される場合、`content` は次のいずれかであることができます:"
+
+#: ../../archive-class.rst:34 d2f010dae5844c47890eef108b196ba9
+msgid "another Archive: the archive is being made a sub-archive of the new one."
+msgstr "別の Archive: アーカイブは新しいアーカイブのサブアーカイブになります。"
+
+#: ../../archive-class.rst:36 6bdcf4b959fd4af3aff88f48962e9370
+msgid ""
+"a string: this must be the name of a local folder or file. `pathlib.Path`"
+" objects are also supported."
+msgstr "文字列: これはローカルフォルダまたはファイルの名前である必要があります。`pathlib.Path` オブジェクトもサポートされています。"
+
+#: ../../archive-class.rst:38 8ff1e77a1f84458391c25b21199306df
+msgid ""
+"A **folder** will be converted to a sub-archive, so its files (and any "
+"sub-folders) can be accessed by their names."
+msgstr "**フォルダ** はサブアーカイブに変換され、そのファイル(およびサブフォルダ)は名前でアクセスできます。"
+
+#: ../../archive-class.rst:39 27be509bcbc74940ae9b4f73e6ec3ad1
+msgid ""
+"A **file** will be read with mode `\"rb\"` and these binary data (a "
+"`bytes` object) be treated as a single-member sub-archive. In this case, "
+"the `path` parameter is **mandatory** and should be the member name under"
+" which this item can be found / retrieved."
+msgstr "**ファイル** はモード `\"rb\"` で読み取られ、これらのバイナリデータ( `bytes` オブジェクト)は単一のメンバーサブアーカイブとして扱われます。この場合、`path` パラメーターは **必須** で、このアイテムが見つかる/取得できるメンバー名である必要があります。"
+
+#: ../../archive-class.rst:41 5ce5cfbe5cbe4e31b161f168211c985f
+msgid ""
+"a `zipfile.ZipFile` or `tarfile.TarFile` object: Will be added as a sub-"
+"archive."
+msgstr "`zipfile.ZipFile` または `tarfile.TarFile` オブジェクト: サブアーカイブとして追加されます。"
+
+#: ../../archive-class.rst:43 d2700d78b1da4d54a7019cf9252241ec
+msgid ""
+"a Python binary object (`bytes`, `bytearray`, `io.BytesIO`): this will "
+"add a single-member sub-archive. In this case, the `path` parameter is "
+"**mandatory** and should be the member name under which this item can be "
+"found / retrieved."
+msgstr "Python バイナリオブジェクト( `bytes`、`bytearray` 、`io.BytesIO` ): これは単一のメンバーサブアーカイブを追加します。この場合、`path` パラメーターは **必須** で、このアイテムが見つかる/取得できるメンバー名である必要があります。"
+
+#: ../../archive-class.rst:45 95b7f1e96d5f413e8e49456446361b00
+msgid ""
+"a tuple `(data, name)`: This will add a single-member sub-archive with "
+"the member name `name`. `data` may be a Python binary object or a local "
+"file name (in which case its binary file content is used). Use this "
+"format if you need to specify `path`."
+msgstr "タプル`(data, name)`: これはメンバー名 `name` を持つ単一のメンバーサブアーカイブを追加します。`data` はPythonバイナリオブジェクトまたはローカルファイル名である可能性があります(その場合、バイナリファイルのコンテンツが使用されます)。`path` を指定する必要がある場合は、このフォーマットを使用してください。"
+
+#: ../../archive-class.rst:47 d26163dca8394cbfb4ccf069a146a983
+msgid ""
+"a Python sequence: This is a convenience format to specify any "
+"combination of the above."
+msgstr "Pythonシーケンス: これは上記のいずれかの組み合わせを指定するための便益フォーマットです。"
+
+#: ../../archive-class.rst:49 b97db892b83d4efd89e5dd888d926c4c
+msgid "If provided, `path` must be a string."
+msgstr "提供される場合、`path` は文字列である必要があります。"
+
+#: ../../archive-class.rst:51 2db5e320695140bc9097164d568962da
+msgid ""
+"If `content` is either binary data or a file name, this parameter is "
+"mandatory and must be the name under which the data can be found."
+msgstr "`content` がバイナリデータまたはファイル名の場合、このパラメーターは必須で、データが見つかる名前である必要があります。"
+
+#: ../../archive-class.rst:53 a12ddc3a6051490cb489464b4c232d6e
+msgid ""
+"Otherwise this parameter is optional. It can be used to simulate a folder"
+" name or a mount point, under which this sub-archive's elements can be "
+"found. For example this specification `Archive((data, \"name\"), "
+"\"path\")` means that `data` will be found using the element name "
+"`\"path/name\"`. Similar is true for other sub-archives: to retrieve "
+"members of a ZIP sub-archive, their names must be prefixed with "
+"`\"path/\"`. The main purpose of this parameter probably is to "
+"differentiate between duplicate names."
+msgstr "それ以外の場合、このパラメーターはオプションです。これは、このサブアーカイブの要素が見つかるマウントポイントまたはフォルダ名をシミュレートするために使用できます。たとえば、この仕様 `Archive((data, \"name\"), "
+"\"path\")` は、データが要素名 "`\"path/name\"` で見つかります。他のサブアーカイブについても同様です:ZIPサブアーカイブのメンバーを取得するには、その名前に `\"path/\"` を接頭辞として追加する必要があります。このパラメーターの主な目的は、重複する名前を区別することである可能性があります。"
+
+#: ../../archive-class.rst:55 680ced06c4234d90919f2af02cbeb200
+msgid ""
+"If duplicate entry names exist in the archive, always the last entry with"
+" that name will be found / retrieved. During archive creation, or "
+"appending more data to an archive (see :meth:`Archive.add`) no check for "
+"duplicates will be made. Use the `path` parameter to prevent this from "
+"happening."
+msgstr "アーカイブ内に重複するエントリ名が存在する場合、常にその名前の最後のエントリが見つかり/取得されます。アーカイブの作成中、またはアーカイブにさらにデータを追加する際 :meth:`Archive.add` を参照)、重複をチェックしません。この問題を防ぐために path パラメーターを使用してください。"
+
+#: ../../archive-class.rst:59 000ca11e97d64cce9b76672f1089f0d4
+msgid ""
+"Append a sub-archive. The meaning of the parameters are exactly the same "
+"as explained above. Of course, parametrer `content` is not optional here."
+msgstr "サブアーカイブを追加します。パラメータの意味は上記とまったく同じです。もちろん、ここではパラメータ `content` はオプションではありません。"
+
+#: ../../archive-class.rst:63 0dd9037712ed4421bbf87015619ec9b2
+msgid "Checks whether an entry exists in any of the sub-archives."
+msgstr "エントリがサブアーカイブのいずれかに存在するかどうかを確認します。"
+
+#: ../../archive-class.rst 2042529d67a1461e86e1432c23096718
+#: c7c3e7ca8a0f4bcab55b3a691d3dd712
+msgid "Parameters"
+msgstr "パラメータ:"
+
+#: ../../archive-class.rst:65 ../../archive-class.rst:73
+#: ec1c358b15624e1fabbc01e42e751f86 fbd85286583346e18e275454aa0506c9
+msgid ""
+"The fully qualified name of the entry. So must include any `path` prefix "
+"under which the entry's sub-archive has been added."
+msgstr "エントリの完全修飾名。エントリのサブアーカイブが追加されたパスのプレフィックスを含む必要があります。"
+
+#: ../../archive-class.rst 5112b69db55348e9a8df4521c3e93c26
+#: a8caf3f8348448f59cc1eb8640f3c8f6
+msgid "Returns"
+msgstr "戻り値:"
+
+#: ../../archive-class.rst:67 d117071695824e698bb8cd4ed453aa6b
+msgid "`True` or `False`."
+msgstr "`True` または `False` 。"
+
+#: ../../archive-class.rst:71 5c04eff105834dfa9b4e1b7e1ee57217
+msgid "Retrieve the data of an entry."
+msgstr "エントリのデータを取得します。"
+
+#: ../../archive-class.rst:75 ee6b5e9987de418cbd411c14b502432b
+msgid ""
+"The binary data (`bytes`) of the entry. If not found, an exception is "
+"raised."
+msgstr "エントリのバイナリデータ( `bytes` )です。見つからない場合は例外が発生します。"
+
+#: ../../archive-class.rst:79 f66b696037904b8992cb50f61da48fb6
+msgid ""
+"A list of the archive's sub-archives. Each list item is a dictionary with"
+" the following keys:"
+msgstr "アーカイブのサブアーカイブのリストです。各リストアイテムは、次のキーを持つ辞書です:"
+
+#: ../../archive-class.rst:81 e3aa41a45b9646e98254df3ac1658724
+msgid "`entries` -- a list of (top-level) entry names in this sub-archive."
+msgstr "`entries` - このサブアーカイブ内の(トップレベルの)エントリ名のリスト。"
+
+#: ../../archive-class.rst:82 73c9c0eeb8344c879fdf68866f11dcd9
+msgid ""
+"`fmt` -- the format of the sub-archive. This is one of the strings "
+"\"dir\" (file folder), \"zip\" (ZIP archive), \"tar\" (TAR archive), or "
+"\"tree\" for single binary entries or file content."
+msgstr "`fmt` - サブアーカイブの形式。これは文字列 "dir"(ファイルフォルダ)、"zip"(ZIPアーカイブ)、"tar"(TARアーカイブ)、または単一のバイナリエントリまたはファイルコンテンツの場合は "tree" のいずれかです。"
+
+#: ../../archive-class.rst:83 510e1f3287724e1b9de9b63e5a25e6e4
+msgid ""
+"`path` -- the value of the `path` parameter under which this sub-archive "
+"was added."
+msgstr "`path` - このサブアーカイブが追加されたパラメータの値です。"
+
+#: ../../archive-class.rst:85 07a4ab4f529343c596de2956c02c737e
+msgid "**Example:**"
+msgstr "**例:** "
+
+#: ../../footer.rst:-1 241ac14b2858481f8d14ca5b22d037bf
+msgid "Discord logo"
+msgstr ""
+
diff --git a/docs/locales/ja/LC_MESSAGES/changes.mo b/docs/locales/ja/LC_MESSAGES/changes.mo
new file mode 100644
index 000000000..bb1c33467
Binary files /dev/null and b/docs/locales/ja/LC_MESSAGES/changes.mo differ
diff --git a/docs/locales/ja/LC_MESSAGES/changes.po b/docs/locales/ja/LC_MESSAGES/changes.po
new file mode 100644
index 000000000..0a787bfdc
--- /dev/null
+++ b/docs/locales/ja/LC_MESSAGES/changes.po
@@ -0,0 +1,5842 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2015-2023, Artifex
+# This file is distributed under the same license as the PyMuPDF package.
+# FIRST AUTHOR , 2023.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PyMuPDF 1.23.0rc1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-08-16 14:20+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language: ja\n"
+"Language-Team: ja \n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.3\n"
+
+#: ../../../changes.txt:2 592961a7cf6a4ec5bf08cdd9dce84347
+msgid "Change Log"
+msgstr ""
+
+#: ../../../changes.txt:5 6556779d038f45f3b30ecd15c881988d
+msgid "**Changes in version 1.23.0rc1 (2023-08-10)**"
+msgstr ""
+
+#: ../../../changes.txt:7 ac701a8c063348e986a53e38e0b9391a
+msgid "Contains a new \"rebased\" implementation of PyMuPDF."
+msgstr ""
+
+#: ../../../changes.txt:9 8dac474c22944cbead8cd6af54fa07ef
+msgid ""
+"The rebased implementation is available as Python module `fitz_new`. It "
+"can be used as a drop-in replacement with `import fitz_new as fitz`."
+msgstr ""
+
+#: ../../../changes.txt:14 27214a0d010643a7b558fb0efd30c35d
+msgid ""
+"Python-independent MuPDF libraries are now in a second wheel called "
+"`PyMuPDFb` that will be automatically installed by pip."
+msgstr ""
+
+#: ../../../changes.txt:17 262cc5c25c9a4af495e9ca780a4bc503
+msgid ""
+"This is to save space on pypi.org - a full release only needs one "
+"`PyMuPDFb` wheel for each OS."
+msgstr ""
+
+#: ../../../changes.txt:20 ../../../changes.txt:96 ../../../changes.txt:128
+#: ../../../changes.txt:137 ../../../changes.txt:146 ../../../changes.txt:164
+#: ../../../changes.txt:264 ../../../changes.txt:303
+#: 77ae426aa6b34fc38d01a560702727fa 7d462fa28fb34276b598ff446fc874c0
+#: 7e4c236eca63428ea008183a5592a8e1 7fcaadf83f33466888da76834810a5b3
+#: 8c73bc5310c94de3917282e8401eafeb 965474e930c44c6ba0ab68efc60c5a47
+#: c1aebfa10f944764b9dab8602a407555 e2c8d96bb4f14da6a96cb081b1da324c
+msgid "Bug fixes:"
+msgstr ""
+
+#: ../../../changes.txt:22 1ad66982396f483396bca8b04cf67eaa
+msgid ""
+"**Fixed** `#2542 `_: "
+"fritz.utils.scrub AttributeError Annot object has no attribute fileUpd "
+"inside"
+msgstr ""
+
+#: ../../../changes.txt:23 06b26fe40f2e40b3814f6194c903036e
+msgid ""
+"**Fixed** `#2533 `_: "
+"get_texttrace returned a incorrect character bbox"
+msgstr ""
+
+#: ../../../changes.txt:24 0a22e16bf5754ed48973931411e14447
+msgid ""
+"**Fixed** `#2537 `_: "
+"Validation when setting a grouped RadioButton throws a RuntimeError: path"
+" to 'V' has indirects"
+msgstr ""
+
+#: ../../../changes.txt:26 ../../../changes.txt:824 ../../../changes.txt:988
+#: 14f6fc59d7cf443e86324e0180ba44b0 86519eb955464a959477640b76038fc4
+#: 9c4bd181bd48422aa8dc2837ed32107b
+msgid "Other changes:"
+msgstr ""
+
+#: ../../../changes.txt:28 a46a42f5e1dd422ab38d584575361136
+msgid "Dropped support for Python-3.7."
+msgstr ""
+
+#: ../../../changes.txt:30 4d1c83f4403240229e7e11b1bb290ad6
+msgid "Fix for wrong page / annot `/Contents` cleaning."
+msgstr ""
+
+#: ../../../changes.txt:32 68772f4feaef448d86ee5da1070ca850
+msgid "We need to set `pdf_filter_options::no_update` to zero."
+msgstr ""
+
+#: ../../../changes.txt:34 8e59ca002ffb4b958d27f39b63eed870
+msgid "Added new function get_tessdata()."
+msgstr ""
+
+#: ../../../changes.txt:36 3b684eee1570458596ee558ba2893c5f
+msgid "Cope with problem `/Annot` arrays."
+msgstr ""
+
+#: ../../../changes.txt:38 493ee26562424d0387b5cf1a36df35a3
+msgid ""
+"When copying page annotations in method Document.insert_pdf we previously"
+" did not check the validity of members of the `/Annots` array. For "
+"faulty members (like null or non-dictionary items) this could cause "
+"unnecessary exceptions. This fix implements more checks and skips such "
+"array items."
+msgstr ""
+
+#: ../../../changes.txt:44 7fc1402a66644147aa9da81c2f33963c
+msgid "Additional annotation type checks."
+msgstr ""
+
+#: ../../../changes.txt:46 6695c904a56b4d769d816fa9abe081ad
+msgid ""
+"We did not previously check for annotation type when getting / setting "
+"annotation border properties. This is now checked in accordance with "
+"MuPDF."
+msgstr ""
+
+#: ../../../changes.txt:50 855a9da4fa0349e2b7af4011abe7cb28
+msgid "Increase fault tolerance."
+msgstr ""
+
+#: ../../../changes.txt:52 225068f58f684676b526c64cd0521d82
+msgid ""
+"Avoid exceptions in method `insert_pdf()` when source pages contains "
+"invalid items in the `/Annots` array."
+msgstr ""
+
+#: ../../../changes.txt:55 6a174a5ca0f7418c8e39a61278af5f3d
+msgid "Return empty border dict for applicable annots."
+msgstr ""
+
+#: ../../../changes.txt:57 c0103f2dce704857a1b61ff192db5e2f
+msgid ""
+"We previously were returning a non-empty border dictionary even for non-"
+"applicable annotation types. We now return the empty dictionary `{}` in "
+"these cases. This requires some corresponding changes in the annotation "
+"`.update()` method, namely for dashes and border width."
+msgstr ""
+
+#: ../../../changes.txt:62 f9a4281d9c8e43889495e8bd3b9bd930
+msgid "Restrict `set_rect` to applicable annot types."
+msgstr ""
+
+#: ../../../changes.txt:64 339930ed19fe48a086ea499b523cf3ad
+msgid ""
+"We were insufficiently excluding non-applicable annotation types from "
+"`set_rect()` method. We now let MuPDF catch unsupported annotations and "
+"return `False` in these cases."
+msgstr ""
+
+#: ../../../changes.txt:68 9c0e93bd2a29493dbe349474ec85a808
+msgid "Wrong fontsize computation in `page.get_texttrace()`."
+msgstr ""
+
+#: ../../../changes.txt:70 8c08394cdeeb43fa98ba4f7ebf9963c5
+msgid ""
+"When computing the font size we were using the final text transformation "
+"matrix, where we should have taken `span->trm` instead. This is "
+"corrected here."
+msgstr ""
+
+#: ../../../changes.txt:74 58178b9c61734911a0ffa5206d8b2615
+msgid "Updates to cope with changes to latest MuPDF."
+msgstr ""
+
+#: ../../../changes.txt:76 0ef100fbd1e34018a268c202ceac60d0
+msgid "`pdf_lookup_anchor()` has been removed."
+msgstr ""
+
+#: ../../../changes.txt:78 11c91e3a17524dccbefa3e7b86d1f11b
+msgid "Update fill_textbox to better respect rect.width"
+msgstr ""
+
+#: ../../../changes.txt:80 d419504dce064e929bc86fa4251c2b98
+msgid ""
+"The function norm_words in fill_textbox had a bug in its last loop, "
+"appending n+1 characters when actually measuring width of n characters. "
+"It led to a bug in fill_texbox when you tried to write a single word "
+"mostly composed of \"wide\" letters (M,m, W, w...), causing the written "
+"text to exceed the given rect."
+msgstr ""
+
+#: ../../../changes.txt:86 b674deb37a924acfa830d402238c8b11
+msgid "The fix was just to replace n+1 by n."
+msgstr ""
+
+#: ../../../changes.txt:88 99aa94bb4fcf482689915b4c66456356
+msgid "Add `script_focus` and `script_blur` options to widget."
+msgstr ""
+
+#: ../../../changes.txt:92 afb629be701a4aa0bfb938078a44ab7e
+msgid "**Changes in version 1.22.5 (2023-06-21)**"
+msgstr ""
+
+#: ../../../changes.txt:94 fbf8e817e76841358439abb1ca2282b0
+msgid "This release uses ``MuPDF-1.22.2``."
+msgstr ""
+
+#: ../../../changes.txt:98 6e895292e40841d28af98baf164ad994
+msgid ""
+"**Fixed** `#2365 `_: "
+"Incorrect dictionary values for type \"fs\" drawings."
+msgstr ""
+
+#: ../../../changes.txt:99 91fa87739054439c9c27bae87ba5e8f6
+msgid ""
+"**Fixed** `#2391 `_: "
+"Check box automatically uncheck when we update same checkbox more than 1 "
+"times."
+msgstr ""
+
+#: ../../../changes.txt:100 0941273ff9184d3b8b524c45486b4d84
+msgid ""
+"**Fixed** `#2400 `_: Gaps"
+" within text of same line not filled with spaces."
+msgstr ""
+
+#: ../../../changes.txt:101 62197be88990477f87c07abac2daada4
+msgid ""
+"**Fixed** `#2404 `_: "
+"Blacklining an image in PDF won't remove underlying content in version "
+"1.22.X."
+msgstr ""
+
+#: ../../../changes.txt:102 8f72e3d7303c4b998f6715ca9738a1ad
+msgid ""
+"**Fixed** `#2430 `_: "
+"Incorrectly reducing ref count of Py_None."
+msgstr ""
+
+#: ../../../changes.txt:103 00413e6cd98b45a7b6e8d48d63ad01cf
+msgid ""
+"**Fixed** `#2450 `_: "
+"Empty fill color and fill opacity for paths with fill and stroke "
+"operations with 1.22.*"
+msgstr ""
+
+#: ../../../changes.txt:104 2935b1b9c4f3465fa645e0dccfe16c12
+msgid ""
+"**Fixed** `#2462 `_: "
+"Error at \"get_drawing(extended=True )\""
+msgstr ""
+
+#: ../../../changes.txt:105 271c99d71dec465f9437f767c01828f3
+msgid ""
+"**Fixed** `#2468 `_: "
+"Decode error when trying to get drawings"
+msgstr ""
+
+#: ../../../changes.txt:107 426281d4718a450ab37069a194a67b8d
+msgid "New features:"
+msgstr ""
+
+#: ../../../changes.txt:109 46bb44cb1baf470e9a2749dbe0de88a6
+msgid ""
+"**Changed** Annotations now support \"cloudy\" borders. The "
+":attr:`Annot.border` property has the new item `clouds`, and method "
+":meth:`Annot.set_border` supports the corresponding `clouds` argument."
+msgstr ""
+
+#: ../../../changes.txt:113 3c75cc458a45497a99b5d0245a527b83
+msgid ""
+"**Changed** Radio button widgets in the same RB group are now "
+"consistently updated **if the group is defined in the standard way**."
+msgstr ""
+
+#: ../../../changes.txt:116 482a7a83017e4b518ed8b414de98f783
+msgid ""
+"**Added** Support for the `/Locked` key in PDF Optional Content. This "
+"array inside the catalog entry `/OCProperties` can now be extracted and "
+"set."
+msgstr ""
+
+#: ../../../changes.txt:119 bd8aa9fe8dc1485ba56acded4b2db33c
+msgid ""
+"**Added** Support for new parameter `tessdata` in OCR functions. New "
+"function :meth:`get_tessdata` locates the language support folder if "
+"Tesseract is installed."
+msgstr ""
+
+#: ../../../changes.txt:124 d6b61140d3ed44d88ccb9a5e4d9670b0
+msgid "**Changes in version 1.22.3 (2023-05-10)**"
+msgstr ""
+
+#: ../../../changes.txt:126 ../../../changes.txt:135 ../../../changes.txt:144
+#: ../../../changes.txt:156 50e7450640a14407a5e1c5b023988ded
+#: 51c6c0fa60f9401895f0e15343a119ad 598a614eee184e52b69facee9a22fec4
+#: 708507107e4e4e8fa0949f336e4e3573
+msgid "This release uses ``MuPDF-1.22.0``."
+msgstr ""
+
+#: ../../../changes.txt:130 77731d73c32c40d98eea0130f71e31cf
+msgid ""
+"**Fixed** `#2333 `_: "
+"Unable to set any of button radio group in form"
+msgstr ""
+
+#: ../../../changes.txt:133 3c1017c9146748348b4a6c3921874dbe
+msgid "**Changes in version 1.22.2 (2023-04-26)**"
+msgstr ""
+
+#: ../../../changes.txt:139 94917a44a4be4501bf41118950004190
+msgid ""
+"**Fixed** `#2369 `_: "
+"Image extraction bugs with newer versions"
+msgstr ""
+
+#: ../../../changes.txt:142 4b68ee5f53af477b955118d5139b3d0e
+msgid "**Changes in version 1.22.1 (2023-04-18)**"
+msgstr ""
+
+#: ../../../changes.txt:148 d80f3b9ea6a042a1819fb8494f8af90c
+msgid ""
+"**Fixed** `#2345 `_: Turn"
+" off print statements in utils.py"
+msgstr ""
+
+#: ../../../changes.txt:149 2f67abae8c044527afe4aa64ec497d05
+msgid ""
+"**Fixed** `#2348 `_: "
+"extract_image returns an extension \"flate\" instead of \"png\""
+msgstr ""
+
+#: ../../../changes.txt:150 bad64aec1be5462aa28217a7f608fb4e
+msgid ""
+"**Fixed** `#2350 `_: Can "
+"not make widget (checkbox) to read-only by adding flags "
+"PDF_FIELD_IS_READ_ONLY"
+msgstr ""
+
+#: ../../../changes.txt:151 4de3c89a9f0f4d2ba6efc40e6e1a2368
+msgid ""
+"**Fixed** `#2355 `_: "
+"1.22.0 error when using get_toc (AttributeError: 'SwigPyObject' object "
+"has no attribute)"
+msgstr ""
+
+#: ../../../changes.txt:154 774d142170fe4155bcfac238e1d8bdae
+msgid "**Changes in version 1.22.0 (2023-04-14)**"
+msgstr ""
+
+#: ../../../changes.txt:158 5601eccc6c874680853a48603364edec
+msgid "Behavioural changes:"
+msgstr ""
+
+#: ../../../changes.txt:160 81158208cf7d424b805aa47b74004818
+msgid ""
+"Text extraction now includes glyphs that overlap with clip rect; "
+"previously they were included only if they were entirely contained within"
+" the clip rect."
+msgstr ""
+
+#: ../../../changes.txt:166 4731bcd4462f46aab58725066664b539
+msgid ""
+"**Fixed** `#1763 `_: "
+"Interactive(smartform) form PDF calculation not working in pymupdf"
+msgstr ""
+
+#: ../../../changes.txt:167 84ecfb853b0a4ec0a779b54a1950ae55
+msgid ""
+"**Fixed** `#1995 `_: "
+"RuntimeError: image is too high for a long paged pdf file when trying"
+msgstr ""
+
+#: ../../../changes.txt:168 a15cca89a2764e719ae529b79e452a58
+msgid ""
+"**Fixed** `#2093 `_: "
+"Image in pdf changes color after applying redactions"
+msgstr ""
+
+#: ../../../changes.txt:169 af087b64312b4474a45e8d5e4a64f641
+msgid ""
+"**Fixed** `#2108 `_: "
+"Redaction removing more text than expected"
+msgstr ""
+
+#: ../../../changes.txt:170 0419bf7456af4147ba953d9e5c7a1aab
+msgid ""
+"**Fixed** `#2141 `_: "
+"Failed to read JPX header when trying to get blocks"
+msgstr ""
+
+#: ../../../changes.txt:171 43d0e38c05df45f6b7dd8e5b1e998b58
+msgid ""
+"**Fixed** `#2144 `_: "
+"Replace image throws an error"
+msgstr ""
+
+#: ../../../changes.txt:172 fecf6324fa5143b1a480fc6d2be02f38
+msgid ""
+"**Fixed** `#2146 `_: "
+"Wrong Handling of Reference Count of \"None\" Object"
+msgstr ""
+
+#: ../../../changes.txt:173 2bfb5121b72d48d689cc09944d0d7201
+msgid ""
+"**Fixed** `#2161 `_: "
+"Support adding images as pages directly"
+msgstr ""
+
+#: ../../../changes.txt:174 f7c65db3a9d242339c9ab323ac6d2629
+msgid ""
+"**Fixed** `#2168 `_: "
+"``page.add_highlight_annot(start=pointa, stop=pointb)`` not working"
+msgstr ""
+
+#: ../../../changes.txt:175 b9cf5787cf984f36bced72ec83f08a7a
+msgid ""
+"**Fixed** `#2173 `_: "
+"Double free of ``Colorspace`` used in ``Pixmap``"
+msgstr ""
+
+#: ../../../changes.txt:176 f4ff1477138d408fbb381c3f71609475
+msgid ""
+"**Fixed** `#2179 `_: "
+"Incorrect documentation for ``pixmap.tint_with()``"
+msgstr ""
+
+#: ../../../changes.txt:177 83f2da97b8664dfd85a51e2c6396c1af
+msgid ""
+"**Fixed** `#2208 `_: "
+"Pushbutton widget appears as check box"
+msgstr ""
+
+#: ../../../changes.txt:178 809ad5d7015a4454922061a1ba723284
+msgid ""
+"**Fixed** `#2210 `_: "
+"``apply_redactions()`` move pdf text to right after redaction"
+msgstr ""
+
+#: ../../../changes.txt:179 72d3718cefc54ab2a2ddc10127eaa8ab
+msgid ""
+"**Fixed** `#2220 `_: "
+"``Page.delete_image()`` | object has no attribute ``is_image``"
+msgstr ""
+
+#: ../../../changes.txt:180 5c6cf09495c94fbd915298e08b6e2d53
+msgid ""
+"**Fixed** `#2228 `_: open"
+" some pdf cost too much time"
+msgstr ""
+
+#: ../../../changes.txt:181 3d58b7db6bb0420eaa4ae0ca947a555a
+msgid ""
+"**Fixed** `#2238 `_: Bug "
+"- can not extract data from file in the newest version 1.21.1"
+msgstr ""
+
+#: ../../../changes.txt:182 5314531ad417443aac911af43577587d
+msgid ""
+"**Fixed** `#2242 `_: "
+"Python quits silently in ``Story.element_positions()`` if callback "
+"function prototype is wrong"
+msgstr ""
+
+#: ../../../changes.txt:183 feeebb1b18374a938f68fc030f92507e
+msgid ""
+"**Fixed** `#2246 `_: "
+"TextWriter write text in a wrong position"
+msgstr ""
+
+#: ../../../changes.txt:184 29f92e29561d4db086ca0bec1e33fcca
+msgid ""
+"**Fixed** `#2248 `_: "
+"After redacting the content, the position of the remaining text changes"
+msgstr ""
+
+#: ../../../changes.txt:185 af2cf3079697483a831917469815162f
+msgid ""
+"**Fixed** `#2250 `_: "
+"docs: unclear or broken link in page.rst"
+msgstr ""
+
+#: ../../../changes.txt:186 2fe6a7580a3c4b3692d03e85814f446c
+msgid ""
+"**Fixed** `#2251 `_: "
+"mupdf_display_errors does not apply to Pixmap when loading broken image"
+msgstr ""
+
+#: ../../../changes.txt:187 d69c9519fcd64740a7413e2d3896cf4d
+msgid ""
+"**Fixed** `#2270 `_: "
+"``Annot.get_text(\"words\")`` - doesn't return the first line of words"
+msgstr ""
+
+#: ../../../changes.txt:188 4906b788fe7a4a58acbef752b56de257
+msgid ""
+"**Fixed** `#2275 `_: "
+"insert_image: document that rotations are counterclockwise"
+msgstr ""
+
+#: ../../../changes.txt:189 9b0bf32e690841f6b554639f54c6aead
+msgid ""
+"**Fixed** `#2278 `_: Can "
+"not make widget (checkbox) to read-only by adding flags "
+"PDF_FIELD_IS_READ_ONLY"
+msgstr ""
+
+#: ../../../changes.txt:190 5db5125994884c9e847e87851da116ba
+msgid ""
+"**Fixed** `#2290 `_: "
+"Different image format/data from Page.get_text(\"dict\") and "
+"Fitz.get_page_images()"
+msgstr ""
+
+#: ../../../changes.txt:191 ad78fd71b0ec4d1a80dc3d2fcaf61ce3
+msgid ""
+"**Fixed** `#2293 `_: 68 "
+"failed tests when installing from sdist on my box"
+msgstr ""
+
+#: ../../../changes.txt:192 b98abb98e15c4aceba2388aeb3de6399
+msgid ""
+"**Fixed** `#2300 `_: Too "
+"much recursion in tree (parents), makes program terminate"
+msgstr ""
+
+#: ../../../changes.txt:193 154202f0e91f47d492f7ee7733602795
+msgid ""
+"**Fixed** `#2322 `_: "
+"add_highlight_annot using clip generates \"A Number is Out of Range\" "
+"error in PDF"
+msgstr ""
+
+#: ../../../changes.txt:195 ../../../changes.txt:329
+#: 4d358778c4704e19a5b2f3ca68509fcc e9042d87b1b940929e3d2b4b7ba697b4
+msgid "Other:"
+msgstr ""
+
+#: ../../../changes.txt:197 6e1f739c1f1d4e36aca32f71f6516803
+msgid ""
+"Add key \"/AS (Yes)\" to the underlying annot object of a selected button"
+" form field."
+msgstr ""
+
+#: ../../../changes.txt:199 15465ce09a2547c68de176f4f272546b
+msgid ""
+"Remove unused ``Document`` methods ``has_xref_streams()`` and "
+"``has_old_style_xrefs()`` as MuPDF equivalents have been removed."
+msgstr ""
+
+#: ../../../changes.txt:202 b8d078ed3bb2452cbb475fe37b600669
+msgid ""
+"Add new ``Document`` methods and properties for getting/setting "
+"``/PageMode``, ``/PageLayout`` and ``/MarkInfo``."
+msgstr ""
+
+#: ../../../changes.txt:205 ab5d6980f3a9428283269d0ae3fc4c89
+msgid ""
+"New ``Document`` property ``version_count``, which contains the number of"
+" incremental saves plus one."
+msgstr ""
+
+#: ../../../changes.txt:208 c4ad85f5c0274e089b7a59926372e3c1
+msgid ""
+"New ``Document`` property ``is_fast_webaccess`` which tells whether the "
+"document is linearized."
+msgstr ""
+
+#: ../../../changes.txt:211 5a71cb2865c54af6a52aacfaf9d3c88d
+msgid "``DocumentWriter`` is now a context manager."
+msgstr ""
+
+#: ../../../changes.txt:213 14f8e1e291bd43bda8fb98d1dace77a1
+msgid "Add support for ``Pixmap`` JPEG output."
+msgstr ""
+
+#: ../../../changes.txt:215 0d9a46f1d4a94a22a10024cbf8896323
+msgid "Add support for drawing rectangles with rounded corners."
+msgstr ""
+
+#: ../../../changes.txt:217 758ecb91649c41a8bbe8e33fe7c278e9
+msgid "``get_drawings()``: added optional ``extended`` arg."
+msgstr ""
+
+#: ../../../changes.txt:219 df42f516c52443118ddd12d1677420fc
+msgid ""
+"Fixed issue where trace devices' state was not being initialised "
+"correctly; data returned from things like ``fitz.Page.get_texttrace()`` "
+"might be slightly altered, e.g. ``linewidth`` values."
+msgstr ""
+
+#: ../../../changes.txt:223 dde9c38ad4e4443dbac6852deaf47bee
+msgid ""
+"Output warning to ``stderr`` if it looks like we are being used with "
+"current directory containing an invalid ``fitz/`` directory, because this"
+" can break import of ``fitz`` module. For example this happens if one "
+"attempts to use ``fitz`` when current directory is a PyMuPDF checkout."
+msgstr ""
+
+#: ../../../changes.txt:229 ../../../changes.txt:284
+#: 48dda47bbbd1417e8be5c69859a4bd4b 6cf1b773149748dd8a0c07370826de25
+msgid "Documentation:"
+msgstr ""
+
+#: ../../../changes.txt:231 e862f61772dc40e0aa912b8a20145117
+msgid "General rework:"
+msgstr ""
+
+#: ../../../changes.txt:233 193718fec05c4cbb84f9aa2fcdcdb713
+msgid "Introduces a new home page and new table of contents."
+msgstr ""
+
+#: ../../../changes.txt:234 afbb27c9bc7a45f1ba21f92bbed5fd13
+msgid "Structural update to include new About section."
+msgstr ""
+
+#: ../../../changes.txt:235 eb6ac431aa17419e98f92c32510acb21
+msgid "Comparison & performance graphing."
+msgstr ""
+
+#: ../../../changes.txt:236 616df60e4dff4cf3b85962eb9716f782
+msgid "Includes performance methodology in appendix."
+msgstr ""
+
+#: ../../../changes.txt:237 461d7c09a2e7411abb1775d689a15c59
+msgid "Updates conf.py to understand single back-ticks as code."
+msgstr ""
+
+#: ../../../changes.txt:238 b0ede8abcc154a5fa8bccb422d79e9b1
+msgid "Converts double back-ticks to single back-ticks."
+msgstr ""
+
+#: ../../../changes.txt:239 986ac18dff3f4c5b92fae407889e746d
+msgid "Removes redundant files."
+msgstr ""
+
+#: ../../../changes.txt:241 c2aea4eccfaa412c8fef1a656fc22428
+msgid "Improve ``insert_file()`` documentation."
+msgstr ""
+
+#: ../../../changes.txt:243 80e903e3c84b402f83263ac5e81dd5c4
+msgid "``get_bboxlog()``: aded optional ``layers`` to ``get_bboxlog()``."
+msgstr ""
+
+#: ../../../changes.txt:244 b5ff04de0ff74bd98c36432a815c6b2a
+msgid ""
+"``Page.get_texttrace()``: add new dictionary key ``layer``, name of "
+"Optional Content Group."
+msgstr ""
+
+#: ../../../changes.txt:246 ab1da44efcf443db834436a30d91ebc6
+msgid "Mention use of Python venv in installation documentation."
+msgstr ""
+
+#: ../../../changes.txt:248 05ac4ae30e5b44ad9474ad2172204efc
+msgid "Added missing fix for #2057 to release 1.21.1's changelog."
+msgstr ""
+
+#: ../../../changes.txt:250 74503569478b41bebda07298d0bb7ff2
+msgid "Fixes many links to the PyMuPDF-Utilities repo scripts."
+msgstr ""
+
+#: ../../../changes.txt:252 489f0648b931435dbff9b5613d3ed565
+msgid "Avoid duplication of ``changes.txt`` and ``docs/changes.rst``."
+msgstr ""
+
+#: ../../../changes.txt:254 41f62a12efda43078c484aeeae540371
+msgid "Build"
+msgstr ""
+
+#: ../../../changes.txt:256 ea75e60b5ce74c5e9310ee83aaadbd24
+msgid "Added ``pyproject.toml`` file to improve builds using pip etc."
+msgstr ""
+
+#: ../../../changes.txt:260 be8b5e2cfa2b45d8b766fe3bfd238eeb
+msgid "**Changes in Version 1.21.1 (2022-12-13)**"
+msgstr ""
+
+#: ../../../changes.txt:262 0b5e3ef0e9984461a5471cffad33dc69
+msgid "This release uses ``MuPDF-1.21.1``."
+msgstr ""
+
+#: ../../../changes.txt:266 497f2dbf904a4835bd5ae4ec277a1bed
+msgid ""
+"**Fixed** `#2110 `_: "
+"Fully embedded font is extracted only partially if it occupies more than "
+"one object"
+msgstr ""
+
+#: ../../../changes.txt:267 c2ccbee522224a3ba83a4586a04b9124
+msgid ""
+"**Fixed** `#2094 `_: "
+"Rectangle Detection Logic"
+msgstr ""
+
+#: ../../../changes.txt:268 07c42fe1bb8f4bf79b0413a9b70f2c34
+msgid ""
+"**Fixed** `#2088 `_: "
+"Destination point not set for named links in toc"
+msgstr ""
+
+#: ../../../changes.txt:269 a4dd2034edd5479fa495d23ea689d20f
+msgid ""
+"**Fixed** `#2087 `_: "
+"Image with Filter \"[/FlateDecode/JPXDecode]\" not extracted"
+msgstr ""
+
+#: ../../../changes.txt:270 d0a14b469c5f4bf6b9cc76a7288a281c
+msgid ""
+"**Fixed** `#2086 `_: "
+"Document.save() owner_pw & user_pw has buffer overflow bug"
+msgstr ""
+
+#: ../../../changes.txt:271 60c5d5dcd8fe4e3d86e787e2c3d3f056
+msgid ""
+"**Fixed** `#2076 `_: "
+"Segfault in fitz.py"
+msgstr ""
+
+#: ../../../changes.txt:272 62b1a89b24664219b22cecad479f8336
+msgid ""
+"**Fixed** `#2057 `_: "
+"Document.save garbage parameter not working in PyMuPDF 1.21.0"
+msgstr ""
+
+#: ../../../changes.txt:273 47979d97236d4e7abad460b410508862
+msgid ""
+"**Fixed** `#2051 `_: "
+"Missing DPI Parameter"
+msgstr ""
+
+#: ../../../changes.txt:274 3be348902fe44297bff6c608add727fe
+msgid ""
+"**Fixed** `#2048 `_: "
+"Invalid size of TextPage and bbox with newest version 1.21.0"
+msgstr ""
+
+#: ../../../changes.txt:275 5aef5fae33b345318e8a7d244021189c
+msgid ""
+"**Fixed** `#2045 `_: "
+"SystemError: returned a result "
+"with an error set"
+msgstr ""
+
+#: ../../../changes.txt:276 462842c40d5340da9e7151c850b090f4
+msgid ""
+"**Fixed** `#2039 `_: "
+"1.21.0 fails to build against system libmupdf"
+msgstr ""
+
+#: ../../../changes.txt:277 b2a43069d79a4094be1e52148881a30e
+msgid ""
+"**Fixed** `#2036 `_: "
+"Archive::Archive defined twice"
+msgstr ""
+
+#: ../../../changes.txt:279 bdb55edeba144783b08183812d018a5a
+msgid "Other"
+msgstr ""
+
+#: ../../../changes.txt:281 8de506b3ec78434990ad35efae35577d
+msgid "Swallow \"&zoom=nan\" in link uri strings."
+msgstr ""
+
+#: ../../../changes.txt:282 4ac3ab9580d045608e13a1e43602eba1
+msgid ""
+"Add new Page utility methods ``Page.replace_image()`` and "
+"``Page.delete_image()``."
+msgstr ""
+
+#: ../../../changes.txt:286 c33b8fdb1eed493baedac743dfd56dc5
+msgid ""
+"`#2040 `_: Added note "
+"about test failure with non-default build of MuPDF, to "
+"``tests/README.md``."
+msgstr ""
+
+#: ../../../changes.txt:287 21a50da34d8f4ef98c1c657846fc0cc1
+msgid ""
+"`#2037 `_: In "
+"``docs/installation.rst``, mention incompatibility with chocolatey.org on"
+" Windows."
+msgstr ""
+
+#: ../../../changes.txt:288 749d1da0a7764117bb33ed2bb687ce8e
+msgid ""
+"`#2061 `_: Fixed "
+"description of ``Annot.file_info``."
+msgstr ""
+
+#: ../../../changes.txt:289 1167a56663ac40e099581cd4deaf190b
+msgid ""
+"`#2065 `_: Show how to "
+"insert internal PDF link."
+msgstr ""
+
+#: ../../../changes.txt:290 8496296be5c74ca687838711b53b8f34
+msgid "Improved description of building from source without an sdist."
+msgstr ""
+
+#: ../../../changes.txt:291 eb3ce3f70a914539b92dfb637475c81c
+msgid "Added information about running tests."
+msgstr ""
+
+#: ../../../changes.txt:292 33464b810e1a4bc6b8b0791e7f71f170
+msgid ""
+"`#2084 `_: Fixed broken "
+"link to PyMuPDF-Utilities."
+msgstr ""
+
+#: ../../../changes.txt:295 04078d752fd94d82a26dee55d7b9852a
+msgid "**Changes in Version 1.21.0 (2022-11-8)**"
+msgstr ""
+
+#: ../../../changes.txt:297 d3858ddbd34b426096dadb7eeedd73f9
+msgid "This release uses ``MuPDF-1.21.0``."
+msgstr ""
+
+#: ../../../changes.txt:299 2b8fe055c7714d37aece4477bc27841a
+msgid "New feature: Stories."
+msgstr ""
+
+#: ../../../changes.txt:301 ee5a04ec1187413582619d4fd1c5246c
+msgid "Added wheels for Python-3.11."
+msgstr ""
+
+#: ../../../changes.txt:305 73a3c93eb50f49c88fd6086f7ab680b3
+msgid ""
+"**Fixed** `#1701 `_: "
+"Broken custom image insertion."
+msgstr ""
+
+#: ../../../changes.txt:306 67ad7835a4da4995828eddd66d2f416f
+msgid ""
+"**Fixed** `#1854 `_: "
+"`Document.delete_pages()` declines keyword arguments."
+msgstr ""
+
+#: ../../../changes.txt:307 53bb8339dcf24e05a753aee7ca9b8d41
+msgid ""
+"**Fixed** `#1868 `_: "
+"Access Violation Error at `page.apply_redactions()`."
+msgstr ""
+
+#: ../../../changes.txt:308 60523fb2965b4509a235cbab921fad7f
+msgid ""
+"**Fixed** `#1909 `_: "
+"Adding text with `fontname=\"Helvetica\"` can silently fail."
+msgstr ""
+
+#: ../../../changes.txt:309 1641ff279cf64ae7b31c39dfb4a49a02
+msgid ""
+"**Fixed** `#1913 `_: "
+"`draw_rect()`: does not respect width if color is not specified."
+msgstr ""
+
+#: ../../../changes.txt:310 64ed002323e24b6eb9eb6ca3e9a67d49
+msgid ""
+"**Fixed** `#1917 `_: "
+"`subset_fonts()`: make it possible to silence the stdout."
+msgstr ""
+
+#: ../../../changes.txt:311 1100859814ba4a119788754d67a04e37
+msgid ""
+"**Fixed** `#1936 `_: "
+"Rectangle detection can be incorrect producing wrong output."
+msgstr ""
+
+#: ../../../changes.txt:312 92b7094094994115aac0e7a40236efaf
+msgid ""
+"**Fixed** `#1945 `_: "
+"Segmentation fault when saving with `clean=True`."
+msgstr ""
+
+#: ../../../changes.txt:313 ee67cb1298aa4dd29100618f0cd7767c
+msgid ""
+"**Fixed** `#1965 `_: "
+"`pdfocr_save()` Hard Crash."
+msgstr ""
+
+#: ../../../changes.txt:314 5b998f12d39a45a89773d7707942cd29
+msgid ""
+"**Fixed** `#1971 `_: "
+"Segmentation fault when using `get_drawings()`."
+msgstr ""
+
+#: ../../../changes.txt:315 13b0f72c10ea48e69086c58b3c9846f2
+msgid ""
+"**Fixed** `#1946 `_: "
+"`block_no` and `block_type` switched in `get_text()` docs."
+msgstr ""
+
+#: ../../../changes.txt:316 aa7ff258a86245269720c80961ea33c8
+msgid ""
+"**Fixed** `#2013 `_: "
+"AttributeError: 'Widget' object has no attribute '_annot' in delete "
+"widget."
+msgstr ""
+
+#: ../../../changes.txt:318 d6f445c9eee04a18ab21c956043602f8
+msgid "Misc changes to core code:"
+msgstr ""
+
+#: ../../../changes.txt:320 37383ca6d76341aa9b2640f690772123
+msgid "Fixed various compiler warnings and a sequence-point bug."
+msgstr ""
+
+#: ../../../changes.txt:321 001e6805a059465381bda468e3f1b86f
+msgid "Added support for Memento builds."
+msgstr ""
+
+#: ../../../changes.txt:322 9f6222fef741461e84a9d95326ec7096
+msgid "Fixed leaks detected by Memento in test suite."
+msgstr ""
+
+#: ../../../changes.txt:323 814e800c0a8e4cd385afe6499299bd31
+msgid "Fixed handling of exceptions in set_name() and set_rect()."
+msgstr ""
+
+#: ../../../changes.txt:324 d0cc7ec3bd0b458b80e5fb948d3cd4cb
+msgid "Allow build with latest MuPDF, for regular testing of PyMuPDF master."
+msgstr ""
+
+#: ../../../changes.txt:325 ef03d6f1540c450a878f85bbc4bde768
+msgid "Cope with new MuPDF exceptions when setting rect for some Annot types."
+msgstr ""
+
+#: ../../../changes.txt:326 9be2d15643dd4a4fbdaf48ed905c698b
+msgid ""
+"Reduced cosmetic differences between MuPDF's config.h and PyMuPDF's "
+"_config.h."
+msgstr ""
+
+#: ../../../changes.txt:327 29b579e311954d5e8ff33157d4aa9653
+msgid "Cope with various changes to MuPDF API."
+msgstr ""
+
+#: ../../../changes.txt:331 347a3233b1304e99891acbe3e5e42b0e
+msgid "Fixed various broken links and typos in docs."
+msgstr ""
+
+#: ../../../changes.txt:332 4b310a8248cc4f49bf3370a09787fd1b
+msgid "Mention install of `swig-python` on MacOS for #875."
+msgstr ""
+
+#: ../../../changes.txt:333 fa2885e0cf054b2cb1b52bda6423ff4e
+msgid "Added (untested) wheels for macos-arm64."
+msgstr ""
+
+#: ../../../changes.txt:338 a327e5012fc842b399f815e78df9e05f
+msgid "**Changes in Version 1.20.2**"
+msgstr ""
+
+#: ../../../changes.txt:340 db9c1a02a22b4c58b50c7f5ef48cdc5e
+msgid "This release uses ``MuPDF-1.20.3``."
+msgstr ""
+
+#: ../../../changes.txt:342 daf56f09dedb4bea8879529a2e79f167
+msgid ""
+"**Fixed** `#1787 `_. Fix "
+"linking issues on Unix systems."
+msgstr ""
+
+#: ../../../changes.txt:345 880b8aade8934ea9b39f7f226b847f72
+msgid ""
+"**Fixed** `#1824 `_. "
+"SegFault when applying redactions overlapping a transparent image. (Fixed"
+" in ``MuPDF-1.20.3``.)"
+msgstr ""
+
+#: ../../../changes.txt:349 151312b005de42779e15281a619f5525
+msgid "Improvements to documentation:"
+msgstr ""
+
+#: ../../../changes.txt:351 d85bb80b7d3245d9abc304b57380ee75
+msgid ""
+"Improved information about building from source in "
+"``docs/installation.rst``."
+msgstr ""
+
+#: ../../../changes.txt:352 f557519eb0f94cba8a04da45e56c25da
+msgid "Clarified memory allocation setting ``JM_MEMORY` in ``docs/tools.rst``."
+msgstr ""
+
+#: ../../../changes.txt:353 9a96070bf0c04f8b811a278dc78d3b14
+msgid "Fixed link to PDF Reference manual in ``docs/app3.rst``."
+msgstr ""
+
+#: ../../../changes.txt:354 08193cd1ae1f44589f25e85564f9d606
+msgid "Fixed building of html documentation on OpenBSD."
+msgstr ""
+
+#: ../../../changes.txt:355 42a0699c46c74254afcdd8a0076493c0
+msgid "Moved old ``docs/faq.rst`` into separate ``docs/recipes-*`` files."
+msgstr ""
+
+#: ../../../changes.txt:357 75321dad124b490c8a65889b983ad453
+msgid "Removed some unused files and directories:"
+msgstr ""
+
+#: ../../../changes.txt:359 9e0feefda08148f6b0750678463c6fa1
+msgid "``installation/``"
+msgstr ""
+
+#: ../../../changes.txt:360 869c7d92b24a4c7596b9359c582a6b6e
+msgid "``docs/wheelnames.txt``"
+msgstr ""
+
+#: ../../../changes.txt:363 ba8aac8f47cf49e997df25d2353b6407
+msgid "**Changes in Version 1.20.1**"
+msgstr ""
+
+#: ../../../changes.txt:365 8a1ec825792046899ca70fce14439897
+msgid ""
+"**Fixed** `#1724 `_. Fix "
+"for building on FreeBSD."
+msgstr ""
+
+#: ../../../changes.txt:368 49442fdd15a9416ca284b70c6803a3e4
+msgid ""
+"**Fixed** `#1771 `_. "
+"`linkDest()` had a broken call to `re.match()`, introduced in 1.20.0."
+msgstr ""
+
+#: ../../../changes.txt:371 0dc285ccbbb84966957dd4f94f19faa9
+msgid ""
+"**Fixed** `#1751 `_. "
+"`get_drawings()` and `get_cdrawings()` previously always returned with "
+"`closePath=False`."
+msgstr ""
+
+#: ../../../changes.txt:374 ba609fe85b4246e18e24cee9da71f078
+msgid ""
+"**Fixed** `#1645 `_. "
+"Default FreeText annotation text color is now black."
+msgstr ""
+
+#: ../../../changes.txt:377 e0b52f0df79146db8b243907bbe29f1a
+msgid "Improvements to sphinx-generated documentation:"
+msgstr ""
+
+#: ../../../changes.txt:379 1fd848ba8fe04c2e8f8dbc73367f60ca
+msgid "Use readthedocs theme with enhancements."
+msgstr ""
+
+#: ../../../changes.txt:380 5abfed1d2aa04038aac01a214afa2e6f
+msgid "Renamed the `.txt` files to have `.rst` suffixes."
+msgstr ""
+
+#: ../../../changes.txt:384 057284bcaf32453eb1f1cf246ae1d73b
+msgid "**Changes in Version 1.20.0**"
+msgstr ""
+
+#: ../../../changes.txt:386 decd1e7dfac34a3d82662b8b47735fe8
+msgid "This release uses ``MuPDF-1.20.0``, released 2022-06-15."
+msgstr ""
+
+#: ../../../changes.txt:388 085bbc1ae929493383538e241c436494
+msgid ""
+"Cope with new MuPDF link uri format, changed from ``#,,`` "
+"to ``#page=&zoom=,,``."
+msgstr ""
+
+#: ../../../changes.txt:390 1288b8f2d3fb441ab44bf2abc8650b22
+msgid ""
+"In ``tests/test_insertpdf.py``, use new reference output "
+"``joined-1.20.pdf``. We also check that new output values are "
+"approximately the same as the old ones."
+msgstr ""
+
+#: ../../../changes.txt:392 85bd750b221049a5adaa329af5580f09
+msgid ""
+"**Fixed** `#1738 `_. Leak"
+" of `pdf_graft_map`. Also fixed a SEGV issue that this seemed to expose, "
+"caused by incorrect freeing of underlying fz_document."
+msgstr ""
+
+#: ../../../changes.txt:395 c42582c92683489499b205d56430c1de
+msgid ""
+"**Fixed** `#1733 `_. "
+"Fixed ownership of `Annotation.get_pixmap()`."
+msgstr ""
+
+#: ../../../changes.txt:397 496b0d05aff444749c3c411099f9c9cb
+msgid "Changes to build/release process:"
+msgstr ""
+
+#: ../../../changes.txt:399 d9b7bc724bba41a0b776ee7b2221bede
+msgid ""
+"If pip builds from source because an appropriate wheel is not available, "
+"we no longer require MuPDF to be pre-installed. Instead the required "
+"MuPDF source is embedded in the sdist and automatically built into "
+"PyMuPDF."
+msgstr ""
+
+#: ../../../changes.txt:401 766e8685f2e5467a93db8fe75575c0c0
+msgid ""
+"Various changes to ``setup.py`` to download the required MuPDF release as"
+" required. See comments at start of setup.py for details."
+msgstr ""
+
+#: ../../../changes.txt:403 11a6e9612417474394a2a26e205cc757
+msgid ""
+"Added ``.github/workflows/build_wheels.yml`` to control building of "
+"wheels on Github."
+msgstr ""
+
+#: ../../../changes.txt:407 57822be90f594b3e9cbf2d7426584607
+msgid "**Changes in Version 1.19.6**"
+msgstr ""
+
+#: ../../../changes.txt:409 dad308efd3c244fd9d318ab60ca58ae5
+msgid ""
+"**Fixed** `#1620 `_. The "
+":ref:`TextPage` created by :meth:`Page.get_textpage` will now be freed "
+"correctly (removed memory leak)."
+msgstr ""
+
+#: ../../../changes.txt:410 d1da2753922445df8445b6e4d9e5c719
+msgid ""
+"**Fixed** `#1601 `_. "
+"Document open errors should now be more concise and easier to interpret. "
+"In the course of this, two PyMuPDF-specific Python exceptions have been "
+"**added:**"
+msgstr ""
+
+#: ../../../changes.txt:412 68ac7db62b9945c7b0ab820265c8e12e
+msgid ""
+"``EmptyFileError`` -- raised when trying to create a :ref:`Document` "
+"(``fitz.open()``) from an empty file or zero-length memory."
+msgstr ""
+
+#: ../../../changes.txt:413 97f77819a0fa4fbdb950bba7e62ebe44
+msgid ""
+"``FileDataError`` -- raised when MuPDF encounters irrecoverable document "
+"structure issues."
+msgstr ""
+
+#: ../../../changes.txt:415 215178550f684acd99cf7823eab80b58
+msgid "**Added** :meth:`Page.load_widget` given a PDF field's xref."
+msgstr ""
+
+#: ../../../changes.txt:417 e06cf47046f048f39a2f0c329f2c12b0
+msgid ""
+"**Added** Dictionary :attr:`pdfcolor` which provide the about 500 colors "
+"defined as PDF color values with the lower case color name as key."
+msgstr ""
+
+#: ../../../changes.txt:419 c9a2231155434d7f967b30b737cdc17d
+msgid ""
+"**Added** algebra functionality to the :ref:`Quad` class. These objects "
+"can now also be added and subtracted among themselves, and be multiplied "
+"by numbers and matrices."
+msgstr ""
+
+#: ../../../changes.txt:421 96836d042d874744b3d8bcebbb699c1d
+msgid ""
+"**Added** new constants defining the default text extraction flags for "
+"more comfortable handling. Their naming convention is like "
+":data:`TEXTFLAGS_WORDS` for ``page.get_text(\"words\")``. See "
+":ref:`text_extraction_flags`."
+msgstr ""
+
+#: ../../../changes.txt:423 ac5ae2e80fec4abc9b6b4b97e9adb23d
+msgid ""
+"**Changed** :meth:`Page.annots` and :meth:`Page.widgets` to detect and "
+"prevent reloading the page (illegally) inside the iterator loops via "
+":meth:`Document.reload_page`. Doing this brings down the interpretor. "
+"Documented clean ways to do annotation and widget mass updates within "
+"properly designed loops."
+msgstr ""
+
+#: ../../../changes.txt:425 dd1a1033fab74c54ba9ba15cc0cbcfde
+msgid ""
+"**Changed** several internal utility functions to become standalone "
+"(\"SWIG inline\") as opposed to be part of the :ref:`Tools` class. This, "
+"among other things, increases the performance of geometry object "
+"creation."
+msgstr ""
+
+#: ../../../changes.txt:427 fd9b00bb4b194e1e9afaf1ad0213cd73
+msgid ""
+"**Changed** :meth:`Document.update_stream` to always accept stream "
+"updates - whether or not the dictionary object behind the xref already is"
+" a stream. Thus the former ``new`` parameter is now ignored and will be "
+"removed in v1.20.0."
+msgstr ""
+
+#: ../../../changes.txt:432 c4c35bc16fea4196a269c5dc7ccb8726
+msgid "**Changes in Version 1.19.5**"
+msgstr ""
+
+#: ../../../changes.txt:434 bb1575242fe94adb8eeb8550ea558117
+msgid ""
+"**Fixed** `#1518 `_. A "
+"limited \"fix\": in some cases, rectangles and quadrupels were not "
+"correctly encoded to support re-drawing by :ref:`Shape`."
+msgstr ""
+
+#: ../../../changes.txt:436 122e18568b0c41d6be313aba27296e19
+msgid ""
+"**Fixed** `#1521 `_. This"
+" had the same ultimate reason behind issue #1510."
+msgstr ""
+
+#: ../../../changes.txt:438 c6f38d696c084e55a5c6097cc77194e4
+msgid ""
+"**Fixed** `#1513 `_. Some"
+" Optional Content functions did not support non-ASCII characters."
+msgstr ""
+
+#: ../../../changes.txt:440 f4f1b10a7a2d422d965f7e05f0cf2982
+msgid ""
+"**Fixed** `#1510 `_. "
+"Support more soft-mask image subtypes."
+msgstr ""
+
+#: ../../../changes.txt:442 5c7230abae7644329adf9f0f69df8bf9
+msgid ""
+"**Fixed** `#1507 `_. "
+"Immunize against items in the outlines chain, that are ``\"null\"`` "
+"objects."
+msgstr ""
+
+#: ../../../changes.txt:444 c904f452e8b04cf388e973fb829300a7
+msgid ""
+"**Fixed** re-opened `#1417 "
+"`_. (\"too many open "
+"files\"). This was due to insufficient calls to MuPDF's "
+"``fz_drop_document()``. This also fixes `#1550 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:446 48b1e2812e3c4a3894071b5cfc3fc3fd
+msgid ""
+"**Fixed** several undocumented issues in relation to incorrectly setting "
+"the text span origin :data:`point_like`."
+msgstr ""
+
+#: ../../../changes.txt:448 4082863789614b8cb07a07ea246686a8
+msgid ""
+"**Fixed** undocumented error computing the character bbox in method "
+":meth:`Page.get_texttrace` when text is **flipped** (as opposed to just "
+"rotated)."
+msgstr ""
+
+#: ../../../changes.txt:450 e2008315256d44878b7e3d8fd723c1be
+msgid ""
+"**Added** items to the dictionary returned by :meth:`image_properties`: "
+"``orientation`` and ``transform`` report the natural image orientation "
+"(EXIF data)."
+msgstr ""
+
+#: ../../../changes.txt:452 badc87e6c0e94dac81009db32829cd02
+msgid ""
+"**Added** method :meth:`Document.xref_copy`. It will make a given target "
+"PDF object an exact copy of a source object."
+msgstr ""
+
+#: ../../../changes.txt:457 07abb3b2c1064fb280ba83d3842a0a61
+msgid "**Changes in Version 1.19.4**"
+msgstr ""
+
+#: ../../../changes.txt:460 e3452f6f33264ec9b39eea4dd983db3b
+msgid ""
+"**Fixed** `#1505 `_. "
+"Immunize against circular outline items."
+msgstr ""
+
+#: ../../../changes.txt:462 99502c4ad1df4a0680da102986c8fd92
+msgid ""
+"**Fixed** `#1484 `_. "
+"Correct CropBox coordinates are now returned in all situations."
+msgstr ""
+
+#: ../../../changes.txt:464 4340b260ce284cafb53b626f888cfc5a
+msgid "**Fixed** `#1479 `_."
+msgstr ""
+
+#: ../../../changes.txt:466 cd8868467ccc4ad9b147a83ca7c0cf35
+msgid ""
+"**Fixed** `#1474 `_. "
+"TextPage objects are now properly deleted again."
+msgstr ""
+
+#: ../../../changes.txt:468 e6c4441dd15444609127c51915381d3a
+msgid ""
+"**Added** :ref:`Page` methods and attributes for PDF ``/ArtBox``, "
+"``/BleedBox``, ``/TrimBox``."
+msgstr ""
+
+#: ../../../changes.txt:470 1b891dafb4034bd6bd986a40f9deb840
+msgid ""
+"**Added** global attribute :attr:`TESSDATA_PREFIX` for easy checking of "
+"OCR support."
+msgstr ""
+
+#: ../../../changes.txt:472 4f52d31327e04c9c977cfd220e98a2c9
+msgid ""
+"**Changed** :meth:`Document.xref_set_key` such that dictionary keys will "
+"physically be removed if set to value ``\"null\"``."
+msgstr ""
+
+#: ../../../changes.txt:474 7ba4402651064177ba7f23fb7ce2e72a
+msgid ""
+"**Changed** :meth:`Document.extract_font` to optionally return a "
+"dictionary (instead of a tuple)."
+msgstr ""
+
+#: ../../../changes.txt:478 5886a74bd7fe4c56ae430ab65080a9b3
+msgid "**Changes in Version 1.19.3**"
+msgstr ""
+
+#: ../../../changes.txt:480 814ba42ceee545ab8414190f8ea9d430
+msgid ""
+"This patch version implements minor improvements for :ref:`Pixmap` and "
+"also some important fixes."
+msgstr ""
+
+#: ../../../changes.txt:482 9dbabbd81b6f4c49b2a6f1d575bec97e
+msgid ""
+"**Fixed** `#1351 `_."
+" Reverted code that introduced the memory growth in v1.18.15."
+msgstr ""
+
+#: ../../../changes.txt:484 0d7bc5b4b88b4baa909b69bdc3fec12b
+msgid ""
+"**Fixed** `#1417 `_."
+" Developped circumvention for growth of open file handles using "
+":meth:`Document.insert_pdf`."
+msgstr ""
+
+#: ../../../changes.txt:486 4279258b1d954317a21fec2886348ea6
+msgid ""
+"**Fixed** `#1418 `_."
+" Developped circumvention for memory growth using "
+":meth:`Document.insert_pdf`."
+msgstr ""
+
+#: ../../../changes.txt:488 04fc6520d7fd47a4a4d2831ba28c8e82
+msgid ""
+"**Fixed** `#1430 `_."
+" Developped circumvention for mass pixmap generations of document pages."
+msgstr ""
+
+#: ../../../changes.txt:490 d96bff482c554b4dbf737cbad3a09f00
+msgid ""
+"**Fixed** `#1433 `_."
+" Solves a bbox error for some Type 3 font in PyMuPDF text processing."
+msgstr ""
+
+#: ../../../changes.txt:492 6f27172e72e545f79617bd31c3e6f795
+msgid ""
+"**Added** :meth:`Pixmap.color_topusage` to determine the share of the "
+"most frequently used color. Solves `#1397 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:494 26a7b0f497bb4d56b9a998787c5321ce
+msgid ""
+"**Added** :meth:`Pixmap.warp` which makes a new pixmap from a given "
+"arbitrary convex quad inside the pixmap."
+msgstr ""
+
+#: ../../../changes.txt:496 66c7d4894f784947916c212ab9dd37d0
+msgid ""
+"**Added** :attr:`Annot.irt_xref` and :meth:`Annot.set_irt_xref` to "
+"inquire or set the `/IRT` (\"In Responde To\") property of an annotation."
+" Implements `#1450 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:498 bd648a284e8b402e9d8880a67a5d2e85
+msgid ""
+"**Added** :meth:`Rect.torect` and :meth:`IRect.torect` which compute a "
+"matrix that transforms to a given other rectangle."
+msgstr ""
+
+#: ../../../changes.txt:500 16b1e2d856954f7496ff6b5092235d84
+msgid ""
+"**Changed** :meth:`Pixmap.color_count` to also return the count of each "
+"color."
+msgstr ""
+
+#: ../../../changes.txt:501 b31afafe5f544c188475fb775f9a462c
+msgid ""
+"**Changed** :meth:`Page.get_texttrace` to also return correct span and "
+"character bboxes if ``span[\"dir\"] != (1, 0)``."
+msgstr ""
+
+#: ../../../changes.txt:505 789b4fcb5b0a422cbe8c044c996c637d
+msgid "**Changes in Version 1.19.2**"
+msgstr ""
+
+#: ../../../changes.txt:507 72f271f52b87482aad937eeb50460f55
+msgid ""
+"This patch version implements minor improvements for "
+":meth:`Page.get_drawings` and also some important fixes."
+msgstr ""
+
+#: ../../../changes.txt:509 f6b991cd14cf4101b7b1bf280ca42dfa
+msgid ""
+"**Fixed** `#1388 `_."
+" Fixed intermittent memory corruption when insert or updating "
+"annotations."
+msgstr ""
+
+#: ../../../changes.txt:511 85c46015773c4e5b8504d6190177573d
+msgid ""
+"**Fixed** `#1375 `_."
+" Inconsistencies between line numbers as returned by the \"words\" and "
+"the \"dict\" options of :meth:`Page.get_text` have been corrected."
+msgstr ""
+
+#: ../../../changes.txt:513 7a5501f34464431fa9fe9fc0bb75cc4c
+msgid ""
+"**Fixed** `#1364 `_. The "
+"check for being a ``\"rawdict\"`` span in :meth:`recover_span_quad` now "
+"works correctly."
+msgstr ""
+
+#: ../../../changes.txt:515 184a0450cb864719a9bf351e5bc4b2fd
+msgid ""
+"**Fixed** `#1342 `_. "
+"Corrected the check for rectangle infiniteness in "
+":meth:`Page.show_pdf_page`."
+msgstr ""
+
+#: ../../../changes.txt:517 a92c38891c634c2f97b6d1e90034f001
+msgid ""
+"**Changed** :meth:`Page.get_drawings`, :meth:`Page.get_cdrawings` to "
+"return an indicator on the area orientation covered by a rectangle. This "
+"implements `#1355 `_. "
+"Also, the recognition rate for rectangles and quads has been "
+"significantly improved."
+msgstr ""
+
+#: ../../../changes.txt:519 f178b3faaccf4c23913a6b338b61f8dc
+msgid ""
+"**Changed** all text search and extraction methods to set the new "
+"``flags`` option ``TEXT_MEDIABOX_CLIP`` to ON by default. That bit causes"
+" the automatic suppression of all characters that are completely outside "
+"a page's mediabox (in as far as that notion is supported for a document "
+"type). This eliminates the need for using ``clip=page.rect`` or similar "
+"for omitting text outside the visible area."
+msgstr ""
+
+#: ../../../changes.txt:521 9fcee124856b4181abedd347e9394165
+msgid ""
+"**Added** parameter ``\"dpi\"`` to :meth:`Page.get_pixmap` and "
+":meth:`Annot.get_pixmap`. When given, parameter ``\"matrix\"`` is "
+"ignored, and a :ref:`Pixmap` with the desired dots per inch is created."
+msgstr ""
+
+#: ../../../changes.txt:523 e9da5637f6054e75a53d5fdd5fa83953
+msgid ""
+"**Added** attributes :attr:`Pixmap.is_monochrome` and "
+":attr:`Pixmap.is_unicolor` allowing fast checks of pixmap properties. "
+"Addresses `#1397 `_."
+msgstr ""
+
+#: ../../../changes.txt:525 5f8d797cc42e4a028d4ee8c7dbca68ee
+msgid ""
+"**Added** method :meth:`Pixmap.color_count` to determine the unique "
+"colors in the pixmap."
+msgstr ""
+
+#: ../../../changes.txt:527 de281f860f89447e9090aa57c6cec242
+msgid ""
+"**Added** boolean parameter ``\"compress\"`` to PDF document method "
+":meth:`Document.update_stream`. Addresses / enables solution for `#1408 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:531 a1ecf49929b94d47a4517d9f8d93d8ff
+msgid "**Changes in Version 1.19.1**"
+msgstr ""
+
+#: ../../../changes.txt:533 80a791e082eb46bf8cef97f6d1d9ec9d
+msgid ""
+"This is the first patch version to support MuPDF v1.19.0. Apart from one "
+"bug fix, it includes important improvements for OCR support and the "
+"option to **sort extracted text** to the standard reading order \"from "
+"top-left to bottom-right\"."
+msgstr ""
+
+#: ../../../changes.txt:535 d828b8c5fe8e47259ced8b71a03ecd95
+msgid ""
+"**Fixed** `#1328 `_. "
+"\"words\" text extraction again returns correct ``(x0, y0)`` coordinates."
+msgstr ""
+
+#: ../../../changes.txt:537 9af730f775bf4530a0297d37735712a9
+msgid ""
+"**Changed** :meth:`Page.get_textpage_ocr`: it now supports parameter "
+"``dpi`` to control OCR quality. It is also possible to choose whether the"
+" **full page** should be OCRed or **only the images displayed** by the "
+"page."
+msgstr ""
+
+#: ../../../changes.txt:539 e12982e170e04e8cad81e4ee0d522bed
+msgid ""
+"**Changed** :meth:`Page.get_drawings` and :meth:`Page.get_cdrawings` to "
+"automatically convert colors to RGB color tuples. Implements `#1332 "
+"`_. Similar change "
+"was applied to :meth:`Page.get_texttrace`."
+msgstr ""
+
+#: ../../../changes.txt:541 d4480466202544389d003e75b101b7ee
+msgid ""
+"**Changed** :meth:`Page.get_text` to support a parameter ``sort``. If set"
+" to ``True`` the output is conveniently sorted."
+msgstr ""
+
+#: ../../../changes.txt:546 4ff33fadbbbe445894616f886b66e616
+msgid "**Changes in Version 1.19.0**"
+msgstr ""
+
+#: ../../../changes.txt:548 589499cf480a4d748e236c6d9228aaad
+msgid ""
+"This is the first version supporting MuPDF 1.19.*, published 2021-10-05. "
+"It introduces many new features compared to the previous version 1.18.*."
+msgstr ""
+
+#: ../../../changes.txt:550 35782b5cb1944485a4b2ac37311d0d1a
+msgid ""
+"PyMuPDF has now picked up integrated Tesseract OCR support, which was "
+"already present in MuPDF v1.18.0."
+msgstr ""
+
+#: ../../../changes.txt:552 dc6b1ee9449841e5a6c94dc16a2d8bea
+msgid ""
+"Supported images can be OCRed via their :ref:`Pixmap` which results in a "
+"1-page PDF with a text layer."
+msgstr ""
+
+#: ../../../changes.txt:553 ede34357445b4ce4b9900a27965e718b
+msgid ""
+"All supported document pages (i.e. not only PDFs), can be OCRed using "
+"specialized text extraction methods. The result is a mixture of standard "
+"and OCR text (depending on which part of the page was deemed to require "
+"OCRing) that can be searched and extracted without restrictions."
+msgstr ""
+
+#: ../../../changes.txt:554 9b51826af75c481ca8f4fc2f5bbe52b1
+msgid ""
+"All this requires an independent installation of Tesseract. MuPDF "
+"actually (only) needs the location of Tesseract's ``\"tessdata\"`` "
+"folder, where its language support data are stored. This location must be"
+" available as environment variable ``TESSDATA_PREFIX``."
+msgstr ""
+
+#: ../../../changes.txt:556 198211f49b564b7cb93f1bdd33117e8f
+msgid ""
+"A new MuPDF feature is **journalling PDF updates**, which is also "
+"supported by this PyMuPDF version. Changes may be logged, rolled back or "
+"replayed, allowing to implement a whole new level of control over PDF "
+"document integrity -- similar to functions present in modern database "
+"systems."
+msgstr ""
+
+#: ../../../changes.txt:558 0fec2b6b17e640fe993af98884d0bc83
+msgid ""
+"A third feature (unrelated to the new MuPDF version) includes the ability"
+" to detect when page **objects cover or hide each other**. It is now e.g."
+" possible to see that text is covered by a drawing or an image."
+msgstr ""
+
+#: ../../../changes.txt:560 ae73ca993eea4095aaaf829c0046238e
+msgid ""
+"**Changed** terminology and meaning of important geometry concepts: "
+"Rectangles are now characterized as *finite*, *valid* or *empty*, while "
+"the definitions of these terms have also changed. Rectangles specifically"
+" are now thought of being \"open\": not all corners and sides are "
+"considered part of the retangle. Please do read the :ref:`Rect` section "
+"for details."
+msgstr ""
+
+#: ../../../changes.txt:562 2d113987c36244a8894b085b7c32c050
+msgid ""
+"**Added** new parameter `\"no_new_id\"` to :meth:`Document.save` / "
+":meth:`Document.tobytes` methods. Use it to suppress updating the second "
+"item of the document ``/ID`` which in PDF indicates that the original "
+"file has been updated. If the PDF has no ``/ID`` at all yet, then no new "
+"one will be created either."
+msgstr ""
+
+#: ../../../changes.txt:564 f6bfc89d22ee4c5a88e388f17f040c5e
+msgid ""
+"**Added** a **journalling facility** for PDF updates. This allows logging"
+" changes, undoing or redoing them, or saving the journal for later use. "
+"Refer to :meth:`Document.journal_enable` and friends."
+msgstr ""
+
+#: ../../../changes.txt:566 90c63e360a164fa79ae3584fb6158ab1
+msgid ""
+"**Added** new :ref:`Pixmap` methods :meth:`Pixmap.pdfocr_save` and "
+":meth:`Pixmap.pdfocr_tobytes`, which generate a 1-page PDF containing the"
+" pixmap as PNG image with OCR text layer."
+msgstr ""
+
+#: ../../../changes.txt:568 88c66709c0c14bacb775ca5d6e0c0537
+msgid ""
+"**Added** :meth:`Page.get_textpage_ocr` which executes optical character "
+"recognition for the page, then extracts the results and stores them "
+"together with \"normal\" page content in a :ref:`TextPage`. Use or reuse "
+"this object in subsequent text extractions and text searches to avoid "
+"multiple efforts. The existing text search and text extraction methods "
+"have been extended to support a separately created textpage -- see next "
+"item."
+msgstr ""
+
+#: ../../../changes.txt:570 d43efd6439fc48c9ac4ee06d8b2c22d5
+msgid ""
+"**Added** a new parameter ``textpage`` to text extraction and text search"
+" methods. This allows reuse of a previously created :ref:`TextPage` and "
+"thus achieves significant runtime benefits -- which is especially "
+"important for the new OCR features. But \"normal\" text extractions can "
+"definitely also benefit."
+msgstr ""
+
+#: ../../../changes.txt:572 5b97282e0c93408ea7ab575e77a36610
+msgid ""
+"**Added** :meth:`Page.get_texttrace`, a technical method delivering low-"
+"level text character properties. It was present before as a private "
+"method, but the author felt it now is mature enough to be officially "
+"available. It specifically includes a \"sequence number\" which indicates"
+" the page appearance build operation that painted the text."
+msgstr ""
+
+#: ../../../changes.txt:574 c65b874c4d804e13b2bb18cdb43a821b
+msgid ""
+"**Added** :meth:`Page.get_bboxlog` which delivers the list of rectangles "
+"of page objects like text, images or drawings. Its significance lies in "
+"its sequence: rectangles intersecting areas with a lower index are "
+"covering or hiding them."
+msgstr ""
+
+#: ../../../changes.txt:576 034d16a243bb4713a67cb3adea886c0e
+msgid ""
+"**Changed** methods :meth:`Page.get_drawings` and "
+":meth:`Page.get_cdrawings` to include a \"sequence number\" indicating "
+"the page appearance build operation that created the drawing."
+msgstr ""
+
+#: ../../../changes.txt:578 0efc4477cdc249258dea3bd1274b6421
+msgid ""
+"**Fixed** `#1311 `_. "
+"Field values in comboboxes should now be handled correctly."
+msgstr ""
+
+#: ../../../changes.txt:579 b14767a262bb47bb8eaf739164b55653
+msgid ""
+"**Fixed** `#1290 `_. "
+"Error was caused by incorrect rectangle emptiness check, which is fixed "
+"due to new geometry logic of this version."
+msgstr ""
+
+#: ../../../changes.txt:580 627e84f84cb242c18a48f1f57ba5382e
+msgid ""
+"**Fixed** `#1286 `_. Text"
+" alignment for redact annotations is working again."
+msgstr ""
+
+#: ../../../changes.txt:581 a05d5ec17f9f4d6c9ac297ea07138999
+msgid ""
+"**Fixed** `#1287 `_. "
+"Infinite loop issue for non-Windows systems when applying some redactions"
+" has been resolved."
+msgstr ""
+
+#: ../../../changes.txt:582 60c4527ed23444e2b749685d26ffdf62
+msgid ""
+"**Fixed** `#1284 `_. Text"
+" layout destruction after applying redactions in some cases has been "
+"resolved."
+msgstr ""
+
+#: ../../../changes.txt:586 d1d9a1674dab40ba8a4412f60f406e8b
+msgid "**Changes in Version 1.18.18 / 1.18.19**"
+msgstr ""
+
+#: ../../../changes.txt:588 92fad59079b64348b7cab8ad718494a8
+msgid ""
+"**Fixed** issue `#1266 "
+"`_. Failure to set "
+":attr:`Pixmap.samples` in important cases, was hotfixed in a new version "
+"1.18.19."
+msgstr ""
+
+#: ../../../changes.txt:590 9271baa4166346f2a0cf2890d63ac957
+msgid ""
+"**Fixed** issue `#1257 "
+"`_. Removing the read-"
+"only flag from PDF fields is now possible."
+msgstr ""
+
+#: ../../../changes.txt:592 a54017d38ae54e0aa19326be29014852
+msgid ""
+"**Fixed** issue `#1252 "
+"`_. Now correctly "
+"specifying the ``zoom`` value for PDF link annotations."
+msgstr ""
+
+#: ../../../changes.txt:594 0c356456b5004a4dbdfc47ec5231d3ab
+msgid ""
+"**Fixed** issue `#1244 "
+"`_. Now correctly "
+"computing the transform matrix in :meth:`Page.get_image__bbox`."
+msgstr ""
+
+#: ../../../changes.txt:596 7ca7319d6ba34b858538e03689ee3a40
+msgid ""
+"**Fixed** issue `#1241 "
+"`_. Prevent returning "
+"artifact characters in :meth:`Page.get_textbox`, which happened in "
+"certain constellations."
+msgstr ""
+
+#: ../../../changes.txt:598 99ba08073027429fa799973f730db4c8
+msgid ""
+"**Fixed** issue `#1234 "
+"`_. Avoid creating "
+"infinite rectangles in corner cases -- :meth:`Page.get_drawings`, "
+":meth:`Page.get_cdrawings`."
+msgstr ""
+
+#: ../../../changes.txt:600 fa78a338a07a4b48a194b9b596cd652e
+msgid ""
+"**Added** test data and test scripts to the source PyPI source "
+"distribution."
+msgstr ""
+
+#: ../../../changes.txt:604 927332fd8a824c32adeb5b26e21c2e4a
+msgid "**Changes in Version 1.18.17**"
+msgstr ""
+
+#: ../../../changes.txt:606 2bcd11d43ecb4ddfa0fa5446c0e6d6ec
+msgid ""
+"Focus of this version are major performance improvements of selected "
+"functions."
+msgstr ""
+
+#: ../../../changes.txt:608 b978d1dbd1844392bffd33c07930315a
+msgid ""
+"**Fixed** issue `#1199 "
+"`_. Using a non-existing "
+"page number in :meth:`Document.get_page_images` and friends will no "
+"longer lead to segfaults."
+msgstr ""
+
+#: ../../../changes.txt:610 15b545b86347496fadbcce25bb6c06f4
+msgid ""
+"**Changed** :meth:`Page.get_drawings` to now differentiate between "
+"\"stroke\", \"fill\" and combined paths. Paths containing more than one "
+"rectangle (i.e. \"re\" items) are now supported. Extracting \"clipped\" "
+"paths is now available as an option."
+msgstr ""
+
+#: ../../../changes.txt:612 4e13a6b671e84fca862108d0ca46a1c7
+msgid ""
+"**Added** :meth:`Page.get_cdrawings`, performance-optimized version of "
+":meth:`Page.get_drawings`."
+msgstr ""
+
+#: ../../../changes.txt:614 4b6876d0370c4e4abec1135cc5413deb
+msgid ""
+"**Added** :attr:`Pixmap.samples_mv`, *memoryview* of a pixmap's pixel "
+"area. Does not copy and thus always accesses the current state of that "
+"area."
+msgstr ""
+
+#: ../../../changes.txt:616 5d123e2567c94358a11ec60a6bbb8850
+msgid ""
+"**Added** :attr:`Pixmap.samples_ptr`, Python \"pointer\" to a pixmap's "
+"pixel area. Allows much faster creation (factor 800+) of Qt images."
+msgstr ""
+
+#: ../../../changes.txt:622 2756848732dc41948d5eca387055feea
+msgid "**Changes in Version 1.18.16**"
+msgstr ""
+
+#: ../../../changes.txt:624 3e802a1a02134447aaa855670465be86
+msgid ""
+"**Fixed** issue `#1184 "
+"`_. Existing PDF widget "
+"fonts in a PDF are now accepted (i.e. not forcedly changed to a Base-14 "
+"font)."
+msgstr ""
+
+#: ../../../changes.txt:626 bbbfa1cb97c140ad9967f6968ef0f240
+msgid ""
+"**Fixed** issue `#1154 "
+"`_. Text search hits "
+"should now be correct when ``clip`` is specified."
+msgstr ""
+
+#: ../../../changes.txt:628 c232c4e785914be3a8bf5c9dfc38e651
+msgid "**Fixed** issue `#1152 `_."
+msgstr ""
+
+#: ../../../changes.txt:630 ced4bff6980c40e292846929dffa298c
+msgid "**Fixed** issue `#1146 `_."
+msgstr ""
+
+#: ../../../changes.txt:632 2221ece0785b4434b759129c1ea6107a
+msgid ""
+"**Added** :attr:`Link.flags` and :meth:`Link.set_flags` to the "
+":ref:`Link` class. Implements enhancement requests `#1187 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:634 d660a317aa6a41a4abf679a9e9e1f227
+msgid ""
+"**Added** option to *simulate* :meth:`TextWriter.fill_textbox` output for"
+" predicting the number of lines, that a given text would occupy in the "
+"textbox."
+msgstr ""
+
+#: ../../../changes.txt:636 7a0adc73e2494b03adc01aacacc40ff7
+msgid ""
+"**Added** text output support as subcommand `gettext` to the ``fitz`` CLI"
+" module. Most importantly, original **physical text layout** reproduction"
+" is now supported."
+msgstr ""
+
+#: ../../../changes.txt:641 1389da583cc4419b8a934f8ba23e7527
+msgid "**Changes in Version 1.18.15**"
+msgstr ""
+
+#: ../../../changes.txt:643 3f225cde1daf40e8920ca6d7099aebfb
+msgid ""
+"**Fixed** issue `#1088 "
+"`_. Removing an "
+"annotation's fill color should now work again both ways, using the "
+"``fill_color=[]`` argument in :meth:`Annot.update` as well as ``fill=[]``"
+" in :meth:`Annot.set_colors`."
+msgstr ""
+
+#: ../../../changes.txt:645 c48914a7605843e1a92211eb39b03601
+msgid ""
+"**Fixed** issue `#1081 "
+"`_. "
+":meth:`Document.subset_fonts`: fixed an error which created wrong "
+"character widths for some fonts."
+msgstr ""
+
+#: ../../../changes.txt:647 1b01fe84f25a4d23ace14c5487269bbe
+msgid ""
+"**Fixed** issue `#1078 "
+"`_. :meth:`Page.get_text`"
+" and other methods related to text extraction: changed the default value "
+"of the :ref:`TextPage` ``flags`` parameter. All whitespace and "
+":data:`ligatures` are now preserved."
+msgstr ""
+
+#: ../../../changes.txt:649 c91f61cd222041de9014702a20e4f9f7
+msgid ""
+"**Fixed** issue `#1085 "
+"`_. The old *snake_cased*"
+" alias of ``fitz.detTextlength`` is now defined correctly."
+msgstr ""
+
+#: ../../../changes.txt:651 ab7c259c4f2d463fa157e8102e91c038
+msgid ""
+"**Changed** :meth:`Document.subset_fonts` will now correctly prefix font "
+"subsets with an appropriate six letter uppercase tag, complying with the "
+"PDF specification."
+msgstr ""
+
+#: ../../../changes.txt:653 1708629cbf44443e8a9a4fc861a4a860
+msgid ""
+"**Added** new method :meth:`Widget.button_states` which returns the "
+"possible values that a button-type field can have when being set to "
+"\"on\" or \"off\"."
+msgstr ""
+
+#: ../../../changes.txt:655 dead2786541e4d6aaceb11f7d9ee5734
+msgid ""
+"**Added** support of text with **Small Capital** letters to the "
+":ref:`Font` and :ref:`TextWriter` classes. This is reflected by an "
+"additional bool parameter ``small_caps`` in various of their methods."
+msgstr ""
+
+#: ../../../changes.txt:660 bc27d78da3994c7a91c56b950b17b73b
+msgid "**Changes in Version 1.18.14**"
+msgstr ""
+
+#: ../../../changes.txt:662 41656df5813e4a188b8a22a994e5c4d4
+msgid ""
+"**Finished** implementing new, \"snake_cased\" names for methods and "
+"properties, that were \"camelCased\" and awkward in many aspects. At the "
+"end of this documentation, there is section :ref:`Deprecated` with more "
+"background and a mapping of old to new names."
+msgstr ""
+
+#: ../../../changes.txt:664 6caf53dcdd5f4efeb3e3c6af4035a40d
+msgid ""
+"**Fixed** issue `#1053 "
+"`_. "
+":meth:`Page.insert_image`: when given, include image mask in the hash "
+"computation."
+msgstr ""
+
+#: ../../../changes.txt:666 f135c0e3b2fb472e9d707b4ec17d0218
+msgid ""
+"**Fixed** issue `#1043 "
+"`_. Added "
+"``Pixmap.getPNGdata`` to the aliases of :meth:`Pixmap.tobytes`."
+msgstr ""
+
+#: ../../../changes.txt:668 ed14ac953c84494986893bc05b62a6cf
+msgid ""
+"**Fixed** an internal error when computing the enveloping rectangle of "
+"drawn paths as returned by :meth:`Page.get_drawings`."
+msgstr ""
+
+#: ../../../changes.txt:670 b82ece9a78c9491ab3a5d849af420637
+msgid ""
+"**Fixed** an internal error occasionally causing loops when outputting "
+"text via :meth:`TextWriter.fill_textbox`."
+msgstr ""
+
+#: ../../../changes.txt:672 22960c5034e04ddf88cc9af888b5195d
+msgid ""
+"**Added** :meth:`Font.char_lengths`, which returns a tuple of character "
+"widths of a string."
+msgstr ""
+
+#: ../../../changes.txt:674 7d93995625254472b2743b3a45fe7519
+msgid ""
+"**Added** more ways to specify pages in :meth:`Document.delete_pages`. "
+"Now a sequence (list, tuple or range) can be specified, and the Python "
+"``del`` statement can be used. In the latter case, Python ``slices`` are "
+"also accepted."
+msgstr ""
+
+#: ../../../changes.txt:676 851878d77a6a4b9491d2eeb812a43381
+msgid ""
+"**Changed** :meth:`Document.del_toc_item`, which disables a single item "
+"of the TOC: previously, the title text was removed. Instead, now the "
+"complete item will be shown grayed-out by supporting viewers."
+msgstr ""
+
+#: ../../../changes.txt:681 5458941bc24545db89fb1cb9766eeca6
+msgid "**Changes in Version 1.18.13**"
+msgstr ""
+
+#: ../../../changes.txt:683 f724980bb30f4e47a556970baf9b07bc
+msgid "**Fixed** issue `#1014 `_."
+msgstr ""
+
+#: ../../../changes.txt:684 ddbed887789442ae94bb5f94f28c0e91
+msgid ""
+"**Fixed** an internal memory leak when computing image bboxes -- "
+":meth:`Page.get_image_bbox`."
+msgstr ""
+
+#: ../../../changes.txt:685 e0a248e8e6fe42bb82cc2145c91d90c4
+msgid ""
+"**Added** support for low-level access and modification of the PDF "
+"trailer. Applies to :meth:`Document.xref_get_keys`, "
+":meth:`Document.xref_get_key`, and :meth:`Document.xref_set_key`."
+msgstr ""
+
+#: ../../../changes.txt:686 5662b1da2c444f9da1ab79ce3a247697
+msgid "**Added** documentation for maintaining private entries in PDF metadata."
+msgstr ""
+
+#: ../../../changes.txt:687 ec4261fd156c48c2a88a0a7775c705dd
+msgid ""
+"**Added** documentation for handling transparent image insertions, "
+":meth:`Page.insert_image`."
+msgstr ""
+
+#: ../../../changes.txt:688 eda867ab64e34d9ebbbf32339e64b7fa
+msgid ""
+"**Added** :meth:`Page.get_image_rects`, an improved version of "
+":meth:`Page.get_image_bbox`."
+msgstr ""
+
+#: ../../../changes.txt:689 ee3bb32b839d4d88bfc0776dcdede292
+msgid ""
+"**Changed** :meth:`Document.delete_pages` to support various ways of "
+"specifying pages to delete. Implements `#1042 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:690 74d64cc237154635b45d10806f981fc0
+msgid ""
+"**Changed** :meth:`Page.insert_image` to also accept the xref of an "
+"existing image in the file. This allows \"copying\" images between pages,"
+" and extremely fast mutiple insertions."
+msgstr ""
+
+#: ../../../changes.txt:691 9eaaea325a6344f8b28ea058c86a0d88
+msgid ""
+"**Changed** :meth:`Page.insert_image` to also accept the integer "
+"parameter ``alpha``. To be used for performance improvements."
+msgstr ""
+
+#: ../../../changes.txt:692 4e6c9e8f919a468e91ed8e0ab4eaab56
+msgid ""
+"**Changed** :meth:`Pixmap.set_alpha` to support new parameters for pre-"
+"multiplying colors with their alpha values and setting a specific color "
+"to fully transparent (e.g. white)."
+msgstr ""
+
+#: ../../../changes.txt:693 9f4d6d8e7aa74e1491614505a66e9319
+msgid ""
+"**Changed** :meth:`Document.embfile_add` to automatically set creation "
+"and modification date-time. Correspondingly, :meth:`Document.embfile_upd`"
+" automatically maintains modification date-time (``/ModDate`` PDF key), "
+"and :meth:`Document.embfile_info` correspondingly reports these data. In "
+"addition, the embedded file's associated \"collection item\" is included "
+"via its :data:`xref`. This supports the development of PDF portfolio "
+"applications."
+msgstr ""
+
+#: ../../../changes.txt:697 9d98e70df9fc437d8830438da9070b4e
+msgid "**Changes in Version 1.18.11 / 1.18.12**"
+msgstr ""
+
+#: ../../../changes.txt:699 c1f2fb42261f4c15a15524e22ecba2f8
+msgid ""
+"**Fixed** issue `#972 `_. "
+"Improved layout of source distribution material."
+msgstr ""
+
+#: ../../../changes.txt:700 4e239a90d20d4cbb936cf9400437dc26
+msgid ""
+"**Fixed** issue `#962 `_. "
+"Stabilized Linux distribution detection for generating PyMuPDF from "
+"sources."
+msgstr ""
+
+#: ../../../changes.txt:701 937833565d004f34aea063a1f4fda8ff
+msgid ""
+"**Added:** :meth:`Page.get_xobjects` delivers the result of "
+":meth:`Document.get_page_xobjects`."
+msgstr ""
+
+#: ../../../changes.txt:702 4f84ca04f90348bf96eb457fd745f6fe
+msgid ""
+"**Added:** :meth:`Page.get_image_info` delivers meta information for all "
+"images shown on the page."
+msgstr ""
+
+#: ../../../changes.txt:703 d22c6fbe38c94aef8d4198d77b7847bb
+msgid ""
+"**Added:** :meth:`Tools.mupdf_display_warnings` allows setting on / off "
+"the display of MuPDF-generated warnings. The default is off."
+msgstr ""
+
+#: ../../../changes.txt:704 e73c8a0a4f3d4cc0a17c9150170bf065
+msgid ""
+"**Added:** :meth:`Document.ez_save` convenience alias of "
+":meth:`Document.save` with some different defaults."
+msgstr ""
+
+#: ../../../changes.txt:705 f648bd1ae6b547f09d6b4737d69e3ac8
+msgid ""
+"**Changed:** Image extractions of document pages now also contain the "
+"image's **transformation matrix**. This concerns "
+":meth:`Page.get_image_bbox` and the DICT, JSON, RAWDICT, and RAWJSON "
+"variants of :meth:`Page.get_text`."
+msgstr ""
+
+#: ../../../changes.txt:710 d6800117a7bb4e66a8f25f5f572c8d7d
+msgid "**Changes in Version 1.18.10**"
+msgstr ""
+
+#: ../../../changes.txt:712 3a6e1a75b97e4d79a1d5f15f6e0c1b9a
+msgid ""
+"**Fixed** issue `#941 `_. "
+"Added old aliases for :meth:`DisplayList.get_pixmap` and "
+":meth:`DisplayList.get_textpage`."
+msgstr ""
+
+#: ../../../changes.txt:713 daeb4bdc3b494f6dbdd51416a8762a2b
+msgid ""
+"**Fixed** issue `#929 `_. "
+"Stabilized removal of JavaScript objects with :meth:`Document.scrub`."
+msgstr ""
+
+#: ../../../changes.txt:714 eef62ed4124145f1af26fb539d4f4779
+msgid ""
+"**Fixed** issue `#927 `_. "
+"Removed a loop in the reworked :meth:`TextWriter.fill_textbox`."
+msgstr ""
+
+#: ../../../changes.txt:715 bf4030df20204bf0b126962dff5cfb85
+msgid ""
+"**Changed** :meth:`Document.xref_get_keys` and "
+":meth:`Document.xref_get_key` to also allow accessing the PDF trailer "
+"dictionary. This can be done by using `-1` as the xref number argument."
+msgstr ""
+
+#: ../../../changes.txt:716 354d80a7cdbc4b6396c69312bc67e996
+msgid ""
+"**Added** a number of functions for reconstructing the quads for text "
+"lines, spans and characters extracted by :meth:`Page.get_text` options "
+"\"dict\" and \"rawdict\". See :meth:`recover_quad` and friends."
+msgstr ""
+
+#: ../../../changes.txt:717 623dff961e1a454fa4df0037bb02a13d
+msgid ""
+"**Added** :meth:`Tools.unset_quad_corrections` to suppress character quad"
+" corrections (occasionally required for erroneous fonts)."
+msgstr ""
+
+#: ../../../changes.txt:721 2f4fcc2cd25941d2af3151046e300824
+msgid "**Changes in Version 1.18.9**"
+msgstr ""
+
+#: ../../../changes.txt:724 b2f2ea58f191486cb6a747f606defe0a
+msgid ""
+"**Fixed** issue `#888 `_. "
+"Removed ambiguous statements concerning PyMuPDF's license, which is now "
+"clearly stated to be GNU AGPL V3."
+msgstr ""
+
+#: ../../../changes.txt:725 2b39381037a347bfa33b36037a4ee4f9
+msgid "**Fixed** issue `#895 `_."
+msgstr ""
+
+#: ../../../changes.txt:726 62264e99ab20493286c03aa362ad7a99
+msgid ""
+"**Fixed** issue `#896 `_. "
+"Since v1.17.6 PyMuPDF suppresses the font subset tags and only reports "
+"the base fontname in text extraction outputs \"dict\" / \"json\" / "
+"\"rawdict\" / \"rawjson\". Now a new global parameter can request the old"
+" behaviour, :meth:`Tools.set_subset_fontnames`."
+msgstr ""
+
+#: ../../../changes.txt:727 1c5eff82a09d459db78657c539f0f8d7
+msgid ""
+"**Fixed** issue `#885 `_. "
+"Pixmap creation now also works with filenames given as ``pathlib.Paths``."
+msgstr ""
+
+#: ../../../changes.txt:728 579c7134ffec43a8ae23cf39d4f93bed
+msgid ""
+"**Changed** :meth:`Document.subset_fonts`: Text is **not rewritten** any "
+"more and should therefore **retain all its origial properties** -- like "
+"being hidden or being controlled by Optional Content mechanisms."
+msgstr ""
+
+#: ../../../changes.txt:729 18e1f45ca70f444784389fe2e56be45c
+msgid ""
+"**Changed** :ref:`TextWriter` output to also accept text in right to left"
+" mode (Arabian, Hebrew): :meth:`TextWriter.fill_textbox`, "
+":meth:`TextWriter.append`. These methods now accept a new boolean "
+"parameter `right_to_left`, which is *False* by default. Implements `#897 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:730 b124b52a032f463aa5ed032137e2b8d6
+msgid ""
+"**Changed** :meth:`TextWriter.fill_textbox` to return all lines of text, "
+"that did not fit in the given rectangle. Also changed the default of the "
+"``warn`` parameter to no longer print a warning message in overflow "
+"situations."
+msgstr ""
+
+#: ../../../changes.txt:731 f801f2f1427a4d5d8882aef79c529433
+msgid ""
+"**Added** a utility function :meth:`recover_quad`, which computes the "
+"quadrilateral of a span. This function can be used for correctly marking "
+"text extracted with the \"dict\" or \"rawdict\" options of "
+":meth:`Page.get_text`."
+msgstr ""
+
+#: ../../../changes.txt:735 8ce35f1d7f3b40859c2195aa6eed321e
+msgid "**Changes in Version 1.18.8**"
+msgstr ""
+
+#: ../../../changes.txt:738 5ef59c8e06a94e5dbc89686da0d560c0
+msgid ""
+"This is a bug fix version only. We are publishing early because of the "
+"potentially widely used functions."
+msgstr ""
+
+#: ../../../changes.txt:740 ff19261d16ee4cfabe65e79bac603ed1
+msgid ""
+"**Fixed** issue `#881 `_. "
+"Fixed a memory leak in :meth:`Page.insert_image` when inserting images "
+"from files or memory."
+msgstr ""
+
+#: ../../../changes.txt:741 8446991a073440e89c43bc1e1dcf0989
+msgid ""
+"**Fixed** issue `#878 `_. "
+"``pathlib.Path`` objects should now correctly handle file path "
+"hierarchies."
+msgstr ""
+
+#: ../../../changes.txt:746 540969db6c5b48acbf9b7913ae20f74d
+msgid "**Changes in Version 1.18.7**"
+msgstr ""
+
+#: ../../../changes.txt:749 2db3f295eb344bfe865e2ed30487306b
+msgid ""
+"**Added** an experimental :meth:`Document.subset_fonts` which reduces the"
+" size of eligible fonts based on their use by text in the PDF. Implements"
+" `#855 `_."
+msgstr ""
+
+#: ../../../changes.txt:750 d0392563c85a40eead1ad7be91e88f42
+msgid ""
+"**Implemented** request `#870 "
+"`_: "
+":meth:`Document.convert_to_pdf` now also supports PDF documents."
+msgstr ""
+
+#: ../../../changes.txt:751 a14cfcf63e2744289aedc8e67b499f12
+msgid ""
+"**Renamed** ``Document.write`` to :meth:`Document.tobytes` for greater "
+"clarity. But the deprecated name remains available for some time."
+msgstr ""
+
+#: ../../../changes.txt:752 a3bd03cfb5f14ce6a60ee90f8707fc23
+msgid ""
+"**Implemented** request `#843 "
+"`_: "
+":meth:`Document.tobytes` now supports linearized PDF output. "
+":meth:`Document.save` now also supports writing to Python **file "
+"objects**. In addition, the open function now also supports Python file "
+"objects."
+msgstr ""
+
+#: ../../../changes.txt:753 79c8160aa7104206819f023db08c5a7e
+msgid "**Fixed** issue `#844 `_."
+msgstr ""
+
+#: ../../../changes.txt:754 dfe73e759b6e49a48fea75f9f2253588
+msgid "**Fixed** issue `#838 `_."
+msgstr ""
+
+#: ../../../changes.txt:755 3d7321397c2a4eaf8ba97985e5c9fac7
+msgid ""
+"**Fixed** issue `#823 `_. "
+"More logic for better support of OCRed text output (Tesseract, ABBYY)."
+msgstr ""
+
+#: ../../../changes.txt:756 8c5b86da66624874895b4778a87fbb16
+msgid "**Fixed** issue `#818 `_."
+msgstr ""
+
+#: ../../../changes.txt:757 38770df9717a452fb2ebe63d822930bf
+msgid "**Fixed** issue `#814 `_."
+msgstr ""
+
+#: ../../../changes.txt:758 c9652b902c184ff689c67576ee22bef4
+msgid ""
+"**Added** :meth:`Document.get_page_labels` which returns a list of page "
+"label definitions of a PDF."
+msgstr ""
+
+#: ../../../changes.txt:759 dbc4dbbd2ed14891993ced90825d05f2
+msgid ""
+"**Added** :meth:`Document.has_annots` and :meth:`Document.has_links` to "
+"check whether these object types are present anywhere in a PDF."
+msgstr ""
+
+#: ../../../changes.txt:760 d8bdd160bf5b48c392e842566e530e33
+msgid ""
+"**Added** expert low-level functions to simplify inquiry and modification"
+" of PDF object sources: :meth:`Document.xref_get_keys` lists the keys of "
+"object :data:`xref`, :meth:`Document.xref_get_key` returns type and "
+"content of a key, and :meth:`Document.xref_set_key` modifies the key's "
+"value."
+msgstr ""
+
+#: ../../../changes.txt:761 9d6b2ed0aa5c406fb060e12cd0928462
+msgid ""
+"**Added** parameter ``thumbnails`` to :meth:`Document.scrub` to also "
+"allow removing page thumbnail images."
+msgstr ""
+
+#: ../../../changes.txt:762 0fbdc5c38f1b4aa9853d350987fbf78b
+msgid ""
+"**Improved** documentation for how to add valid text marker annotations "
+"for non-horizontal text."
+msgstr ""
+
+#: ../../../changes.txt:764 5bb38489b3de4850b636d18356770144
+msgid ""
+"We continued the process of renaming methods and properties from "
+"*\"mixedCase\"* to *\"snake_case\"*. Documentation usually mentions the "
+"new names only, but old, deprecated names remain available for some time."
+msgstr ""
+
+#: ../../../changes.txt:770 281c8c8b33334acc9be49d0a78638d76
+msgid "**Changes in Version 1.18.6**"
+msgstr ""
+
+#: ../../../changes.txt:772 9417af6440b64770938158ceb9747d7f
+msgid "**Fixed** issue `#812 `_."
+msgstr ""
+
+#: ../../../changes.txt:773 f8ff0a644bee440bbdfadbf2461c8893
+msgid ""
+"**Fixed** issue `#793 `_. "
+"Invalid document metadata previously prevented opening some documents at "
+"all. This error has been removed."
+msgstr ""
+
+#: ../../../changes.txt:774 924e5ed6bc454420a73c2f9fea7cbdfd
+msgid ""
+"**Fixed** issue `#792 `_. "
+"Text search and text extraction will make no rectangle containment checks"
+" at all if the default ``clip=None`` is used."
+msgstr ""
+
+#: ../../../changes.txt:775 10d3d40c71774acdbe5949667d3553d8
+msgid "**Fixed** issue `#785 `_."
+msgstr ""
+
+#: ../../../changes.txt:776 edcc76b2b4824c4090295a941877c726
+msgid ""
+"**Fixed** issue `#780 `_. "
+"Corrected a parameter check error."
+msgstr ""
+
+#: ../../../changes.txt:777 0f9ec0c137a14422baf782a29d0fe7a8
+msgid ""
+"**Fixed** issue `#779 `_. "
+"Fixed typo"
+msgstr ""
+
+#: ../../../changes.txt:778 21ba422877f243b084d3ddf9cda8bb1c
+msgid ""
+"**Added** an option to set the desired line height for text boxes. "
+"Implements `#804 `_."
+msgstr ""
+
+#: ../../../changes.txt:779 e0db20d9e29a4ee6b30161a2fdc5334c
+msgid ""
+"**Changed** text position retrieval to better cope with Tesseract's "
+"glyphless font. Implements `#803 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:780 8154a9e3e0e84234937bfd123edc64fe
+msgid ""
+"**Added** an option to choose the prefix of new annotations, fields and "
+"links for providing unique annotation ids. Implements request `#807 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:781 37db1f40653548959ab6bcd5742d7889
+msgid ""
+"**Added** getting and setting color and text properties for Table of "
+"Contents items for PDFs. Implements `#779 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:782 19a9c7eb168748b299500715808db9ff
+msgid ""
+"**Added** PDF page label handling: :meth:`Page.get_label()` returns the "
+"page label, :meth:`Document.get_page_numbers` return all page numbers "
+"having a specified label, and :meth:`Document.set_page_labels` adds or "
+"updates a PDF's page label definition."
+msgstr ""
+
+#: ../../../changes.txt:787 5752d3b6f9de45c393dd7b921adb7981
+msgid ""
+"This version introduces **Python type hinting**. The goal is to provide "
+"each parameter and the return value of all functions and methods with "
+"type information. This still is work in progress although the majority of"
+" functions has already been handled."
+msgstr ""
+
+#: ../../../changes.txt:792 9d53aaa54abe4f7e85cb3346ecbbd9df
+msgid "**Changes in Version 1.18.5**"
+msgstr ""
+
+#: ../../../changes.txt:794 98db69d193ac450ea7bbb1e6e3f8f19b
+msgid ""
+"Apart from several fixes, this version also focusses on several minor, "
+"but important feature improvements. Among the latter is a more precise "
+"computation of proper line heights and insertion points for writing / "
+"inserting text. As opposed to using font-agnostic constants, these values"
+" are now taken from the font's properties."
+msgstr ""
+
+#: ../../../changes.txt:796 b339e0699688477ab155d67cdbcb6522
+msgid ""
+"Also note that this is the first version which does no longer provide "
+"pregenerated wheels for Python versions older than 3.6. PIP also "
+"discontinues support for these by end of this year 2020."
+msgstr ""
+
+#: ../../../changes.txt:798 d2a198d679754f35aedc7c7b7066daae
+msgid ""
+"**Fixed** issue `#771 `_. "
+"By using \"small glyph heights\" option, the full page text can be "
+"extracted."
+msgstr ""
+
+#: ../../../changes.txt:799 a371b119c6a748dfb3bced23e32e56b8
+msgid "**Fixed** issue `#768 `_."
+msgstr ""
+
+#: ../../../changes.txt:800 813e3635a14245839cfac26f7beb62e0
+msgid "**Fixed** issue `#750 `_."
+msgstr ""
+
+#: ../../../changes.txt:801 61ce01475fab415392130c8e958e9ad9
+msgid ""
+"**Fixed** issue `#739 `_. "
+"The \"dict\", \"rawdict\" and corresponding JSON output variants now have"
+" two new *span* keys: ``\"ascender\"`` and ``\"descender\"``. These "
+"floats represent special font properties which can be used to compute "
+"bboxes of spans or characters of **exactly fontsize height** (as opposed "
+"to the default line height). An example algorithm is shown in section "
+"\"Span Dictionary\" `here "
+"`_. Also improved the "
+"detection and correction of ill-specified ascender / descender values "
+"encountered in some fonts."
+msgstr ""
+
+#: ../../../changes.txt:802 2134f71e23e045eaa73514113f41504d
+msgid ""
+"**Added** a new, experimental :meth:`Tools.set_small_glyph_heights` -- "
+"also in response to issue `#739 "
+"`_. This method sets or "
+"unsets a global parameter to **always compute bboxes with fontsize "
+"height**. If \"on\", text searching and all text extractions will "
+"returned rectangles, bboxes and quads with a smaller height."
+msgstr ""
+
+#: ../../../changes.txt:803 f1ae9b4969574ecda2d1f7ac67405e49
+msgid "**Fixed** issue `#728 `_."
+msgstr ""
+
+#: ../../../changes.txt:804 ea8be3275c784099a50afab965272da4
+msgid ""
+"**Changed** fill color logic of 'Polyline' annotations: this parameter "
+"now only pertains to line end symbols -- the annotation itself can no "
+"longer have a fill color. Also addresses issue `#727 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:805 e7a2dc5b2918423f904c67a871439448
+msgid ""
+"**Changed** :meth:`Page.getImageBbox` to also compute the bbox if the "
+"image is contained in an XObject."
+msgstr ""
+
+#: ../../../changes.txt:806 05f9fb5c45ea44fa88a6ddaa2e3c5ea7
+msgid ""
+"**Changed** :meth:`Shape.insertTextbox`, resp. "
+":meth:`Page.insertTextbox`, resp. :meth:`TextWriter.fillTextbox` to "
+"respect font's properties \"ascender\" / \"descender\" when computing "
+"line height and insertion point. This should no longer lead to line "
+"overlaps for multi-line output. These methods used to ignore font "
+"specifics and used constant values instead."
+msgstr ""
+
+#: ../../../changes.txt:811 dc2396b451bf4565853096b401300650
+msgid "**Changes in Version 1.18.4**"
+msgstr ""
+
+#: ../../../changes.txt:813 a7e04d8f30e940ca847ec66cf8edca2e
+msgid ""
+"This version adds several features to support PDF Optional Content. Among"
+" other things, this includes OCMDs (Optional Content Membership "
+"Dictionaries) with the full scope of *\"visibility expressions\"* (PDF "
+"key ``/VE``), text insertions (including the :ref:`TextWriter` class) and"
+" drawings."
+msgstr ""
+
+#: ../../../changes.txt:815 8d57fec5e3d9470f9e52a9ae8abab4a2
+msgid ""
+"**Fixed** issue `#727 `_. "
+"Freetext annotations now support an uncolored rectangle when "
+"``fill_color=None``."
+msgstr ""
+
+#: ../../../changes.txt:816 6dceb08d5dbe41dcaa50a69a7a962074
+msgid ""
+"**Fixed** issue `#726 `_. "
+"UTF-8 encoding errors are now handled for HTML / XML :meth:`Page.getText`"
+" output."
+msgstr ""
+
+#: ../../../changes.txt:817 76fedf48549f43e59ba32d82f56ea6c9
+msgid ""
+"**Fixed** issue `#724 `_. "
+"Empty values are no longer stored in the PDF /Info metadata dictionary."
+msgstr ""
+
+#: ../../../changes.txt:818 bc1b525254374f4aac5e08fac82ba1fe
+msgid ""
+"**Added** new methods :meth:`Document.set_oc` and :meth:`Document.get_oc`"
+" to set or get optional content references for **existing** image and "
+"form XObjects. These methods are similar to the same-named methods of "
+":ref:`Annot`."
+msgstr ""
+
+#: ../../../changes.txt:819 347c38e1232842e5a162ec109c1ae713
+msgid ""
+"**Added** :meth:`Document.set_ocmd`, :meth:`Document.get_ocmd` for "
+"handling OCMDs."
+msgstr ""
+
+#: ../../../changes.txt:820 9af8e2f41cdc4fe5a5ceb31593198b61
+msgid "**Added** **Optional Content** support for text insertion and drawing."
+msgstr ""
+
+#: ../../../changes.txt:821 1e3859c5f01a40de8662177bb15463fc
+msgid ""
+"**Added** new method :meth:`Page.deleteWidget`, which deletes a form "
+"field from a page. This is analogous to deleting annotations."
+msgstr ""
+
+#: ../../../changes.txt:822 482424a75a764109ab18f96e5defa374
+msgid ""
+"**Added** support for Popup annotations. This includes defining the Popup"
+" rectangle and setting the Popup to open or closed. Methods / attributes "
+":meth:`Annot.set_popup`, :meth:`Annot.set_open`, :attr:`Annot.has_popup`,"
+" :attr:`Annot.is_open`, :attr:`Annot.popup_rect`, "
+":attr:`Annot.popup_xref`."
+msgstr ""
+
+#: ../../../changes.txt:826 c6cacf5c6cb34665b5ffbfd8a93f90ca
+msgid ""
+"The **naming of methods and attributes** in PyMuPDF is far from being "
+"satisfactory: we have *CamelCases*, *mixedCases* and "
+"*lower_case_with_underscores* all over the place. With the :ref:`Annot` "
+"as the first candidate, we have started an activity to clean this up step"
+" by step, converting to lower case with underscores for methods and "
+"attributes while keeping UPPERCASE for the constants."
+msgstr ""
+
+#: ../../../changes.txt:828 1924ad7831664dc98624906ac18b76a7
+msgid ""
+"Old names will remain available to prevent code breaks, but they will no "
+"longer be mentioned in the documentation."
+msgstr ""
+
+#: ../../../changes.txt:829 34ca60924c2f47a796349b10a2398ff3
+msgid ""
+"New methods and attributes of all classes will be named according to the "
+"new standard."
+msgstr ""
+
+#: ../../../changes.txt:833 b24a33d9b70441c79b96b17f211dece1
+msgid "**Changes in Version 1.18.3**"
+msgstr ""
+
+#: ../../../changes.txt:835 a67f16e120024ef18817bb4433b4184b
+msgid ""
+"As a major new feature, this version introduces support for PDF's "
+"**Optional Content** concept."
+msgstr ""
+
+#: ../../../changes.txt:837 32c4921a1b1346cca1b4b3c7ce236698
+msgid "**Fixed** issue `#714 `_."
+msgstr ""
+
+#: ../../../changes.txt:838 626938bbed45408287ecf2a3f5ca0b25
+msgid "**Fixed** issue `#711 `_."
+msgstr ""
+
+#: ../../../changes.txt:839 dc49661893d847e8ac04af955cf87ac8
+msgid ""
+"**Fixed** issue `#707 `_: "
+"if a PDF user password, but no owner password is supplied nor present, "
+"then the user password is also used as the owner password."
+msgstr ""
+
+#: ../../../changes.txt:840 1bdcd0893526489a80f08cf4e879c3bd
+msgid ""
+"**Fixed** ``expand`` and ``deflate`` parameters of methods "
+":meth:`Document.save` and :meth:`Document.write`. Individual image and "
+"font compression should now finally work. Addresses issue `#713 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:841 90a9667b21dd441b8e6bf4e06d65ee83
+msgid ""
+"**Added** a support of PDF optional content. This includes several new "
+":ref:`Document` methods for inquiring and setting optional content status"
+" and adding optional content configurations and groups. In addition, "
+"images, form XObjects and annotations now can be bound to optional "
+"content specifications. **Resolved** issue `#709 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:847 2e1bd49d197b4166a8cc8d5b2a360d6b
+msgid "**Changes in Version 1.18.2**"
+msgstr ""
+
+#: ../../../changes.txt:849 6799664210604954b2907b7192f948b5
+msgid ""
+"This version contains some interesting improvements for text searching: "
+"any number of search hits is now returned and the **hit_max** parameter "
+"was removed. The new **clip** parameter in addition allows to restrict "
+"the search area. Searching now detects hyphenations at line breaks and "
+"accordingly finds hyphenated words."
+msgstr ""
+
+#: ../../../changes.txt:851 f85cdafc0c17453e827a21576967de3d
+msgid ""
+"**Fixed** issue `#575 `_: "
+"if using ``quads=False`` in text searching, then overlapping rectangles "
+"on the same line are joined. Previously, parts of the search string, "
+"which belonged to different \"marked content\" items, each generated "
+"their own rectangle -- just as if occurring on separate lines."
+msgstr ""
+
+#: ../../../changes.txt:852 340a04b6fa494148a49f4d9ebccf9f9d
+msgid ""
+"**Added** :attr:`Document.isRepaired`, which is true if the PDF was "
+"repaired on open."
+msgstr ""
+
+#: ../../../changes.txt:853 5085bf2b72154afba4ea2f1967c28125
+msgid ""
+"**Added** :meth:`Document.setXmlMetadata` which either updates or creates"
+" PDF XML metadata. Implements issue `#691 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:854 234abc1970ce401eaa5caa35b3e984b1
+msgid "**Added** :meth:`Document.getXmlMetadata` returns PDF XML metadata."
+msgstr ""
+
+#: ../../../changes.txt:855 3ba25840294f4fcf8942d41b6e3d4de6
+msgid ""
+"**Changed** creation of PDF documents: they will now always carry a PDF "
+"identification (``/ID`` field) in the document trailer. Implements issue "
+"`#691 `_."
+msgstr ""
+
+#: ../../../changes.txt:856 c86282f2e3e04e4ab83b517944fe040a
+msgid ""
+"**Changed** :meth:`Page.searchFor`: a new parameter ``clip`` is accepted "
+"to restrict the search to this rectangle. Correspondingly, the attribute "
+":attr:`TextPage.rect` is now respected by :meth:`TextPage.search`."
+msgstr ""
+
+#: ../../../changes.txt:857 0f76d9f9981047669f98ec4794b4fdbd
+msgid ""
+"**Changed** parameter ``hit_max`` in :meth:`Page.searchFor` and "
+":meth:`TextPage.search` is now obsolete: methods will return all hits."
+msgstr ""
+
+#: ../../../changes.txt:858 3896b724dd3946ecba6436e922d0c161
+msgid ""
+"**Changed** character **selection criteria** in :meth:`Page.getText`: a "
+"character is now considered to be part of a ``clip`` if its bbox is fully"
+" contained. Before this, a non-empty intersection was sufficient."
+msgstr ""
+
+#: ../../../changes.txt:859 04bad261082643408df28affd0d28432
+msgid ""
+"**Changed** :meth:`Document.scrub` to support a new option "
+"`redact_images`. This addresses issue `#697 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:864 44bf385455cc42be86376bc2391e01be
+msgid "**Changes in Version 1.18.1**"
+msgstr ""
+
+#: ../../../changes.txt:866 2e13ede317524efba17ae264c42e2f0b
+msgid ""
+"**Fixed** issue `#692 `_. "
+"PyMuPDF now detects and recovers from more cyclic resource dependencies "
+"in PDF pages and for the first time reports them in the MuPDF warnings "
+"store."
+msgstr ""
+
+#: ../../../changes.txt:867 dfbc94a18c7246b9bf3ceb4f981efbe8
+msgid "**Fixed** issue `#686 `_."
+msgstr ""
+
+#: ../../../changes.txt:868 0248ad55c60a41b3961332d61886b13a
+msgid ""
+"**Added** opacity options for the :ref:`Shape` class: Stroke and fill "
+"colors can now be set to some transparency value. This means that all "
+":ref:`Page` draw methods, methods :meth:`Page.insertText`, "
+":meth:`Page.insertTextbox`, :meth:`Shape.finish`, "
+":meth:`Shape.insertText`, and :meth:`Shape.insertTextbox` support two new"
+" parameters: *stroke_opacity* and *fill_opacity*."
+msgstr ""
+
+#: ../../../changes.txt:869 37621fb8bc304533a1cee2d1f8e15029
+msgid ""
+"**Added** new parameter ``mask`` to :meth:`Page.insertImage` for "
+"optionally providing an external image mask. Resolves issue `#685 "
+"`_."
+msgstr ""
+
+#: ../../../changes.txt:870 1e25cd90f6014ab9a89d3953f140a035
+msgid ""
+"**Added** :meth:`Annot.soundGet` for extracting the sound of an audio "
+"annotation."
+msgstr ""
+
+#: ../../../changes.txt:874 2ec943214ff84a9aba59eba3bf22b0b0
+msgid "**Changes in Version 1.18.0**"
+msgstr ""
+
+#: ../../../changes.txt:876 095bc25d4b5c495f906a0d253cff8a1a
+msgid ""
+"This is the first PyMuPDF version supporting MuPDF v1.18. The focus here "
+"is on extending PyMuPDF's own functionality -- apart from bug fixing. "
+"Subsequent PyMuPDF patches may address features new in MuPDF."
+msgstr ""
+
+#: ../../../changes.txt:878 858cc32472314939aab1523447070411
+msgid ""
+"**Fixed** issue `#519 `_. "
+"This upstream bug occurred occasionally for some pages only and seems to "
+"be fixed now: page layout should no longer be ruined in these cases."
+msgstr ""
+
+#: ../../../changes.txt:880 4c8856a9399f4b0d98975bc33018f44a
+msgid "**Fixed** issue `#675 `_."
+msgstr ""
+
+#: ../../../changes.txt:882 aeaece20473c458a8ffe9aecb5a17925
+msgid ""
+"Unsuccessful storage allocations should now always lead to exceptions "
+"(circumvention of an upstream bug intermittently crashing the "
+"interpreter)."
+msgstr ""
+
+#: ../../../changes.txt:883 b6a915e419a7439d99f0ed8af5e3f391
+msgid ""
+":ref:`Pixmap` size is now based on ``size_t`` instead of ``int`` in C and"
+" should be correct even for extremely large pixmaps."
+msgstr ""
+
+#: ../../../changes.txt:885 956ca5ee04e74b56b295f45705b2684f
+msgid ""
+"**Fixed** issue `#668 `_. "
+"Specification of dashes for PDF drawing insertion should now correctly "
+"reflect the PDF spec."
+msgstr ""
+
+#: ../../../changes.txt:886 34d16eed672d4888ac3b2df346108292
+msgid ""
+"**Fixed** issue `#669