aboutsummaryrefslogtreecommitdiff
path: root/src/libutf
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutf')
-rw-r--r--src/libutf/Make.Darwin-PowerMacintosh6
-rw-r--r--src/libutf/Make.FreeBSD-3867
-rw-r--r--src/libutf/Make.HP-UX-90006
-rw-r--r--src/libutf/Make.Linux-3867
-rw-r--r--src/libutf/Make.NetBSD-3867
-rw-r--r--src/libutf/Make.OSF1-alpha6
-rw-r--r--src/libutf/Make.SunOS-sun4u2
-rw-r--r--src/libutf/Make.SunOS-sun4u-cc6
-rw-r--r--src/libutf/Make.SunOS-sun4u-gcc6
-rw-r--r--src/libutf/Makefile89
-rw-r--r--src/libutf/Makefile.BOT47
-rw-r--r--src/libutf/Makefile.CMD5
-rw-r--r--src/libutf/Makefile.LIB4
-rw-r--r--src/libutf/Makefile.MID41
-rw-r--r--src/libutf/Makefile.TOP20
-rw-r--r--src/libutf/bundle.ports43
-rw-r--r--src/libutf/isalpharune.347
-rw-r--r--src/libutf/mkfile9
-rw-r--r--src/libutf/rpm.spec28
-rw-r--r--src/libutf/rune.3187
-rw-r--r--src/libutf/runestrcat.365
-rw-r--r--src/libutf/utf.791
-rw-r--r--src/libutf/utf.h51
23 files changed, 4 insertions, 776 deletions
diff --git a/src/libutf/Make.Darwin-PowerMacintosh b/src/libutf/Make.Darwin-PowerMacintosh
deleted file mode 100644
index 14b8d4e7..00000000
--- a/src/libutf/Make.Darwin-PowerMacintosh
+++ /dev/null
@@ -1,6 +0,0 @@
-CC=gcc
-CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I${PREFIX}/include
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O
diff --git a/src/libutf/Make.FreeBSD-386 b/src/libutf/Make.FreeBSD-386
deleted file mode 100644
index 087ed3ab..00000000
--- a/src/libutf/Make.FreeBSD-386
+++ /dev/null
@@ -1,7 +0,0 @@
-CC=gcc
-CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I$(PREFIX)/include
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME)
-NAN=nan64.$O
diff --git a/src/libutf/Make.HP-UX-9000 b/src/libutf/Make.HP-UX-9000
deleted file mode 100644
index edbdc111..00000000
--- a/src/libutf/Make.HP-UX-9000
+++ /dev/null
@@ -1,6 +0,0 @@
-CC=cc
-CFLAGS=-O -c -Ae -I.
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O
diff --git a/src/libutf/Make.Linux-386 b/src/libutf/Make.Linux-386
deleted file mode 100644
index 74b0252c..00000000
--- a/src/libutf/Make.Linux-386
+++ /dev/null
@@ -1,7 +0,0 @@
-CC=gcc
-CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I.
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME)
-NAN=nan64.$O
diff --git a/src/libutf/Make.NetBSD-386 b/src/libutf/Make.NetBSD-386
deleted file mode 100644
index 087ed3ab..00000000
--- a/src/libutf/Make.NetBSD-386
+++ /dev/null
@@ -1,7 +0,0 @@
-CC=gcc
-CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I$(PREFIX)/include
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME)
-NAN=nan64.$O
diff --git a/src/libutf/Make.OSF1-alpha b/src/libutf/Make.OSF1-alpha
deleted file mode 100644
index 3d45279b..00000000
--- a/src/libutf/Make.OSF1-alpha
+++ /dev/null
@@ -1,6 +0,0 @@
-CC=cc
-CFLAGS+=-g -c -I.
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O
diff --git a/src/libutf/Make.SunOS-sun4u b/src/libutf/Make.SunOS-sun4u
deleted file mode 100644
index c5fe67b8..00000000
--- a/src/libutf/Make.SunOS-sun4u
+++ /dev/null
@@ -1,2 +0,0 @@
-include Make.SunOS-sun4u-$(CC)
-NAN=nan64.$O
diff --git a/src/libutf/Make.SunOS-sun4u-cc b/src/libutf/Make.SunOS-sun4u-cc
deleted file mode 100644
index 829301de..00000000
--- a/src/libutf/Make.SunOS-sun4u-cc
+++ /dev/null
@@ -1,6 +0,0 @@
-CC=cc
-CFLAGS+=-g -c -I. -O
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O
diff --git a/src/libutf/Make.SunOS-sun4u-gcc b/src/libutf/Make.SunOS-sun4u-gcc
deleted file mode 100644
index 5c415948..00000000
--- a/src/libutf/Make.SunOS-sun4u-gcc
+++ /dev/null
@@ -1,6 +0,0 @@
-CC=gcc
-CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c
-O=o
-AR=ar
-ARFLAGS=rvc
-NAN=nan64.$O
diff --git a/src/libutf/Makefile b/src/libutf/Makefile
index 419a8a65..648291a4 100644
--- a/src/libutf/Makefile
+++ b/src/libutf/Makefile
@@ -1,27 +1,7 @@
-
-# this works in gnu make
-SYSNAME:=${shell uname}
-OBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'}
-
-# this works in bsd make
-SYSNAME!=uname
-OBJTYPE!=uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'
-
-# the gnu rules will mess up bsd but not vice versa,
-# hence the gnu rules come first.
-
-include Make.$(SYSNAME)-$(OBJTYPE)
-
-PREFIX=/usr/local
-
-NUKEFILES=
-
-TGZFILES=
+9SRC=..
+include $(9SRC)/Makehdr
LIB=libutf.a
-VERSION=2.0
-PORTPLACE=devel/libutf
-NAME=libutf
OFILES=\
rune.$O\
@@ -46,67 +26,6 @@ OFILES=\
utfutf.$O\
HFILES=\
- utf.h\
-
-all: $(LIB)
-
-install: $(LIB)
- test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
- install -c -m 0644 isalpharune.3 $(PREFIX)/man/man3/isalpharune.3
- install -c -m 0644 utf.7 $(PREFIX)/man/man7/utf.7
- install -c -m 0644 rune.3 $(PREFIX)/man/man3/rune.3
- install -c -m 0644 runestrcat.3 $(PREFIX)/man/man3/runestrcat.3
- install -c -m 0644 utf.h $(PREFIX)/include/utf.h
- install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
-
-$(LIB): $(OFILES)
- $(AR) $(ARFLAGS) $(LIB) $(OFILES)
-
-NUKEFILES+=$(LIB)
-.c.$O:
- $(CC) $(CFLAGS) -I$(PREFIX)/include $*.c
-
-%.$O: %.c
- $(CC) $(CFLAGS) -I$(PREFIX)/include $*.c
-
-
-$(OFILES): $(HFILES)
-
-tgz:
- rm -rf $(NAME)-$(VERSION)
- mkdir $(NAME)-$(VERSION)
- cp Makefile Make.* README LICENSE NOTICE *.[ch137] rpm.spec bundle.ports $(TGZFILES) $(NAME)-$(VERSION)
- tar cf - $(NAME)-$(VERSION) | gzip >$(NAME)-$(VERSION).tgz
- rm -rf $(NAME)-$(VERSION)
-
-clean:
- rm -f $(OFILES) $(LIB)
-
-nuke:
- rm -f $(OFILES) *.tgz *.rpm $(NUKEFILES)
-
-rpm:
- make tgz
- cp $(NAME)-$(VERSION).tgz /usr/src/RPM/SOURCES
- rpm -ba rpm.spec
- cp /usr/src/RPM/SRPMS/$(NAME)-$(VERSION)-1.src.rpm .
- cp /usr/src/RPM/RPMS/i586/$(NAME)-$(VERSION)-1.i586.rpm .
- scp *.rpm rsc@amsterdam.lcs.mit.edu:public_html/software
-
-PORTDIR=/usr/ports/$(PORTPLACE)
-
-ports:
- make tgz
- rm -rf $(PORTDIR)
- mkdir $(PORTDIR)
- cp $(NAME)-$(VERSION).tgz /usr/ports/distfiles
- cat bundle.ports | (cd $(PORTDIR) && awk '$$1=="---" && $$3=="---" { ofile=$$2; next} {if(ofile) print >ofile}')
- (cd $(PORTDIR); make makesum)
- (cd $(PORTDIR); make)
- (cd $(PORTDIR); /usr/local/bin/portlint)
- rm -rf $(PORTDIR)/work
- shar `find $(PORTDIR)` > ports.shar
- (cd $(PORTDIR); tar cf - *) | gzip >$(NAME)-$(VERSION)-ports.tgz
- scp *.tgz rsc@amsterdam.lcs.mit.edu:public_html/software
+ $(9SRC)/include/utf.h\
-.phony: all clean nuke install tgz rpm ports
+include $(9SRC)/Makesyslib
diff --git a/src/libutf/Makefile.BOT b/src/libutf/Makefile.BOT
deleted file mode 100644
index ad852a1f..00000000
--- a/src/libutf/Makefile.BOT
+++ /dev/null
@@ -1,47 +0,0 @@
-.c.$O:
- $(CC) $(CFLAGS) -I/usr/X11R6/include -I../sam -I$(PREFIX)/include $*.c
-
-%.$O: %.c
- $(CC) $(CFLAGS) -I/usr/X11R6/include -I../sam -I$(PREFIX)/include $*.c
-
-
-$(OFILES): $(HFILES)
-
-tgz:
- rm -rf $(NAME)-$(VERSION)
- mkdir $(NAME)-$(VERSION)
- cp Makefile Make.* README LICENSE NOTICE *.[ch137] rpm.spec bundle.ports $(TGZFILES) $(NAME)-$(VERSION)
- tar cf - $(NAME)-$(VERSION) | gzip >$(NAME)-$(VERSION).tgz
- rm -rf $(NAME)-$(VERSION)
-
-clean:
- rm -f $(OFILES) $(LIB)
-
-nuke:
- rm -f $(OFILES) *.tgz *.rpm $(NUKEFILES)
-
-rpm:
- make tgz
- cp $(NAME)-$(VERSION).tgz /usr/src/RPM/SOURCES
- rpm -ba rpm.spec
- cp /usr/src/RPM/SRPMS/$(NAME)-$(VERSION)-1.src.rpm .
- cp /usr/src/RPM/RPMS/i586/$(NAME)-$(VERSION)-1.i586.rpm .
- scp *.rpm rsc@amsterdam.lcs.mit.edu:public_html/software
-
-PORTDIR=/usr/ports/$(PORTPLACE)
-
-ports:
- make tgz
- rm -rf $(PORTDIR)
- mkdir $(PORTDIR)
- cp $(NAME)-$(VERSION).tgz /usr/ports/distfiles
- cat bundle.ports | (cd $(PORTDIR) && awk '$$1=="---" && $$3=="---" { ofile=$$2; next} {if(ofile) print >ofile}')
- (cd $(PORTDIR); make makesum)
- (cd $(PORTDIR); make)
- (cd $(PORTDIR); /usr/local/bin/portlint)
- rm -rf $(PORTDIR)/work
- shar `find $(PORTDIR)` > ports.shar
- (cd $(PORTDIR); tar cf - *) | gzip >$(NAME)-$(VERSION)-ports.tgz
- scp *.tgz rsc@amsterdam.lcs.mit.edu:public_html/software
-
-.phony: all clean nuke install tgz rpm ports
diff --git a/src/libutf/Makefile.CMD b/src/libutf/Makefile.CMD
deleted file mode 100644
index a817fd3c..00000000
--- a/src/libutf/Makefile.CMD
+++ /dev/null
@@ -1,5 +0,0 @@
-
-$(TARG): $(OFILES)
- $(CC) -o $(TARG) $(OFILES) -L$(PREFIX)/lib -lframe -ldraw -lthread -l9 -lregexp9 -lbio -lfmt -lutf -L/usr/X11R6/lib -lX11 -lm
-
-
diff --git a/src/libutf/Makefile.LIB b/src/libutf/Makefile.LIB
deleted file mode 100644
index 9ebf5606..00000000
--- a/src/libutf/Makefile.LIB
+++ /dev/null
@@ -1,4 +0,0 @@
-$(LIB): $(OFILES)
- $(AR) $(ARFLAGS) $(LIB) $(OFILES)
-
-NUKEFILES+=$(LIB)
diff --git a/src/libutf/Makefile.MID b/src/libutf/Makefile.MID
deleted file mode 100644
index 9c142d44..00000000
--- a/src/libutf/Makefile.MID
+++ /dev/null
@@ -1,41 +0,0 @@
-LIB=libutf.a
-VERSION=2.0
-PORTPLACE=devel/libutf
-NAME=libutf
-
-OFILES=\
- rune.$O\
- runestrcat.$O\
- runestrchr.$O\
- runestrcmp.$O\
- runestrcpy.$O\
- runestrdup.$O\
- runestrlen.$O\
- runestrecpy.$O\
- runestrncat.$O\
- runestrncmp.$O\
- runestrncpy.$O\
- runestrrchr.$O\
- runestrstr.$O\
- runetype.$O\
- utfecpy.$O\
- utflen.$O\
- utfnlen.$O\
- utfrrune.$O\
- utfrune.$O\
- utfutf.$O\
-
-HFILES=\
- utf.h\
-
-all: $(LIB)
-
-install: $(LIB)
- test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
- install -c -m 0644 isalpharune.3 $(PREFIX)/man/man3/isalpharune.3
- install -c -m 0644 utf.7 $(PREFIX)/man/man7/utf.7
- install -c -m 0644 rune.3 $(PREFIX)/man/man3/rune.3
- install -c -m 0644 runestrcat.3 $(PREFIX)/man/man3/runestrcat.3
- install -c -m 0644 utf.h $(PREFIX)/include/utf.h
- install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
-
diff --git a/src/libutf/Makefile.TOP b/src/libutf/Makefile.TOP
deleted file mode 100644
index f6abc8c1..00000000
--- a/src/libutf/Makefile.TOP
+++ /dev/null
@@ -1,20 +0,0 @@
-
-# this works in gnu make
-SYSNAME:=${shell uname}
-OBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'}
-
-# this works in bsd make
-SYSNAME!=uname
-OBJTYPE!=uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'
-
-# the gnu rules will mess up bsd but not vice versa,
-# hence the gnu rules come first.
-
-include Make.$(SYSNAME)-$(OBJTYPE)
-
-PREFIX=/usr/local
-
-NUKEFILES=
-
-TGZFILES=
-
diff --git a/src/libutf/bundle.ports b/src/libutf/bundle.ports
deleted file mode 100644
index d5ae00b6..00000000
--- a/src/libutf/bundle.ports
+++ /dev/null
@@ -1,43 +0,0 @@
---- Makefile ---
-# New ports collection makefile for: libutf
-# Date Created: 11 Feb 2003
-# Whom: rsc
-#
-# THIS LINE NEEDS REPLACING. IT'S HERE TO GET BY PORTLINT
-# $FreeBSD: ports/devel/libfmt/Makefile,v 1.1 2003/02/12 00:51:22 rsc Exp $
-
-PORTNAME= libutf
-PORTVERSION= 2.0
-CATEGORIES= devel
-MASTER_SITES= http://pdos.lcs.mit.edu/~rsc/software/
-EXTRACT_SUFX= .tgz
-
-MAINTAINER= rsc@post.harvard.edu
-
-MAN3= rune.3 runestrcat.3 isalpharune.3
-MAN7= utf.7
-
-USE_REINPLACE=yes
-
-.include <bsd.port.pre.mk>
-
-post-patch:
- ${REINPLACE_CMD} -e 's,$$(PREFIX),${PREFIX},g' ${WRKSRC}/Makefile
-
-.include <bsd.port.post.mk>
---- pkg-comment ---
-UTF8 support library from Plan 9
---- pkg-descr ---
-UTF8 support library from Plan 9.
-
-WWW: http://pdos.lcs.mit.edu/~rsc/software/#libutf
-http://plan9.bell-labs.com/magic/man2html/3/rune
-
-Russ Cox
-rsc@post.harvard.edu
---- pkg-plist ---
-lib/libutf.a
-include/utf.h
---- /dev/null ---
-This is just a way to make sure blank lines don't
-creep into pkg-plist.
diff --git a/src/libutf/isalpharune.3 b/src/libutf/isalpharune.3
deleted file mode 100644
index f9f58cde..00000000
--- a/src/libutf/isalpharune.3
+++ /dev/null
@@ -1,47 +0,0 @@
-.TH ISALPHARUNE 3
-.SH NAME
-isalpharune, islowerrune, isspacerune, istitlerune, isupperrune, tolowerrune, totitlerune, toupperrune \- Unicode character classes and cases
-.SH SYNOPSIS
-.B #include <utf.h>
-.PP
-.B
-int isalpharune(Rune c)
-.PP
-.B
-int islowerrune(Rune c)
-.PP
-.B
-int isspacerune(Rune c)
-.PP
-.B
-int istitlerune(Rune c)
-.PP
-.B
-int isupperrune(Rune c)
-.PP
-.B
-Rune tolowerrune(Rune c)
-.PP
-.B
-Rune totitlerune(Rune c)
-.PP
-.B
-Rune toupperrune(Rune c)
-.SH DESCRIPTION
-These routines examine and operate on Unicode characters,
-in particular a subset of their properties as defined in the Unicode standard.
-Unicode defines some characters as alphabetic and specifies three cases:
-upper, lower, and title.
-Analogously to
-.IR ctype (3)
-for
-.SM ASCII\c
-,
-these routines
-test types and modify cases for Unicode characters.
-The names are self-explanatory.
-.PP
-The case-conversion routines return the character unchanged if it has no case.
-.SH "SEE ALSO
-.IR ctype (3) ,
-.IR "The Unicode Standard" .
diff --git a/src/libutf/mkfile b/src/libutf/mkfile
deleted file mode 100644
index 9893a06d..00000000
--- a/src/libutf/mkfile
+++ /dev/null
@@ -1,9 +0,0 @@
-all:V: Makefile Make.FreeBSD-386 Make.Linux-386 Make.NetBSD-386 Make.HP-UX-9000 Make.OSF1-alpha \
- Make.SunOS-sun4u Make.SunOS-sun4u-cc Make.SunOS-sun4u-gcc \
- Make.Darwin-PowerMacintosh
-
-Makefile:D: ../libutf/Makefile.TOP Makefile.MID ../libutf/Makefile.LIB ../libutf/Makefile.BOT
- cat $prereq >$target
-
-Make.%: ../libutf/Make.%
- cp $prereq $target
diff --git a/src/libutf/rpm.spec b/src/libutf/rpm.spec
deleted file mode 100644
index 74127833..00000000
--- a/src/libutf/rpm.spec
+++ /dev/null
@@ -1,28 +0,0 @@
-Summary: Port of Plan 9's UTF8 support functions
-Name: libutf
-Version: 2.0
-Release: 1
-Group: Development/C
-Copyright: Public Domain
-Packager: Russ Cox <rsc@post.harvard.edu>
-Source: http://pdos.lcs.mit.edu/~rsc/software/libutf-2.0.tgz
-URL: http://pdos.lcs.mit.edu/~rsc/software/#libutf
-
-%description
-Libutf is a port of Plan 9's UTF8 support functions.
-%prep
-%setup
-
-%build
-make
-
-%install
-make install
-
-%files
-/usr/local/include/utf.h
-/usr/local/lib/libutf.a
-/usr/local/man/man3/runestrcat.3
-/usr/local/man/man3/isalpharune.3
-/usr/local/man/man3/rune.3
-/usr/local/man/man7/utf.7
diff --git a/src/libutf/rune.3 b/src/libutf/rune.3
deleted file mode 100644
index 7ce978ae..00000000
--- a/src/libutf/rune.3
+++ /dev/null
@@ -1,187 +0,0 @@
-.TH RUNE 3
-.SH NAME
-runetochar, chartorune, runelen, runenlen, fullrune, utfecpy, utflen, utfnlen, utfrune, utfrrune, utfutf \- rune/UTF conversion
-.SH SYNOPSIS
-.ta \w'\fLchar*xx'u
-.B #include <utf.h>
-.PP
-.B
-int runetochar(char *s, Rune *r)
-.PP
-.B
-int chartorune(Rune *r, char *s)
-.PP
-.B
-int runelen(long r)
-.PP
-.B
-int runenlen(Rune *r, int n)
-.PP
-.B
-int fullrune(char *s, int n)
-.PP
-.B
-char* utfecpy(char *s1, char *es1, char *s2)
-.PP
-.B
-int utflen(char *s)
-.PP
-.B
-int utfnlen(char *s, long n)
-.PP
-.B
-char* utfrune(char *s, long c)
-.PP
-.B
-char* utfrrune(char *s, long c)
-.PP
-.B
-char* utfutf(char *s1, char *s2)
-.SH DESCRIPTION
-These routines convert to and from a
-.SM UTF
-byte stream and runes.
-.PP
-.I Runetochar
-copies one rune at
-.I r
-to at most
-.B UTFmax
-bytes starting at
-.I s
-and returns the number of bytes copied.
-.BR UTFmax ,
-defined as
-.B 3
-in
-.BR <libc.h> ,
-is the maximum number of bytes required to represent a rune.
-.PP
-.I Chartorune
-copies at most
-.B UTFmax
-bytes starting at
-.I s
-to one rune at
-.I r
-and returns the number of bytes copied.
-If the input is not exactly in
-.SM UTF
-format,
-.I chartorune
-will convert to 0x80 and return 1.
-.PP
-.I Runelen
-returns the number of bytes
-required to convert
-.I r
-into
-.SM UTF.
-.PP
-.I Runenlen
-returns the number of bytes
-required to convert the
-.I n
-runes pointed to by
-.I r
-into
-.SM UTF.
-.PP
-.I Fullrune
-returns 1 if the string
-.I s
-of length
-.I n
-is long enough to be decoded by
-.I chartorune
-and 0 otherwise.
-This does not guarantee that the string
-contains a legal
-.SM UTF
-encoding.
-This routine is used by programs that
-obtain input a byte at
-a time and need to know when a full rune
-has arrived.
-.PP
-The following routines are analogous to the
-corresponding string routines with
-.B utf
-substituted for
-.B str
-and
-.B rune
-substituted for
-.BR chr .
-.PP
-.I Utfecpy
-copies UTF sequences until a null sequence has been copied, but writes no
-sequences beyond
-.IR es1 .
-If any sequences are copied,
-.I s1
-is terminated by a null sequence, and a pointer to that sequence is returned.
-Otherwise, the original
-.I s1
-is returned.
-.PP
-.I Utflen
-returns the number of runes that
-are represented by the
-.SM UTF
-string
-.IR s .
-.PP
-.I Utfnlen
-returns the number of complete runes that
-are represented by the first
-.I n
-bytes of
-.SM UTF
-string
-.IR s .
-If the last few bytes of the string contain an incompletely coded rune,
-.I utfnlen
-will not count them; in this way, it differs from
-.IR utflen ,
-which includes every byte of the string.
-.PP
-.I Utfrune
-.RI ( utfrrune )
-returns a pointer to the first (last)
-occurrence of rune
-.I c
-in the
-.SM UTF
-string
-.IR s ,
-or 0 if
-.I c
-does not occur in the string.
-The NUL byte terminating a string is considered to
-be part of the string
-.IR s .
-.PP
-.I Utfutf
-returns a pointer to the first occurrence of
-the
-.SM UTF
-string
-.I s2
-as a
-.SM UTF
-substring of
-.IR s1 ,
-or 0 if there is none.
-If
-.I s2
-is the null string,
-.I utfutf
-returns
-.IR s1 .
-.SH HISTORY
-These routines were written by Rob Pike and Ken Thompson
-and first appeared in Plan 9.
-.SH SEE ALSO
-.IR utf (7),
-.IR tcs (1)
diff --git a/src/libutf/runestrcat.3 b/src/libutf/runestrcat.3
deleted file mode 100644
index c012e59e..00000000
--- a/src/libutf/runestrcat.3
+++ /dev/null
@@ -1,65 +0,0 @@
-.TH RUNESTRCAT 3
-.SH NAME
-runestrcat,
-runestrncat,
-runestrcmp,
-runestrncmp,
-runestrcpy,
-runestrncpy,
-runestrecpy,
-runestrlen,
-runestrchr,
-runestrrchr,
-runestrdup,
-runestrstr \- rune string operations
-.SH SYNOPSIS
-.B #include <utf.h>
-.PP
-.ta \w'\fLRune* \fP'u
-.B
-Rune* runestrcat(Rune *s1, Rune *s2)
-.PP
-.B
-Rune* runestrncat(Rune *s1, Rune *s2, long n)
-.PP
-.B
-int runestrcmp(Rune *s1, Rune *s2)
-.PP
-.B
-int runestrncmp(Rune *s1, Rune *s2, long n)
-.PP
-.B
-Rune* runestrcpy(Rune *s1, Rune *s2)
-.PP
-.B
-Rune* runestrncpy(Rune *s1, Rune *s2, long n)
-.PP
-.B
-Rune* runestrecpy(Rune *s1, Rune *es1, Rune *s2)
-.PP
-.B
-long runestrlen(Rune *s)
-.PP
-.B
-Rune* runestrchr(Rune *s, Rune c)
-.PP
-.B
-Rune* runestrrchr(Rune *s, Rune c)
-.PP
-.B
-Rune* runestrdup(Rune *s)
-.PP
-.B
-Rune* runestrstr(Rune *s1, Rune *s2)
-.SH DESCRIPTION
-These functions are rune string analogues of
-the corresponding functions in
-.IR strcat (3).
-.SH HISTORY
-These routines first appeared in Plan 9.
-.SH SEE ALSO
-.IR memmove (3),
-.IR rune (3),
-.IR strcat (2)
-.SH BUGS
-The outcome of overlapping moves varies among implementations.
diff --git a/src/libutf/utf.7 b/src/libutf/utf.7
deleted file mode 100644
index 97b7b1e7..00000000
--- a/src/libutf/utf.7
+++ /dev/null
@@ -1,91 +0,0 @@
-.TH UTF 7
-.SH NAME
-UTF, Unicode, ASCII, rune \- character set and format
-.SH DESCRIPTION
-The Plan 9 character set and representation are
-based on the Unicode Standard and on the ISO multibyte
-.SM UTF-8
-encoding (Universal Character
-Set Transformation Format, 8 bits wide).
-The Unicode Standard represents its characters in 16
-bits;
-.SM UTF-8
-represents such
-values in an 8-bit byte stream.
-Throughout this manual,
-.SM UTF-8
-is shortened to
-.SM UTF.
-.PP
-In Plan 9, a
-.I rune
-is a 16-bit quantity representing a Unicode character.
-Internally, programs may store characters as runes.
-However, any external manifestation of textual information,
-in files or at the interface between programs, uses a
-machine-independent, byte-stream encoding called
-.SM UTF.
-.PP
-.SM UTF
-is designed so the 7-bit
-.SM ASCII
-set (values hexadecimal 00 to 7F),
-appear only as themselves
-in the encoding.
-Runes with values above 7F appear as sequences of two or more
-bytes with values only from 80 to FF.
-.PP
-The
-.SM UTF
-encoding of the Unicode Standard is backward compatible with
-.SM ASCII\c
-:
-programs presented only with
-.SM ASCII
-work on Plan 9
-even if not written to deal with
-.SM UTF,
-as do
-programs that deal with uninterpreted byte streams.
-However, programs that perform semantic processing on
-.SM ASCII
-graphic
-characters must convert from
-.SM UTF
-to runes
-in order to work properly with non-\c
-.SM ASCII
-input.
-See
-.IR rune (2).
-.PP
-Letting numbers be binary,
-a rune x is converted to a multibyte
-.SM UTF
-sequence
-as follows:
-.PP
-01. x in [00000000.0bbbbbbb] → 0bbbbbbb
-.br
-10. x in [00000bbb.bbbbbbbb] → 110bbbbb, 10bbbbbb
-.br
-11. x in [bbbbbbbb.bbbbbbbb] → 1110bbbb, 10bbbbbb, 10bbbbbb
-.br
-.PP
-Conversion 01 provides a one-byte sequence that spans the
-.SM ASCII
-character set in a compatible way.
-Conversions 10 and 11 represent higher-valued characters
-as sequences of two or three bytes with the high bit set.
-Plan 9 does not support the 4, 5, and 6 byte sequences proposed by X-Open.
-When there are multiple ways to encode a value, for example rune 0,
-the shortest encoding is used.
-.PP
-In the inverse mapping,
-any sequence except those described above
-is incorrect and is converted to rune hexadecimal 0080.
-.SH "SEE ALSO"
-.IR ascii (1),
-.IR tcs (1),
-.IR rune (3),
-.IR "The Unicode Standard" .
diff --git a/src/libutf/utf.h b/src/libutf/utf.h
deleted file mode 100644
index 623bfda9..00000000
--- a/src/libutf/utf.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _UTFH_
-#define _UTFH_ 1
-
-typedef unsigned short Rune; /* 16 bits */
-
-enum
-{
- UTFmax = 3, /* maximum bytes per rune */
- Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
- Runeself = 0x80, /* rune and UTF sequences are the same (<) */
- Runeerror = 0x80, /* decoding error in UTF */
-};
-
-/*
- * rune routines
- */
-extern int runetochar(char*, Rune*);
-extern int chartorune(Rune*, char*);
-extern int runelen(long);
-extern int runenlen(Rune*, int);
-extern int fullrune(char*, int);
-extern int utflen(char*);
-extern int utfnlen(char*, long);
-extern char* utfrune(char*, long);
-extern char* utfrrune(char*, long);
-extern char* utfutf(char*, char*);
-extern char* utfecpy(char*, char*, char*);
-
-extern Rune* runestrcat(Rune*, Rune*);
-extern Rune* runestrchr(Rune*, Rune);
-extern int runestrcmp(Rune*, Rune*);
-extern Rune* runestrcpy(Rune*, Rune*);
-extern Rune* runestrncpy(Rune*, Rune*, long);
-extern Rune* runestrecpy(Rune*, Rune*, Rune*);
-extern Rune* runestrdup(Rune*);
-extern Rune* runestrncat(Rune*, Rune*, long);
-extern int runestrncmp(Rune*, Rune*, long);
-extern Rune* runestrrchr(Rune*, Rune);
-extern long runestrlen(Rune*);
-extern Rune* runestrstr(Rune*, Rune*);
-
-extern Rune tolowerrune(Rune);
-extern Rune totitlerune(Rune);
-extern Rune toupperrune(Rune);
-extern int isalpharune(Rune);
-extern int islowerrune(Rune);
-extern int isspacerune(Rune);
-extern int istitlerune(Rune);
-extern int isupperrune(Rune);
-
-#endif