GIMPで作る卓上カレンダー。今年も作りました。

広告

自作カレンダーを作ろう
 

今年も昨年同様卓上カレンダーを作成しました。
自分用のは画像を何にするか決まっていないので、まずは、ちび姫用にラブライブ!仕様のカレンダーを作りました。
今回は、カレンダー部分にカスタマイズを施し、祝日名と誕生日を表示できるようにしました。
今回、ラブライブ!キャラの誕生日を表示するようにしましたので、誕生日に合わせて画像を用意しました。
誕生日の人がいない月は、全員にしました。
ちび姫も喜んでくれたので、満足です。
祝日を漢字にしてしまったのが失敗・・・


ラブライブ!カレンダー
 

そもそもカレンダーを自作しようと思ったのが、売っているカレンダーは2ヶ月1枚が多くてなかなか次の写真にならなかったり、肝心のカレンダーが見づらかったりするので、半分は画像、半分はカレンダーとなっているものを探したのですが無かったのです。
無ければ作れないかなと思い、いろいろ調べた結果、今年のカレンダーに行き着きました。
画像を用意すれば好きなカレンダーを作れるのでかなり満足度が高いです。
用意する物もも、プリンタと写真印刷用の紙と写真立てのみです。
概ね、プリンタとインクの金額を気にしなければ、写真印刷用の紙が1枚20円*12枚と写真立てが300円くらいなので、600円くらいですかね。
写真立ては1回買えば来年以降は必要無いので、300円で作れると思うと安くて良いですね。

 

この季節になると、自作カレンダーを探して来られる方もいるようですので、私が使っている、GIMP用のカレンダー作成スクリプトとGIMPのファイルを置いておきます。

 

お読みください

  • GIMP2.8で動作確認しています。
  • Mac Yosemiteでしか動作確認していません。(Windowsで動くかはわかりません。)
  • 2Lサイズ専用です。
  • プリンタはEPSONのEP-805A用に合わせて作っていますので、フチ無し印刷で合わない可能性があります。合わない場合は、ご自身の環境に合わせてレイヤーの位置やサイズを合わせてください。
  • Macのヒラギノゴシックのフォントでカレンダー位置や文字の大きさを合わせています。Windowsなどで別フォントを利用する場合、ずれる可能性があります。
  • カレンダースクリプトは全ての環境に合わせて細かくプログラムされていません。
  • 個人利用としてお使いください。(商用利用はおやめください。)
 

シンプルな使い方

  1. GIMPが入っていない場合はインストールします。
  2. calendar-lovelive.scmを以下のスクリプトフォルダへ格納します。

    Macの場合 ~/Library/Application Support/GIMP/2.8/scripts
    Winの場合 C:\Users\ユーザー名\.gimp-2.8\scripts

    ※お使いの環境によって違うかもしれません。
  3. GIMPを起動し、calendar_d.xcfを読み出します。
  4. Script-Fu > Rocomotion > calendar-loveliveを選択します。
  5. 出力する、年(year)と月(month)を選びます。
    ※ Winの方はフォント(Month fontとDay font)を選択する必要があります。
  6. OKをクリックします。
  7. カレンダーの出力完了を待ちます。
  8. imageレイヤーの場所に好きな画像を入れます。
  9. ファイル > 名前をつけてエクスポートでjpgなどでファイルを保存します。
  10. エクスポートしたjpgを印刷します。
 

これを12回繰り返すとカレンダーができあがります。
2Lサイズですので比較的大きいですが、アクリルの写真立てに月が変わる度に入れ替えると良い感じですよ。

 

ちょっと複雑な使い方(誕生日も表示する)

デフォルトではラブライブ!キャラの誕生日がセットされています。
他の誕生日にしたい場合は、スクリプトファイルの上の方に誕生日を設定するところがありますので、そこで設定してください。

「;;ここから;; 〜 ;;ここまで;;」の間を変更する形になります。

