Bibliotecas para trabajar con Unicode en C?

Actualmente estoy usando char *para cadenas en mi programa C. Me gustaría aprender a implementar la compatibilidad con Unicode y he estado analizando utf8proc.

¿Es utf8procla mejor biblioteca Unicode de propósito general para C? Además de la documentación en el archivo de encabezado, ¿hay ejemplos para su uso?

Por ejemplo, puedo descifrar cómo compilar utf8procen mi base de código, pero aparte de eso, estoy perdido: ¿sigo usando char *o uso algún otro tipo? Cosas así no están bien descritas.

Si hay mejores bibliotecas o bibliotecas mejor documentadas, ¿qué debería mirar?

¿Qué funcionalidad estás buscando? ¿Dividir UTF-8 en caracteres? en glifos? ¿Convertir entre representaciones? ¿Clases de caracteres (por ejemplo, averiguar qué son los espacios en blanco)? …
Si desea manejar todo Unicode, deberá buscar una biblioteca UTF-16, no UTF-8.
Quiero permitir que los usuarios transmitan una matriz de datos con filas y columnas etiquetadas (que posiblemente contengan caracteres Unicode) en mi programa, y ​​mi programa procesa esa matriz de datos en un almacén de datos interno. Luego, mi programa procesa ese almacén de datos y lo convierte en un archivo SVG, que puede contener cadenas con formato Unicode ubicadas en ubicaciones específicas. Entonces, quiero saber cómo admitir la lectura y escritura de ese tipo de cadenas. Puedo manejar ASCII porque (unsigned) char *lo hace por mí. Sin embargo, quiero poder admitir usuarios que no hablen ASCII. ¿Eso ayuda a aclarar las cosas?

Respuestas (1)

No es una biblioteca como tal, pero escribí algunas funciones UTF-8 para mis propios proyectos C, que puede encontrar aquí en los archivos unicode.hy . unicode.cUsan la licencia MIT para que básicamente puedas hacer lo que quieras con ellos.