1# utf8proc 2[![Travis CI Status](https://travis-ci.org/JuliaLang/utf8proc.png)](https://travis-ci.org/JuliaLang/utf8proc) 3[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/aou20lfkyhj8xbwq/branch/master?svg=true)](https://ci.appveyor.com/project/tkelman/utf8proc/branch/master) 4 5 6[utf8proc](http://julialang.org/utf8proc/) is a small, clean C 7library that provides Unicode normalization, case-folding, and other 8operations for data in the [UTF-8 9encoding](http://en.wikipedia.org/wiki/UTF-8). It was [initially 10developed](http://www.public-software-group.org/utf8proc) by Jan 11Behrens and the rest of the [Public Software 12Group](http://www.public-software-group.org/), who deserve *nearly all 13of the credit* for this package. With the blessing of the Public 14Software Group, the [Julia developers](http://julialang.org/) have 15taken over development of utf8proc, since the original developers have 16moved to other projects. 17 18(utf8proc is used for basic Unicode 19support in the [Julia language](http://julialang.org/), and the Julia 20developers became involved because they wanted to add Unicode 7 support and other features.) 21 22(The original utf8proc package also includes Ruby and PostgreSQL plug-ins. 23We removed those from utf8proc in order to focus exclusively on the C 24library for the time being, but plan to add them back in or release them as separate packages.) 25 26The utf8proc package is licensed under the 27free/open-source [MIT "expat" 28license](http://opensource.org/licenses/MIT) (plus certain Unicode 29data governed by the similarly permissive [Unicode data 30license](http://www.unicode.org/copyright.html#Exhibit1)); please see 31the included `LICENSE.md` file for more detailed information. 32 33## Quick Start 34 35For compilation of the C library run `make`. 36 37## General Information 38 39The C library is found in this directory after successful compilation 40and is named `libutf8proc.a` (for the static library) and 41`libutf8proc.so` (for the dynamic library). 42 43The Unicode version supported is 9.0.0. 44 45For Unicode normalizations, the following options are used: 46 47* Normalization Form C: `STABLE`, `COMPOSE` 48* Normalization Form D: `STABLE`, `DECOMPOSE` 49* Normalization Form KC: `STABLE`, `COMPOSE`, `COMPAT` 50* Normalization Form KD: `STABLE`, `DECOMPOSE`, `COMPAT` 51 52## C Library 53 54The documentation for the C library is found in the `utf8proc.h` header file. 55`utf8proc_map` is function you will most likely be using for mapping UTF-8 56strings, unless you want to allocate memory yourself. 57 58## To Do 59 60See the Github [issues list](https://github.com/JuliaLang/utf8proc/issues). 61 62## Contact 63 64Bug reports, feature requests, and other queries can be filed at 65the [utf8proc issues page on Github](https://github.com/JuliaLang/utf8proc/issues). 66 67## See also 68 69An independent Lua translation of this library, [lua-mojibake](https://github.com/differentprogramming/lua-mojibake), is also available. 70