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  en-
       coded  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_rasterize_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).
       Consecutiv 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 con-
       tains the character offsets (in the original  string)  of  each	corre-
       sponding	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  de-
       stroyed.

       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.1				  2025-04-12  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+14.3.quarterly>

home | help