---
name: "fcft_set_emoji_presentation"
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_set_emoji_presentation"
---

# fcft\_set\_emoji\_presentation(3)

configures the default emoji presentation

## NAME

fcft\_set\_emoji\_presentation - configures the default emoji presentation

## SYNOPSIS

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

**bool fcft\_set\_emoji\_presentation(struct fcft\_font \****font***,**

**enum fcft\_emoji\_presentation** *presentation***);**

## DESCRIPTION

Mote: this function is deprecated and will be removed in the next major release.

**fcft\_set\_emoji\_presentation**() configures the default presentation style to use with emojis with both a text presentation, and an emoji presentation style.

These emojis can be followed by an (invisible) variation selector. When they are not followed by a selector, the implementation must choose a style.

One example of such an emoji is U+263A - WHITE SMILING FACE:

- •

  unqualified: ☺

- •

  text: ☺︎

- •

  emoji: ☺️

The Unicode standard defines the default presentation styles, and this is what fcft defaults to.

However, in some cases, the application may want to always use either the text style, or the emoji style.

This is what **fcft\_set\_emoji\_presentation**() is for. Possible values for *presentation* are:

- •

  **FCFT\_EMOJI\_PRESENTATION\_DEFAULT**

- •

  **FCFT\_EMOJI\_PRESENTATION\_TEXT**

- •

  **FCFT\_EMOJI\_PRESENTATION\_EMOJI**

To re-iterate; this setting affects emoji's without an explicit variation selector. In other words, it overrides the **default** presentation style.

**FCFT\_EMOJI\_PRESENTATION\_DEFAULT** is the default, and causes fcft to use the default presentation as defined by Unicode.

**FCFT\_EMOJI\_PRESENTATION\_TEXT** forces all multi-presentation style emojis to be rendered in their text presentation style.

**FCFT\_EMOJI\_PRESENTATION\_EMOJI** forces all multi-presentation style emojis to be rendered in their emoji presentation style.

This function does **not** clear the glyph caches and should therefore be called before rasterizing any glyphs.

## SEE ALSO

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