|
|
@@ -0,0 +1,68 @@ |
|
|
|
(define (agw-vec-list vl) (vector->list (cadr vl))) |
|
|
|
|
|
|
|
(define (agw-p67-font) |
|
|
|
(for-each |
|
|
|
(lambda (im) |
|
|
|
(let ((dr (car (gimp-image-get-active-drawable im))) |
|
|
|
(fname (car (gimp-image-get-filename im)))) |
|
|
|
(unless (eq? (gimp-image-base-type im) RGB) |
|
|
|
(gimp-image-convert-rgb im)) |
|
|
|
(gimp-drawable-desaturate dr DESATURATE-LUMINANCE) |
|
|
|
(gimp-image-convert-indexed |
|
|
|
im |
|
|
|
CONVERT-DITHER-NONE |
|
|
|
CONVERT-PALETTE-CUSTOM |
|
|
|
0 ; num-cols (ign.) |
|
|
|
FALSE ; alpha-dither |
|
|
|
FALSE ; remove-unused |
|
|
|
"p67 palette") |
|
|
|
(gimp-file-save RUN-NONINTERACTIVE im dr fname fname))) |
|
|
|
(agw-vec-list (gimp-image-list)))) |
|
|
|
|
|
|
|
(define (agw-destructure im) |
|
|
|
(for-each |
|
|
|
(lambda (dr) |
|
|
|
(when (gimp-item-is-drawable dr) |
|
|
|
(plug-in-colortoalpha RUN-NONINTERACTIVE im dr (car (gimp-context-get-foreground))))) |
|
|
|
(agw-vec-list (gimp-image-get-layers im)))) |
|
|
|
|
|
|
|
(define (agw-export-font start dir pfx sfx im) |
|
|
|
(letrec ((num (string->number start 16)) |
|
|
|
(pre (string-append dir "/" pfx)) |
|
|
|
(fnc (lambda (ls n) |
|
|
|
(let* ((dr (car ls)) |
|
|
|
(nx (cdr ls)) |
|
|
|
(dr? (gimp-item-is-drawable dr)) |
|
|
|
(fnm (string-append pre (number->string n 16) sfx))) |
|
|
|
(when dr? |
|
|
|
(gimp-file-save RUN-NONINTERACTIVE im dr fnm fnm)) |
|
|
|
(unless (null? nx) |
|
|
|
(fnc nx (if dr? (succ n) n))))))) |
|
|
|
(fnc (agw-vec-list (gimp-image-get-layers im)) num))) |
|
|
|
|
|
|
|
(define author "Alison Gray Watson") |
|
|
|
(define license "Public domain") |
|
|
|
(define path "<Image>/:>") |
|
|
|
|
|
|
|
(script-fu-register |
|
|
|
"agw-p67-font" |
|
|
|
"P67 Font" "Converts open images to a project67 font" |
|
|
|
author license "2021" "") |
|
|
|
(script-fu-register |
|
|
|
"agw-destructure" |
|
|
|
"Destructure" "Deletes foreground color from all layers" |
|
|
|
author license "2021" "" |
|
|
|
SF-IMAGE "Image" 0) |
|
|
|
(script-fu-register |
|
|
|
"agw-export-font" |
|
|
|
"Export Layers" "Exports all layers with hex names" |
|
|
|
author license "2021" "" |
|
|
|
SF-STRING "Start Number (Hex)" "21" |
|
|
|
SF-DIRNAME "Output Directory" "/tmp" |
|
|
|
SF-STRING "Prefix (Optional)" "" |
|
|
|
SF-STRING "Suffix (Required)" ".png" |
|
|
|
SF-IMAGE "Image" 0) |
|
|
|
|
|
|
|
(script-fu-menu-register "agw-p67-font" path) |
|
|
|
(script-fu-menu-register "agw-destructure" path) |
|
|
|
(script-fu-menu-register "agw-export-font" path) |