/usr/share/gtk-doc/html/harfbuzz
NameSizeModeActions
a-clustering-example-for-levels-0-and-1.html53070644editdlrm
aat-shaping.html23590644editdlrm
adding-text-to-the-buffer.html58000644editdlrm
annotation-glossary.html56440644editdlrm
api-index-0-9-2.html444470644editdlrm
api-index-0-9-5.html33390644editdlrm
api-index-0-9-7.html123060644editdlrm
api-index-0-9-8.html20880644editdlrm
api-index-0-9-10.html32000644editdlrm
api-index-0-9-11.html20700644editdlrm
api-index-0-9-20.html23030644editdlrm
api-index-0-9-22.html21150644editdlrm
api-index-0-9-28.html20620644editdlrm
api-index-0-9-30.html25250644editdlrm
api-index-0-9-31.html29320644editdlrm
api-index-0-9-38.html38220644editdlrm
api-index-0-9-39.html20580644editdlrm
api-index-0-9-41.html20670644editdlrm
api-index-0-9-42.html25870644editdlrm
api-index-1-0-5.html27370644editdlrm
api-index-1-1-2.html23740644editdlrm
api-index-1-1-3.html29570644editdlrm
api-index-1-2-3.html28720644editdlrm
api-index-1-3-3.html55360644editdlrm
api-index-1-4-0.html23470644editdlrm
api-index-1-4-2.html53690644editdlrm
api-index-1-4-3.html20290644editdlrm
api-index-1-5-0.html29000644editdlrm
api-index-1-6-0.html22660644editdlrm
api-index-1-7-5.html17010644editdlrm
api-index-1-7-7.html55500644editdlrm
api-index-1-8-0.html26620644editdlrm
api-index-1-8-1.html24850644editdlrm
api-index-1-8-5.html20880644editdlrm
api-index-1-8-6.html31870644editdlrm
api-index-1-9-0.html34600644editdlrm
api-index-2-0-0.html59260644editdlrm
api-index-2-1-0.html80690644editdlrm
api-index-2-2-0.html53260644editdlrm
api-index-2-3-0.html26500644editdlrm
api-index-2-4-0.html20870644editdlrm
api-index-2-5-0.html21080644editdlrm
api-index-2-6-0.html52400644editdlrm
api-index-2-7-3.html28240644editdlrm
api-index-full.html1403400644editdlrm
buffers-language-script-and-direction.html49510644editdlrm
building.html153460644editdlrm
ch01s03.html44950644editdlrm
ch03s02.html60780644editdlrm
ch03s03.html45800644editdlrm
ch12.html35570644editdlrm
ch13.html30780644editdlrm
ch14.html18760644editdlrm
ch15.html30440644editdlrm
clusters.html64990644editdlrm
complex-scripts.html30010644editdlrm
customizing-unicode-functions.html64000644editdlrm
deprecated-api-index.html62230644editdlrm
fonts-and-faces-custom-functions.html73980644editdlrm
fonts-and-faces-native-opentype.html51960644editdlrm
fonts-and-faces-variable.html53040644editdlrm
fonts-and-faces.html76710644editdlrm
getting-started.html50430644editdlrm
graphite-shaping.html23080644editdlrm
harfbuzz-hb-aat-layout.html1393450644editdlrm
harfbuzz-hb-blob.html359020644editdlrm
harfbuzz-hb-buffer.html1954910644editdlrm
harfbuzz-hb-common.html653230644editdlrm
harfbuzz-hb-coretext.html113710644editdlrm
harfbuzz-hb-deprecated.html253280644editdlrm
harfbuzz-hb-directwrite.html61550644editdlrm
harfbuzz-hb-face.html521000644editdlrm
harfbuzz-hb-font.html2626960644editdlrm
harfbuzz-hb-ft.html287190644editdlrm
harfbuzz-hb-gdi.html43100644editdlrm
harfbuzz-hb-glib.html100860644editdlrm
harfbuzz-hb-gobject.html29530644editdlrm
harfbuzz-hb-graphite2.html58280644editdlrm
harfbuzz-hb-icu.html79690644editdlrm
harfbuzz-hb-map.html291880644editdlrm
harfbuzz-hb-ot-color.html399490644editdlrm
harfbuzz-hb-ot-font.html46300644editdlrm
harfbuzz-hb-ot-layout.html1450880644editdlrm
harfbuzz-hb-ot-math.html528860644editdlrm
harfbuzz-hb-ot-meta.html102860644editdlrm
harfbuzz-hb-ot-metrics.html179270644editdlrm
harfbuzz-hb-ot-name.html196030644editdlrm
harfbuzz-hb-ot-shape.html62570644editdlrm
harfbuzz-hb-ot-var.html367080644editdlrm
harfbuzz-hb-set.html594230644editdlrm
harfbuzz-hb-shape-plan.html384120644editdlrm
harfbuzz-hb-shape.html117020644editdlrm
harfbuzz-hb-unicode.html1067010644editdlrm
harfbuzz-hb-uniscribe.html60990644editdlrm
harfbuzz-hb-version.html104150644editdlrm
harfbuzz.devhelp21794570644editdlrm
HarfBuzz.png62540644editdlrm
HarfBuzz.svg67450644editdlrm
home.png1690644editdlrm
index.html195660644editdlrm
install-harfbuzz.html37870644editdlrm
integration-coretext.html64830644editdlrm
integration-freetype.html92930644editdlrm
integration-icu.html41860644editdlrm
integration-python.html31810644editdlrm
integration-uniscribe.html67250644editdlrm
integration.html99360644editdlrm
left-insensitive.png3340644editdlrm
left.png1850644editdlrm
level-2.html70090644editdlrm
object-model-blobs.html29020644editdlrm
object-model-lifecycle.html49780644editdlrm
object-model-object-types.html41110644editdlrm
object-model-user-data.html32550644editdlrm
object-model.html39780644editdlrm
opentype-shaping-models.html44630644editdlrm
pt01.html94170644editdlrm
pt02.html126740644editdlrm
reordering-in-levels-0-and-1.html31020644editdlrm
right-insensitive.png2330644editdlrm
right.png1840644editdlrm
setting-buffer-properties.html78300644editdlrm
shaping-and-shape-plans.html81960644editdlrm
shaping-concepts.html38690644editdlrm
shaping-opentype-features.html66630644editdlrm
shaping-operations.html45370644editdlrm
shaping-plans-and-caching.html46410644editdlrm
shaping-shaper-selection.html34060644editdlrm
style.css116060644editdlrm
text-runs.html25330644editdlrm
the-distinction-between-levels-0-and-1.html48640644editdlrm
unicode-character-categories.html42040644editdlrm
up-insensitive.png2880644editdlrm
up.png1860644editdlrm
utilities-common-types-apis.html43650644editdlrm
utilities-ucdn.html26320644editdlrm
utilities.html92740644editdlrm
what-harfbuzz-doesnt-do.html55350644editdlrm
what-is-harfbuzz.html55030644editdlrm
why-do-i-need-a-shaping-engine.html81240644editdlrm
why-is-it-called-harfbuzz.html21710644editdlrm
working-with-harfbuzz-clusters.html100830644editdlrm
Edit: /usr/share/gtk-doc/html/harfbuzz/harfbuzz-hb-set.html (59423B)
hb-set: HarfBuzz Manual

