ICU 59.1  59.1
Typedefs | Functions
plruns.h File Reference

C API for run arrays. More...

#include "unicode/utypes.h"
#include "unicode/ubidi.h"
#include "layout/LETypes.h"
#include "layout/loengine.h"

Go to the source code of this file.

Typedefs

typedef void pl_fontRuns
 Opaque datatype representing an array of font runs.
 
typedef void pl_valueRuns
 Opaque datatype representing an array of value runs.
 
typedef void pl_localeRuns
 Opaque datatype representing an array of locale runs.
 

Functions

pl_fontRunspl_openFontRuns (const le_font **fonts, const le_int32 *limits, le_int32 count)
 Construct a pl_fontRuns object from pre-existing arrays of fonts and limit indices. More...
 
pl_fontRunspl_openEmptyFontRuns (le_int32 initialCapacity)
 Construct an empty pl_fontRuns object. More...
 
void pl_closeFontRuns (pl_fontRuns *fontRuns)
 Close the given pl_fontRuns object. More...
 
le_int32 pl_getFontRunCount (const pl_fontRuns *fontRuns)
 Get the number of font runs. More...
 
void pl_resetFontRuns (pl_fontRuns *fontRuns)
 Reset the number of font runs to zero. More...
 
le_int32 pl_getFontRunLastLimit (const pl_fontRuns *fontRuns)
 Get the limit index for the last font run. More...
 
le_int32 pl_getFontRunLimit (const pl_fontRuns *fontRuns, le_int32 run)
 Get the limit index for a particular font run. More...
 
const le_font * pl_getFontRunFont (const pl_fontRuns *fontRuns, le_int32 run)
 Get the le_font object assoicated with the given run of text. More...
 
le_int32 pl_addFontRun (pl_fontRuns *fontRuns, const le_font *font, le_int32 limit)
 Add a new font run to the given pl_fontRuns object. More...
 
pl_valueRunspl_openValueRuns (const le_int32 *values, const le_int32 *limits, le_int32 count)
 Construct a pl_valueRuns object from pre-existing arrays of values and limit indices. More...
 
pl_valueRunspl_openEmptyValueRuns (le_int32 initialCapacity)
 Construct an empty pl_valueRuns object. More...
 
void pl_closeValueRuns (pl_valueRuns *valueRuns)
 Close the given pl_valueRuns object. More...
 
le_int32 pl_getValueRunCount (const pl_valueRuns *valueRuns)
 Get the number of value runs. More...
 
void pl_resetValueRuns (pl_valueRuns *valueRuns)
 Reset the number of value runs to zero. More...
 
le_int32 pl_getValueRunLastLimit (const pl_valueRuns *valueRuns)
 Get the limit index for the last value run. More...
 
le_int32 pl_getValueRunLimit (const pl_valueRuns *valueRuns, le_int32 run)
 Get the limit index for a particular value run. More...
 
le_int32 pl_getValueRunValue (const pl_valueRuns *valueRuns, le_int32 run)
 Get the value assoicated with the given run * of text. More...
 
le_int32 pl_addValueRun (pl_valueRuns *valueRuns, le_int32 value, le_int32 limit)
 Add a new font run to the given pl_valueRuns object. More...
 
pl_localeRunspl_openLocaleRuns (const char **locales, const le_int32 *limits, le_int32 count)
 Construct a pl_localeRuns object from pre-existing arrays of fonts and limit indices. More...
 
pl_localeRunspl_openEmptyLocaleRuns (le_int32 initialCapacity)
 Construct an empty pl_localeRuns object. More...
 
void pl_closeLocaleRuns (pl_localeRuns *localeRuns)
 Close the given pl_localeRuns object. More...
 
le_int32 pl_getLocaleRunCount (const pl_localeRuns *localeRuns)
 Get the number of font runs. More...
 
void pl_resetLocaleRuns (pl_localeRuns *localeRuns)
 Reset the number of locale runs to zero. More...
 
