Coverage Maps

Coverage Maps — Unicode character range coverage storage

Object Hierarchy

    GEnum
    ╰── PangoCoverageLevel
    GObject
    ╰── PangoCoverage

Description

It is often necessary in Pango to determine if a particular font can represent a particular character, and also how well it can represent that character. The PangoCoverage is a data structure that is used to represent that information.

Functions

pango_coverage_new ()

PangoCoverage *
pango_coverage_new (void);

Create a new PangoCoverage

Returns

the newly allocated PangoCoverage, initialized to PANGO_COVERAGE_NONE with a reference count of one, which should be freed with pango_coverage_unref().


pango_coverage_ref ()

PangoCoverage *
pango_coverage_ref (PangoCoverage *coverage);

Increase the reference count on the PangoCoverage by one

Parameters

coverage

a PangoCoverage.

[not nullable]

Returns

coverage .

[transfer full]


pango_coverage_unref ()

void
pango_coverage_unref (PangoCoverage *coverage);

Decrease the reference count on the PangoCoverage by one. If the result is zero, free the coverage and all associated memory.

Parameters

coverage

a PangoCoverage.

[transfer full][not nullable]

pango_coverage_copy ()

PangoCoverage *
pango_coverage_copy (PangoCoverage *coverage);

Copy an existing PangoCoverage. (This function may now be unnecessary since we refcount the structure. File a bug if you use it.)

Parameters

coverage

a PangoCoverage

 

Returns

the newly allocated PangoCoverage, with a reference count of one, which should be freed with pango_coverage_unref().

[transfer full]


pango_coverage_get ()

PangoCoverageLevel
pango_coverage_get (PangoCoverage *coverage,
                    int index_);

Determine whether a particular index is covered by coverage

Parameters

coverage

a PangoCoverage

 

index_

the index to check

 

Returns

the coverage level of coverage for character index_ .


pango_coverage_max ()

void
pango_coverage_max (PangoCoverage *coverage,
                    PangoCoverage *other);

pango_coverage_max has been deprecated since version 1.44 and should not be used in newly-written code.

This function does nothing

Set the coverage for each index in coverage to be the max (better) value of the current coverage for the index and the coverage for the corresponding index in other .

Parameters

coverage

a PangoCoverage

 

other

another PangoCoverage

 

pango_coverage_set ()

void
pango_coverage_set (PangoCoverage *coverage,
                    int index_,
                    PangoCoverageLevel level);

Modify a particular index within coverage

Parameters

coverage

a PangoCoverage

 

index_

the index to modify

 

level

the new level for index_

 

pango_coverage_to_bytes ()

void
pango_coverage_to_bytes (PangoCoverage *coverage,
                         guchar **bytes,
                         int *n_bytes);

pango_coverage_to_bytes has been deprecated since version 1.44 and should not be used in newly-written code.

This returns NULL

Convert a PangoCoverage structure into a flat binary format

Parameters

coverage

a PangoCoverage

 

bytes

location to store result (must be freed with g_free()).

[out][array length=n_bytes][element-type guint8]

n_bytes

location to store size of result.

[out]

pango_coverage_from_bytes ()

PangoCoverage *
pango_coverage_from_bytes (guchar *bytes,
                           int n_bytes);

pango_coverage_from_bytes has been deprecated since version 1.44 and should not be used in newly-written code.

This returns NULL

Convert data generated from pango_coverage_to_bytes() back to a PangoCoverage

Parameters

bytes

binary data representing a PangoCoverage.

[array length=n_bytes][element-type guint8]

n_bytes

the size of bytes in bytes

 

Returns

a newly allocated PangoCoverage, or NULL if the data was invalid.

[transfer full][nullable]

Types and Values

enum PangoCoverageLevel

Used to indicate how well a font can represent a particular Unicode character point for a particular script.

Since 1.44, only PANGO_COVERAGE_NONE and PANGO_COVERAGE_EXACT will be returned.

Members

PANGO_COVERAGE_NONE

The character is not representable with the font.

 

PANGO_COVERAGE_FALLBACK

The character is represented in a way that may be comprehensible but is not the correct graphical form. For instance, a Hangul character represented as a a sequence of Jamos, or a Latin transliteration of a Cyrillic word.

 

PANGO_COVERAGE_APPROXIMATE

The character is represented as basically the correct graphical form, but with a stylistic variant inappropriate for the current script.

 

PANGO_COVERAGE_EXACT

The character is represented as the correct graphical form.

 

PANGO_TYPE_COVERAGE_LEVEL

#define PANGO_TYPE_COVERAGE_LEVEL (pango_coverage_level_get_type ())

PangoCoverage

typedef struct _PangoCoverage PangoCoverage;

The PangoCoverage structure represents a map from Unicode characters to PangoCoverageLevel. It is an opaque structure with no public fields.