diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 4bdaaee..968c89f 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -1686,6 +1686,18 @@
     return Ok;
 }
 
+/* FIXME: Text rendering hint is not used anywhere except the getter/setter. */
+GpStatus WINGDIPAPI GdipGetTextRenderingHint(GpGraphics *graphics,
+    TextRenderingHint *hint)
+{
+    if(!graphics || !hint)
+        return InvalidParameter;
+
+    *hint = graphics->texthint;
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipGetWorldTransform(GpGraphics *graphics, GpMatrix *matrix)
 {
     if(!graphics || !matrix)
@@ -1813,6 +1825,17 @@
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipSetTextRenderingHint(GpGraphics *graphics,
+    TextRenderingHint hint)
+{
+    if(!graphics)
+        return InvalidParameter;
+
+    graphics->texthint = hint;
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipSetWorldTransform(GpGraphics *graphics, GpMatrix *matrix)
 {
     if(!graphics || !matrix)