le_int32 pl_getLocaleRunLastLimit (const pl_localeRuns *localeRuns)
 Get the limit index for the last font run. More...
 
le_int32 pl_getLocaleRunLimit (const pl_localeRuns *localeRuns, le_int32 run)
 Get the limit index for a particular font run. More...
 
const char * pl_getLocaleRunLocale (const pl_localeRuns *localeRuns, le_int32 run)
 Get the le_font object assoicated with the given run of text. More...
 
le_int32 pl_addLocaleRun (pl_localeRuns *localeRuns, const char *locale, le_int32 limit)
 Add a new run to the given pl_localeRuns object. More...
 

Detailed Description

C API for run arrays.

This is a technology preview. The API may change significantly.

Definition in file plruns.h.

Function Documentation

§ pl_addFontRun()

le_int32 pl_addFontRun ( pl_fontRuns fontRuns,
const le_font *  font,
le_int32  limit 
)

Add a new font run to the given pl_fontRuns object.

If the pl_fontRuns object was not created by calling pl_openEmptyFontRuns, this method will return a run index of -1.

Parameters
fontRunsis the pl_fontRuns object.
fontis the address of the le_font to add. This object must remain valid until the pl_fontRuns object is closed.
limitis the limit index to add
Returns
the run index where the font and limit index were stored, or -1 if the run cannot be added.
Internal:
Do not use. This API is for internal use only.

§ pl_addLocaleRun()

le_int32 pl_addLocaleRun ( pl_localeRuns localeRuns,
const char *  locale,
le_int32  limit 
)

Add a new run to the given pl_localeRuns object.

If the pl_localeRuns object was not created by calling pl_openEmptyLocaleRuns, this method will return a run index of -1.

Parameters
localeRunsis the pl_localeRuns object.
localeis the name of the locale to add. This name must remain valid until the pl_localeRuns object is closed.
limitis the limit index to add
Returns
the run index where the font and limit index were stored, or -1 if the run cannot be added.
Internal:
Do not use. This API is for internal use only.

§ pl_addValueRun()

le_int32 pl_addValueRun ( pl_valueRuns valueRuns,
le_int32  value,
le_int32  limit 
)

Add a new font run to the given pl_valueRuns object.

If the pl_valueRuns object was not created by calling pl_openEmptyFontRuns, this method will return a run index of -1.

Parameters
valueRunsis the pl_valueRuns object.
valueis the value to add.
limitis the limit index to add
Returns
the run index where the font and limit index were stored, or -1 if the run cannot be added.
Internal:
Do not use. This API is for internal use only.

§ pl_closeFontRuns()

void pl_closeFontRuns ( pl_fontRuns fontRuns)

Close the given pl_fontRuns object.

Once this call returns, the object can no longer be referenced.

Parameters
fontRunsis the pl_fontRuns object.
Internal:
Do not use. This API is for internal use only.

§ pl_closeLocaleRuns()

void pl_closeLocaleRuns ( pl_localeRuns localeRuns)

Close the given pl_localeRuns object.

Once this call returns, the object can no longer be referenced.

Parameters
localeRunsis the pl_localeRuns object.
Internal:
Do not use. This API is for internal use only.

§ pl_closeValueRuns()

void pl_closeValueRuns ( pl_valueRuns valueRuns)

Close the given pl_valueRuns object.

Once this call returns, the object can no longer be referenced.

Parameters
valueRunsis the pl_valueRuns object.
Internal:
Do not use. This API is for internal use only.

§ pl_getFontRunCount()

le_int32 pl_getFontRunCount ( const pl_fontRuns fontRuns)

Get the number of font runs.

Parameters
fontRunsis the pl_fontRuns object.
Returns
the number of entries in the limit indices array.
Internal:
Do not use. This API is for internal use only.

§ pl_getFontRunFont()

const le_font* pl_getFontRunFont ( const pl_fontRuns fontRuns,
le_int32  run 
)

