Provided by: allegro5-doc_5.2.3.0-1_all bug

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(3alleg5), 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(3alleg5), al_grab_font_from_bitmap(3alleg5)