;;ここから;;
;;誕生日を取得
(define (get-birthday month day lovelive)

	;;誕生日は5以降を使うこと

	(define birthday 0)

	(set! birthday (cond
		((= lovelive 0) 0)
		((and (= month 8) (= day 3)) 5)			; honoka
		((and (= month 9) (= day 12)) 6)		; kotori
		((and (= month 3) (= day 15)) 7)		; umi
		((and (= month 4) (= day 19)) 8)		; maki
		((and (= month 1) (= day 17)) 9)		; hanayo
		((and (= month 11) (= day 1)) 10)		; rin
		((and (= month 7) (= day 22)) 11)		; niko
		((and (= month 10) (= day 21)) 12)		; eli
		((and (= month 6) (= day 9)) 13)		; nozomi
		(birthday)
	))

)

;;誕生日名を取得
(define (get-birthday-name bday)

	(define birthday-name "-")

	;;get-birthdayの値(bday)と合わせて誕生日名を設定

	(set! birthday-name (cond
		((= bday 5) "高坂穂乃果")		; honoka
		((= bday 6) "南ことり")		; kotori
		((= bday 7) "園田海未")		; umi
		((= bday 8) "西木野真姫")		; maki
		((= bday 9) "小泉花陽")		; hanayo
		((= bday 10) "星空凛")		; rin
		((= bday 11) "矢澤にこ")		; niko
		((= bday 12) "絢瀬絵里")		; eli
		((= bday 13) "東條希")		; nozomi
		(birthday-name)
	))
)

