FLTK 1.4.0
fl_utf8.h File Reference

header for Unicode and UTF-8 character handling More...

#include "Fl_Export.H"
#include "fl_types.h"
#include <stdio.h>
#include <sys/stat.h>

Go to the source code of this file.

Functions

FL_EXPORT int fl_access (const char *f, int mode)
 Cross-platform function to test a files access() with a UTF-8 encoded name or value. More...
 
FL_EXPORT int fl_chdir (const char *path)
 Cross-platform function to change the current working directory, given as a UTF-8 encoded string. More...
 
FL_EXPORT int fl_chmod (const char *f, int mode)
 Cross-platform function to set a files mode() with a UTF-8 encoded name or value. More...
 
FL_EXPORT int fl_execvp (const char *file, char *const *argv)
 
FL_EXPORT FILE * fl_fopen (const char *f, const char *mode)
 Cross-platform function to open files with a UTF-8 encoded name. More...
 
FL_EXPORT char * fl_getcwd (char *buf, int len)
 Cross-platform function to get the current working directory as a UTF-8 encoded value. More...
 
FL_EXPORT char * fl_getenv (const char *v)
 Cross-platform function to get environment variables with a UTF-8 encoded name or value. More...
 
FL_EXPORT char fl_make_path (const char *path)
 Cross-platform function to recursively create a path in the file system. More...
 
FL_EXPORT void fl_make_path_for_file (const char *path)
 Cross-platform function to create a path for the file in the file system. More...
 
FL_EXPORT int fl_mkdir (const char *f, int mode)
 Cross-platform function to create a directory with a UTF-8 encoded name. More...
 
FL_EXPORT unsigned int fl_nonspacing (unsigned int ucs)
 Returns true if the Unicode character ucs is non-spacing. More...
 
FL_EXPORT int fl_open (const char *fname, int oflags,...)
 Cross-platform function to open files with a UTF-8 encoded name. More...
 
FL_EXPORT int fl_open_ext (const char *fname, int binary, int oflags,...)
 Cross-platform function to open files with a UTF-8 encoded name. More...
 
FL_EXPORT int fl_putenv (const char *var)
 Cross-platform function to write environment variables with a UTF-8 encoded name or value. More...
 
FL_EXPORT int fl_rename (const char *f, const char *n)
 Cross-platform function to rename a filesystem object using UTF-8 encoded names. More...
 
FL_EXPORT int fl_rmdir (const char *f)
 Cross-platform function to remove a directory with a UTF-8 encoded name. More...
 
FL_EXPORT int fl_stat (const char *f, struct stat *b)
 Cross-platform function to stat() a file using a UTF-8 encoded name or value. More...
 
FL_EXPORT int fl_system (const char *cmd)
 Cross-platform function to run a system command with a UTF-8 encoded string. More...
 
FL_EXPORT int fl_tolower (unsigned int ucs)
 Returns the Unicode lower case value of ucs.
 
FL_EXPORT int fl_toupper (unsigned int ucs)
 Returns the Unicode upper case value of ucs.
 
FL_EXPORT unsigned fl_ucs_to_Utf16 (const unsigned ucs, unsigned short *dst, const unsigned dstlen)
 Convert a single 32-bit Unicode codepoint into an array of 16-bit characters. More...
 
FL_EXPORT int fl_unlink (const char *fname)
 Cross-platform function to unlink() (that is, delete) a file using a UTF-8 encoded filename. More...
 
FL_EXPORT char * fl_utf2mbcs (const char *s)
 Converts UTF-8 string s to a local multi-byte character string.
 
FL_EXPORT const char * fl_utf8back (const char *p, const char *start, const char *end)
 Move p backward until it points to the start of a UTF-8 character. More...
 
FL_EXPORT int fl_utf8bytes (unsigned ucs)
 Return the number of bytes needed to encode the given UCS4 character in UTF-8. More...
 