Get the le_font object assoicated with the given run of text.

Use pl_getFontRunLimit(run) to get the corresponding limit index.

Parameters
fontRunsis the pl_fontRuns object.
runis the index into the font and limit indices arrays.
Returns
the le_font associated with the given text run.
Internal:
Do not use. This API is for internal use only.

§ pl_getFontRunLastLimit()

le_int32 pl_getFontRunLastLimit ( const pl_fontRuns fontRuns)

Get the limit index for the last font run.

This is the number of characters in the text.

Parameters
fontRunsis the pl_fontRuns object.
Returns
the last limit index.
Internal:
Do not use. This API is for internal use only.

§ pl_getFontRunLimit()

le_int32 pl_getFontRunLimit ( const pl_fontRuns fontRuns,
le_int32  run 
)

Get the limit index for a particular font run.

Parameters
fontRunsis the pl_fontRuns object.
runis the run. This is an index into the limit index array.
Returns
the limit index for the run, or -1 if run is out of bounds.
Internal:
Do not use. This API is for internal use only.

§ pl_getLocaleRunCount()

le_int32 pl_getLocaleRunCount ( const pl_localeRuns localeRuns)

Get the number of font runs.

Parameters
localeRunsis the pl_localeRuns object.
Returns
the number of entries in the limit indices array.
Internal:
Do not use. This API is for internal use only.

§ pl_getLocaleRunLastLimit()

le_int32 pl_getLocaleRunLastLimit ( const pl_localeRuns localeRuns)

Get the limit index for the last font run.

This is the number of characters in the text.

Parameters
localeRunsis the pl_localeRuns object.
Returns
the last limit index.
Internal:
Do not use. This API is for internal use only.

§ pl_getLocaleRunLimit()

le_int32 pl_getLocaleRunLimit ( const pl_localeRuns localeRuns,
le_int32  run 
)

Get the limit index for a particular font run.

Parameters
localeRunsis the pl_localeRuns object.
runis the run. This is an index into the limit index array.
Returns
the limit index for the run, or -1 if run is out of bounds.
Internal:
Do not use. This API is for internal use only.

§ pl_getLocaleRunLocale()

const char* pl_getLocaleRunLocale ( const pl_localeRuns localeRuns,
le_int32  run 
)

Get the le_font object assoicated with the given run of text.

Use pl_getLocaleRunLimit(run) to get the corresponding limit index.

Parameters
localeRunsis the pl_localeRuns object.
runis the index into the font and limit indices arrays.
Returns
the le_font associated with the given text run.
Internal:
Do not use. This API is for internal use only.

§ pl_getValueRunCount()

le_int32 pl_getValueRunCount ( const pl_valueRuns valueRuns)

Get the number of value runs.

Parameters
valueRunsis the pl_valueRuns object.
Returns
the number of value runs.
Internal:
Do not use. This API is for internal use only.

§ pl_getValueRunLastLimit()

le_int32 pl_getValueRunLastLimit ( const pl_valueRuns valueRuns)

Get the limit index for the last value run.

This is the number of characters in the text.

Parameters
valueRunsis the pl_valueRuns object.
Returns
the last limit index.
Internal:
Do not use. This API is for internal use only.

§ pl_getValueRunLimit()

le_int32 pl_getValueRunLimit ( const pl_valueRuns valueRuns,
le_int32  run 
)

Get the limit index for a particular value run.

Parameters
valueRunsis the pl_valueRuns object.
runis the run index.
Returns
the limit index for the run, or -1 if run is out of bounds.
Internal:
Do not use. This API is for internal use only.

§ pl_getValueRunValue()

le_int32 pl_getValueRunValue ( const pl_valueRuns valueRuns,
le_int32  run 
)

Get the value assoicated with the given run * of text.

Use pl_getValueRunLimit(run) to get the corresponding limit index.

