diff --git a/font.cpp b/font.cpp
index 09d1cc0bad5b6563e39dd061b52be42782a7b832..6f15466c38fed9764b0ba48abf1c281202b50ec5 100644
--- a/font.cpp
+++ b/font.cpp
@@ -37,18 +37,6 @@ namespace mxgui {
 // Class Font
 //
 
-Font::Font(unsigned char startChar, unsigned char endChar, unsigned char height,
-        unsigned char width, unsigned char dataSize, bool antialiased,
-        const void *data): startChar(startChar), endChar(endChar),
-        height(height), width(width), dataSize(dataSize),
-        antialiased(antialiased), widths(0), offset(0), data(data) {}
-
-Font::Font(unsigned char startChar, unsigned char endChar, unsigned char height,
-        unsigned char dataSize, bool antialiased, const unsigned char *widths,
-        const unsigned short *offset, const void *data): startChar(startChar),
-        endChar(endChar), height(height), width(0), dataSize(dataSize),
-        antialiased(antialiased), widths(widths), offset(offset), data(data) {}
-
 short int Font::calculateLength(const char *s) const
 {
     if(isFixedWidth())
diff --git a/font.h b/font.h
index 1f03a3799d13b5ff3ad0224e7ade26b5eb60deb5..33578dee6c50fbfb1f473643798cb5b6adaac6e7 100644
--- a/font.h
+++ b/font.h
@@ -56,9 +56,11 @@ public:
      * \param data pinter to the font data. This must point to a static array
      * so that no memeory leak problems occur
      */
-    Font(unsigned char startChar, unsigned char endChar, unsigned char height,
+    constexpr Font(unsigned char startChar, unsigned char endChar, unsigned char height,
         unsigned char width, unsigned char dataSize, bool antialiased,
-        const void *data);
+        const void *data): startChar(startChar), endChar(endChar),
+        height(height), width(width), dataSize(dataSize),
+        antialiased(antialiased), widths(0), offset(0), data(data) {}
     /**
      * Creates a variable width font.
      * \param startChar the first character available, example ' ' (ASCII space)
@@ -74,9 +76,11 @@ public:
      * \param data pinter to the font data. This must point to a static array
      * so that no memeory leak problems occur
      */
-    Font(unsigned char startChar, unsigned char endChar, unsigned char height,
+    constexpr Font(unsigned char startChar, unsigned char endChar, unsigned char height,
         unsigned char dataSize, bool antialiased, const unsigned char *widths,
-        const unsigned short *offset, const void *data);
+        const unsigned short *offset, const void *data): startChar(startChar),
+        endChar(endChar), height(height), width(0), dataSize(dataSize),
+        antialiased(antialiased), widths(widths), offset(offset), data(data) {}
 
     /**
      * Draw a string on a surface.