Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef UT_TYPES_H
00023 #define UT_TYPES_H
00024
00025 #ifdef HAVE_CONFIG_H
00026 #include "config.h"
00027 #endif
00028
00029 #include <stdlib.h>
00030 #include <glib.h>
00031
00032
00033
00034
00035 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)
00036 # define GNUC_EXTENSION __extension__
00037 #else
00038 # define GNUC_EXTENSION
00039 #endif
00040
00041 typedef guint8 UT_Byte;
00042
00043 typedef gunichar UT_UCS4Char;
00044 typedef guint16 UT_UCS2Char;
00045 typedef gint32 UT_GrowBufElement;
00046
00047
00048
00049 typedef UT_UCS4Char UT_UCSChar;
00050
00051 typedef guint8 UT_uint8;
00052 typedef gint8 UT_sint8;
00053
00054 typedef guint16 UT_uint16;
00055 typedef gint16 UT_sint16;
00056
00057 typedef guint32 UT_uint32;
00058 typedef gint32 UT_sint32;
00059
00060 typedef guint64 UT_uint64;
00061 typedef gint64 UT_sint64;
00062
00063 #ifdef _WIN64
00064 typedef guint64 UT_uintptr;
00065 typedef gint64 UT_sintptr;
00066 #else
00067 typedef unsigned long UT_uintptr;
00068 typedef long UT_sintptr;
00069 #endif
00070
00072 #define UT_UNUSED(x) (void)(x);
00073
00078 #ifdef DEBUG
00079 #define UT_DEBUG_ONLY_ARG(x)
00080 #else
00081 #define UT_DEBUG_ONLY_ARG(x) (void)(x);
00082 #endif
00083
00088 typedef UT_uint8 UT_Confidence_t;
00089
00090 #define UT_CONFIDENCE_PERFECT 255
00091 #define UT_CONFIDENCE_GOOD 170
00092 #define UT_CONFIDENCE_SOSO 127
00093 #define UT_CONFIDENCE_POOR 85
00094 #define UT_CONFIDENCE_ZILCH 0
00095
00096 #if defined(WIN32)
00097 #define ABI_PLUGIN_EXPORT __declspec(dllexport)
00098 #ifdef ABI_DLL
00099
00100 #define ABI_EXPORT __declspec(dllimport)
00101 #else
00102
00103 #define ABI_EXPORT __declspec(dllexport)
00104 #endif
00105 #elif defined (DISABLE_EXPORTS)
00106
00107
00108 #define ABI_PLUGIN_EXPORT
00109 #define ABI_EXPORT
00110 #else
00111 #define ABI_PLUGIN_EXPORT
00112 #define ABI_EXPORT
00113 #endif
00114
00115 #if __GNUC__
00116 #define ABI_NORETURN __attribute__((noreturn))
00117 #define ABI_PRINTF_FORMAT(f,a) __attribute__ ((format (printf, f, a)))
00118 #else
00119 #define ABI_NORETURN
00120 #define ABI_PRINTF_FORMAT(f,a)
00121 #endif
00122
00123
00124 #define ABI_FAR_CALL extern "C" ABI_PLUGIN_EXPORT
00125
00126 #define _abi_callonce
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139 typedef UT_sint32 UT_Error;
00140 #define UT_OK ((UT_Error) 0)
00141 #define UT_ERROR ((UT_Error) -1)
00142 #define UT_OUTOFMEM ((UT_Error) -100)
00143 #define UT_SAVE_WRITEERROR ((UT_Error) -201)
00144 #define UT_SAVE_NAMEERROR ((UT_Error) -202)
00145 #define UT_SAVE_EXPORTERROR ((UT_Error) -203)
00146 #define UT_EXTENSIONERROR ((UT_Error) -204)
00147 #define UT_SAVE_CANCELLED ((UT_Error) -205)
00148 #define UT_SAVE_OTHERERROR ((UT_Error) -200)
00149 #define UT_IE_FILENOTFOUND ((UT_Error) -301)
00150 #define UT_IE_NOMEMORY ((UT_Error) -302)
00151 #define UT_IE_UNKNOWNTYPE ((UT_Error) -303)
00152 #define UT_IE_BOGUSDOCUMENT ((UT_Error) -304)
00153 #define UT_IE_COULDNOTOPEN ((UT_Error) -305)
00154 #define UT_IE_COULDNOTWRITE ((UT_Error) -306)
00155 #define UT_IE_FAKETYPE ((UT_Error) -307)
00156 #define UT_INVALIDFILENAME ((UT_Error) -308)
00157 #define UT_NOPIECETABLE ((UT_Error) -309)
00158 #define UT_IE_ADDLISTENERERROR ((UT_Error) -310)
00159 #define UT_IE_UNSUPTYPE ((UT_Error) -311)
00160 #define UT_IE_PROTECTED ((UT_Error) -312) // (pass) protected doc
00161 #define UT_IE_SKIPINVALID ((UT_Error) -313) // (pass) protected doc
00162 #define UT_IE_IMPORTERROR ((UT_Error) -300)
00163 #define UT_IE_IMPSTYLEUNSUPPORTED ((UT_Error) -314)
00164 #define UT_IE_XMLNOANGLEBRACKET ((UT_Error) -360)
00165 #define UT_IE_TRY_RECOVER ((UT_Error) -350) // try recovering the document. ie, we have
00166
00167
00168 #define UT_IS_IE_SUCCESS(x) (((x) == UT_OK) || ((x) == UT_IE_TRY_RECOVER))
00169
00170 ABI_EXPORT UT_Error UT_errnoToUTError (void);
00171
00172
00173 ABI_EXPORT void * UT_calloc ( UT_uint32 nmemb, UT_uint32 size );
00174
00175
00176
00177
00178
00179 #if defined(_MSC_VER) && defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
00180 #include <crtdbg.h>
00181 #define UT_DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
00182 #define new UT_DEBUG_NEW
00183 #endif
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194 #define UCS_ABI_OBJECT ((UT_UCSChar)0x0007)
00195
00196 #define UCS_TAB ((UT_UCSChar)0x0009)
00197 #define UCS_LF ((UT_UCSChar)0x000a)
00198 #define UCS_VTAB ((UT_UCSChar)0x000b)
00199 #define UCS_FF ((UT_UCSChar)0x000c)
00200 #define UCS_CR ((UT_UCSChar)0x000d)
00201 #define UCS_SPACE ((UT_UCSChar)0x0020)
00202 #define UCS_NBSP ((UT_UCSChar)0x00a0)
00203 #define UCS_PILCROW ((UT_UCSChar)0x00b6)
00204 #define UCS_LINESEP ((UT_UCSChar)0x2028)
00205 #define UCS_PARASEP ((UT_UCSChar)0x2029)
00206 #define UCS_BOM ((UT_UCSChar)0xFEFF)
00207 #define UCS_REPLACECHAR ((UT_UCSChar)0xFFFD)
00208 #define UCS_HYPHEN ((UT_UCSChar)0x2010)
00209 #define UCS_MINUS ((UT_UCSChar)0x2d)
00210
00211
00212
00213
00214
00215
00216
00217
00218 #define UCS_ABICONTROL_START (UCS_FIELDSTART)
00219 #define UCS_FIELDSTART ((UT_UCSChar)0xF850)
00220 #define UCS_FIELDEND ((UT_UCSChar)0xF851)
00221 #define UCS_BOOKMARKSTART ((UT_UCSChar)0xF852)
00222 #define UCS_BOOKMARKEND ((UT_UCSChar)0xF853)
00223 #define UCS_LIGATURE_PLACEHOLDER ((UT_UCS4Char)0xF854)
00224 #define UCS_ABICONTROL_END (UCS_LIGATURE_PLACEHOLDER)
00225
00226
00227 #if 1
00228 #define UCS_EN_SPACE ((UT_UCSChar)0x2002)
00229 #define UCS_EM_SPACE ((UT_UCSChar)0x2003)
00230 #define UCS_EN_DASH ((UT_UCSChar)0x2013)
00231 #define UCS_EM_DASH ((UT_UCSChar)0x2014)
00232 #define UCS_BULLET ((UT_UCSChar)0x2022)
00233
00234 #define UCS_LQUOTE ((UT_UCSChar)0x2018)
00235 #define UCS_RQUOTE ((UT_UCSChar)0x2019)
00236 #define UCS_LDBLQUOTE ((UT_UCSChar)0x201c)
00237 #define UCS_RDBLQUOTE ((UT_UCSChar)0x201d)
00238
00239
00240 #define UCS_UNKPUNK ((UT_UCSChar)0xFFFF)
00241
00242 #else
00243
00244 #define UCS_EN_SPACE ((UT_UCSChar)0x0020)
00245 #define UCS_EM_SPACE ((UT_UCSChar)0x0020)
00246 #define UCS_EN_DASH ((UT_UCSChar)0x002d)
00247 #define UCS_EM_DASH ((UT_UCSChar)0x002d)
00248 #define UCS_BULLET ((UT_UCSChar)0x0095)
00249 #define UCS_LQUOTE ((UT_UCSChar)0x0027)
00250 #define UCS_RQUOTE ((UT_UCSChar)0x0027)
00251 #define UCS_LDBLQUOTE ((UT_UCSChar)0x0022)
00252 #define UCS_RDBLQUOTE ((UT_UCSChar)0x0022)
00253 #define UCS_UNKPUNK ((UT_UCSChar)0x00FF)
00254
00255 #endif
00256
00257
00258 #define UCS_LRM 0x200E
00259 #define UCS_RLM 0x200F
00260 #define UCS_LRE 0x202a
00261 #define UCS_RLE 0x202b
00262 #define UCS_PDF 0x202c
00263 #define UCS_LRO 0x202d
00264 #define UCS_RLO 0x202e
00265
00266
00267
00268
00269
00270 #define FREEP(p) do { if (p) { g_free((void *)p); (p)=NULL; } } while (0)
00271 #define DELETEP(p) do { if (p) { delete(p); (p)=NULL; } } while (0)
00272 #define DELETEPV(pa) do { if (pa) { delete [] (pa); (pa)=NULL; } } while (0)
00273 #define REPLACEP(p,q) do { if (p) delete p; p = q; } while (0)
00274 #define REFP(p) ((p)->ref(), (p))
00275 #define UNREFP(p) do { if (p) { (p)->unref(); (p)=NULL; } } while (0)
00276 #define CLONEP(p,q) do { FREEP(p); if (q && *q) p = g_strdup(q); } while (0)
00277
00278 #define E2B(err) ((err) == UT_OK)
00279
00280
00281 #define FRIBIDI_TYPE_UNSET -1
00282 #define FRIBIDI_TYPE_IGNORE -2
00283
00284
00285
00286
00287 #define PD_MAX_REVISION 0x0fffffff
00288
00289 #endif