Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fcft_rasterize_text_run_utf32(3)      fcft	fcft_rasterize_text_run_utf32(3)

NAME
     fcft_rasterize_text_run_utf32  -  rasterize  a  series of glyphs for a text
     string

SYNOPSIS
     #include <fcft/fcft.h>

     struct fcft_text_run *fcft_rasterize_text_run_utf32(
	 struct fcft_font *font, size_t len, const  uint32_t  text[static  len],
	 enum fcft_subpixel subpixel);

DESCRIPTION
     fcft_rasterize_text_run_utf32()  shapes  and  rasterizes the UTF-32 encoded
     Unicode string text into a series of glyphs using	the  primary  font,  and
     possibly one or more fallback fonts, in font.

     subpixel allows you to specify which subpixel mode to use. See fcft_raster-
     ize_char_utf32() for details.

     The  string  is first segmented into grapheme clusters using utf8proc. Each
     grapheme is assigned a  font  using  the  normal  font  lookup  rules  (see
     fcft_rasterize_char_utf32()).

     Next, HarfBuzz is used to guess each grapheme's script (~language). Consec-
     utiv  graphemes  that  both have been assigned the same font, and belong to
     the same script are merged into a "partial" text run.

     Finally, each partial text run is shaped with HarfBuzz.

RETURN VALUE
     On error, NULL is returned.

     On success, a pointer to a dynamically allocated text-run is returned:

	 struct fcft_text_run {
	     const struct fcft_glyph **glyphs;
	     int *cluster;
	     size_t count;
	 };

     Both glyphs and cluster are arrays with count  elements.  cluster	contains
     the character offsets (in the original string) of each corresponding glyph.

     Note that the glyphs' cols member are invalid.

     The  text-run  is	not cached in fcft. The calling application may cache it
     for as long as it likes, including after the font has been destroyed.

     The text-run must be free:d with fcft_text_run_destroy().

SEE ALSO
     fcft_text_run_destroy(),	  fcft_rasterize_char_utf32(),	    fcft_raster-
     ize_grapheme_utf32()

3.3.3				   2026-07-30	fcft_rasterize_text_run_utf32(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fcft_rasterize_text_run_utf32&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help