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

FreeBSD Manual Pages

  
 
  

home | help
al_get_glyph_advance(3)	   Library Functions Manual    al_get_glyph_advance(3)

NAME
       al_get_glyph_advance - Allegro 5	API

SYNOPSIS
	      #include <allegro5/allegro_font.h>

	      int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)

DESCRIPTION
       This function returns by	how much the x position	should be advanced for
       left  to	 right	text  drawing when the glyph that corresponds to code-
       point1 has been drawn, and the glyph  that  corresponds	to  codepoint2
       will  be	the next to be drawn.  This takes into consideration the hori-
       zontal advance width of the glyph that corresponds with	codepoint1  as
       well as the kerning between the glyphs of codepoint1 and	codepoint2.

       Kerning	is  the	 process  of adjusting the spacing between glyphs in a
       font, to	obtain a more visually pleasing	result.	 Kerning  adjusts  the
       space  between  two  individual glyphs with an offset determined	by the
       author of the font.

       If you pass ALLEGRO_NO_KERNING as codepoint1 then  al_get_glyph_advance
       will  return 0.	this can be useful when	drawing	the first character of
       a string	in a loop.

       Pass ALLEGRO_NO_KERNING as codepoint2 to	 get  the  horizontal  advance
       width  of  the  glyph that corresponds to codepoint1 without taking any
       kerning into consideration.  This can be	used, for example, when	 draw-
       ing the last character of a string in a loop.

       This  function  will  return  zero  if  the  glyph of codepoint1	is not
       present in the font.  If	the glyph of codepoint2	is not present in  the
       font,  the  horizontal  advance	width of the glyph that	corresponds to
       codepoint1 without taking any kerning into consideration	is returned.

       When drawing a string one glyph at the time from	the left to the	 right
       with  kerning, the x position of	the glyph should be incremented	by the
       result of al_get_glyph_advance(3) applied to the	previous  glyph	 drawn
       and the next glyph to draw.

       Note  that  the	return value of	this function is a recommended advance
       for optimal readability for left	to right text determined by the	author
       of the font.  However, if you like, you may want	to draw	the glyphs  of
       the  font  narrower  or	wider to each other than what al_get_glyph_ad-
       vance(3)	returns	for style or effect.

       In  the	figure	below  is  an  example	 of   what   the   result   of
       al_get_glyph_advance  may  be  like for two glypphs A and l of the same
       font that has kerning for the "Al" pair,	without	 and  with  the	 ALLE-
       GRO_NO_KERNING flag.

	      al_get_glyph_advance(font, 'A', 'l')
		   ___|___
		  /	  \
		  -------------
		      /\   -|
		     /	\   |
		    /____\  |
		   /	  \ |
		  /	   \ \_
		  -------------

	      al_get_glyph_advance(font, 'A', ALLEGRO_NO_KERNING)
		   ____|____
		  /	    \
		  ---------------
		      /\     -|
		     /	\     |
		    /____\    |
		   /	  \   |
		  /	   \   \_
		  ---------------

SINCE
       5.1.12

SEE ALSO
       al_draw_glyph(3), al_get_glyph_width(3),	al_get_glyph_dimensions(3).

Allegro	reference manual			       al_get_glyph_advance(3)

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

home | help