一é™ç›® 教室ã®èª¬æ˜Žä¼š 
1.1 å‰ç½®ã 
1.1.1 Script-Fu ã¨ã¯ï¼Ÿ 
Gimp ãŒæŒã¤ç‰¹å¾´ã«ä¸€ã¤ã«ã€Script-Fu ã‚’å‚™ãˆã¦ã„ã‚‹ã“ã¨ãŒæŒ™ã’られã¾ã™ã€‚Gimp ã§ Script-Fu ãŒä½¿ã‚れã¦ã„ã‚‹å ´æ‰€ã¨ã—ã¦ã¯ã€ãƒã‚´ä½œæˆã®ã‚¹ã‚¯ãƒªãƒ—トãŒãŠãªã˜ã¿ã§ã—ょã†ã€‚ã‚ã®ãƒ†ã‚ストãƒã‚´ã¯ãƒ€ã‚¤ã‚¢ãƒã‚°ã«ãƒ†ã‚ストを入力ã—ã¦ãƒ•ォントをé¸ã‚“ã§ãƒ‘ラメータをé©å½“ã«å¤‰ãˆã¦ä½œã£ã¦ã„ã¾ã™ãŒã€ãƒœã‚¿ãƒ³ã‚’押ã—ãŸã ã‘ã§ãƒ†ã‚ストãƒã‚´ã‚’作æˆã—ã¦ã„ã‚‹è£ã§ã¯ Gimp ãŒã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æ›¸ã‹ã‚ŒãŸæ‰‹é †ã«ã—ãŸãŒã£ã¦é †ç•ªã«è‰²ã‚’å¡—ã£ãŸã‚Šãƒ•ィルタ処ç†ã‚’行ã£ãŸã‚Šã—ã¦ãƒ†ã‚ストãƒã‚´ãŒã§ãã¦ã„ã‚‹ã®ã§ã™ã€‚


