2006-08-13 22:54:59 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file unicode.h
|
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
|
*
|
|
|
|
|
* \author Lars Gullik Bj<EFBFBD>nnes
|
|
|
|
|
*
|
|
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
|
*
|
|
|
|
|
* A collection of unicode conversion functions, using iconv.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef LYX_SUPPORT_UNICODE_H
|
|
|
|
|
#define LYX_SUPPORT_UNICODE_H
|
|
|
|
|
|
2006-09-13 17:11:39 +00:00
|
|
|
|
#include "support/types.h"
|
|
|
|
|
|
2006-08-13 22:54:59 +00:00
|
|
|
|
#include <vector>
|
|
|
|
|
|
2006-09-10 18:34:24 +00:00
|
|
|
|
// utf8_to_ucs4
|
|
|
|
|
|
|
|
|
|
// A single codepoint conversion for utf8_to_ucs4 does not make
|
|
|
|
|
// sense, so that function is left out.
|
|
|
|
|
|
2006-09-13 17:11:39 +00:00
|
|
|
|
std::vector<lyx::char_type>
|
2006-08-13 22:54:59 +00:00
|
|
|
|
utf8_to_ucs4(std::vector<char> const & utf8str);
|
|
|
|
|
|
2006-09-13 17:11:39 +00:00
|
|
|
|
std::vector<lyx::char_type>
|
2006-09-10 18:34:24 +00:00
|
|
|
|
utf8_to_ucs4(char const * utf8str, size_t ls);
|
|
|
|
|
|
|
|
|
|
// ucs2_to_ucs4
|
|
|
|
|
|
2006-09-13 17:11:39 +00:00
|
|
|
|
lyx::char_type
|
2006-09-10 18:34:24 +00:00
|
|
|
|
ucs2_to_ucs4(unsigned short c);
|
|
|
|
|
|
2006-09-13 17:11:39 +00:00
|
|
|
|
std::vector<lyx::char_type>
|
2006-08-13 22:54:59 +00:00
|
|
|
|
ucs2_to_ucs4(std::vector<unsigned short> const & ucs2str);
|
|
|
|
|
|
2006-09-13 17:11:39 +00:00
|
|
|
|
std::vector<lyx::char_type>
|
2006-09-10 18:34:24 +00:00
|
|
|
|
ucs2_to_ucs4(unsigned short const * ucs2str, size_t ls);
|
|
|
|
|
|
|
|
|
|
// ucs4_to_ucs2
|
|
|
|
|
|
|
|
|
|
unsigned short
|
2006-09-13 17:11:39 +00:00
|
|
|
|
ucs4_to_ucs2(lyx::char_type c);
|
2006-09-10 18:34:24 +00:00
|
|
|
|
|
2006-08-13 22:54:59 +00:00
|
|
|
|
std::vector<unsigned short>
|
2006-09-13 17:11:39 +00:00
|
|
|
|
ucs4_to_ucs2(std::vector<lyx::char_type> const & ucs4str);
|
2006-08-13 22:54:59 +00:00
|
|
|
|
|
|
|
|
|
std::vector<unsigned short>
|
2006-09-13 17:11:39 +00:00
|
|
|
|
ucs4_to_ucs2(lyx::char_type const * s, size_t ls);
|
2006-08-13 22:54:59 +00:00
|
|
|
|
|
2006-09-10 18:34:24 +00:00
|
|
|
|
// ucs4_to_utf8
|
|
|
|
|
|
|
|
|
|
std::vector<char>
|
2006-09-13 17:11:39 +00:00
|
|
|
|
ucs4_to_utf8(lyx::char_type c);
|
2006-08-13 22:54:59 +00:00
|
|
|
|
|
|
|
|
|
std::vector<char>
|
2006-09-13 17:11:39 +00:00
|
|
|
|
ucs4_to_utf8(std::vector<lyx::char_type> const & ucs4str);
|
2006-08-13 22:54:59 +00:00
|
|
|
|
|
|
|
|
|
std::vector<char>
|
2006-09-13 17:11:39 +00:00
|
|
|
|
ucs4_to_utf8(lyx::char_type const * ucs4str, size_t ls);
|
2006-08-13 22:54:59 +00:00
|
|
|
|
|
|
|
|
|
#endif
|