RUNE(1)                                                   RUNE(1)

     NAME
          block, case, compose, fold, type, uconv, unfold - rune
          transformations

     SYNOPSIS
          rune/block rune ...
          rune/case [ ltu ] [ -f file ]
          rune/compose [ file ... ]
          rune/fold [ -i ] [ file ... ]
          rune/type [-x] [ file ... ]
          rune/uconv [ -f ] [ -n defsize ] [ file ... ]
          rune/unfold [ re ... ]

     DESCRIPTION
          These programs provide transformations on runes.  Block con-
          verts from rune to the containing Unicode block name.  If
          there exists a case conversion from the given rune, case
          converts to the specified case. The ltu flags convert to
          lower, title and upper case, respectively.  The default is
          lower case.  If there exists an equivalent precombined code-
          point, compose combines base codepoints with any following
          combining codepoints.  Fold converts codepoints to their
          base codepoint, esentially stripping combining characters
          while unfold transforms a regular expression to one that
          matches any string which would match the original expression
          if folded first.  Both accept -i which makes the conversion
          case insensitive.  Type prints the codepoint then the type
          classes of each given rune, which may be any of alpha,
          title, space, lower, upper, and digit. Upper- and lowercase
          append the type with a string consisting of a colon, the
          corresponding lower- or upper case rune and the codepoint in
          parenthesis.  Digit values are followed by a colon and the
          corresponding digit value. For example

                    03b1 alpha lower:Α(0391)

          Uconv converts (4 hex digits) and (6 hex digits) to corre-
          sponding runes.  With the -f flag, it is assumed that the
          escapes are terminated by non-numbers so the number of dig-
          its is not checked while -n sets the default width.  For
          example, one could simulate the output of unicode (see
          ascii(1)) with

               awk 'BEGIN{for(i=945; i<955; i++)printf "\\u%.4x", i}' |
                    rune/uconv
               grep `{rune/unfold naïve} /lib/words

     FILES
          /lib/unicode

     Page 1                       Plan 9             (printed 4/24/24)

     RUNE(1)                                                   RUNE(1)

          /sys/src/libc/port/*.h

     SOURCE
          /sys/src/cmd/runetype

     SEE ALSO
          rune(2)

     BUGS
          Still a bit raw.  Type has wierd output.  It's not clear
          that uconv does the most useful conversions.

     Page 2                       Plan 9             (printed 4/24/24)