Parameters
valueRunsis the pl_valueRuns object.
runis the run index.
Returns
the value associated with the given text run.
Internal:
Do not use. This API is for internal use only.

§ pl_openEmptyFontRuns()

pl_fontRuns* pl_openEmptyFontRuns ( le_int32  initialCapacity)

Construct an empty pl_fontRuns object.

Clients can add font and limit indices arrays using the pl_addFontRun routine.

Parameters
initialCapacityis the initial size of the font and limit indices arrays. If this value is zero, no arrays will be allocated.
See also
pl_addFontRun
Internal:
Do not use. This API is for internal use only.

§ pl_openEmptyLocaleRuns()

pl_localeRuns* pl_openEmptyLocaleRuns ( le_int32  initialCapacity)

Construct an empty pl_localeRuns object.

Clients can add font and limit indices arrays using the pl_addFontRun routine.

Parameters
initialCapacityis the initial size of the font and limit indices arrays. If this value is zero, no arrays will be allocated.
See also
pl_addLocaleRun
Internal:
Do not use. This API is for internal use only.

§ pl_openEmptyValueRuns()

pl_valueRuns* pl_openEmptyValueRuns ( le_int32  initialCapacity)

Construct an empty pl_valueRuns object.

Clients can add values and limits using the pl_addValueRun routine.

Parameters
initialCapacityis the initial size of the value and limit indices arrays. If this value is zero, no arrays will be allocated.
See also
pl_addValueRun
Internal:
Do not use. This API is for internal use only.

§ pl_openFontRuns()

pl_fontRuns* pl_openFontRuns ( const le_font **  fonts,
const le_int32 *  limits,
le_int32  count 
)

Construct a pl_fontRuns object from pre-existing arrays of fonts and limit indices.

Parameters
fontsis the address of an array of pointers to le_font objects. This array, and the le_font objects to which it points must remain valid until the pl_fontRuns object is closed.
limitsis the address of an array of limit indices. This array must remain valid until the pl_fontRuns object is closed.
countis the number of entries in the two arrays.
Internal:
Do not use. This API is for internal use only.

§ pl_openLocaleRuns()

pl_localeRuns* pl_openLocaleRuns ( const char **  locales,
const le_int32 *  limits,
le_int32  count 
)

Construct a pl_localeRuns object from pre-existing arrays of fonts and limit indices.

Parameters
localesis the address of an array of pointers to locale name strings. This array must remain valid until the pl_localeRuns object is destroyed.
limitsis the address of an array of limit indices. This array must remain valid until the pl_valueRuns object is destroyed.
countis the number of entries in the two arrays.
Internal:
Do not use. This API is for internal use only.

§ pl_openValueRuns()

pl_valueRuns* pl_openValueRuns ( const le_int32 *  values,
const le_int32 *  limits,
le_int32  count 
)

Construct a pl_valueRuns object from pre-existing arrays of values and limit indices.

Parameters
valuesis the address of an array of values. This array must remain valid until the pl_valueRuns object is closed.
limitsis the address of an array of limit indices. This array must remain valid until the pl_valueRuns object is closed.
countis the number of entries in the two arrays.
Internal:
Do not use. This API is for internal use only.

§ pl_resetFontRuns()

void pl_resetFontRuns ( pl_fontRuns fontRuns)

Reset the number of font runs to zero.

Parameters
fontRunsis the pl_fontRuns object.
Internal:
Do not use. This API is for internal use only.

§ pl_resetLocaleRuns()

void pl_resetLocaleRuns ( pl_localeRuns localeRuns)

Reset the number of locale runs to zero.

Parameters
localeRunsis the pl_localeRuns object.
Internal:
Do not use. This API is for internal use only.

§ pl_resetValueRuns()

void pl_resetValueRuns ( pl_valueRuns valueRuns)

Reset the number of value runs to zero.

Parameters
valueRunsis the pl_valueRuns object.
Internal:
Do not use. This API is for internal use only.