measurement-to-length
Name
measurement-to-length -- Convert a measurement to a length
Synopsis
(measurement-to-length measure)
Description
Given a string containing a measurement, return that measurement
as a length.
Example
"2.5cm" returns 2.5cm as a length. "3.4barleycorn" returns
6.8pi.
Author
Norman Walsh, <ndw@nwalsh.com>
Source Code
(define (measurement-to-length measure)
;; Convert a measurement to a length
(let* ((pm (car (parse-measurement measure)))
(pu (car (cdr (parse-measurement measure))))
(magnitude (if pm pm "1"))
(units (if pu pu (if pm "pt" "default")))
(unitconv (assoc units unit-conversion-alist))
(factor (if unitconv (car (cdr unitconv)) 1pt)))
(* (string->number magnitude) factor)))