NAME
runecase, runecompose, runefold, runetype, runeuconv, runeunfold – rune transformations

SYNOPSIS
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. If there exists an equivalent precombined codepoint, 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 corresponding runes. With the –f flag, it is assumed that the escapes are terminated by non–numbers so the number of digits is not checked while –n sets the default width. For example, one could simulate the output of unicode(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
/sys/src/libc/port/*.h

SOURCE
/sys/src/cmd/runetype

SEE ALSO
rune(2)

BUGS
Still a bit raw; type has wierd output.