12 #ifndef STRING_UNISCRIBE_H 13 #define STRING_UNISCRIBE_H 15 #if defined(WITH_UNISCRIBE) 17 #include "../../gfx_layout.h" 18 #include "../../string_base.h" 22 void UniscribeResetScriptCache(
FontSize size);
28 class UniscribeParagraphLayoutFactory {
31 typedef wchar_t CharType;
33 static const bool SUPPORTS_RTL =
true;
51 static size_t AppendToBuffer(CharType *buff,
const CharType *buffer_last,
WChar c)
55 if (buff + 1 <= buffer_last) {
56 buff[0] = (CharType)(((c - 0x010000U) >> 10) + 0xD800);
57 buff[1] = (CharType)(((c - 0x010000U) & 0x3FF) + 0xDC00);
64 *buff = (CharType)(c & 0xFFFF);
78 std::vector<CharInfo> str_info;
79 std::vector<size_t> utf16_to_utf8;
84 virtual void SetString(
const char *s);
85 virtual size_t SetCurPosition(
size_t pos);
86 virtual size_t Next(IterType what);
87 virtual size_t Prev(IterType what);
Implementation of simple mapping class.
Interface to glue fallback and normal layouter into one.
FontSize
Available font sizes.
Class for iterating over different kind of parts of a string.
uint32 WChar
Type for wide characters, i.e.