Skip to content

Commit 65878d6

Browse files
committed
merge extfonts; -bf 0
1 parent 9ff4b68 commit 65878d6

File tree

2 files changed

+31
-9
lines changed

2 files changed

+31
-9
lines changed

Dockerfile

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,41 @@ FROM alpine:latest AS builder-base
22

33
FROM builder-base AS runner
44

5+
RUN apk add --no-cache \
6+
font-noto \
7+
font-noto-arabic \
8+
font-noto-bengali \
9+
font-noto-cjk \
10+
font-noto-devanagari \
11+
font-noto-emoji \
12+
font-noto-math \
13+
font-noto-music \
14+
font-noto-symbols \
15+
ttf-liberation \
16+
poppler-data
17+
518
COPY --from=mwader/static-ffmpeg:latest /ffmpeg /usr/local/bin/
619

720
RUN apk add --no-cache poppler-utils
821

22+
# ja向けフォント指定
23+
RUN \
24+
mkdir -p ~/.config/fontconfig/ &&\
25+
echo -e "<?xml version='1.0'?>\n\
26+
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>\n\
27+
<fontconfig>\n\
28+
<alias><family>serif</family><prefer><family>Noto Serif</family><family>Noto Serif CJK JP</family></prefer></alias>\n\
29+
<alias><family>sans-serif</family><prefer><family>Noto Sans</family><family>Noto Sans CJK JP</family></prefer></alias>\n\
30+
<alias><family>monospace</family><prefer><family>Noto Sans Mono</family><family>Noto Sans Mono CJK JP</family></prefer></alias>\n\
31+
<alias><family>Ryumin</family><prefer><family>Noto Serif</family><family>Noto Serif CJK JP</family></prefer></alias>\n\
32+
<alias><family>GothicBBB</family><prefer><family>Noto Sans</family><family>Noto Sans CJK JP</family></prefer></alias>\n\
33+
</fontconfig>" > ~/.config/fontconfig/fonts.conf &&\
34+
fc-cache -f
35+
936
# シェルスクリプト群の生成
1037
RUN \
11-
echo -e "#!/bin/sh\nYPX=720; if expr \"\$1\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$1 + 9 \\) / 18 \\* 18 ); fi; find *.pdf | sed 's/\\.[^/\\.]*\$//' | xargs -P4 -i sh -c \"rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\" && mkdir -p \\\"/tmp/{}\\\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \\\"{}.pdf\\\" \\\"/tmp/{}/\${YPX}p\\\" && ffmpeg -y -pattern_type glob -r 1/2 -i \\\"/tmp/{}/\${YPX}p-*.png\\\" -vf \\\"crop=min(ih*16/9\\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\\\" -c:v libx264 -r 30 -pix_fmt yuv420p \\\"{}.\${YPX}p.vrclt.mp4\\\" && rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\"\"" > /usr/local/bin/allpdf2vrclt && \
12-
echo -e "#!/bin/sh\nYPX=720; if expr \"\$1\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$1 + 9 \\) / 18 \\* 18 ); fi; find *.pdf | sed 's/\\.[^/\\.]*\$//' | xargs -P4 -i sh -c \"rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\" && mkdir -p \\\"/tmp/{}\\\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \\\"{}.pdf\\\" \\\"/tmp/{}/\${YPX}p\\\" && ffmpeg -y -pattern_type glob -r 1 -i \\\"/tmp/{}/\${YPX}p-*.png\\\" -vf \\\"crop=min(ih*16/9\\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\\\" -c:v libx264 -r 30 -pix_fmt yuv420p \\\"{}.\${YPX}p.unaslides.mp4\\\" && rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\"\"" > /usr/local/bin/allpdf2unaslides && \
38+
echo -e "#!/bin/sh\nYPX=720; if expr \"\$1\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$1 + 9 \\) / 18 \\* 18 ); fi; find *.pdf | sed 's/\\.[^/\\.]*\$//' | xargs -P4 -i sh -c \"rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\" && mkdir -p \\\"/tmp/{}\\\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \\\"{}.pdf\\\" \\\"/tmp/{}/\${YPX}p\\\" && ffmpeg -y -pattern_type glob -r 1/2 -i \\\"/tmp/{}/\${YPX}p-*.png\\\" -vf \\\"crop=min(ih*16/9\\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\\\" -c:v libx264 -r 6 -pix_fmt yuv420p -bf 0 \\\"{}.\${YPX}p.vrclt.mp4\\\" && rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\"\"" > /usr/local/bin/allpdf2vrclt && \
39+
echo -e "#!/bin/sh\nYPX=720; if expr \"\$1\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$1 + 9 \\) / 18 \\* 18 ); fi; find *.pdf | sed 's/\\.[^/\\.]*\$//' | xargs -P4 -i sh -c \"rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\" && mkdir -p \\\"/tmp/{}\\\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \\\"{}.pdf\\\" \\\"/tmp/{}/\${YPX}p\\\" && ffmpeg -y -pattern_type glob -r 1 -i \\\"/tmp/{}/\${YPX}p-*.png\\\" -vf \\\"crop=min(ih*16/9\\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\\\" -c:v libx264 -r 6 -pix_fmt yuv420p -bf 0 \\\"{}.\${YPX}p.unaslides.mp4\\\" && rm -f \\\"/tmp/{}/\${YPX}p-*.png\\\"\"" > /usr/local/bin/allpdf2unaslides && \
1340
echo -e "#!/bin/sh\n/usr/local/bin/allpdf2vrclt 720" > /usr/local/bin/allpdf2vrclt_720p && \
1441
echo -e "#!/bin/sh\n/usr/local/bin/allpdf2vrclt 1080" > /usr/local/bin/allpdf2vrclt_1080p && \
1542
echo -e "#!/bin/sh\n/usr/local/bin/allpdf2vrclt 1440" > /usr/local/bin/allpdf2vrclt_1440p && \
@@ -18,10 +45,10 @@ echo -e "#!/bin/sh\n/usr/local/bin/allpdf2unaslides 720" > /usr/local/bin/allpdf
1845
echo -e "#!/bin/sh\n/usr/local/bin/allpdf2unaslides 1080" > /usr/local/bin/allpdf2unaslides_1080p && \
1946
echo -e "#!/bin/sh\n/usr/local/bin/allpdf2unaslides 1440" > /usr/local/bin/allpdf2unaslides_1440p && \
2047
echo -e "#!/bin/sh\n/usr/local/bin/allpdf2unaslides 2160" > /usr/local/bin/allpdf2unaslides_2160p && \
21-
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1/2 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libx264 -r 30 -pix_fmt yuv420p \"\$1.\${YPX}p.vrclt.mp4\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2vrclt && \
48+
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1/2 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libx264 -r 6 -pix_fmt yuv420p -bf 0 \"\$1.\${YPX}p.vrclt.mp4\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2vrclt && \
2249
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1/2 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libsvtav1 -qp 20 -pix_fmt yuv420p \"\$1.\${YPX}p.vrclt.mkv\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2mkv && \
2350
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1/2 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libvpx -crf 4 -b:v 5000000 -quality best -speed 4 -pix_fmt yuv420p \"\$1.\${YPX}p.vrclt.webm\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2vrclt_webm && \
24-
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libx264 -r 30 -pix_fmt yuv420p \"\$1.\${YPX}p.unaslides.mp4\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2unaslides && \
51+
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libx264 -r 6 -pix_fmt yuv420p -bf 0 \"\$1.\${YPX}p.unaslides.mp4\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2unaslides && \
2552
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libsvtav1 -qp 20 -pix_fmt yuv420p \"\$1.\${YPX}p.unaslides.mkv\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2unaslides_mkv && \
2653
echo -e "#!/bin/sh\nYPX=720; if expr \"\$2\" : '\([1-9][0-9]\|[1-9][0-9][0-9]\+\)\$' > /dev/null; then YPX=\$(expr \\( \$2 + 9 \\) / 18 \\* 18 ); fi; rm -f \"/tmp/\$1/\${YPX}p-*.png\" && mkdir -p \"/tmp/\$1\" && pdftoppm -progress -png -scale-to-x -1 -scale-to-y \$YPX \"\$1.pdf\" \"/tmp/\$1/\${YPX}p\" && ffmpeg -y -pattern_type glob -r 1 -i \"/tmp/\$1/\${YPX}p-*.png\" -vf \"crop=min(ih*16/9\,iw):ih,scale=-2:\${YPX}:flags=lanczos,pad=x=-2:aspect=16/9\" -c:v libvpx -crf 4 -b:v 5000000 -quality best -speed 4 -pix_fmt yuv420p \"\$1.\${YPX}p.unaslides.webm\" && rm -f \"/tmp/\$1/\${YPX}p-*.png\"" > /usr/local/bin/pdf2unaslides_webm && \
2754
echo -e "#!/bin/sh\n/usr/local/bin/pdf2vrclt \"\$1\" 720" > /usr/local/bin/pdf2vrclt_720p && \