FL_EXPORT unsigned fl_utf8decode (const char *p, const char *end, int *len)
 Decode a single UTF-8 encoded character starting at p. More...
 
FL_EXPORT int fl_utf8encode (unsigned ucs, char *buf)
 Write the UTF-8 encoding of ucs into buf and return the number of bytes written. More...
 
FL_EXPORT unsigned fl_utf8from_mb (char *dst, unsigned dstlen, const char *src, unsigned srclen)
 Convert a filename from the locale-specific multibyte encoding used by Windows to UTF-8 as used by FLTK. More...
 
FL_EXPORT unsigned fl_utf8froma (char *dst, unsigned dstlen, const char *src, unsigned srclen)
 Convert an ISO-8859-1 (ie normal c-string) byte stream to UTF-8. More...
 
FL_EXPORT unsigned fl_utf8fromwc (char *dst, unsigned dstlen, const wchar_t *src, unsigned srclen)
 Turn "wide characters" as returned by some system calls (especially on Windows) into UTF-8. More...
 
FL_EXPORT const char * fl_utf8fwd (const char *p, const char *start, const char *end)
 Move p forward until it points to the start of a UTF-8 character. More...
 
FL_EXPORT int fl_utf8len (char c)
 Returns the byte length of the UTF-8 sequence with first byte c, or -1 if c is not valid. More...
 
FL_EXPORT int fl_utf8len1 (char c)
 Returns the byte length of the UTF-8 sequence with first byte c, or 1 if c is not valid. More...
 
FL_EXPORT int fl_utf8locale ()
 Return true if the "locale" seems to indicate that UTF-8 encoding is used. More...
 
FL_EXPORT int fl_utf8test (const char *src, unsigned srclen)
 Examines the first srclen bytes in src and returns a verdict on whether it is UTF-8 or not. More...
 
FL_EXPORT unsigned fl_utf8to_mb (const char *src, unsigned srclen, char *dst, unsigned dstlen)
 Convert the UTF-8 used by FLTK to the locale-specific encoding used for filenames (and sometimes used for data in files). More...
 
FL_EXPORT unsigned fl_utf8toa (const char *src, unsigned srclen, char *dst, unsigned dstlen)
 Convert a UTF-8 sequence into an array of 1-byte characters. More...
 
FL_EXPORT unsigned fl_utf8toUtf16 (const char *src, unsigned srclen, unsigned short *dst, unsigned dstlen)
 Convert a UTF-8 sequence into an array of 16-bit characters. More...
 
FL_EXPORT unsigned fl_utf8towc (const char *src, unsigned srclen, wchar_t *dst, unsigned dstlen)
 Converts a UTF-8 string into a wide character string. More...
 
FL_EXPORT int fl_utf_nb_char (const unsigned char *buf, int len)
 Returns the number of Unicode chars in the UTF-8 string.
 
FL_EXPORT int fl_utf_strcasecmp (const char *s1, const char *s2)
 UTF-8 aware strcasecmp - converts to Unicode and tests. More...
 
FL_EXPORT int fl_utf_strncasecmp (const char *s1, const char *s2, int n)
 UTF-8 aware strncasecmp - converts to lower case Unicode and tests. More...
 
FL_EXPORT int fl_utf_tolower (const unsigned char *str, int len, char *buf)
 Converts the string str to its lower case equivalent into buf. More...
 
FL_EXPORT int fl_utf_toupper (const unsigned char *str, int len, char *buf)
 Converts the string str to its upper case equivalent into buf. More...
 
FL_EXPORT int fl_wcwidth (const char *src)
 extended wrapper around fl_wcwidth_(unsigned int ucs) function. More...
 
FL_EXPORT int fl_wcwidth_ (unsigned int ucs)
 Wrapper to adapt Markus Kuhn's implementation of wcwidth() for FLTK. More...
 

Detailed Description

header for Unicode and UTF-8 character handling