aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts
diff options
context:
space:
mode:
authorYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-09-23 23:12:17 +0900
committerYasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com>2026-09-23 23:12:17 +0900
commiteb4f1dadc124a591d68a3e1ace3477282692da62 (patch)
treeadbaef87ac2e1554915533cfddd8f192001ddf6c /scripts
parentd12a2171afba32928a5cc945dd26b99a76462afa (diff)
ijime-judai-flow ほか: 公立版・私立版が同じライセンスであることを明記
ライセンスの節をページの最後(両方の図の後)に移し、公立学校版・私立学校版のいずれにも当てはまることを明記した。公立校版だけに適用されると読める書き方になっていたため。 私立学校の場合の節にも、公立学校版と同じライセンスで提供していることを書き、図の下にも著作権表示を入れた。 下部の課題欄を省けるという条件は、課題欄がある公立学校版に限られることを明記した。 図とPDFのフッターは「公立版・私立版とも CC BY-ND 4.0」とし、PDFのライセンス行は版ごとに分けた(私立版には課題欄の記載を入れない)。
Diffstat (limited to 'scripts')
-rw-r--r--scripts/make-flow-pdfs.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/scripts/make-flow-pdfs.py b/scripts/make-flow-pdfs.py
index 7baa611..24d8f18 100644
--- a/scripts/make-flow-pdfs.py
+++ b/scripts/make-flow-pdfs.py
@@ -41,15 +41,20 @@ FOOT_COLOR = (0x45 / 255, 0x5A / 255, 0x64 / 255)
FOOT_6P = TITLE + " {n}/6 (全体の一部・のりしろ重複あり)"
FOOT_1P = TITLE + " 全体像(縮小のため文字は小さめ。読みやすい印刷は6ページ版を推奨)"
# 図だけがコピーされても出所と利用条件が分かるように、フッターにもライセンスを入れる。
-# 「無保証」は、内容の正確性を保証せず、誤りがあっても責任を負わない旨
-FOOT_LICENSE = ("© 安竹洋平(小平市議会議員)/CC BY-ND 4.0(改変禁止・課題欄の省略可・無保証)/"
- "出典 yasutakeyohei.com/ijime-judai-jitai/flow/")
+# 「公立版・私立版とも」で、2種類が同じライセンスであることを示す。
+# 「無保証」は、内容の正確性を保証せず、誤りがあっても責任を負わない旨。
+# 課題欄があるのは公立学校版だけなので、その旨も公立版にだけ入れる
+LIC_PUBLIC = ("© 安竹洋平(小平市議会議員)/公立版・私立版とも CC BY-ND 4.0"
+ "(課題欄の省略可・無保証)/yasutakeyohei.com/ijime-judai-jitai/flow/")
+LIC_PRIVATE = ("© 安竹洋平(小平市議会議員)/公立版・私立版とも CC BY-ND 4.0"
+ "(無保証)/yasutakeyohei.com/ijime-judai-jitai/flow/")
-# (SVGファイル名, 出力の6ページ版, 出力の1ページ版, SVGの元の高さ)
+# (SVGファイル名, 出力の6ページ版, 出力の1ページ版, SVGの元の高さ, フッターのライセンス)
JOBS = [
- ("ijime-judai-flow.svg", "ijime-judai-flow-a4-6p.pdf", "ijime-judai-flow-a4-1p.pdf", 4034),
+ ("ijime-judai-flow.svg", "ijime-judai-flow-a4-6p.pdf",
+ "ijime-judai-flow-a4-1p.pdf", 4034, LIC_PUBLIC),
("ijime-judai-flow-private.svg", "ijime-judai-flow-private-a4-6p.pdf",
- "ijime-judai-flow-private-a4-1p.pdf", 3624),
+ "ijime-judai-flow-private-a4-1p.pdf", 3624, LIC_PRIVATE),
]
@@ -74,14 +79,14 @@ def one_page_rect(base_h):
return pymupdf.Rect(x, MARGIN, x + w, MARGIN + h)
-def add_footer(page, text):
+def add_footer(page, text, license_text):
y = FOOT_TOP + FOOT_SIZE * 0.8
page.insert_text(
pymupdf.Point(MARGIN, y), text, fontsize=FOOT_SIZE,
fontname="japan", color=FOOT_COLOR,
)
page.insert_text(
- pymupdf.Point(MARGIN, y + FOOT_NOTE_SIZE * 1.15), FOOT_LICENSE,
+ pymupdf.Point(MARGIN, y + FOOT_NOTE_SIZE * 1.15), license_text,
fontsize=FOOT_NOTE_SIZE, fontname="japan", color=FOOT_COLOR,
)
page.insert_link({
@@ -91,7 +96,7 @@ def add_footer(page, text):
})
-def build(svg_name, out_6p, out_1p, base_h):
+def build(svg_name, out_6p, out_1p, base_h, license_text):
path = IMAGES / svg_name
svg = pymupdf.open("svg", strip_anchors(path.read_text(encoding="utf-8")).encode("utf-8"))
# show_pdf_page は PDF しか受け付けないため、いったんベクターPDFに変換する
@@ -116,7 +121,7 @@ def build(svg_name, out_6p, out_1p, base_h):
page = out.new_page(width=A4W, height=A4H)
dest = DEST if i < 6 else one_page_rect(base_h)
page.show_pdf_page(dest, src, 0, clip=clip)
- add_footer(page, footer)
+ add_footer(page, footer, license_text)
out.subset_fonts()
tmp = path.with_suffix(".tmp.pdf")
out.save(tmp, garbage=4, deflate=True, clean=True)
@@ -130,5 +135,5 @@ def build(svg_name, out_6p, out_1p, base_h):
src.close()
-for svg_name, out_6p, out_1p, base_h in JOBS:
- build(svg_name, out_6p, out_1p, base_h)
+for svg_name, out_6p, out_1p, base_h, license_text in JOBS:
+ build(svg_name, out_6p, out_1p, base_h, license_text)