You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
typesetting/quad/quad2/main.rkt

39 lines
1.1 KiB
Racket

3 years ago
#lang debug racket/base
(require "layout.rkt"
"render.rkt"
"quad.rkt"
"compile.rkt"
"atomize.rkt"
"layout.rkt"
"draw.rkt"
racket/string
racket/match)
(define-pass (bootstrap x)
#:precondition values
#:postcondition quad?
(match x
[(? quad?) x]
[(list (? quad?) ...) (make-quad #:elems (list x))]
[_ (make-quad #:elems (list x))]))
(define quad-compile (make-compiler (list
bootstrap
atomize
layout
make-drawing-insts)))
(define quad-compile-to-stack (compiler-append quad-compile
(list stackify)))
3 years ago
(define drawing-insts (parameterize ([current-wrap-width 13])
3 years ago
(quad-compile-to-stack "Hello this is the earth")))
(displayln drawing-insts)
3 years ago
(render drawing-insts #:using text-renderer)
(render drawing-insts #:using drr-renderer)
3 years ago
#;(render-to-html drawing-insts)
#;(render-to-pdf drawing-insts)