hb-set

hb-set — Objects representing a set of integers

Types and Values

#define HB_SET_VALUE_INVALID
typedef hb_set_t

Includes

#include <hb.h>

Description

Set objects represent a mathematical set of integer values. They are used in non-shaping APIs to query certain sets of characters or glyphs, or other integer values.

Functions

hb_set_add ()

void
hb_set_add (hb_set_t *set,
            hb_codepoint_t codepoint);

Adds codepoint to set .

Parameters

set

A set

 

codepoint

The element to add to set

 

Since: 0.9.2


hb_set_add_range ()

void
hb_set_add_range (hb_set_t *set,
                  hb_codepoint_t first,
                  hb_codepoint_t last);

Adds all of the elements from first to last (inclusive) to set .

Parameters

set

A set

 

first

The first element to add to set

 

last

The final element to add to set

 

Since: 0.9.7


hb_set_allocation_successful ()

hb_bool_t
hb_set_allocation_successful (const hb_set_t *set);

Tests whether memory allocation for a set was successful.

Parameters

set

A set

 

Returns

true if allocation succeeded, false otherwise

Since: 0.9.2


hb_set_clear ()

void
hb_set_clear (hb_set_t *set);

Clears out the contents of a set.

Parameters

set

A set

 

Since: 0.9.2


