Skip to content

🔤 UTF8-16-32 analysis and manipulation library

License

Notifications You must be signed in to change notification settings

mulle-c/mulle-utf

Repository files navigation

mulle-utf

🔤 UTF8-16-32 analysis and manipulation library

It is a C (C99) library to analyze and convert unicode strings. It also contains some limited <string.h> like functionality for UTF16 and UTF32. It is the backbone of NSString.

Release Version Release Notes
Mulle kybernetiK tag Build Status Coverage RELEASENOTES

API

Documentation Description
mulle_char7 Encode small ASCII strings into integers
mulle_char5 Encode some more smallish ASCII strings integers
ctype Character type information
conversion Character and string conversions
information Analyze and classify string encodings
string Primitive UTF16 and UTF32 string handling

size_t is used for byte-sized (really char-sized) lengths. UTF16 and UTF32 use unsigned int.

You are here

Overview

Add

This project is a component of the mulle-core library. As such you usually will not add or install it individually, unless you specifically do not want to link against mulle-core.

Add as an individual component

Use mulle-sde to add mulle-utf to your project:

mulle-sde add github:mulle-c/mulle-utf

To only add the sources of mulle-utf with dependency sources use clib:

clib install --out src/mulle-c mulle-c/mulle-utf

Add -isystem src/mulle-c to your CFLAGS and compile all the sources that were downloaded with your project.

Install

Install with mulle-sde

Use mulle-sde to build and install mulle-utf and all dependencies:

mulle-sde install --prefix /usr/local \
   https://github.com/mulle-c/mulle-utf/archive/latest.tar.gz

Manual Installation

Install the requirements:

Requirements Description
mulle-allocator 🔄 Flexible C memory allocation scheme
mulle-data #️⃣ A collection of hash functions

Download the latest tar or zip archive and unpack it.

Install mulle-utf into /usr/local with cmake:

cmake -B build \
      -DCMAKE_INSTALL_PREFIX=/usr/local \
      -DCMAKE_PREFIX_PATH=/usr/local \
      -DCMAKE_BUILD_TYPE=Release &&
cmake --build build --config Release &&
cmake --install build --config Release

Author

Nat! for Mulle kybernetiK