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 _WIN32
00064 typedef guintptr UT_uintptr;
00065 typedef gintptr 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 typedef UT_uint8 UT_Confidence_t;
00079
00080 #define UT_CONFIDENCE_PERFECT 255
00081 #define UT_CONFIDENCE_GOOD 170
00082 #define UT_CONFIDENCE_SOSO 127
00083 #define UT_CONFIDENCE_POOR 85
00084 #define UT_CONFIDENCE_ZILCH 0
00085
00086 #if defined(WIN32)
00087 #define ABI_PLUGIN_EXPORT __declspec(dllexport)
00088 #ifdef ABI_DLL
00089
00090 #define ABI_EXPORT __declspec(dllimport)
00091 #else
00092
00093 #define ABI_EXPORT __declspec(dllexport)
00094 #endif
00095 #elif defined (DISABLE_EXPORTS)
00096 #define ABI_PLUGIN_EXPORT
00097 #define ABI_EXPORT __attribute__ ((visibility ("hidden")))
00098 #else
00099 #define ABI_PLUGIN_EXPORT
00100 #define ABI_EXPORT
00101 #endif
00102
00103 #if __GNUC__
00104 #define ABI_NORETURN __attribute__((noreturn))
00105 #define ABI_PRINTF_FORMAT(f,a) __attribute__ ((format (printf, f, a)))
00106 #else
00107 #define ABI_NORETURN
00108 #define ABI_PRINTF_FORMAT(f,a)
00109 #endif
00110
00111
00112 #define ABI_FAR_CALL extern "C" ABI_PLUGIN_EXPORT
00113
00114 #define _abi_callonce
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127 typedef UT_sint32 UT_Error;
00128 #define UT_OK ((UT_Error) 0)
00129 #define UT_ERROR ((UT_Error) -1)
00130 #define UT_OUTOFMEM ((UT_Error) -100)
00131 #define UT_SAVE_WRITEERROR ((UT_Error) -201)
00132 #define UT_SAVE_NAMEERROR ((UT_Error) -202)
00133 #define UT_SAVE_EXPORTERROR ((UT_Error) -203)
00134 #define UT_EXTENSIONERROR ((UT_Error) -204)
00135 #define UT_SAVE_CANCELLED ((UT_Error) -205)
00136 #define UT_SAVE_OTHERERROR ((UT_Error) -200)
00137 #define UT_IE_FILENOTFOUND ((UT_Error) -301)
00138 #define UT_IE_NOMEMORY ((UT_Error) -302)
00139 #define UT_IE_UNKNOWNTYPE ((UT_Error) -303)
00140 #define UT_IE_BOGUSDOCUMENT ((UT_Error) -304)
00141 #define UT_IE_COULDNOTOPEN ((UT_Error) -305)
00142 #define UT_IE_COULDNOTWRITE ((UT_Error) -306)
00143 #define UT_IE_FAKETYPE ((UT_Error) -307)
00144 #define UT_INVALIDFILENAME ((UT_Error) -308)
00145 #define UT_NOPIECETABLE ((UT_Error) -309)
00146 #define UT_IE_ADDLISTENERERROR ((UT_Error) -310)
00147 #define UT_IE_UNSUPTYPE ((UT_Error) -311)
00148 #define UT_IE_PROTECTED ((UT_Error) -312) // (pass) protected doc
00149 #define UT_IE_SKIPINVALID ((UT_Error) -313) // (pass) protected doc
00150 #define UT_IE_IMPORTERROR ((UT_Error) -300)
00151 #define UT_IE_IMPSTYLEUNSUPPORTED ((UT_Error) -314)
00152 #define UT_IE_XMLNOANGLEBRACKET ((UT_Error) -360)
00153 #define UT_IE_TRY_RECOVER ((UT_Error) -350) // try recovering the document. ie, we have
00154
00155
00156 #define UT_IS_IE_SUCCESS(x) (((x) == UT_OK) || ((x) == UT_IE_TRY_RECOVER))
00157
00158 ABI_EXPORT UT_Error UT_errnoToUTError (void);
00159
00160
00161 ABI_EXPORT void * UT_calloc ( UT_uint32 nmemb, UT_uint32 size );
00162
00163
00164
00165
00166
00167 #if defined(_MSC_VER) && defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
00168 #include <crtdbg.h>
00169 #define UT_DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
00170 #define new UT_DEBUG_NEW
00171 #endif
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182 #define UCS_ABI_OBJECT ((UT_UCSChar)0x0007)
00183
00184 #define UCS_TAB ((UT_UCSChar)0x0009)
00185 #define UCS_LF ((UT_UCSChar)0x000a)
00186 #define UCS_VTAB ((UT_UCSChar)0x000b)
00187 #define UCS_FF ((UT_UCSChar)0x000c)
00188 #define UCS_CR ((UT_UCSChar)0x000d)
00189 #define UCS_SPACE ((UT_UCSChar)0x0020)
00190 #define UCS_NBSP ((UT_UCSChar)0x00a0)
00191 #define UCS_PILCROW ((UT_UCSChar)0x00b6)
00192 #define UCS_LINESEP ((UT_UCSChar)0x2028)
00193 #define UCS_PARASEP ((UT_UCSChar)0x2029)
00194 #define UCS_BOM ((UT_UCSChar)0xFEFF)
00195 #define UCS_REPLACECHAR ((UT_UCSChar)0xFFFD)
00196 #define UCS_HYPHEN ((UT_UCSChar)0x2010)
00197 #define UCS_MINUS ((UT_UCSChar)0x2d)
00198
00199
00200
00201
00202
00203
00204
00205
00206 #define UCS_ABICONTROL_START (UCS_FIELDSTART)
00207 #define UCS_FIELDSTART ((UT_UCSChar)0xF850)
00208 #define UCS_FIELDEND ((UT_UCSChar)0xF851)
00209 #define UCS_BOOKMARKSTART ((UT_UCSChar)0xF852)
00210 #define UCS_BOOKMARKEND ((UT_UCSChar)0xF853)
00211 #define UCS_LIGATURE_PLACEHOLDER ((UT_UCS4Char)0xF854)
00212 #define UCS_ABICONTROL_END (UCS_LIGATURE_PLACEHOLDER)
00213
00214
00215 #if 1
00216 #define UCS_EN_SPACE ((UT_UCSChar)0x2002)
00217 #define UCS_EM_SPACE ((UT_UCSChar)0x2003)
00218 #define UCS_EN_DASH ((UT_UCSChar)0x2013)
00219 #define UCS_EM_DASH ((UT_UCSChar)0x2014)
00220 #define UCS_BULLET ((UT_UCSChar)0x2022)
00221
00222 #define UCS_LQUOTE ((UT_UCSChar)0x2018)
00223 #define UCS_RQUOTE ((UT_UCSChar)0x2019)
00224 #define UCS_LDBLQUOTE ((UT_UCSChar)0x201c)
00225 #define UCS_RDBLQUOTE ((UT_UCSChar)0x201d)
00226
00227
00228 #define UCS_UNKPUNK ((UT_UCSChar)0xFFFF)
00229
00230 #else
00231
00232 #define UCS_EN_SPACE ((UT_UCSChar)0x0020)
00233 #define UCS_EM_SPACE ((UT_UCSChar)0x0020)
00234 #define UCS_EN_DASH ((UT_UCSChar)0x002d)
00235 #define UCS_EM_DASH ((UT_UCSChar)0x002d)
00236 #define UCS_BULLET ((UT_UCSChar)0x0095)
00237 #define UCS_LQUOTE ((UT_UCSChar)0x0027)
00238 #define UCS_RQUOTE ((UT_UCSChar)0x0027)
00239 #define UCS_LDBLQUOTE ((UT_UCSChar)0x0022)
00240 #define UCS_RDBLQUOTE ((UT_UCSChar)0x0022)
00241 #define UCS_UNKPUNK ((UT_UCSChar)0x00FF)
00242
00243 #endif
00244
00245
00246 #define UCS_LRM 0x200E
00247 #define UCS_RLM 0x200F
00248 #define UCS_LRE 0x202a
00249 #define UCS_RLE 0x202b
00250 #define UCS_PDF 0x202c
00251 #define UCS_LRO 0x202d
00252 #define UCS_RLO 0x202e
00253
00254
00255
00256
00257
00258 #define FREEP(p) do { if (p) { g_free((void *)p); (p)=NULL; } } while (0)
00259 #define DELETEP(p) do { if (p) { delete(p); (p)=NULL; } } while (0)
00260 #define DELETEPV(pa) do { if (pa) { delete [] (pa); (pa)=NULL; } } while (0)
00261 #define REPLACEP(p,q) do { if (p) delete p; p = q; } while (0)
00262 #define REFP(p) ((p)->ref(), (p))
00263 #define UNREFP(p) do { if (p) { (p)->unref(); (p)=NULL; } } while (0)
00264 #define CLONEP(p,q) do { FREEP(p); if (q && *q) p = g_strdup(q); } while (0)
00265
00266 #define E2B(err) ((err) == UT_OK)
00267
00268
00269 #define FRIBIDI_TYPE_UNSET -1
00270 #define FRIBIDI_TYPE_IGNORE -2
00271
00272
00273
00274
00275 #define PD_MAX_REVISION 0x0fffffff
00276
00277
00278
00279 typedef const void * PL_ObjectHandle;
00280
00281 #endif