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
00025 typedef void pl_fontRuns;
00030 typedef void pl_valueRuns;
00035 typedef void pl_localeRuns;
00036
00061 U_INTERNAL pl_fontRuns * U_EXPORT2
00062 pl_openFontRuns(const le_font **fonts,
00063 const le_int32 *limits,
00064 le_int32 count);
00065
00077 U_INTERNAL pl_fontRuns * U_EXPORT2
00078 pl_openEmptyFontRuns(le_int32 initialCapacity);
00079
00088 U_INTERNAL void U_EXPORT2
00089 pl_closeFontRuns(pl_fontRuns *fontRuns);
00090
00100 U_INTERNAL le_int32 U_EXPORT2
00101 pl_getFontRunCount(const pl_fontRuns *fontRuns);
00102
00110 U_INTERNAL void U_EXPORT2
00111 pl_resetFontRuns(pl_fontRuns *fontRuns);
00112
00123 U_INTERNAL le_int32 U_EXPORT2
00124 pl_getFontRunLastLimit(const pl_fontRuns *fontRuns);
00125
00136 U_INTERNAL le_int32 U_EXPORT2
00137 pl_getFontRunLimit(const pl_fontRuns *fontRuns,
00138 le_int32 run);
00139
00152 U_INTERNAL const le_font * U_EXPORT2
00153 pl_getFontRunFont(const pl_fontRuns *fontRuns,
00154 le_int32 run);
00155
00156
00175 U_INTERNAL le_int32 U_EXPORT2
00176 pl_addFontRun(pl_fontRuns *fontRuns,
00177 const le_font *font,
00178 le_int32 limit);
00179
00194 U_INTERNAL pl_valueRuns * U_EXPORT2
00195 pl_openValueRuns(const le_int32 *values,
00196 const le_int32 *limits,
00197 le_int32 count);
00198
00210 U_INTERNAL pl_valueRuns * U_EXPORT2
00211 pl_openEmptyValueRuns(le_int32 initialCapacity);
00212
00221 U_INTERNAL void U_EXPORT2
00222 pl_closeValueRuns(pl_valueRuns *valueRuns);
00223
00233 U_INTERNAL le_int32 U_EXPORT2
00234 pl_getValueRunCount(const pl_valueRuns *valueRuns);
00235
00243 U_INTERNAL void U_EXPORT2
00244 pl_resetValueRuns(pl_valueRuns *valueRuns);
00245
00256 U_INTERNAL le_int32 U_EXPORT2
00257 pl_getValueRunLastLimit(const pl_valueRuns *valueRuns);
00258
00269 U_INTERNAL le_int32 U_EXPORT2
00270 pl_getValueRunLimit(const pl_valueRuns *valueRuns,
00271 le_int32 run);
00272
00285 U_INTERNAL le_int32 U_EXPORT2
00286 pl_getValueRunValue(const pl_valueRuns *valueRuns,
00287 le_int32 run);
00288
00289
00307 U_INTERNAL le_int32 U_EXPORT2
00308 pl_addValueRun(pl_valueRuns *valueRuns,
00309 le_int32 value,
00310 le_int32 limit);
00311
00326 U_INTERNAL pl_localeRuns * U_EXPORT2
00327 pl_openLocaleRuns(const char **locales,
00328 const le_int32 *limits,
00329 le_int32 count);
00330
00342 U_INTERNAL pl_localeRuns * U_EXPORT2
00343 pl_openEmptyLocaleRuns(le_int32 initialCapacity);
00344
00353 U_INTERNAL void U_EXPORT2
00354 pl_closeLocaleRuns(pl_localeRuns *localeRuns);
00355
00365 U_INTERNAL le_int32 U_EXPORT2
00366 pl_getLocaleRunCount(const pl_localeRuns *localeRuns);
00367
00375 U_INTERNAL void U_EXPORT2
00376 pl_resetLocaleRuns(pl_localeRuns *localeRuns);
00377
00388 U_INTERNAL le_int32 U_EXPORT2
00389 pl_getLocaleRunLastLimit(const pl_localeRuns *localeRuns);
00390
00401 U_INTERNAL le_int32 U_EXPORT2
00402 pl_getLocaleRunLimit(const pl_localeRuns *localeRuns,
00403 le_int32 run);
00404
00417 U_INTERNAL const char * U_EXPORT2
00418 pl_getLocaleRunLocale(const pl_localeRuns *localeRuns,
00419 le_int32 run);
00420
00421
00440 U_INTERNAL le_int32 U_EXPORT2
00441 pl_addLocaleRun(pl_localeRuns *localeRuns,
00442 const char *locale,
00443 le_int32 limit);
00444
00445 #endif
00446 #endif