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

FreeBSD Manual Pages

  
 
  

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

NAME
     al_grab_font_from_bitmap - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro_font.h>

	    ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,
	       int ranges_n, const int ranges[])

DESCRIPTION
     Creates a new font from an Allegro bitmap.  You can delete the bitmap after
     the function returns as the font will contain a copy for itself.

     Parameters:

     * bmp: The bitmap with the glyphs drawn onto it

     * n: Number of unicode ranges in the bitmap.

     * ranges:	`n'  pairs  of first and last unicode point to map glyphs to for
       each range.

     The bitmap format is as in the  following	example,  which  contains  three
     glyphs for 1, 2 and 3.

	    .............
	    . 1 .222.333.
	    . 1 .  2.  3.
	    . 1 .222.333.
	    . 1 .2  .  3.
	    . 1 .222.333.
	    .............

     In  the  above  illustration,  the  dot is for pixels having the background
     color.  It is determined by the color of the top left pixel in the  bitmap.
     There  should be a border of at least 1 pixel with this color to the bitmap
     edge and between all glyphs.

     Each glyph is inside a rectangle of pixels not  containing  the  background
     color.   The  height  of  all  glyph rectangles should be the same, but the
     width can vary.

     The placement of the rectangles does not matter,  except  that  glyphs  are
     scanned from left to right and top to bottom to match them to the specified
     unicode codepoints.

     The  glyphs  will	simply	be drawn using al_draw_bitmap(3), so usually you
     will want the rectangles filled with full transparency and the glyphs drawn
     in opaque white.

     Examples:

	    int ranges[] = {32, 126};
	    al_grab_font_from_bitmap(bitmap, 1, ranges)

	    int ranges[] = {
		0x0020, 0x007F,  /* ASCII */
		0x00A1, 0x00FF,  /* Latin 1 */
		0x0100, 0x017F,  /* Extended-A */
		0x20AC, 0x20AC}; /* Euro */
	    al_grab_font_from_bitmap(bitmap, 4, ranges)

     The first example will grab glyphs for  the  95  standard	printable  ASCII
     characters,  beginning  with  the	space character (32) and ending with the
     tilde character (126).  The second example will map  the  first  96  glyphs
     found in the bitmap to ASCII range, the next 95 glyphs to Latin 1, the next
     128  glyphs to Extended-A, and the last glyph to the Euro character.  (This
     is just the characters found in the Allegro 4 font.)

SEE ALSO
     al_load_bitmap(3), al_grab_font_from_bitmap(3)

Allegro reference manual			     al_grab_font_from_bitmap(3)

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

home | help