README.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
```
1313
docker pull mizarjp/slideconverters:latest
14-
docker pull mizarjp/slideconverters:extfonts
1514
```
1615

1716
- pdfファイルをmp4に変換
@@ -20,9 +19,7 @@ docker pull mizarjp/slideconverters:extfonts
2019

2120
```
2221
docker run -t --rm -v ${fileDirname}:/opt/work -w /opt/work mizarjp/slideconverters:latest pdf2vrclt ${fileBasenameNoExtension}
23-
docker run -t --rm -v ${fileDirname}:/opt/work -w /opt/work mizarjp/slideconverters:extfonts pdf2vrclt ${fileBasenameNoExtension}
2422
docker run -t --rm -v ${fileDirname}:/opt/work -w /opt/work mizarjp/slideconverters:latest pdf2unaslides ${fileBasenameNoExtension}
25-
docker run -t --rm -v ${fileDirname}:/opt/work -w /opt/work mizarjp/slideconverters:extfonts pdf2unaslides ${fileBasenameNoExtension}
2623
```
2724

2825
`:extfonts` イメージはpdfファイルに埋め込みされていないフォントグリフを補完するためのフォントファイルを幾つか追加しています。
@@ -32,7 +29,5 @@ docker run -t --rm -v ${fileDirname}:/opt/work -w /opt/work mizarjp/slideconvert
3229

3330
```
3431
docker run -t --rm -v ${PWD}:/opt/work mizarjp/slideconverters:latest allpdf2vrclt
35-
docker run -t --rm -v ${PWD}:/opt/work mizarjp/slideconverters:extfonts allpdf2vrclt
3632
docker run -t --rm -v ${PWD}:/opt/work mizarjp/slideconverters:latest allpdf2unaslides
37-
docker run -t --rm -v ${PWD}:/opt/work mizarjp/slideconverters:extfonts allpdf2unaslides
3833
```

0 commit comments

Comments
 (0)