00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __PLRUNS_H
00010 #define __PLRUNS_H
00011
00012 #include "unicode/utypes.h"
00013
00014 #ifndef U_HIDE_INTERNAL_API
00015
00016 #include "unicode/ubidi.h"
00017 #include "layout/LETypes.h"
00018
00019 #include "layout/loengine.h"
00020
00024 typedef void pl_fontRuns;
00028 typedef void pl_valueRuns;
00032 typedef void pl_localeRuns;
00033
00058 U_INTERNAL pl_fontRuns * U_EXPORT2
00059 pl_openFontRuns(const le_font **fonts,
00060 const le_int32 *limits,
00061 le_int32 count);
00062
00074 U_INTERNAL pl_fontRuns * U_EXPORT2
00075 pl_openEmptyFontRuns(le_int32 initialCapacity);
00076
00085 U_INTERNAL void U_EXPORT2
00086 pl_closeFontRuns(pl_fontRuns *fontRuns);
00087
00097 U_INTERNAL le_int32 U_EXPORT2
00098 pl_getFontRunCount(const pl_fontRuns *fontRuns);
00099
00107 U_INTERNAL void U_EXPORT2
00108 pl_resetFontRuns(pl_fontRuns *fontRuns);
00109
00120 U_INTERNAL le_int32 U_EXPORT2
00121 pl_getFontRunLastLimit(const pl_fontRuns *fontRuns);
00122
00133 U_INTERNAL le_int32 U_EXPORT2
00134 pl_getFontRunLimit(const pl_fontRuns *fontRuns,
00135 le_int32 run);
00136
00149 U_INTERNAL const le_font * U_EXPORT2
00150 pl_getFontRunFont(const pl_fontRuns *fontRuns,
00151 le_int32 run);
00152
00153
00172 U_INTERNAL le_int32 U_EXPORT2
00173 pl_addFontRun(pl_fontRuns *fontRuns,
00174 const le_font *font,
00175 le_int32 limit);
00176
00191 U_INTERNAL pl_valueRuns * U_EXPORT2
00192 pl_openValueRuns(const le_int32 *values,
00193 const le_int32 *limits,
00194 le_int32 count);
00195
00207 U_INTERNAL pl_valueRuns * U_EXPORT2
00208 pl_openEmptyValueRuns(le_int32 initialCapacity);
00209
00218 U_INTERNAL void U_EXPORT2
00219 pl_closeValueRuns(pl_valueRuns *valueRuns);
00220
00230 U_INTERNAL le_int32 U_EXPORT2
00231 pl_getValueRunCount(const pl_valueRuns *valueRuns);
00232
00240 U_INTERNAL void U_EXPORT2
00241 pl_resetValueRuns(pl_valueRuns *valueRuns);
00242
00253 U_INTERNAL le_int32 U_EXPORT2
00254 pl_getValueRunLastLimit(const pl_valueRuns *valueRuns);
00255
00266 U_INTERNAL le_int32 U_EXPORT2
00267 pl_getValueRunLimit(const pl_valueRuns *valueRuns,
00268 le_int32 run);
00269
00282 U_INTERNAL le_int32 U_EXPORT2
00283 pl_getValueRunValue(const pl_valueRuns *valueRuns,
00284 le_int32 run);
00285
00286
00304 U_INTERNAL le_int32 U_EXPORT2
00305 pl_addValueRun(pl_valueRuns *valueRuns,
00306 le_int32 value,
00307 le_int32 limit);
00308
00323 U_INTERNAL pl_localeRuns * U_EXPORT2
00324 pl_openLocaleRuns(const char **locales,
00325 const le_int32 *limits,
00326 le_int32 count);
00327
00339 U_INTERNAL pl_localeRuns * U_EXPORT2
00340 pl_openEmptyLocaleRuns(le_int32 initialCapacity);
00341
00350 U_INTERNAL void U_EXPORT2
00351 pl_closeLocaleRuns(pl_localeRuns *localeRuns);
00352
00362 U_INTERNAL le_int32 U_EXPORT2
00363 pl_getLocaleRunCount(const pl_localeRuns *localeRuns);
00364
00372 U_INTERNAL void U_EXPORT2
00373 pl_resetLocaleRuns(pl_localeRuns *localeRuns);
00374
00385 U_INTERNAL le_int32 U_EXPORT2
00386 pl_getLocaleRunLastLimit(const pl_localeRuns *localeRuns);
00387
00398 U_INTERNAL le_int32 U_EXPORT2
00399 pl_getLocaleRunLimit(const pl_localeRuns *localeRuns,
00400 le_int32 run);
00401
00414 U_INTERNAL const char * U_EXPORT2
00415 pl_getLocaleRunLocale(const pl_localeRuns *localeRuns,
00416 le_int32 run);
00417
00418
00437 U_INTERNAL le_int32 U_EXPORT2
00438 pl_addLocaleRun(pl_localeRuns *localeRuns,
00439 const char *locale,
00440 le_int32 limit);
00441
00442 #endif
00443 #endif