From 57f47a7810e68fd443d73bd6893ec56d2fdc6348 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 4 Apr 2019 10:16:28 -0700 Subject: [PATCH] repair first-line-indenting --- quad/qtest/markdown.rkt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/quad/qtest/markdown.rkt b/quad/qtest/markdown.rkt index 7c5e7735..7946d78b 100644 --- a/quad/qtest/markdown.rkt +++ b/quad/qtest/markdown.rkt @@ -248,7 +248,7 @@ ;; treat paragraph break as special kind of line break (define-quad para-break line-break ()) (define pbr (make-para-break #:printable #f)) -(define-quad hr-break para-break ()) +(define-quad hr-break line-break ()) (define hrbr (make-hr-break #:printable #t)) (module+ test @@ -626,6 +626,8 @@ (resolve-font-path attrs) (resolve-font-size attrs)) +(define-quad first-line-indent quad ()) + (define (insert-first-line-indents qs-in) ;; first line indents are quads inserted at the beginning of a paragraph ;; (that is, just after a paragraph break) @@ -633,11 +635,12 @@ ;; to be compatible with first-fit and best-fit. (for/fold ([qs-out null] #:result (reverse qs-out)) - ([q (in-list (cons pbr qs-in))] - [next-q (in-list qs-in)]) + ([q (in-list qs-in)] + [next-q (in-list (cdr qs-in))]) (match (and (para-break? q) (quad-ref next-q 'first-line-indent 0)) [(or #false 0) (cons next-q qs-out)] - [indent-val (list* next-q (make-quad #:attrs (quad-attrs next-q) + [indent-val (list* next-q (make-quad #:type first-line-indent + #:attrs (quad-attrs next-q) #:size (pt indent-val 0)) qs-out)]))) (define (run xs pdf-path)