[racket] Generating svg-images rather than png-images from Scribble

From: Jens Axel Søgaard (jensaxel at soegaard.net)
Date: Tue Oct 15 05:46:00 EDT 2013

2013/10/15 Robby Findler <robby at eecs.northwestern.edu>:
> I gave this a try and I'm just getting "???" in the image docs. Below is my
> change to the image library. Does anyone know where the ???s come from?

I was puzzled at first, but if I understand correctly, the HtDP images
aren't picts but image-snips.

This implies that they don't get converted at line 585 in [1]
pict-lib/texpict/private/mrpict-extra.rkt,
but that the conversion called is the one in [2]
gui-lib/mrlib/image-core.rkt at line 232.
I only made changes in the first one, not the second one.

I am unsure how to fix this - have the image snips still the pict, or
have they become
become bitmaps at this point?

[1] https://github.com/plt/racket/blob/5ed686d9911b9f0d1cb1d5cb58d6950e33b9d17c/pkgs/pict-pkgs/pict-lib/texpict/private/mrpict-extra.rkt#L585

[2] https://github.com/plt/racket/blob/master/pkgs/gui-pkgs/gui-lib/mrlib/image-core.rkt#L232

/Jens Axel


> Robby
>
> ☕  git diff | cat
> diff --git
> a/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image-guide.scrbl
> b/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image-guide.scrbl
> index 8a625611..d66c922 100644
> --- a/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image-guide.scrbl
> +++ b/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image-guide.scrbl
> @@ -12,7 +12,9 @@
>            "img-eval.rkt"
>            scribble/decode
>            scribble/manual
> -          scribble/eval)
> +          scribble/eval
> +          scribble/core
> +          scribble/html-properties)
>
>  @(define guide-eval (make-img-eval))
>
> @@ -35,8 +37,8 @@
>  @(interaction-eval #:eval guide-eval
>                     (require racket/list racket/local))
>
> -
> - at title[#:tag "image-guide"]{Image Guide}
> + at title[#:style (style "svg" (list (render-pict-as 'svg-images)))
> +               #:tag "image-guide"]{Image Guide}
>
>  This section introduces the @racketmodname[2htdp/image] library
>  through a series of increasingly complex image constructions
> diff --git a/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image.scrbl
> b/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image.scrbl
> index 9c7d447..6f3cb39 100644
> --- a/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image.scrbl
> +++ b/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings/image.scrbl
> @@ -34,7 +34,7 @@
>       (img-eval '(extra-margin 0))))
>
>
> - at teachpack["image"]{Images}
> + at teachpack[#:svg? #t "image"]{Images}
>
>  @(define mode/color-and-nitty-text
>     (make-splice
> diff --git a/pkgs/htdp-pkgs/htdp-doc/teachpack/htdp/scribblings/shared.rkt
> b/pkgs/htdp-pkgs/htdp-doc/teachpack/htdp/scribblings/shared.rkt
> index 82ade26..b2c1b40 100644
> --- a/pkgs/htdp-pkgs/htdp-doc/teachpack/htdp/scribblings/shared.rkt
> +++ b/pkgs/htdp-pkgs/htdp-doc/teachpack/htdp/scribblings/shared.rkt
> @@ -1,12 +1,17 @@
>  #lang racket/base
>
> -(require scribble/manual)
> +(require scribble/manual
> +         scribble/core
> +         scribble/html-properties)
>
>  (provide teachpack
>           beginner-require)
>
> -(define (teachpack tp . name)
> +(define (teachpack #:svg? [svg? #f] tp . name)
>    (apply title #:tag tp
> +         #:style (if svg?
> +                     (style "svg" (list (render-pict-as 'svg-images)))
> +                     #f)
>           `(, at name ": " ,(filepath (format "~a.rkt" tp))
>             ,(index (format "~a teachpack" tp)))))
>
> ☕  [robby at yanpu]
> ~/git/plt/pkgs/htdp-pkgs/htdp-doc/teachpack/2htdp/scribblings
>>



-- 
--
Jens Axel Søgaard


Posted on the users mailing list.