fix metadata handling

main
Matthew Butterick 4 years ago
parent 25f9eb3a38
commit 1f1d318d56

@ -0,0 +1,6 @@
#lang quadwriter
#:pdf-title "My Life"
#:pdf-author "Roxy Butterick"
#:pdf-subject "pupography"
#:pdf-keywords "cute boxer dog"

@ -194,17 +194,15 @@
(or (debug-column-gap) (quad-ref (car qs) :column-gap default-column-gap))) (or (debug-column-gap) (quad-ref (car qs) :column-gap default-column-gap)))
(define (setup-pdf-metadata! qs pdf) (define (setup-pdf-metadata! qs pdf)
(for ([str (match qs (define kvs
[(cons q _) (apply append
(in-list (for/list ([k (in-list (list :pdf-title (for/list ([k (in-list (list :pdf-title :pdf-author :pdf-subject :pdf-keywords))]
:pdf-author [pdf-k (in-list '(Title Author Subject Keywords))])
:pdf-subject (define str (or (match qs
:pdf-keywords))]) [(cons q _) (quad-ref q k)]
(quad-ref q k)))] [_ #false]) "")) ; default val is empty string
[_ (in-value #f)])] (list pdf-k str))))
[pdf-k (in-list '(Title Author Subject Keywords))]) (apply hash-set*! (pdf-info pdf) 'Creator (format "Racket ~a [Quad library]" (version)) kvs))
(hash-set! (pdf-info pdf) pdf-k (or str ""))) ; default val is empty string
(hash-set! (pdf-info pdf) 'Creator (format "Racket ~a [Quad library]" (version))))
(define (footnote-flow? q) (equal? (quad-ref q 'flow) "footnote")) (define (footnote-flow? q) (equal? (quad-ref q 'flow) "footnote"))

Loading…
Cancel
Save