diff --git a/terminal/terminal-screen.c b/terminal/terminal-screen.c
index 8831573..aa5ea9e 100644
--- a/terminal/terminal-screen.c
+++ b/terminal/terminal-screen.c
@@ -2254,3 +2254,22 @@ terminal_screen_search_find_previous (TerminalScreen *screen)
terminal_return_if_fail (TERMINAL_IS_SCREEN (screen));
vte_terminal_search_find_previous (VTE_TERMINAL (screen->terminal));
}
+
+
+void terminal_screen_change_font_size (TerminalScreen *screen,
+ gint delta)
+{
+ const PangoFontDescription *origfont;
+ PangoFontDescription *newfont;
+ gint size;
+
+ origfont = vte_terminal_get_font (VTE_TERMINAL (screen->terminal));
+ newfont = pango_font_description_copy (origfont);
+
+ size = pango_font_description_get_size (newfont) / PANGO_SCALE;
+ size += delta;
+
+ pango_font_description_set_size (newfont, size * PANGO_SCALE);
+ vte_terminal_set_font (VTE_TERMINAL (screen->terminal), newfont);
+ return;
+}
diff --git a/terminal/terminal-screen.h b/terminal/terminal-screen.h
index 9da1506..307db5c 100644
--- a/terminal/terminal-screen.h
+++ b/terminal/terminal-screen.h
@@ -110,6 +110,8 @@ void terminal_screen_search_find_next (TerminalScreen *scree
void terminal_screen_search_find_previous (TerminalScreen *screen);
+void terminal_screen_change_font_size (TerminalScreen *screen,
+ gint delta);
G_END_DECLS
diff --git a/terminal/terminal-window-ui.xml b/terminal/terminal-window-ui.xml
index 16dda85..79587c2 100644
--- a/terminal/terminal-window-ui.xml
+++ b/terminal/terminal-window-ui.xml
@@ -34,6 +34,8 @@