;;文字色取得
(define (get-color h-day)

	(define d-palette '( 51  51  51))

	;;get-birthdayの値(bday)と合わせて文字色を設定
	;;0-3は平日、土曜日、日曜日、祝日

	(set! d-palette (cond
			((= h-day 0)  '( 51  51  51))   ;平日
			((= h-day 1)  '(  9  85 242))   ;土曜
			((= h-day 2)  '(207   0 133))   ;祝日
			((= h-day 3)  '(207   0 133))   ;日曜
			((= h-day 5)  '(255 140   0))   ;honoka
			((= h-day 6)  '(140 140 140))   ;kotori
			((= h-day 7)  '(  0   0 128))   ;umi
			((= h-day 8)  '(255   0   0))   ;maki
			((= h-day 9)  '(  0 128   0))   ;hanayo
			((= h-day 10) '(255 215   0))  ;rin
			((= h-day 11) '(255 105 180))  ;niko
			((= h-day 12) '( 32 178 170))  ;eli
			((= h-day 13) '(128   0 128))  ;nozomi
			(d-palette)
	))
)
;;ここまで;;

なんとなく分かる方は分かると思いますが、

(define (get-birthday month day lovelive)

	;;誕生日は5以降を使うこと

	(define birthday 0)

	(set! birthday (cond
		((= lovelive 0) 0)
		((and (= month 8) (= day 3)) 5)			; honoka
		((and (= month 9) (= day 12)) 6)		; kotori
		((and (= month 3) (= day 15)) 7)		; umi
		((and (= month 4) (= day 19)) 8)		; maki
		((and (= month 1) (= day 17)) 9)		; hanayo
		((and (= month 11) (= day 1)) 10)		; rin
		((and (= month 7) (= day 22)) 11)		; niko
		((and (= month 10) (= day 21)) 12)		; eli
		((and (= month 6) (= day 9)) 13)		; nozomi
		(birthday)
	))

)

ここに、以下の行があります。

((and (= month 8) (= day 3)) 5)
この意味は「8」が月、「3」が日を表し、5が識別番号となります。
8/3がお誕生日の人の識別番号は5という意味になります。
以下同様に13まで識別番号が割り振られています。

 

追加する場合は、

((and (= month 6) (= day 9)) 13)
の下に、
((and (= month 2) (= day 5)) 14)
のような感じで行を追加することで追加できます。
減らす場合は単純にその行を削除してください。

 

今回は、2/5が誕生日の方に識別番号を14として追加しました。

 

次に、誕生日名のところです。

;;誕生日名を取得
(define (get-birthday-name bday)

	(define birthday-name "-")

	;;get-birthdayの値(bday)と合わせて誕生日名を設定

	(set! birthday-name (cond
		((= bday 5) "高坂穂乃果")		; honoka
		((= bday 6) "南ことり")		; kotori
		((= bday 7) "園田海未")		; umi
		((= bday 8) "西木野真姫")		; maki
		((= bday 9) "小泉花陽")		; hanayo
		((= bday 10) "星空凛")		; rin
		((= bday 11) "矢澤にこ")		; niko
		((= bday 12) "絢瀬絵里")		; eli
		((= bday 13) "東條希")		; nozomi
		(birthday-name)
	))
)

ここに、以下の行があります。

((= bday 5) "高坂穂乃果")
この意味は、識別番号5の方の名前は「高坂穂乃果」となります。
先ほど、8/3が誕生日の方の識別番号は「5」となっていました。 この識別番号同士が呼応しますので合わせます。 これで、「識別番号5の方は、8/3生まれの高坂穂乃果」となりました。

 

先ほど2/5が誕生日の方について識別番号を「14」で登録しました。
識別番号14番の方に名前を付けます。

((= bday 14) "UG")
こうすることで、識別番号14の方は、2/5が誕生日のUGさんという意味になります。
誕生日名は最大5文字くらいが良いと思います

 

そして次に色の設定をします。

;;文字色取得
(define (get-color h-day)

	(define d-palette '( 51  51  51))

	;;get-birthdayの値(bday)と合わせて文字色を設定
	;;0-3は平日、土曜日、日曜日、祝日

	(set! d-palette (cond
			((= h-day 0)  '( 51  51  51))   ;平日
			((= h-day 1)  '(  9  85 242))   ;土曜
			((= h-day 2)  '(207   0 133))   ;祝日
			((= h-day 3)  '(207   0 133))   ;日曜
			((= h-day 5)  '(255 140   0))   ;honoka
			((= h-day 6)  '(140 140 140))   ;kotori
			((= h-day 7)  '(  0   0 128))   ;umi
			((= h-day 8)  '(255   0   0))   ;maki
			((= h-day 9)  '(  0 128   0))   ;hanayo
			((= h-day 10) '(255 215   0))  ;rin
			((= h-day 11) '(255 105 180))  ;niko
			((= h-day 12) '( 32 178 170))  ;eli
			((= h-day 13) '(128   0 128))  ;nozomi
			(d-palette)
	))
)

ここに以下の行があります。

((= h-day 5)  '(255 140   0))

この意味は、識別番号5の方の色は、RGBカラーで255,140,0の色にしてくださいという意味になります。ちなみにオレンジです。
この数字は左から、赤、緑、青の色合いを256段階でそれぞれ指定した色になります。
Googleなどで、検索するとすぐに分かると思います。
もしくは、GIMPでも簡単に分かります。
色選択画面の右側に、R、G、Bとありその横に数字が出ていると思います。
その数字です。

 

では、先ほど追加した識別番号14番のUGさんは青色にしましょう。

((= h-day 14)  '(0 0 255))
となります。
これを、
((= h-day 13) '(128   0 128))  ;nozomi
の下に追加します。

 

ちなみに「;」はコメントの意味ですので「;」以降は無視されますので記載はあってもなくても構いません。

 

これで誕生日の設定ができました。
GIMPが起動している場合は、スクリプトの再読込が必要ですので、
「フィルター > Script-Fu > スクリプトを再読み込み」を実行してください。

 

後は、使い方通りですが、
Script-Fu > Rocomotion > calendar-loveliveを選択した後に、設定できる項目があります。

 
Calendar設定
 

ここの意味ですが、
 

  • Display birthday → 誕生日の色を変更
  • Display birthday name → 誕生日名を表示

となりますので、日付の色だけを変更したい場合は、Display birthdayをYESにします。
誕生日名を表示したい場合は、Display birthday nameをYESにします。

Display birthdayの色ですが、祝日とかぶっている場合は、祝日が優先されます。
誕生日を優先したい場合は、先ほどの色設定部分の識別番号1-3を誕生日の下に持っていくと良いかもしれません。

そして、Display holiday nameをYESにした場合、祝日名が表示されますが、誕生日名も表示していて、さらに誕生日がかぶっている場合は2行になって表示されます。最大2行までは表示ができます。

これで思い通りの素敵なカレンダーができあがります。

 

ちなみに、Small calendarは下2つのカレンダーですが、「先月、来月」とするか、「来月、再来月」とするかを設定できます。

 

ダウンロード

 

GIMP用カレンダースクリプトのダウンロード

 

最後に

これで思い通りのカレンダーができあがる・・・かもしれません。

よろしければお使いください。

 

最後になりますが、元のカレンダースクリプトを配布してくださっているtempelさんに感謝です。