diff --git a/FTGL.cabal b/FTGL.cabal
--- a/FTGL.cabal
+++ b/FTGL.cabal
@@ -1,5 +1,5 @@
 Name:           FTGL
-Version:        1.1
+Version:        1.2
 Cabal-Version:  >= 1.2
 License:        BSD3
 License-File:   LICENSE
diff --git a/Graphics/Rendering/FTGL.hs b/Graphics/Rendering/FTGL.hs
--- a/Graphics/Rendering/FTGL.hs
+++ b/Graphics/Rendering/FTGL.hs
@@ -43,7 +43,7 @@
 -- | respond to matrix transformations, but rather must be transformed using the
 -- | raster positioning functions in OpenGL
 createBitmapFont :: String -> IO Font
-createBitmapFont file = withCStringLen file $ \(p,l) -> fcreateBitmapFont p
+createBitmapFont file = withCString file $ \p -> fcreateBitmapFont p
 
 
 foreign import ccall unsafe "ftglCreateBufferFont" fcreateBufferFont :: CString -> IO Font
@@ -51,7 +51,7 @@
 -- | a string in a texture, "buffering" it before rendering.  Very fast if you
 -- | will be repeatedly rendering the same strings over and over.
 createBufferFont :: String -> IO Font
-createBufferFont file = withCStringLen file $ \(p,l) -> fcreateBufferFont p
+createBufferFont file = withCString file $ \p -> fcreateBufferFont p
 
 
 foreign import ccall unsafe "ftglCreateOutlineFont" fcreateOutlineFont :: CString -> IO Font
@@ -59,7 +59,7 @@
 -- | and will scale independently without loss of quality.  Faster than polygons
 -- | but slower than texture or buffer fonts.
 createOutlineFont :: String -> IO Font
-createOutlineFont file = withCStringLen file $ \(p,l) -> fcreateOutlineFont p
+createOutlineFont file = withCString file $ \p -> fcreateOutlineFont p
 
 
 foreign import ccall unsafe "ftglCreatePixmapFont" fcreatePixmapFont  :: CString -> IO Font
@@ -67,7 +67,7 @@
 -- | font without losing any performance.  Use this if you don't mind using
 -- | set and get RasterPosition.
 createPixmapFont :: String -> IO Font
-createPixmapFont file = withCStringLen file $ \(p,l) -> fcreatePixmapFont p
+createPixmapFont file = withCString file $ \p -> fcreatePixmapFont p
 
 
 foreign import ccall unsafe "ftglCreatePolygonFont" fcreatePolygonFont :: CString -> IO Font
@@ -77,7 +77,7 @@
 -- | Additionally, they do not, unlike the textured fonts, create artifacts
 -- | within the square formed at the edge of each character.
 createPolygonFont :: String -> IO Font
-createPolygonFont file = withCStringLen file $ \(p,l) -> fcreatePolygonFont p
+createPolygonFont file = withCString file $ \p -> fcreatePolygonFont p
 
 
 foreign import ccall unsafe "ftglCreateTextureFont" fcreateTextureFont :: CString -> IO Font
@@ -87,7 +87,7 @@
 -- | well to text that changes with most frames, because it doesn't incur the
 -- | (normally helpful) overhead of buffering.
 createTextureFont :: String -> IO Font
-createTextureFont file = withCStringLen file $ \(p,l) -> fcreateTextureFont p
+createTextureFont file = withCString file $ \p -> fcreateTextureFont p
 
 
 foreign import ccall unsafe "ftglCreateExtrudeFont" fcreateExtrudeFont :: CString -> IO Font
@@ -96,7 +96,7 @@
 -- | effects by warping the otherwise square nature of the font.  Polygonal.
 -- | Scales without losing quality.  Slower than all other fonts.
 createExtrudeFont :: String -> IO Font
-createExtrudeFont file = withCStringLen file $ \(p,l) -> fcreateExtrudeFont p
+createExtrudeFont file = withCString file $ \p -> fcreateExtrudeFont p
 
 
 
