diff --git a/README.rst b/README.rst
index bf323c21..655a7e93 100644
--- a/README.rst
+++ b/README.rst
@@ -4,10 +4,10 @@ OCRmyPDF
.. image:: https://travis-ci.org/jbarlow83/OCRmyPDF.svg?branch=master
:target: https://travis-ci.org/jbarlow83/OCRmyPDF
-.. image:: https://img.shields.io/pypi/v/ocrmypdf.svg
+.. image:: https://img.shields.io/pypi/v/ocrmypdf.svg
:target: https://pypi.org/project/ocrmypdf/
-.. image:: https://img.shields.io/homebrew/v/ocrmypdf.svg
+.. image:: https://img.shields.io/homebrew/v/ocrmypdf.svg
:alt: homebrew
:target: http://brewformulas.org/Ocrmypdf
@@ -54,7 +54,7 @@ Motivation
I searched the web for a free command line tool to OCR PDF files on
Linux/UNIX: I found many, but none of them were really satisfying.
-- Either they produced PDF files with misplaced text under the image (making copy/paste impossible)
+- Either they produced PDF files with misplaced text under the image (making copy/paste impossible)
- Or they did not handle accents and multilingual characters
- Or they changed the resolution of the embedded images
- Or they generated ridiculously large PDF files
@@ -63,7 +63,7 @@ Linux/UNIX: I found many, but none of them were really satisfying.
- On top of that none of them produced PDF/A files (format dedicated for long time storage)
...so I decided to develop my own tool (using various existing scripts
-as an inspiration).
+as an inspiration).
Installation
------------
@@ -97,7 +97,7 @@ you can often find packages that provide language packs:
# Debian/Ubuntu users
apt-get install tesseract-ocr-chi-sim # Example: Install Chinese Simplified language back
-
+
You can then pass the ``-l LANG`` argument to OCRmyPDF to give a hint as to what languages it should search for. Multiple
languages can be requested.
@@ -126,9 +126,7 @@ If you detect an issue, please:
Requirements
------------
-Runs on CPython 3.6, and requires external program installations of Ghostscript, Tesseract OCR, QPDF, and Leptonica. ocrmypdf is pure Python, but uses CFFI to portably generate library bindings.
-
-Python 3.5 is also supported.
+Runs on CPython 3.5, 3.6 and 3.7. Requires external program installations of Ghostscript, Tesseract OCR, QPDF, and Leptonica. ocrmypdf is pure Python, but uses CFFI to portably generate library bindings.
Press & Media
-------------
@@ -142,7 +140,7 @@ Press & Media
License
-------
-The OCRmyPDF software is licensed under the GNU GPLv3. Certain files are covered by other licenses, as noted in their source files.
+The OCRmyPDF software is licensed under the GNU GPLv3. Certain files are covered by other licenses, as noted in their source files.
The license for each test file varies, and is noted in tests/resources/README.rst. The documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 (CC-BY-SA 4.0).
diff --git a/docs/installation.rst b/docs/installation.rst
index 8efaac2e..99978aab 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -1,7 +1,7 @@
Installation
============
-The easiest way to install OCRmyPDF to follow the steps for your operating system/platform.
+The easiest way to install OCRmyPDF to follow the steps for your operating system/platform.
If you want to use the latest version of OCRmyPDF, your best bet is to install the most recent version your platform provides, and then upgrade that version by installing the Python binary wheels.
@@ -23,7 +23,7 @@ To see what versions are available, check the `Debian Package Tracker `_, and both the input and output file must be inside the writable volume. This example command uses the current working directory as the writable volume:
.. code-block:: bash
docker run --rm -v "$(pwd):/home/docker" ocrmypdf
-In this worked example, the current working directory contains an input file called ``test.pdf`` and the output will go to ``output.pdf``:
+In this worked example, the current working directory contains an input file called ``test.pdf`` and the output will go to ``output.pdf``:
.. code-block:: bash
@@ -167,11 +167,11 @@ Install or upgrade the required Homebrew packages, if any are missing:
brew install python3
brew install libxml2 libffi leptonica
brew install unpaper # optional
-
-Python 3.5 and 3.6 are supported.
+
+Python 3.5, 3.6 and 3.7 are supported.
Install the required Tesseract OCR engine with the language packs you plan to use:
-
+
.. code-block:: bash
brew install tesseract # Option 1: for English, French, German, Spanish
@@ -398,7 +398,7 @@ The following dependencies are recommended:
- unpaper 6.1
- PyMuPDF 1.12.5 or newer
-These are in addition to the Python packaging dependencies, meaning that unfortunately, the ``pip install`` command cannot satisfy all of them.
+These are in addition to the Python packaging dependencies, meaning that unfortunately, the ``pip install`` command cannot satisfy all of them.
Python 3.6 and Tesseract 4.0.0-beta.1 are recommended for best OCR results and best performance.
diff --git a/setup.py b/setup.py
index badc576e..1362399a 100644
--- a/setup.py
+++ b/setup.py
@@ -215,6 +215,7 @@ setup(
classifiers=[
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
+ "Programming Language :: Python :: 3.7",
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
diff --git a/src/ocrmypdf/_unicodefun.py b/src/ocrmypdf/_unicodefun.py
index a916077f..e80d3d21 100644
--- a/src/ocrmypdf/_unicodefun.py
+++ b/src/ocrmypdf/_unicodefun.py
@@ -40,6 +40,11 @@ import codecs
def verify_python3_env():
"""Ensures that the environment is good for unicode on Python 3."""
+
+ # PEP 538 changes in Python 3.7 should make this wrangling unnecessary
+ if sys.version_info[0:3] >= (3, 7, 0):
+ return
+
try:
import locale
fs_enc = codecs.lookup(locale.getpreferredencoding()).name