This is an automated email from the ASF dual-hosted git repository.
tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new 35c9075bc2 TIKA-5005: drop ttf-mscorefonts-installer from the full and
grpc Docker images; add IPA and WenQuanYi CJK fonts (#3443)
35c9075bc2 is described below
commit 35c9075bc2e25fdd0c06fca069d4178d307ced13
Author: Tim Allison <[email protected]>
AuthorDate: Wed Oct 28 08:58:34 2026 -0400
TIKA-5005: drop ttf-mscorefonts-installer from the full and grpc Docker
images; add IPA and WenQuanYi CJK fonts (#3443)
---
CHANGES.txt | 7 ++++++
docs/modules/ROOT/pages/using-tika/docker.adoc | 29 +++++++++++++++++++++--
tika-grpc/docker-build/Dockerfile | 7 +++---
tika-server/docker-build/CHANGES.md | 12 ++++++++++
tika-server/docker-build/full/Dockerfile | 7 +++---
tika-server/docker-build/full/Dockerfile.snapshot | 7 +++---
6 files changed, 58 insertions(+), 11 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index 5086616d58..6b8df9399d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -11,6 +11,13 @@ Release 4.3.0 - ???
SERVER, PIPES AND OPERATIONS
+ * The tika-server full and tika-grpc Docker images no longer install
+ ttf-mscorefonts-installer, which downloaded Microsoft's fonts from
SourceForge
+ at build time; non-embedded Verdana, Georgia, Trebuchet, Impact, Comic
Sans and
+ Arial Black now render with Liberation fonts. The images add the IPA and
+ WenQuanYi fonts, so pages in non-embedded Japanese and Chinese fonts
render
+ instead of showing empty boxes or nothing (TIKA-5005).
+
* The S3 fetcher, emitter and pipes iterator accept credentialsProvider
"web_identity"
for EKS IAM roles for service accounts (IRSA); the plugin now bundles the
AWS STS
module it needs (TIKA-5006).
diff --git a/docs/modules/ROOT/pages/using-tika/docker.adoc
b/docs/modules/ROOT/pages/using-tika/docker.adoc
index 02e255da57..49acd35233 100644
--- a/docs/modules/ROOT/pages/using-tika/docker.adoc
+++ b/docs/modules/ROOT/pages/using-tika/docker.adoc
@@ -45,8 +45,8 @@ external.
|`apache/tika:<version>-full`
|Adds the external tools some parsers shell out to: Tesseract OCR (with `eng`,
`ita`, `fra`,
`spa`, `deu`, `jpn` language packs), GDAL, ImageMagick, ffmpeg (for the audio
and video
-segments of a MEDIA inference binding), and the Liberation / FreeFont /
msttcorefonts font
-sets. Considerably larger.
+segments of a MEDIA inference binding), and the Liberation, FreeFont, Noto
CJK, IPA and
+WenQuanYi font sets. Considerably larger.
|`apache/tika-grpc:<version>`
|gRPC server on port 9090, with OCR, GDAL and fonts included.
@@ -130,6 +130,31 @@ docker run -d -p 127.0.0.1:9998:9998 -v
"$(pwd)/my-jars:/tika-extras" \
Treat that directory as a trusted code location: whatever is in it runs with
the full privileges of
the Tika process. Outside Docker the equivalent is the `tika.extras.dir`
system property.
+== Adding fonts
+
+Fonts matter only when Tika renders a PDF page (OCR, page images for a vision
model,
+thumbnails) and the PDF does not embed the font it uses. Text extraction does
not need them. The
+`-full` image covers the common cases: Liberation for Arial, Times New Roman
and Courier New, plus
+Noto CJK, IPA and WenQuanYi for Chinese and Japanese.
+
+To render with other fonts, install them in an image of your own. For example,
the Microsoft core
+fonts (Verdana, Georgia, Trebuchet and others), whose license you accept by
installing them:
+
+[source,dockerfile]
+----
+FROM apache/tika:X.Y.Z-full
+USER root
+RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula
select true \
+ | debconf-set-selections \
+ && apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install --yes
--no-install-recommends \
+ ttf-mscorefonts-installer \
+ && rm -rf /var/lib/apt/lists/*
+USER 35002:35002
+----
+
+The installer downloads the fonts from SourceForge, so the build needs network
access.
+
== Pipes plugins
`/tika`, `/rmeta`, `/meta` and `/unpack` work out of the box. The pipes
endpoints (`/pipes`,
diff --git a/tika-grpc/docker-build/Dockerfile
b/tika-grpc/docker-build/Dockerfile
index 0edb785f22..a02c0ebb71 100644
--- a/tika-grpc/docker-build/Dockerfile
+++ b/tika-grpc/docker-build/Dockerfile
@@ -38,15 +38,16 @@ RUN set -eux \
tesseract-ocr-fra \
tesseract-ocr-spa \
tesseract-ocr-deu \
- && echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula
select true | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes
--no-install-recommends \
xfonts-utils \
fonts-freefont-ttf \
fonts-liberation \
fonts-noto-cjk \
- ttf-mscorefonts-installer \
+ # TrueType CJK fallbacks: PDFBox 3.0.x can't use CFF-based Noto CJK
for non-embedded fonts
+ fonts-ipafont-gothic \
+ fonts-ipafont-mincho \
+ fonts-wqy-zenhei \
wget \
- cabextract \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
diff --git a/tika-server/docker-build/CHANGES.md
b/tika-server/docker-build/CHANGES.md
index a9fd8180fa..df74d31028 100644
--- a/tika-server/docker-build/CHANGES.md
+++ b/tika-server/docker-build/CHANGES.md
@@ -28,6 +28,18 @@ Tag convention:
The legacy 3.x patch flow in the external `apache/tika-docker` repo still uses
the `.N` convention until 4.0.0 GA.
+* Unreleased
+ * `-full` and `tika-grpc`: dropped `ttf-mscorefonts-installer` and
`cabextract`.
+ The installer downloaded Microsoft's fonts from SourceForge at build time
(a
+ mirror outage failed a multi-arch push), and the images redistributed fonts
+ under Microsoft's EULA. Non-embedded Verdana, Georgia, Trebuchet, Impact,
+ Comic Sans and Arial Black now render with Liberation fonts (TIKA-5005).
+ * `-full` and `tika-grpc`: added `fonts-ipafont-gothic`,
`fonts-ipafont-mincho`
+ and `fonts-wqy-zenhei`. PDFBox 3.0.x can't use the CFF-based Noto CJK fonts
+ for non-embedded Japanese and Chinese fonts, which rendered as empty boxes
or
+ not at all (TIKA-5005, PDFBOX-6293).
+ * `wget` stays in `-full` and `tika-grpc` for healthchecks.
+
* 4.0.0-alpha-1 (11 May 2026, rebuild 1)
* Tag scheme changed to `<tika-version>` + `<tika-version>-<N>` + `latest`.
* Migrated build out of the external `apache/tika-docker` repo into
diff --git a/tika-server/docker-build/full/Dockerfile
b/tika-server/docker-build/full/Dockerfile
index b1ab2dba12..293686d794 100644
--- a/tika-server/docker-build/full/Dockerfile
+++ b/tika-server/docker-build/full/Dockerfile
@@ -62,15 +62,16 @@ RUN set -eux \
ffmpeg \
tesseract-ocr \
$(printf 'tesseract-ocr-%s ' $LANGUAGES) \
- && echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula
select true | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes
--no-install-recommends \
xfonts-utils \
fonts-freefont-ttf \
fonts-liberation \
fonts-noto-cjk \
- ttf-mscorefonts-installer \
+ # TrueType CJK fallbacks: PDFBox 3.0.x can't use CFF-based Noto CJK
for non-embedded fonts
+ fonts-ipafont-gothic \
+ fonts-ipafont-mincho \
+ fonts-wqy-zenhei \
wget \
- cabextract \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ARG TIKA_VERSION
diff --git a/tika-server/docker-build/full/Dockerfile.snapshot
b/tika-server/docker-build/full/Dockerfile.snapshot
index eecbf6be3c..d38e252b50 100644
--- a/tika-server/docker-build/full/Dockerfile.snapshot
+++ b/tika-server/docker-build/full/Dockerfile.snapshot
@@ -34,15 +34,16 @@ RUN set -eux \
tesseract-ocr-spa \
tesseract-ocr-deu \
tesseract-ocr-jpn \
- && echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula
select true | debconf-set-selections \
&& DEBIAN_FRONTEND=noninteractive apt-get install --yes
--no-install-recommends \
xfonts-utils \
fonts-freefont-ttf \
fonts-liberation \
fonts-noto-cjk \
- ttf-mscorefonts-installer \
+ # TrueType CJK fallbacks: PDFBox 3.0.x can't use CFF-based Noto CJK
for non-embedded fonts
+ fonts-ipafont-gothic \
+ fonts-ipafont-mincho \
+ fonts-wqy-zenhei \
wget \
- cabextract \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV TIKA_VERSION=$TIKA_VERSION