---
name: "merge_fonts"
section: "3alleg4"
platform: "linux"
package: "allegro4-doc"
version: "2:4.4.3.1-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/merge_fonts/3alleg4"
---

# merge\_fonts(3alleg4)

Merges two fonts into one font. Allegro game programming library.

## NAME

merge\_fonts - Merges two fonts into one font. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**FONT \*merge\_fonts(FONT \*f1, FONT \*f2)**

## DESCRIPTION

This function merges the character ranges from two fonts and returns a new font containing all characters in the old fonts. In general, you cannot merge fonts of different types (eg, TrueType fonts and bitmapped fonts), but as a special case, this function can promote a monochrome bitmapped font to a color font and merge those. Example:

```
   FONT *myfont;
   FONT *myfancy_font;
   FONT *lower_range;
   FONT *upper_range;
   FONT *capitals;
   FONT *combined_font;
   FONT *tempfont;
   ...
   /* Create a font that contains the capitals from  */
   /* the fancy font but other characters from myfont */
   lower_range = extract_font_range(myfont, -1, 'A'-1);
   upper_range = extract_font_range(myfont, 'Z'+1, -1);
   capitals = extract_font_range(myfancy_font, 'A', 'Z');
   tempfont = merge_fonts(lower_range, capitals);
   combined_font = merge_fonts(tempfont, upper_range);
   /* Clean up temporary fonts */
   destroy_font(lower_range);
   destroy_font(upper_range);
   destroy_font(capitals);
   destroy_font(tempfont);
```

## RETURN VALUE

Returns a pointer to the new font or NULL on error. Remember that you are responsible for destroying the font when you are finished with it to avoid memory leaks.

## SEE ALSO

**extract\_font\_range**(3alleg4), **is\_trans\_font**(3alleg4), **is\_color\_font**(3alleg4), **is\_mono\_font**(3alleg4), **exfont**(3alleg4)