ã¤ã¾ã‚Šã€ã‚ã®ãƒ†ã‚ストãƒã‚´ã¯ãƒ€ã‚¤ã‚¢ãƒã‚°ã«è‰²ã€…ã¨å…¥åŠ›ã—ã¦ä½œã‚‰ã‚Œã¦ã„るよã†ã§ã™ãŒã€å®Ÿéš›ã«ã¯æ‰‹ä½œæ¥ã§ (ã»ã¨ã‚“ã©) åŒã˜ã‚ˆã†ãªãƒã‚´ã‚’å†ç¾ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã®ã§ã™ã€‚手作æ¥ã§ã‚„ã‚‹ã“ã¨ã‚’スクリプト化ã—ã¦ä¸€æ‹¬å‡¦ç†ã—ã¦ã„ã‚‹ã‚ã‘ã§ã™ã。
ã“ã“ã§ã€Script-Fu ã®åˆ©ç‚¹ã¨æ¬ 点ã«ã¤ã„ã¦ã¡ã‚‡ã£ã¨ã¾ã¨ã‚ã¦ã¿ã¾ã™ã€‚
利点
- 1. 処ç†ã®è‡ªå‹•化
- 例ãˆã°ã€ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’複製ã—ã¦ã¼ã‹ã—ã‚’ã‹ã‘ã¦ãƒ¬ã‚¤ãƒ¤ãƒ¼ãƒ¢ãƒ¼ãƒ‰ã‚’オーãƒãƒ¼ãƒ¬ã‚¤ã«å¤‰ãˆã¦ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’çµåˆã™ã‚‹ã€ã¨ã„ã†ä¸€é€£ã®ä½œæ¥ã‚’毎回行ã£ã¦ã„ã‚‹å ´åˆã€ã“ã®ä½œæ¥ã‚’ボタン一ã¤ã§å®Ÿè¡Œã§ãるよã†ã«ã§ãã¾ã™ã€‚ã„ã¤ã‚‚行ã£ã¦ã„る定型的ãªå‡¦ç†ã‚’自動化ã™ã‚‹ã“ã¨ã§æ¥½ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- 2. 作æ¥ã‚’覚ãˆã¦ãŠã‹ãªãã¦æ¸ˆã‚€
- 上ã®ä¾‹ã§æŒ™ã’ãŸå‡¦ç†ã®å ´åˆã€ä½œæ¥è¡Œç¨‹ã¯å››ã¤ã§ã™ã€‚ã“れãらã„ã ã£ãŸã‚‰ã‚¹ã‚¯ãƒªãƒ—トã«ã—ãªãã¦ã‚‚手作æ¥ã§ã‚„ã£ãŸæ–¹ãŒæ—©ã„ã‹ã‚‚ã—れã¾ã›ã‚“ãŒã€å®Ÿéš›ã«ã¯å·¥ç¨‹ãŒã‚‚ã£ã¨è¤‡é›‘ã«ãªã‚‹ã®ãŒæ™®é€šã§ã™ã€‚ã—ã‹ã‚‚ãã®ä½œæ¥ã‚’ã¨ãã©ãã—ã‹ä½¿ã‚ãªã„よã†ãªå ´åˆã€æ™‚é–“ãŒçµŒã¤ã¨å¿˜ã‚Œã¦ã—ã¾ã†ã‹ã‚‚ã—れã¾ã›ã‚“。Script-Fu ã«æ›¸ã„ãŸå ´åˆã€ã©ã‚“ãªã«è¤‡é›‘ã§é•·ã„処ç†ã§ã‚‚ã€ãƒœã‚¿ãƒ³ä¸€ã¤ã§å†ã³åˆ©ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
- 3. プãƒã‚°ãƒ©ãƒ çš„ãªã“ã¨ãŒå¯èƒ½
- Script-Fu ã®ãƒ™ãƒ¼ã‚¹ã§ã‚ã‚‹ Scheme ã¯ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã§ã™ã‹ã‚‰ã€ã‚¹ã‚¯ãƒªãƒ—トã«ãƒ—ãƒã‚°ãƒ©ãƒ çš„ãªè¦ç´ ã‚’åŠ ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã¤ã¾ã‚Šã€ä¸Šã§æŒ™ã’ãŸã‚ˆã†ãª "Gimp ã§ä½œæ¥ã‚’é †ç•ªã«ã“ãªã™" よã†ãªä½¿ã„æ–¹ã«åŠ ãˆã¦ã€åˆ¶å¾¡æ§‹é€ ã‚’æŒãŸã›ã‚‹ãªã©ã—ã¦ã‚¹ã‚¯ãƒªãƒ—トを発展ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã«ã¯ä½œæ¥æ‰‹é †ã‚’ã¾ã¨ã‚ãŸã‚‚ã®ä»¥ä¸Šã®ã“ã¨ãŒã§ãã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚
æ¬ ç‚¹
- 1. æ–°ã—ã„言語を習得ã—ãªã‘れã°ãªã‚‰ãªã„
- ã“ã®ãƒšãƒ¼ã‚¸ã¯ Script-Fu を知らãªã„äººã‚’å¯¾è±¡ã«æ›¸ã„ã¦ã‚りã€Scheme を知らãªã„人ãŒã»ã¨ã‚“ã©ã ã¨æ€ã„ã¾ã™ã€‚Scheme を知らãªã‘れã°ãƒ—ãƒã‚°ãƒ©ãƒ を作れã¾ã›ã‚“ãŒã€ä½•も知らãªã„人㫠Script-Fu を書ã‘るよã†ã«ãªã£ã¦ã‚‚らãŠã†ã¨ã„ã†ã®ãŒã“ã®ãƒšãƒ¼ã‚¸ã®è¶£æ—¨ã§ã™ã€‚ã“ã®ãƒšãƒ¼ã‚¸ã‚’èªã¿çµ‚ãˆã¦ã€ã•ら㫠Script-Fu ã«ã¤ã„ã¦æ·±ã追求ã—ãŸã„ã¨ã„ã†äººã¯ Scheme ã«ã¤ã„ã¦å‹‰å¼·ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚
- 2. ã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æ›¸ãæ–¹ãŒæ—©ã„ã®ã‹ï¼Ÿ
- ç°¡å˜ãªã‚¹ã‚¯ãƒªãƒ—トã®å ´åˆã€ã‚¹ã‚¯ãƒªãƒ—トを書ã„ãŸæ–¹ãŒæ™‚é–“ãŒã‹ã‹ã‚‹ã¨ã„ã†å ´åˆãŒã‚りã¾ã™ã€‚ã©ã¡ã‚‰ã®æ–¹ãŒæ™‚間を節約ã§ãã‚‹ã®ã‹ã€è¦‹æ¥µã‚ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚ã“れã‹ã‚‰ Script-Fu ã‚’å¦ã¼ã†ã¨ã„ã†äººã¯ã€ã“ã®ãƒšãƒ¼ã‚¸ã‚’èªã‚“ã§ç†è§£ã™ã‚‹ã¾ã§ã®æ™‚間もコストã«å…¥ã‚Œãªã‘れã°ã„ã‘ã¾ã›ã‚“。
- 3. Scheme ã¯æ‹¬å¼§ãŒå¤šã™ãŽ
- Scheme ã§ã¯å‰å¾Œã‚’æ‹¬å¼§ã§æ‹¬ã‚‹ã“ã¨ã«ãªã£ã¦ã„ã‚‹ã®ã§ã€ã©ã†ã—ã¦ã‚‚括弧ãŒå¢—ãˆã¾ã™ã€‚括弧ã®é–‰ã˜å¿˜ã‚Œãªã©ã¯ã‚¨ãƒ©ãƒ¼ã¨ãªã‚‹ã®ã§ã€å¤§é‡ã®æ‹¬å¼§ã«ã¯é ã‚’æ‚©ã¾ã™ã‹ã‚‚ã—れã¾ã›ã‚“。ã§ã‚‚逆ã«ã„ãˆã°ã€Scheme ãŒéžå¸¸ã«å˜ç´”ãªè¦å‰‡ã«å‰‡ã£ã¦ã§ãã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ã®è£è¿”ã—ã§ã‚‚ã‚りã¾ã™ã€‚
ã¨ã€ã¾ãè¦ã¯æ™‚é–“ã¨ã‚„ã‚‹æ°—ã®å•題ã«ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚スクリプトを書ãã“ã¨ãŒã§ãるよã†ã«ãªã‚Œã°ã€è‡ªåˆ†ãŒç™ºè¦‹ã—㟠Gimp ã§ã„ãã¤ã‹ã®ãƒ•ィルタを組ã¿åˆã‚ã›ã¦è¡Œã†ç‰¹æ®ŠåŠ¹æžœã‚’ä»–ã®äººã«ã‚‚手軽ã«åˆ©ç”¨ã—ã¦ã‚‚らã†ã“ã¨ãŒã§ãã¾ã™ã€‚Script-Fu を覚ãˆã¦ãŠãã“ã¨ã‚‚ Gimp を使ã†ä¸Šã§ä½•ã‹ã¨ä¾¿åˆ©ã ã¨æ€ã„ã¾ã™ã‚ˆã€‚èžã„ãŸè©±ã«ã‚ˆã‚‹ã¨ã€Script-Fu (スクリプトフー) ã®èªžæºã¯ Kung-Fu (カンフー) ã ã£ãŸã¨ã‹ä½•ã¨ã‚„ら。。。
1.2 Script-Fu ã«ã¤ã„㦠
Gimp ã® Script-Fu ã¯å‡¦ç†ç³»ã« TinyScheme
を採用ã—ã¦ã„ã¾ã™ã€‚TinyScheme 㯠Scheme ã®å®Ÿè£…ã®ä¸€ã¤ã§ã™ã€‚Scheme 㯠LISP をベースã¨ã—ã¦ãŠã‚Šã€Script-Fu 㯠TinyScheme をベースã¨ã—ã¦ã„ã¾ã™ã€‚
TinyScheme 㯠R5SR*1 ã‚’ãã¡ã‚“ã¨éµå®ˆã—ã¦ã„ã‚‹ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。ã—ã‹ã—ã»ã¨ã‚“ã©ã®é–¢æ•°ã¯ Gimp ã§ä½¿ãˆã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã®ã§ã€Script-Fu ã‚’ã•らã«å¦ã¶æ™‚ã«ã¯ TinyScheme ã‚’èªã‚€ã‚ˆã†ã«ã—ã¾ã—ょã†ã€‚Scheme ã‚’ãã®ã¾ã¾å…¨ã¦ä½¿ãˆã‚‹ã‚ã‘ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¾ã—ょã†ã€‚
ウェブサイトã«ã‚ã‚‹ Script-Fu を利用ã™ã‚‹ã¨ãã€ãã®ã‚¹ã‚¯ãƒªãƒ—トãŒå¤ãã¦å‹•作ã—ãªã„ã¨ããŒã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。ã“れã¯ç‰¹ã« GIMP-2.4 ã®æ™‚ã«å¤§ããªå¤‰åŒ–ãŒã‚ã£ãŸã‹ã‚‰ã§ã™ã€‚ãれã¾ã§ã® Script-Fu ã®å‡¦ç†ç³»ã§ã¯ SIOD*2 (Scheme In One Defun) を採用ã—ã¦ã„ã¾ã—ãŸãŒå‡¦ç†ç³»ã‚’ TinyScheme ã«å¤‰æ›´ã—ãŸã“ã¨ã«ã‚ˆã‚Šã€å¤ã„スクリプトã¯ä¿®æ£ã—ãªã„ã¨ã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã‚±ãƒ¼ã‚¹ãŒå¢—ãˆãŸã‹ã‚‰ã§ã™ã€‚
通常ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ãƒ—ãƒã‚°ãƒ©ãƒ をコンパイルã€ãƒªãƒ³ã‚¯ã—ã¦å®Ÿè¡Œãƒ—ãƒã‚°ãƒ©ãƒ ã«ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚ã—ã‹ã— TinyScheme ã¨ã„ã£ãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ—リタ言語ã¯ã€ä¸€è¡Œãšã¤è§£é‡ˆã—ãªãŒã‚‰ãƒ—ãƒã‚°ãƒ©ãƒ を実行ã—ã¦ã„ãã¾ã™ã€‚ãã®ãŸã‚動作速度ãŒé…ããªã‚‹ã¨ã„ã†æ¬ 点をæŒã£ã¦ã„ã¾ã™ãŒã€ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã‚るテã‚ストファイルを書ãã‹ãˆã‚‹ã ã‘ã§ã™ãã«å¤‰æ›´ã—ãŸã‚‚ã®ã‚’ (全体をコンパイルã›ãšã«) 実行ã§ãã‚‹ã¨ã„ã†æ‰‹è»½ã•ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
1.3 ã“ã®ãƒšãƒ¼ã‚¸ã«ã¤ã„㦠
1.3.1 対象ã¨ã™ã‚‹èªè€…層 
ã“ã®ãƒšãƒ¼ã‚¸ã¯ã“れã‹ã‚‰ Script-Fu ã«æŒ‘戦ã—ã¦ã¿ã‚ˆã†ã¨ã™ã‚‹äººã‚’対象ã«ã—ã¦ã„ã¾ã™ã€‚Script-Fu 㯠Scheme ã¨ã„ã†ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžãŒãƒ™ãƒ¼ã‚¹ã§ã™ãŒã€ã“ã“ã§ã¯ã¾ã プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®çµŒé¨“ã®ç„¡ã„人も対象ã¨ã—ã¦ã„ã¾ã™ã€‚ãã®ãŸã‚プãƒã‚°ãƒ©ãƒ ã¨ã—ã¦ã¯ã‹ãªã‚Šæ˜“ã—ãã€å…¥é–€çš„ãªæ–‡æ›¸ã¨ãªã£ã¦ã„ã¾ã™ã€‚
å…¨ãã®åˆå¿ƒè€…をターゲットã¨ã—ãŸã‚‚ã®ã§ã™ãŒã€Script-Fu 㯠Gimp 上ã§å‹•ãã‚‚ã®ãªã®ã§ã€Gimp ã«ã¤ã„ã¦ã¯ã‚る程度慣れ親ã—ã‚“ã§ã„ã‚‹ã“ã¨ãŒå¿…è¦ã§ã™ã€‚ã¤ã¾ã‚Šã€ã©ã†ã„ã†æ©Ÿèƒ½ãŒã‚ã£ã¦ã€ãれを使ã†ã¨ã©ã†ã„ã†é¢¨ã«å¤‰åŒ–ã™ã‚‹ã®ã‹ã€ç‰ã‚’ãれãªã‚Šã«æŠŠæ¡ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
1.3.2 オリジナルサイト 
ã“ã® Script-Fu é’空教室ã¯ã„ã£ã¡ãƒ¼ãŒä½œæˆã—ãŸåŒåã®ã‚µã‚¤ãƒˆ*3ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’ã€ã‚µã‚¤ãƒˆé–‰éŽ–ã«ã‚ãŸã‚Šç§»è»¢ã—ãŸã‚‚ã®ã§ã™ã€‚
1.3.3 ライセンス 
ã“ã®ãƒšãƒ¼ã‚¸ã¯ Open Publication License
ã«åŸºã¥ã„ã¦é…布ã•れã¾ã™ã€‚
1.3.4 ChangeLog 
| Rev. 1.0 | 2009/05/05 | Vector ã‹ã‚‰ãƒšãƒ¼ã‚¸ã‚’移転 | iccii |
| Rev. 2.0 | 2009/06/21 | Gimp-2.6 ã®ä»•æ§˜ã«æ›¸ãç›´ã— | iccii |
| Rev. 2.1 | 2009/06/22 | å¤ã„ç”»åƒã‚’入れ替㈠| iccii |
| Rev. 2.2 | 2009/08/05 | Script-Fu ã®ãƒ‡ãƒãƒƒã‚°ãƒ»ãƒˆãƒ¬ãƒ¼ã‚¹æ–¹æ³•ã‚’åŠ ç† | iccii |
| Rev. 3.0 | 2009/08/05 | GimpWiki ã«ç§»è»¢å¾Œã®æ£å¼å…¬é–‹ | iccii |
ã“ã®ãƒšãƒ¼ã‚¸ã‚’書ãã«ã‚ãŸã£ã¦å‚考ã«ã—ãŸã¨ã“ã‚。
海外
国内