hb_set_create ()

hb_set_t *
hb_set_create (void);

Creates a new, initially empty set.

[Xconstructor]

Returns

The new hb_set_t.

[transfer full]

Since: 0.9.2


hb_set_del ()

void
hb_set_del (hb_set_t *set,
            hb_codepoint_t codepoint);

Removes codepoint from set .

Parameters

set

A set

 

codepoint

Removes codepoint from set

 

Since: 0.9.2


hb_set_del_range ()

void
hb_set_del_range (hb_set_t *set,
                  hb_codepoint_t first,
                  hb_codepoint_t last);

Removes all of the elements from first to last (inclusive) from set .

Parameters

set

A set

 

first

The first element to remove from set

 

last

The final element to remove from set

 

Since: 0.9.7


hb_set_destroy ()

void
hb_set_destroy (hb_set_t *set);

Decreases the reference count on a set. When the reference count reaches zero, the set is destroyed, freeing all memory.

[skip]

Parameters

set

A set

 

Since: 0.9.2


hb_set_get_empty ()

hb_set_t *
hb_set_get_empty (void);

Fetches the singleton empty hb_set_t.

Returns

The empty hb_set_t.

[transfer full]

Since: 0.9.2


hb_set_get_max ()

hb_codepoint_t
hb_set_get_max (const hb_set_t *set);

Finds the largest element in the set.

Parameters

set

A set

 

Returns

maximum of set , or HB_SET_VALUE_INVALID if set is empty.

Since: 0.9.7


hb_set_get_min ()

hb_codepoint_t
hb_set_get_min (const hb_set_t *set);

Finds the smallest element in the set.

Parameters

set

A set

 

Returns

minimum of set , or HB_SET_VALUE_INVALID if set is empty.

Since: 0.9.7


hb_set_get_population ()

unsigned int
hb_set_get_population (const hb_set_t *set);

Returns the number of elements in the set.

Parameters

set

A set

 

Returns

The population of set

Since: 0.9.7


hb_set_get_user_data ()

void *
hb_set_get_user_data (hb_set_t *set,
                      hb_user_data_key_t *key);

Fetches the user data associated with the specified key, attached to the specified set.

[skip]

Parameters

set

A set

 

key

The user-data key to query

 

Returns

A pointer to the user data.

[transfer none]

Since: 0.9.2


hb_set_has ()

hb_bool_t
hb_set_has (const hb_set_t *set,
            hb_codepoint_t codepoint);

Tests whether codepoint belongs to set .

Parameters

set

A set

 

codepoint

The element to query

 

Returns

true if codepoint is in set , false otherwise

Since: 0.9.2


hb_set_intersect ()

void
hb_set_intersect (hb_set_t *set,
                  const hb_set_t *other);

Makes set the intersection of set and other .

Parameters

set

A set

 

other

Another set

 

Since: 0.9.2


hb_set_is_empty ()

hb_bool_t
hb_set_is_empty (const hb_set_t *set);

Tests whether a set is empty (contains no elements).

Parameters

set

a set.

 

Returns

true if set is empty

Since: 0.9.7


hb_set_is_equal ()

hb_bool_t
hb_set_is_equal (const hb_set_t *set,
                 const hb_set_t *other);

Tests whether set and other are equal (contain the same elements).

Parameters

set

A set

 

other

Another set

 

Returns

TRUE if the two sets are equal, FALSE otherwise.

Since: 0.9.7


hb_set_is_subset ()

hb_bool_t
hb_set_is_subset (const hb_set_t *set,
                  const hb_set_t *larger_set);

Tests whether set is a subset of larger_set .

Parameters

set

A set

 

