Provided by: libfcft-doc_3.3.1-1_all bug

NAME

       fcft_font_options_create - instantiate a new font

SYNOPSIS

       #include <fcft/fcft.h>

       struct fcft_font_options *fcft_font_options_create(void);

DESCRIPTION

       fcft_font_options_create()    allocates   a   struct   fcft_font_options   object   to   be   used   with
       fcft_from_name2(3).

       The returned object will be initialized with default values. Manually set struct members to override.

       Note: you must use fcft_font_options_create()  to  allocate  the  options  object;  do  not  allocate  it
       yourself, neither from the heap or on the stack. This is to ensure forward compatibility.

           struct fcft_font_options {
               enum fcft_scaling_filter scaling_filter;
               enum fcft_emoji_presentation emoji_presentation;

               struct {
                   bool srgb_decode;
                   pixman_format_code_t format;
               } color_glyphs;
           };

SCALING FILTER

       Configures the filter the use when downscaling bitmap fonts (typically emoji fonts).

       Possible values are:

       •   FCFT_SCALING_FILTER_NONEFCFT_SCALING_FILTER_NEARESTFCFT_SCALING_FILTER_BILINEARFCFT_SCALING_FILTER_IMPULSEFCFT_SCALING_FILTER_BOXFCFT_SCALING_FILTER_LINEARFCFT_SCALING_FILTER_CUBICFCFT_SCALING_FILTER_GAUSSIANFCFT_SCALING_FILTER_LANCZOS2FCFT_SCALING_FILTER_LANCZOS3FCFT_SCALING_FILTER_LANCZOS3_STRETCHED

       FCFT_SCALING_FILTER_NONE disables filtering.

       FCFT_SCALING_FILTER_NEAREST  and FCFT_SCALING_FILTER_BILINEAR are traditional filters, with nearest being
       the fastest.

       The rest are separable convolution filters.

       The default is FCFT_SCALING_FILTER_CUBIC.

EMOJI PRESENTATION

       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 emoji_presentation is for. Possible values are:

       •   FCFT_EMOJI_PRESENTATION_DEFAULTFCFT_EMOJI_PRESENTATION_TEXTFCFT_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.

COLOR GLYPHS

       srgb_decode: when true, the pixel data will be decoded  from  sRGB  to  linear  space.  When  false  (the
       default), the pixel data is used as is.

       format defines the pixman surface format to use for color glyphs. The default is PIXMAN_a8r8g8b8. One use
       is to enable higher color precision when srgb_decode is enabled, to avoid loss of precision when decoding
       from sRGB.

SEE ALSO

       fcft_from_name2(), fcft_font_options_destroy()

3.3.1                                              2025-03-22                        fcft_font_options_create(3)