diff --git a/quad/quadwriter/core.rkt b/quad/quadwriter/core.rkt index 0b38bea8..0ae5bcb0 100644 --- a/quad/quadwriter/core.rkt +++ b/quad/quadwriter/core.rkt @@ -19,17 +19,18 @@ (define-quad string-quad quad ()) (define (q:string-draw q doc) - ;; draw with pdf text routine (when (pair? (quad-elems q)) - (font doc (path->string (quad-ref q font-path-key default-font-face))) - (font-size doc (quad-ref q 'font-size 12)) - (fill-color doc (quad-ref q 'color "black")) - (define str (unsafe-car (quad-elems q))) - (match-define (list x y) (quad-position q)) - (text doc str x y - #:tracking (quad-ref q 'character-tracking 0) - #:bg (quad-ref q 'bg) - #:features (list (cons #"tnum" 1)) - #:link (quad-ref q 'link))) + ;; draw with pdf text routine + (when (pair? (quad-elems q)) + (font doc (path->string (quad-ref q font-path-key default-font-face))) + (font-size doc (quad-ref q 'font-size 12)) + (fill-color doc (quad-ref q 'color "black")) + (define str (unsafe-car (quad-elems q))) + (match-define (list x y) (quad-position q)) + (text doc str x y + #:tracking (quad-ref q 'character-tracking 0) + #:bg (quad-ref q 'bg) + #:features '((#"tnum" . 1)) + #:link (quad-ref q 'link)))) (define (q:string-draw-end q doc) (when (draw-debug-string?) @@ -384,10 +385,10 @@ (draw-debug q doc "aliceblue" "aliceblue" 3) (scale doc (if zoom-mode? zoom-scale 1) (if zoom-mode? zoom-scale 1))) -(define (page-draw-end q doc) +(define (draw-page-footer q doc) (define top-margin #R (pt-y (quad-offset q))) (define bottom-margin (- #R (pdf-height doc) #R top-margin)) - (font-size doc 10) + (font-size doc (* .8 default-font-size)) (font doc default-font-face) (fill-color doc "black") (text doc (format "~a ยท ~a at ~a" (hash-ref (quad-attrs q) 'page-number) @@ -396,6 +397,9 @@ (pt-x (quad-offset q)) (+ (- (pdf-height doc) bottom-margin) 20))) +(define (page-draw-end q doc) + (draw-page-footer q doc)) + (define q:page (q #:offset '(0 0) #:draw-start page-draw-start #:draw-end page-draw-end))