---
name: "fcft_rasterize_grapheme_utf32"
section: "3"
platform: "linux"
package: "fcft"
version: "3.3.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/fcft_rasterize_grapheme_utf32"
---

# fcft\_rasterize\_grapheme\_utf32(3)

rasterize glyph(s) for a grapheme cluster

## NAME

fcft\_rasterize\_grapheme\_utf32 - rasterize glyph(s) for a  grapheme cluster

## SYNOPSIS

**#include \<fcft/fcft.h\>**

**const struct fcft\_grapheme \*fcft\_rasterize\_grapheme\_utf32(**

**struct fcft\_font \****font***,** **size\_t** *len***, const uint32\_t** *grapheme\_cluster\[static len\]***,** **enum fcft\_subpixel** *subpixel***);**

## DESCRIPTION

**fcft\_rasterize\_grapheme\_utf32**() rasterizes the grapheme cluster *cluster* using the primary font, or one of the fallback fonts, in *font*.

Each cluster element is an UTF-32 encoded Unicode codepoint.

The fonts are searched for *all* codepoints in the grapheme cluster, starting with the primary font and then the custom fallback fonts, and finally the FontConfig provided fallback fonts.

*subpixel* allows you to specify which subpixel mode to use. See **fcft\_rasterize\_char\_utf32**() for details.

## RETURN VALUE

On error, NULL is returned.

On success, a pointer to a rasterized grapheme is returned. The grapheme is cached in fcft, making subsequent calls with the same arguments very fast (i.e. there is no need for programs to cache glyphs by themselves).

The grapheme object is managed by *font*. There is no need to explicitly free it; it is freed when *font* is destroyed (with **fcft\_destroy**()).

```
struct fcft_grapheme {
    int cols;
    size_t count;
    const struct fcft_glyph **glyphs;
};
```

*cols* is the number of "columns" the glyph occupies (effectively, **wcswidth**(*cluster***)**).

*glyphs* is an array of *count* rasterized glyphs. See **fcft\_rasterize\_char\_utf32**() for a description of **struct** **fcft\_glyph**.

## SEE ALSO

**fcft\_destroy**(), **fcft\_rasterize\_char\_utf32**(), **fcft\_rasterize\_text\_run\_utf32**()
