From 949b391f026f8d076075984230445d1a238b8a6a Mon Sep 17 00:00:00 2001 From: Pi Date: Sun, 22 Oct 2017 12:04:48 -0700 Subject: [PATCH] add unicode control-picturizer and docs --- extra/unicode/control-pictures/authors.txt | 1 + .../control-pictures-docs.factor | 16 ++++++++++++++++ .../control-pictures/control-pictures.factor | 18 ++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 extra/unicode/control-pictures/authors.txt create mode 100644 extra/unicode/control-pictures/control-pictures-docs.factor create mode 100644 extra/unicode/control-pictures/control-pictures.factor diff --git a/extra/unicode/control-pictures/authors.txt b/extra/unicode/control-pictures/authors.txt new file mode 100644 index 0000000000..1137f8eed6 --- /dev/null +++ b/extra/unicode/control-pictures/authors.txt @@ -0,0 +1 @@ +Pi diff --git a/extra/unicode/control-pictures/control-pictures-docs.factor b/extra/unicode/control-pictures/control-pictures-docs.factor new file mode 100644 index 0000000000..f294ff19d5 --- /dev/null +++ b/extra/unicode/control-pictures/control-pictures-docs.factor @@ -0,0 +1,16 @@ +! Copyright (C) 2017 Pi. +! See http://factorcode.org/license.txt for BSD license. +USING: help.markup help.syntax help.topics strings ; +IN: unicode.control-pictures + +HELP: control-pictures +{ $values + { "string" string } +} +{ $description "Transforms C0 control characters into their corresponding Control Picture block codepoints." } ; + +ARTICLE: "unicode.control-pictures" "Control Pictures" +"The " { $vocab-link "unicode.control-pictures" } " vocabulary provides a utility word " { $link control-pictures } " for transforming characters in the nonprintable ASCII C0 block to their representations in the Control Pictures block. It has no effect on any other characters." +; + +ABOUT: "unicode.control-pictures" diff --git a/extra/unicode/control-pictures/control-pictures.factor b/extra/unicode/control-pictures/control-pictures.factor new file mode 100644 index 0000000000..94a439c58c --- /dev/null +++ b/extra/unicode/control-pictures/control-pictures.factor @@ -0,0 +1,18 @@ +! Copyright (C) 2017 Pi. +! See http://factorcode.org/license.txt for BSD license. +USING: combinators kernel math sequences ; +IN: unicode.control-pictures + +control-picture ( char -- char' ) + { + { [ dup 0x20 < ] [ 0x2400 bitor ] } + { [ dup 0x7f = ] [ drop 0x2421 ] } + [ ] + } cond ; + +PRIVATE> + +: control-pictures ( string -- string ) + [ char>control-picture ] map ;