(define-module (characters)) (define-public (char->byte char) (char->integer char)) ;; ;; Unicode C0 Classes (define-public (byte? number) "Return true if the parameter number is a valid byte value." (and (exact? number) (integer? number) (and (>= 0 byte) (<= byte 255))) ) ; beware of the evil minus (define-public (is-unicode-c0? byte) "Return true if the byte value is part of Unicode C0." (and (>= byte 0) (<= byte 127))) (define-public (is-unicode-c0-printable? byte) "Return true if the byte value is a printable character in Unicode C0." (and (>= byte 33) (<= byte 126))) (define-public (printable? character) ; convenience abbreviation (is-unicode-c0-printable? (char->integer character))) (define-public (control-code? character) (not (printable? character)))