libucd is a C library interface to the Unicode Character Database, which contains properties of all the Unicode characters.