larger_set

Another set

 

Returns

TRUE if the set is a subset of (or equal to) larger_set , FALSE otherwise.

Since: 1.8.1


hb_set_next ()

hb_bool_t
hb_set_next (const hb_set_t *set,
             hb_codepoint_t *codepoint);

Fetches the next element in set that is greater than current value of codepoint .

Set codepoint to HB_SET_VALUE_INVALID to get started.

Parameters

set

A set

 

codepoint

Input = Code point to query Output = Code point retrieved.

[inout]

Returns

true if there was a next value, false otherwise

Since: 0.9.2


hb_set_next_range ()

hb_bool_t
hb_set_next_range (const hb_set_t *set,
                   hb_codepoint_t *first,
                   hb_codepoint_t *last);

Fetches the next consecutive range of elements in set that are greater than current value of last .

Set last to HB_SET_VALUE_INVALID to get started.

Parameters

set

A set

 

first

The first code point in the range.

[out]

last

Input = The current last code point in the range Output = The last code point in the range.

[inout]

Returns

true if there was a next range, false otherwise

Since: 0.9.7


hb_set_previous ()

hb_bool_t
hb_set_previous (const hb_set_t *set,
                 hb_codepoint_t *codepoint);

Fetches the previous element in set that is lower than current value of codepoint .

Set codepoint to HB_SET_VALUE_INVALID to get started.

Parameters

set

A set

 

codepoint

Input = Code point to query Output = Code point retrieved.

[inout]

Returns

true if there was a previous value, false otherwise

Since: 1.8.0


hb_set_previous_range ()

hb_bool_t
hb_set_previous_range (const hb_set_t *set,
                       hb_codepoint_t *first,
                       hb_codepoint_t *last);

Fetches the previous consecutive range of elements in set that are greater than current value of last .

Set first to HB_SET_VALUE_INVALID to get started.

Parameters

set

A set

 

first

Input = The current first code point in the range Output = The first code point in the range.

[inout]

last

The last code point in the range.

[out]

Returns

true if there was a previous range, false otherwise

Since: 1.8.0


hb_set_reference ()

hb_set_t *
hb_set_reference (hb_set_t *set);

Increases the reference count on a set.

[skip]

Parameters

set

A set

 

Returns

The set.

[transfer full]

Since: 0.9.2


hb_set_set ()

void
hb_set_set (hb_set_t *set,
            const hb_set_t *other);

Makes the contents of set equal to the contents of other .

Parameters

set

A set

 

other

Another set

 

Since: 0.9.2


hb_set_set_user_data ()

hb_bool_t
hb_set_set_user_data (hb_set_t *set,
                      hb_user_data_key_t *key,
                      void *data,
                      hb_destroy_func_t destroy,
                      hb_bool_t replace);

Attaches a user-data key/data pair to the specified set.

[skip]

Parameters

set

A set

 

key

The user-data key to set

 

data

A pointer to the user data to set

 

destroy

A callback to call when data is not needed anymore.

[optional]

replace

Whether to replace an existing data with the same key

 

Returns

true if success, false otherwise

Since: 0.9.2


hb_set_subtract ()

void
hb_set_subtract (hb_set_t *set,
                 const hb_set_t *other);

Subtracts the contents of other from set .

Parameters

set

A set

 

other

Another set

 

Since: 0.9.2


hb_set_symmetric_difference ()

void
hb_set_symmetric_difference (hb_set_t *set,
                             const hb_set_t *other);

Makes set the symmetric difference of set and other .

Parameters

set

A set

 

other

Another set

 

Since: 0.9.2


hb_set_union ()

void
hb_set_union (hb_set_t *set,
              const hb_set_t *other);

Makes set the union of set and other .

Parameters

set

A set

 

other

Another set

 

Since: 0.9.2

Types and Values

HB_SET_VALUE_INVALID

#define HB_SET_VALUE_INVALID ((hb_codepoint_t) -1)

hb_set_t

typedef struct hb_set_t hb_set_t;

Data type for holding a set of integers. hb_set_t's are used to gather and contain glyph IDs, Unicode code points, and various other collections of discrete values.