From eb4f1dadc124a591d68a3e1ace3477282692da62 Mon Sep 17 00:00:00 2001 From: Yasutake Yohei <61961825+yasutakeyohei@users.noreply.github.com> Date: Wed, 23 Sep 2026 23:12:17 +0900 Subject: ijime-judai-flow ほか: 公立版・私立版が同じライセンスであることを明記 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ライセンスの節をページの最後(両方の図の後)に移し、公立学校版・私立学校版のいずれにも当てはまることを明記した。公立校版だけに適用されると読める書き方になっていたため。 私立学校の場合の節にも、公立学校版と同じライセンスで提供していることを書き、図の下にも著作権表示を入れた。 下部の課題欄を省けるという条件は、課題欄がある公立学校版に限られることを明記した。 図とPDFのフッターは「公立版・私立版とも CC BY-ND 4.0」とし、PDFのライセンス行は版ごとに分けた(私立版には課題欄の記載を入れない)。 --- scripts/make-flow-pdfs.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'scripts') 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/") - -# (SVGファイル名, 出力の6ページ版, 出力の1ページ版, SVGの元の高さ) +# 「公立版・私立版とも」で、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の元の高さ, フッターのライセンス) 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) -- cgit v1.3.1