[gimp/gimp-2-10] MR !19: Add support for vertical text writing.



commit e2958714d93558182a126703e8901061b76cb9eb
Author: ONO Yoshio <ohtsuka yoshio gmail com>
Date:   Sun Jul 29 13:57:38 2018 +0900

    MR !19: Add support for vertical text writing.
    
    Squashed commit of the following:
    
    commit ee1ff7d502658cfa1248a13a3f0348495db07eda
    Author: ONO Yoshio <ohtsuka yoshio gmail com>
    Date:   Sun Jul 29 00:31:47 2018 +0900
    
        Fixed that gimp-text-dir-ttb-* icons are lacked in Symbolic.
    
    commit d87d012d697628da28fe90199cc04b95b72ba8ef
    Author: ONO Yoshio <ohtsuka yoshio gmail com>
    Date:   Sat Jul 28 16:23:10 2018 +0900
    
        Fix a typo.
    
    commit cf0238bf7df56c384cdf3b7ec69557d14740f853
    Author: ONO Yoshio <ohtsuka yoshio gmail com>
    Date:   Sat Jul 28 15:50:57 2018 +0900
    
        Fixed seg fault error.
    
    commit b07f60d06fa1a753fda5b4d46af01698c344154e
    Author: ONO Yoshio <ohtsuka yoshio gmail com>
    Date:   Fri Jul 27 17:15:34 2018 +0900
    
        Add support for vertical text writing.
    
        https://gitlab.gnome.org/GNOME/gimp/issues/641
    
    (cherry picked from commit 587d9bbb03b19558b7900f61c852a470f85761aa)

 app/actions/text-editor-actions.c                  |  42 ++-
 app/actions/text-tool-actions.c                    |  20 ++
 app/display/gimpcanvastextcursor.c                 | 122 +++++++--
 app/display/gimpcanvastextcursor.h                 |   3 +-
 app/text/gimptextlayer.c                           |  16 ++
 app/text/gimptextlayout-render.c                   |  17 ++
 app/text/gimptextlayout.c                          |  71 ++++-
 app/tools/gimpdrawtool.c                           |   9 +-
 app/tools/gimpdrawtool.h                           |   3 +-
 app/tools/gimptexttool-editor.c                    | 202 +++++++++++++-
 app/tools/gimptexttool.c                           |  82 ++++--
 app/tools/gimptexttool.h                           |   3 +
 app/widgets/gimptexteditor.c                       |   8 +
 icons/Color/24/gimp-text-dir-ttb-ltr-upright.png   | Bin 0 -> 769 bytes
 icons/Color/24/gimp-text-dir-ttb-ltr.png           | Bin 0 -> 780 bytes
 icons/Color/24/gimp-text-dir-ttb-rtl-upright.png   | Bin 0 -> 728 bytes
 icons/Color/24/gimp-text-dir-ttb-rtl.png           | Bin 0 -> 780 bytes
 .../scalable/gimp-text-dir-ttb-ltr-upright.svg     | 290 +++++++++++++++++++++
 icons/Color/scalable/gimp-text-dir-ttb-ltr.svg     | 290 +++++++++++++++++++++
 .../scalable/gimp-text-dir-ttb-rtl-upright.svg     | 190 ++++++++++++++
 icons/Color/scalable/gimp-text-dir-ttb-rtl.svg     | 208 +++++++++++++++
 icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.png  | Bin 0 -> 471 bytes
 icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.xcf  | Bin 0 -> 4555 bytes
 icons/Legacy/24/gimp-text-dir-ttb-ltr.png          | Bin 0 -> 445 bytes
 icons/Legacy/24/gimp-text-dir-ttb-ltr.xcf          | Bin 0 -> 4558 bytes
 icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.png  | Bin 0 -> 353 bytes
 icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.xcf  | Bin 0 -> 4570 bytes
 icons/Legacy/24/gimp-text-dir-ttb-rtl.png          | Bin 0 -> 433 bytes
 icons/Legacy/24/gimp-text-dir-ttb-rtl.xcf          | Bin 0 -> 3392 bytes
 icons/Legacy/Makefile.am                           |   4 +
 .../Symbolic/24/gimp-text-dir-ttb-ltr-upright.png  | Bin 0 -> 1132 bytes
 icons/Symbolic/24/gimp-text-dir-ttb-ltr.png        | Bin 0 -> 1209 bytes
 .../Symbolic/24/gimp-text-dir-ttb-rtl-upright.png  | Bin 0 -> 1160 bytes
 icons/Symbolic/24/gimp-text-dir-ttb-rtl.png        | Bin 0 -> 1233 bytes
 .../scalable/gimp-text-dir-ttb-ltr-upright.svg     | 174 +++++++++++++
 icons/Symbolic/scalable/gimp-text-dir-ttb-ltr.svg  | 174 +++++++++++++
 .../scalable/gimp-text-dir-ttb-rtl-upright.svg     | 173 ++++++++++++
 icons/Symbolic/scalable/gimp-text-dir-ttb-rtl.svg  | 173 ++++++++++++
 icons/icon-list.mk                                 |   8 +
 libgimpbase/gimpbaseenums.c                        |   8 +
 libgimpbase/gimpbaseenums.h                        |  12 +-
 libgimpwidgets/gimpicons.h                         |   4 +
 menus/text-editor-toolbar.xml                      |   4 +
 menus/text-tool-menu.xml                           |   4 +
 pdb/enums.pl                                       |  12 +-
 45 files changed, 2257 insertions(+), 69 deletions(-)
---
diff --git a/app/actions/text-editor-actions.c b/app/actions/text-editor-actions.c
index 270bbc2d80..52bf963aa6 100644
--- a/app/actions/text-editor-actions.c
+++ b/app/actions/text-editor-actions.c
@@ -65,7 +65,31 @@ static const GimpRadioActionEntry text_editor_direction_actions[] =
     NC_("text-editor-action", "RTL"), NULL,
     NC_("text-editor-action", "From right to left"),
     GIMP_TEXT_DIRECTION_RTL,
-    NULL }
+    NULL },
+
+  { "text-editor-direction-ttb-rtl", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_RTL,
+    NC_("text-editor-action", "TTB-RTL"), NULL,
+    NC_("text-editor-action", "Characters are from top to bottom, Lines are from right to left"),
+    GIMP_TEXT_DIRECTION_TTB_RTL,
+    NULL },
+
+  { "text-editor-direction-ttb-rtl-upright", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_RTL_UPRIGHT,
+    NC_("text-editor-action", "TTB-RTL-UPRIGHT"), NULL,
+    NC_("text-editor-action", "Upright characters are from top to bottom, Lines are from right to left"),
+    GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT,
+    NULL },
+
+  { "text-editor-direction-ttb-ltr", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_LTR,
+    NC_("text-editor-action", "TTB-LTR"), NULL,
+    NC_("text-editor-action", "Characters are from top to bottom, Lines are from left to right"),
+    GIMP_TEXT_DIRECTION_TTB_LTR,
+    NULL },
+
+  { "text-editor-direction-ttb-ltr-upright", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_LTR_UPRIGHT,
+    NC_("text-editor-action", "TTB-LTR-UPRIGHT"), NULL,
+    NC_("text-editor-action", "Upright characters are from top to bottom, Lines are from left to right"),
+    GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT,
+    NULL },
 };
 
 
@@ -102,6 +126,22 @@ text_editor_actions_update (GimpActionGroup *group,
     case GIMP_TEXT_DIRECTION_RTL:
       SET_ACTIVE ("text-editor-direction-rtl", TRUE);
       break;
+
+    case GIMP_TEXT_DIRECTION_TTB_RTL:
+      SET_ACTIVE ("text-editor-direction-ttb-rtl", TRUE);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+      SET_ACTIVE ("text-editor-direction-ttb-rtl-upright", TRUE);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_LTR:
+      SET_ACTIVE ("text-editor-direction-ttb-ltr", TRUE);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+      SET_ACTIVE ("text-editor-direction-ttb-ltr-upright", TRUE);
+      break;
     }
 
 #undef SET_ACTIVE
diff --git a/app/actions/text-tool-actions.c b/app/actions/text-tool-actions.c
index 9abf263523..66f9746cfb 100644
--- a/app/actions/text-tool-actions.c
+++ b/app/actions/text-tool-actions.c
@@ -110,6 +110,26 @@ static const GimpRadioActionEntry text_tool_direction_actions[] =
   { "text-tool-direction-rtl", GIMP_ICON_FORMAT_TEXT_DIRECTION_RTL,
     NC_("text-tool-action", "From right to left"), NULL, NULL,
     GIMP_TEXT_DIRECTION_RTL,
+    NULL },
+
+  { "text-tool-direction-ttb-rtl", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_RTL,
+    NC_("text-tool-action", "Characters are from top to bottom, Lines are from right to left"), NULL, NULL,
+    GIMP_TEXT_DIRECTION_TTB_RTL,
+    NULL },
+
+  { "text-tool-direction-ttb-rtl-upright", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_RTL_UPRIGHT,
+    NC_("text-tool-action", "Upright characters are from top to bottom, Lines are from right to left"), 
NULL, NULL,
+    GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT,
+    NULL },
+
+  { "text-tool-direction-ttb-ltr", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_LTR,
+    NC_("text-tool-action", "Characters are from top to bottom, Lines are from left to right"), NULL, NULL,
+    GIMP_TEXT_DIRECTION_TTB_LTR,
+    NULL },
+
+  { "text-tool-direction-ttb-ltr-upright", GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_LTR_UPRIGHT,
+    NC_("text-tool-action", "Upright characters are from top to bottom, Lines are from left to right"), 
NULL, NULL,
+    GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT,
     NULL }
 };
 
diff --git a/app/display/gimpcanvastextcursor.c b/app/display/gimpcanvastextcursor.c
index 09cac03e9f..0e2780d723 100644
--- a/app/display/gimpcanvastextcursor.c
+++ b/app/display/gimpcanvastextcursor.c
@@ -39,7 +39,8 @@ enum
   PROP_Y,
   PROP_WIDTH,
   PROP_HEIGHT,
-  PROP_OVERWRITE
+  PROP_OVERWRITE,
+  PROP_DIRECTION
 };
 
 
@@ -47,11 +48,12 @@ typedef struct _GimpCanvasTextCursorPrivate GimpCanvasTextCursorPrivate;
 
 struct _GimpCanvasTextCursorPrivate
 {
-  gint     x;
-  gint     y;
-  gint     width;
-  gint     height;
-  gboolean overwrite;
+  gint              x;
+  gint              y;
+  gint              width;
+  gint              height;
+  gboolean          overwrite;
+  GimpTextDirection direction;
 };
 
 #define GET_PRIVATE(text_cursor) \
@@ -122,6 +124,12 @@ gimp_canvas_text_cursor_class_init (GimpCanvasTextCursorClass *klass)
                                                          FALSE,
                                                          GIMP_PARAM_READWRITE));
 
+  g_object_class_install_property (object_class, PROP_DIRECTION,
+                                   g_param_spec_enum ("direction", NULL, NULL,
+                                                     gimp_text_direction_get_type(),
+                                                     GIMP_TEXT_DIRECTION_LTR,
+                                                     GIMP_PARAM_READWRITE));
+
   g_type_class_add_private (klass, sizeof (GimpCanvasTextCursorPrivate));
 }
 
@@ -155,6 +163,9 @@ gimp_canvas_text_cursor_set_property (GObject      *object,
     case PROP_OVERWRITE:
       private->overwrite = g_value_get_boolean (value);
       break;
+    case PROP_DIRECTION:
+      private->direction = g_value_get_enum (value);
+      break;
 
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -187,6 +198,9 @@ gimp_canvas_text_cursor_get_property (GObject    *object,
     case PROP_OVERWRITE:
       g_value_set_boolean (value, private->overwrite);
       break;
+    case PROP_DIRECTION:
+      g_value_set_enum (value, private->direction);
+      break;
 
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -221,6 +235,20 @@ gimp_canvas_text_cursor_transform (GimpCanvasItem *item,
 
   *x = floor (*x) + 0.5;
   *y = floor (*y) + 0.5;
+  switch (private->direction)
+    {
+    case GIMP_TEXT_DIRECTION_LTR:
+    case GIMP_TEXT_DIRECTION_RTL:
+      break;
+    case GIMP_TEXT_DIRECTION_TTB_RTL:
+    case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+      *x = *x - *w;
+      break;
+    case GIMP_TEXT_DIRECTION_TTB_LTR:
+    case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+      *y = *y + *h;
+      break;
+    }
 
   if (private->overwrite)
     {
@@ -229,8 +257,24 @@ gimp_canvas_text_cursor_transform (GimpCanvasItem *item,
     }
   else
     {
-      *w = 0;
-      *h = ceil (*h) - 1.0;
+      switch (private->direction)
+        {
+        case GIMP_TEXT_DIRECTION_LTR:
+        case GIMP_TEXT_DIRECTION_RTL:
+          *w = 0;
+          *h = ceil (*h) - 1.0;
+           break;
+        case GIMP_TEXT_DIRECTION_TTB_RTL:
+        case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+          *w = ceil (*w) - 1.0;
+          *h = 0;
+          break;
+        case GIMP_TEXT_DIRECTION_TTB_LTR:
+        case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+          *w = ceil (*w) - 1.0;
+          *h = 0;
+          break;
+        }
     }
 }
 
@@ -250,14 +294,33 @@ gimp_canvas_text_cursor_draw (GimpCanvasItem *item,
     }
   else
     {
-      cairo_move_to (cr, x, y);
-      cairo_line_to (cr, x, y + h);
-
-      cairo_move_to (cr, x - 3.0, y);
-      cairo_line_to (cr, x + 3.0, y);
-
-      cairo_move_to (cr, x - 3.0, y + h);
-      cairo_line_to (cr, x + 3.0, y + h);
+      switch (private->direction)
+        {
+        case GIMP_TEXT_DIRECTION_LTR:
+        case GIMP_TEXT_DIRECTION_RTL:
+          cairo_move_to (cr, x, y);
+          cairo_line_to (cr, x, y + h);
+
+          cairo_move_to (cr, x - 3.0, y);
+          cairo_line_to (cr, x + 3.0, y);
+
+          cairo_move_to (cr, x - 3.0, y + h);
+          cairo_line_to (cr, x + 3.0, y + h);
+          break;
+        case GIMP_TEXT_DIRECTION_TTB_RTL:
+        case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+        case GIMP_TEXT_DIRECTION_TTB_LTR:
+        case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+          cairo_move_to (cr, x, y);
+          cairo_line_to (cr, x + w, y);
+
+          cairo_move_to (cr, x, y - 3.0);
+          cairo_line_to (cr, x, y + 3.0);
+
+          cairo_move_to (cr, x + w, y - 3.0);
+          cairo_line_to (cr, x + w, y + 3.0);
+          break;
+        }
     }
 
   _gimp_canvas_item_stroke (item, cr);
@@ -282,10 +345,25 @@ gimp_canvas_text_cursor_get_extents (GimpCanvasItem *item)
     }
   else
     {
-      rectangle.x      = floor (x - 4.5);
-      rectangle.y      = floor (y - 1.5);
-      rectangle.width  = ceil (9.0);
-      rectangle.height = ceil (h + 3.0);
+      switch (private->direction)
+        {
+        case GIMP_TEXT_DIRECTION_LTR:
+        case GIMP_TEXT_DIRECTION_RTL:
+          rectangle.x      = floor (x - 4.5);
+          rectangle.y      = floor (y - 1.5);
+          rectangle.width  = ceil (9.0);
+          rectangle.height = ceil (h + 3.0);
+          break;
+        case GIMP_TEXT_DIRECTION_TTB_RTL:
+        case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+        case GIMP_TEXT_DIRECTION_TTB_LTR:
+        case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+          rectangle.x      = floor (x - 1.5);
+          rectangle.y      = floor (y - 4.5);
+          rectangle.width  = ceil (w + 3.0);
+          rectangle.height = ceil (9.0);
+          break;
+        }
     }
 
   return cairo_region_create_rectangle (&rectangle);
@@ -294,7 +372,8 @@ gimp_canvas_text_cursor_get_extents (GimpCanvasItem *item)
 GimpCanvasItem *
 gimp_canvas_text_cursor_new (GimpDisplayShell *shell,
                              PangoRectangle   *cursor,
-                             gboolean          overwrite)
+                             gboolean          overwrite,
+                             GimpTextDirection direction)
 {
   g_return_val_if_fail (GIMP_IS_DISPLAY_SHELL (shell), NULL);
   g_return_val_if_fail (cursor != NULL, NULL);
@@ -306,5 +385,6 @@ gimp_canvas_text_cursor_new (GimpDisplayShell *shell,
                        "width",     cursor->width,
                        "height",    cursor->height,
                        "overwrite", overwrite,
+                       "direction", direction,
                        NULL);
 }
diff --git a/app/display/gimpcanvastextcursor.h b/app/display/gimpcanvastextcursor.h
index 6d930dcacf..210b2a25fb 100644
--- a/app/display/gimpcanvastextcursor.h
+++ b/app/display/gimpcanvastextcursor.h
@@ -51,7 +51,8 @@ GType            gimp_canvas_text_cursor_get_type (void) G_GNUC_CONST;
 
 GimpCanvasItem * gimp_canvas_text_cursor_new      (GimpDisplayShell *shell,
                                                    PangoRectangle   *cursor,
-                                                   gboolean          overwrite);
+                                                   gboolean          overwrite,
+                                                   GimpTextDirection direction);
 
 
 #endif /* __GIMP_CANVAS_RECTANGLE_H__ */
diff --git a/app/text/gimptextlayer.c b/app/text/gimptextlayer.c
index bfd5c8c544..525afb8dea 100644
--- a/app/text/gimptextlayer.c
+++ b/app/text/gimptextlayer.c
@@ -663,10 +663,26 @@ gimp_text_layer_render (GimpTextLayer *layer)
        gimp_drawable_get_format (drawable)))
     {
       GeglBuffer *new_buffer;
+      GimpItem   *item;
+      gint        oldwidth;
+      gint        newwidth;
+
+      item = GIMP_ITEM (drawable);
+      oldwidth = gimp_item_get_width (item);
 
       new_buffer = gegl_buffer_new (GEGL_RECTANGLE (0, 0, width, height),
                                     gimp_text_layer_get_format (layer));
       gimp_drawable_set_buffer (drawable, FALSE, NULL, new_buffer);
+
+      newwidth = gimp_item_get_width(item);
+      if (layer->text->box_mode == GIMP_TEXT_BOX_DYNAMIC &&
+          oldwidth != newwidth &&
+          (layer->text->base_dir == GIMP_TEXT_DIRECTION_TTB_RTL ||
+           layer->text->base_dir == GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT))
+        {
+          gimp_item_translate (item, oldwidth - newwidth, 0, FALSE);
+        }
+
       g_object_unref (new_buffer);
 
       if (gimp_layer_get_mask (GIMP_LAYER (layer)))
diff --git a/app/text/gimptextlayout-render.c b/app/text/gimptextlayout-render.c
index 7e401bd837..f3605e3361 100644
--- a/app/text/gimptextlayout-render.c
+++ b/app/text/gimptextlayout-render.c
@@ -37,6 +37,7 @@ gimp_text_layout_render (GimpTextLayout    *layout,
   PangoLayout    *pango_layout;
   cairo_matrix_t  trafo;
   gint            x, y;
+  gint            width, height;
 
   g_return_if_fail (GIMP_IS_TEXT_LAYOUT (layout));
   g_return_if_fail (cr != NULL);
@@ -49,6 +50,22 @@ gimp_text_layout_render (GimpTextLayout    *layout,
   gimp_text_layout_get_transform (layout, &trafo);
   cairo_transform (cr, &trafo);
 
+  if (base_dir == GIMP_TEXT_DIRECTION_TTB_RTL ||
+      base_dir == GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT)
+    {
+      gimp_text_layout_get_size (layout, &width, &height);
+      cairo_translate (cr, width, 0);
+      cairo_rotate (cr, G_PI_2);
+    }
+
+  if (base_dir == GIMP_TEXT_DIRECTION_TTB_LTR ||
+      base_dir == GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT)
+    {
+      gimp_text_layout_get_size (layout, &width, &height);
+      cairo_translate (cr, 0, height);
+      cairo_rotate (cr, -G_PI_2);
+    }
+
   pango_layout = gimp_text_layout_get_pango_layout (layout);
 
   if (path)
diff --git a/app/text/gimptextlayout.c b/app/text/gimptextlayout.c
index 069cac9b46..47beed7705 100644
--- a/app/text/gimptextlayout.c
+++ b/app/text/gimptextlayout.c
@@ -136,8 +136,6 @@ gimp_text_layout_new (GimpText  *text,
 
   pango_layout_set_wrap (layout->layout, PANGO_WRAP_WORD_CHAR);
 
-  g_object_unref (context);
-
   pango_layout_set_font_description (layout->layout, font_desc);
   pango_font_description_free (font_desc);
 
@@ -167,12 +165,18 @@ gimp_text_layout_new (GimpText  *text,
     case GIMP_TEXT_BOX_DYNAMIC:
       break;
     case GIMP_TEXT_BOX_FIXED:
-      pango_layout_set_width (layout->layout,
-                              pango_units_from_double
-                              (gimp_units_to_pixels (text->box_width,
-                                                     text->box_unit,
-                                                     xres) -
-                               2 * layout->text->border));
+      if (! PANGO_GRAVITY_IS_VERTICAL (pango_context_get_base_gravity (context)))
+        pango_layout_set_width (layout->layout,
+                                pango_units_from_double
+                                (gimp_units_to_pixels (text->box_width,
+                                                       text->box_unit,
+                                                       xres)));
+      else
+        pango_layout_set_width (layout->layout,
+                                pango_units_from_double
+                                (gimp_units_to_pixels (text->box_height,
+                                                       text->box_unit,
+                                                       yres)));
       break;
     }
 
@@ -210,6 +214,8 @@ gimp_text_layout_new (GimpText  *text,
       break;
     }
 
+  g_object_unref (context);
+
   return layout;
 }
 
@@ -591,6 +597,7 @@ gimp_text_layout_position (GimpTextLayout *layout)
 {
   PangoRectangle  ink;
   PangoRectangle  logical;
+  PangoContext   *context;
   gint            x1, y1;
   gint            x2, y2;
 
@@ -603,6 +610,7 @@ gimp_text_layout_position (GimpTextLayout *layout)
 
   ink.width = ceil ((gdouble) ink.width * layout->xres / layout->yres);
   logical.width = ceil ((gdouble) logical.width * layout->xres / layout->yres);
+  context = pango_layout_get_context (layout->layout);
 
 #ifdef VERBOSE
   g_printerr ("ink rect: %d x %d @ %d, %d\n",
@@ -641,7 +649,11 @@ gimp_text_layout_position (GimpTextLayout *layout)
       pango_layout_get_pixel_size (layout->layout, &width, NULL);
 
       if ((base_dir == GIMP_TEXT_DIRECTION_LTR && align == PANGO_ALIGN_RIGHT) ||
-          (base_dir == GIMP_TEXT_DIRECTION_RTL && align == PANGO_ALIGN_LEFT))
+          (base_dir == GIMP_TEXT_DIRECTION_RTL && align == PANGO_ALIGN_LEFT) ||
+          (base_dir == GIMP_TEXT_DIRECTION_TTB_RTL && align == PANGO_ALIGN_RIGHT) ||
+          (base_dir == GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT && align == PANGO_ALIGN_RIGHT) ||
+          (base_dir == GIMP_TEXT_DIRECTION_TTB_LTR && align == PANGO_ALIGN_LEFT) ||
+          (base_dir == GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT && align == PANGO_ALIGN_LEFT))
         {
           layout->extents.x +=
             PANGO_PIXELS (pango_layout_get_width (layout->layout)) - width;
@@ -663,6 +675,19 @@ gimp_text_layout_position (GimpTextLayout *layout)
       layout->extents.height += 2 * border;
     }
 
+  if (PANGO_GRAVITY_IS_VERTICAL (pango_context_get_base_gravity (context)))
+    {
+      gint temp;
+
+      temp = layout->extents.y;
+      layout->extents.y = layout->extents.x;
+      layout->extents.x = temp;
+
+      temp = layout->extents.height;
+      layout->extents.height = layout->extents.width;
+      layout->extents.width = temp;
+    }
+
 #ifdef VERBOSE
   g_printerr ("layout extents: %d x %d @ %d, %d\n",
               layout->extents.width, layout->extents.height,
@@ -732,10 +757,38 @@ gimp_text_get_pango_context (GimpText *text,
     {
     case GIMP_TEXT_DIRECTION_LTR:
       pango_context_set_base_dir (context, PANGO_DIRECTION_LTR);
+      pango_context_set_gravity_hint (context, PANGO_GRAVITY_HINT_NATURAL);
+      pango_context_set_base_gravity (context, PANGO_GRAVITY_SOUTH);
       break;
 
     case GIMP_TEXT_DIRECTION_RTL:
       pango_context_set_base_dir (context, PANGO_DIRECTION_RTL);
+      pango_context_set_gravity_hint (context, PANGO_GRAVITY_HINT_NATURAL);
+      pango_context_set_base_gravity (context, PANGO_GRAVITY_SOUTH);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_RTL:
+      pango_context_set_base_dir (context, PANGO_DIRECTION_LTR);
+      pango_context_set_gravity_hint (context, PANGO_GRAVITY_HINT_LINE);
+      pango_context_set_base_gravity (context, PANGO_GRAVITY_EAST);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+      pango_context_set_base_dir (context, PANGO_DIRECTION_LTR);
+      pango_context_set_gravity_hint (context, PANGO_GRAVITY_HINT_STRONG);
+      pango_context_set_base_gravity (context, PANGO_GRAVITY_EAST);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_LTR:
+      pango_context_set_base_dir (context, PANGO_DIRECTION_LTR);
+      pango_context_set_gravity_hint (context, PANGO_GRAVITY_HINT_LINE);
+      pango_context_set_base_gravity (context, PANGO_GRAVITY_WEST);
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+      pango_context_set_base_dir (context, PANGO_DIRECTION_LTR);
+      pango_context_set_gravity_hint (context, PANGO_GRAVITY_HINT_STRONG);
+      pango_context_set_base_gravity (context, PANGO_GRAVITY_WEST);
       break;
     }
 
diff --git a/app/tools/gimpdrawtool.c b/app/tools/gimpdrawtool.c
index a8ebd2b37f..6ec355a504 100644
--- a/app/tools/gimpdrawtool.c
+++ b/app/tools/gimpdrawtool.c
@@ -1147,16 +1147,17 @@ gimp_draw_tool_add_boundary (GimpDrawTool       *draw_tool,
 }
 
 GimpCanvasItem *
-gimp_draw_tool_add_text_cursor (GimpDrawTool   *draw_tool,
-                                PangoRectangle *cursor,
-                                gboolean        overwrite)
+gimp_draw_tool_add_text_cursor (GimpDrawTool     *draw_tool,
+                                PangoRectangle   *cursor,
+                                gboolean          overwrite,
+                                GimpTextDirection direction)
 {
   GimpCanvasItem *item;
 
   g_return_val_if_fail (GIMP_IS_DRAW_TOOL (draw_tool), NULL);
 
   item = gimp_canvas_text_cursor_new (gimp_display_get_shell (draw_tool->display),
-                                      cursor, overwrite);
+                                      cursor, overwrite, direction);
 
   gimp_draw_tool_add_item (draw_tool, item);
   g_object_unref (item);
diff --git a/app/tools/gimpdrawtool.h b/app/tools/gimpdrawtool.h
index 7552a097f1..de13001c26 100644
--- a/app/tools/gimpdrawtool.h
+++ b/app/tools/gimpdrawtool.h
@@ -188,7 +188,8 @@ GimpCanvasItem * gimp_draw_tool_add_boundary         (GimpDrawTool     *draw_too
 
 GimpCanvasItem * gimp_draw_tool_add_text_cursor      (GimpDrawTool     *draw_tool,
                                                       PangoRectangle   *cursor,
-                                                      gboolean          overwrite);
+                                                      gboolean          overwrite,
+                                                      GimpTextDirection direction);
 
 gboolean         gimp_draw_tool_on_handle            (GimpDrawTool     *draw_tool,
                                                       GimpDisplay      *display,
diff --git a/app/tools/gimptexttool-editor.c b/app/tools/gimptexttool-editor.c
index e5c0a9dfe7..6692ea6c10 100644
--- a/app/tools/gimptexttool-editor.c
+++ b/app/tools/gimptexttool-editor.c
@@ -119,6 +119,13 @@ static void     gimp_text_tool_im_delete_preedit  (GimpTextTool    *text_tool);
 static void     gimp_text_tool_editor_copy_selection_to_clipboard
                                                   (GimpTextTool    *text_tool);
 
+static void   gimp_text_tool_fix_position         (GimpTextTool    *text_tool,
+                                                   gdouble         *x,
+                                                   gdouble         *y);
+
+static void   gimp_text_tool_convert_gdkkeyevent  (GimpTextTool    *text_tool,
+                                                   GdkEventKey     *kevent);
+
 
 /*  public functions  */
 
@@ -466,6 +473,8 @@ gimp_text_tool_editor_key_press (GimpTextTool *text_tool,
       return TRUE;
     }
 
+  gimp_text_tool_convert_gdkkeyevent (text_tool, kevent);
+
   gimp_text_tool_ensure_proxy (text_tool);
 
   if (gtk_bindings_activate_event (GTK_OBJECT (text_tool->proxy_text_view),
@@ -522,6 +531,8 @@ gimp_text_tool_editor_key_release (GimpTextTool *text_tool,
       return TRUE;
     }
 
+  gimp_text_tool_convert_gdkkeyevent (text_tool, kevent);
+
   gimp_text_tool_ensure_proxy (text_tool);
 
   if (gtk_bindings_activate_event (GTK_OBJECT (text_tool->proxy_text_view),
@@ -597,6 +608,7 @@ gimp_text_tool_editor_get_cursor_rect (GimpTextTool   *text_tool,
 {
   GtkTextBuffer *buffer = GTK_TEXT_BUFFER (text_tool->buffer);
   PangoLayout   *layout;
+  PangoContext  *context;
   gint           offset_x;
   gint           offset_y;
   GtkTextIter    cursor;
@@ -614,19 +626,66 @@ gimp_text_tool_editor_get_cursor_rect (GimpTextTool   *text_tool,
 
   layout = gimp_text_layout_get_pango_layout (text_tool->layout);
 
+  context = pango_layout_get_context (layout);
+
   gimp_text_layout_get_offsets (text_tool->layout, &offset_x, &offset_y);
 
   if (overwrite)
-    pango_layout_index_to_pos (layout, cursor_index, cursor_rect);
-  else
+    {
+      pango_layout_index_to_pos (layout, cursor_index, cursor_rect);
+
+      /* Avoid pango bug ? */
+      if (pango_context_get_base_gravity (context) == PANGO_GRAVITY_WEST &&
+          cursor_rect->width == 0)
+        pango_layout_get_cursor_pos (layout, cursor_index, cursor_rect, NULL);
+    }
+ else
     pango_layout_get_cursor_pos (layout, cursor_index, cursor_rect, NULL);
 
   gimp_text_layout_transform_rect (text_tool->layout, cursor_rect);
 
-  cursor_rect->x      = PANGO_PIXELS (cursor_rect->x) + offset_x;
-  cursor_rect->y      = PANGO_PIXELS (cursor_rect->y) + offset_y;
-  cursor_rect->width  = PANGO_PIXELS (cursor_rect->width);
-  cursor_rect->height = PANGO_PIXELS (cursor_rect->height);
+  switch (gimp_text_tool_get_direction (text_tool))
+    {
+    case GIMP_TEXT_DIRECTION_LTR:
+    case GIMP_TEXT_DIRECTION_RTL:
+      cursor_rect->x      = PANGO_PIXELS (cursor_rect->x) + offset_x;
+      cursor_rect->y      = PANGO_PIXELS (cursor_rect->y) + offset_y;
+      cursor_rect->width  = PANGO_PIXELS (cursor_rect->width);
+      cursor_rect->height = PANGO_PIXELS (cursor_rect->height);
+      break;
+    case GIMP_TEXT_DIRECTION_TTB_RTL:
+    case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+      {
+      gint temp, width, height;
+
+      gimp_text_layout_get_size (text_tool->layout, &width, &height);
+
+      temp                = cursor_rect->x;
+      cursor_rect->x      = width - PANGO_PIXELS (cursor_rect->y) + offset_x;
+      cursor_rect->y      = PANGO_PIXELS (temp) + offset_y;
+
+      temp                = cursor_rect->width;
+      cursor_rect->width  = PANGO_PIXELS (cursor_rect->height);
+      cursor_rect->height = PANGO_PIXELS (temp);
+      }
+      break;
+    case GIMP_TEXT_DIRECTION_TTB_LTR:
+    case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+      {
+      gint temp, width, height;
+
+      gimp_text_layout_get_size (text_tool->layout, &width, &height);
+
+      temp                = cursor_rect->x;
+      cursor_rect->x      = PANGO_PIXELS (cursor_rect->y) + offset_x;
+      cursor_rect->y      = height - PANGO_PIXELS (temp) + offset_y;
+
+      temp                = cursor_rect->width;
+      cursor_rect->width  = PANGO_PIXELS (cursor_rect->height);
+      cursor_rect->height = PANGO_PIXELS (temp);
+      }
+      break;
+   }
 }
 
 void
@@ -1375,6 +1434,8 @@ gimp_text_tool_xy_to_iter (GimpTextTool *text_tool,
 
   layout = gimp_text_layout_get_pango_layout (text_tool->layout);
 
+  gimp_text_tool_fix_position (text_tool, &x, &y);
+
   pango_layout_xy_to_index (layout,
                             x * PANGO_SCALE,
                             y * PANGO_SCALE,
@@ -1661,3 +1722,132 @@ gimp_text_tool_editor_copy_selection_to_clipboard (GimpTextTool *text_tool)
       gtk_text_buffer_copy_clipboard (buffer, clipboard);
     }
 }
+
+static void
+gimp_text_tool_fix_position (GimpTextTool *text_tool,
+                             gdouble      *x,
+                             gdouble      *y)
+{
+  gint temp, width, height;
+
+  gimp_text_layout_get_size (text_tool->layout, &width, &height);
+  switch (gimp_text_tool_get_direction(text_tool))
+    {
+      case GIMP_TEXT_DIRECTION_RTL:
+      case GIMP_TEXT_DIRECTION_LTR:
+      break;
+      case GIMP_TEXT_DIRECTION_TTB_RTL:
+      case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+      temp = width - *x;
+      *x = *y;
+      *y = temp;
+      break;
+      case GIMP_TEXT_DIRECTION_TTB_LTR:
+      case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+      temp = *x;
+      *x = height - *y;
+      *y = temp;
+      break;
+    }
+}
+
+static void
+gimp_text_tool_convert_gdkkeyevent (GimpTextTool *text_tool,
+                                    GdkEventKey  *kevent)
+{
+  switch (gimp_text_tool_get_direction (text_tool))
+    {
+    case GIMP_TEXT_DIRECTION_LTR:
+    case GIMP_TEXT_DIRECTION_RTL:
+      break;
+
+    case GIMP_TEXT_DIRECTION_TTB_RTL:
+    case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+#ifdef _WIN32
+      switch (kevent->keyval)
+        {
+        case GDK_KEY_Up:
+          kevent->hardware_keycode = 0x25;/* VK_LEFT */
+          kevent->keyval = GDK_KEY_Left;
+          break;
+        case GDK_KEY_Down:
+          kevent->hardware_keycode = 0x27;/* VK_RIGHT */
+          kevent->keyval = GDK_KEY_Right;
+          break;
+        case GDK_KEY_Left:
+          kevent->hardware_keycode = 0x28;/* VK_DOWN */
+          kevent->keyval = GDK_KEY_Down;
+          break;
+        case GDK_KEY_Right:
+          kevent->hardware_keycode = 0x26;/* VK_UP */
+          kevent->keyval = GDK_KEY_Up;
+          break;
+        }
+#else
+      switch (kevent->keyval)
+        {
+        case GDK_KEY_Up:
+          kevent->hardware_keycode = 113;
+          kevent->keyval = GDK_KEY_Left;
+          break;
+        case GDK_KEY_Down:
+          kevent->hardware_keycode = 114;
+          kevent->keyval = GDK_KEY_Right;
+          break;
+        case GDK_KEY_Left:
+          kevent->hardware_keycode = 116;
+          kevent->keyval = GDK_KEY_Down;
+          break;
+        case GDK_KEY_Right:
+          kevent->hardware_keycode = 111;
+          kevent->keyval = GDK_KEY_Up;
+          break;
+        }
+#endif
+      break;
+    case GIMP_TEXT_DIRECTION_TTB_LTR:
+    case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+#ifdef _WIN32
+      switch (kevent->keyval)
+        {
+        case GDK_KEY_Up:
+          kevent->hardware_keycode = 0x26;/* VK_UP */
+          kevent->keyval = GDK_KEY_Up;
+          break;
+        case GDK_KEY_Down:
+          kevent->hardware_keycode = 0x28;/* VK_DOWN */
+          kevent->keyval = GDK_KEY_Down;
+          break;
+        case GDK_KEY_Left:
+          kevent->hardware_keycode = 0x25;/* VK_LEFT */
+          kevent->keyval = GDK_KEY_Left;
+          break;
+        case GDK_KEY_Right:
+          kevent->hardware_keycode = 0x27;/* VK_RIGHT */
+          kevent->keyval = GDK_KEY_Right;
+          break;
+        }
+#else
+      switch (kevent->keyval)
+        {
+        case GDK_KEY_Up:
+          kevent->hardware_keycode = 114;
+          kevent->keyval = GDK_KEY_Right;
+          break;
+        case GDK_KEY_Down:
+          kevent->hardware_keycode = 113;
+          kevent->keyval = GDK_KEY_Left;
+          break;
+        case GDK_KEY_Left:
+          kevent->hardware_keycode = 111;
+          kevent->keyval = GDK_KEY_Up;
+          break;
+        case GDK_KEY_Right:
+          kevent->hardware_keycode = 116;
+          kevent->keyval = GDK_KEY_Down;
+          break;
+        }
+#endif
+      break;
+    }
+}
diff --git a/app/tools/gimptexttool.c b/app/tools/gimptexttool.c
index 2ad0e649ec..65ab520e13 100644
--- a/app/tools/gimptexttool.c
+++ b/app/tools/gimptexttool.c
@@ -891,10 +891,11 @@ gimp_text_tool_draw (GimpDrawTool *draw_tool)
     {
       /* If the text buffer has no selection, draw the text cursor */
 
-      GimpCanvasItem *item;
-      PangoRectangle  cursor_rect;
-      gint            off_x, off_y;
-      gboolean        overwrite;
+      GimpCanvasItem   *item;
+      PangoRectangle    cursor_rect;
+      gint              off_x, off_y;
+      gboolean          overwrite;
+      GimpTextDirection direction;
 
       gimp_text_tool_editor_get_cursor_rect (text_tool,
                                              text_tool->overwrite_mode,
@@ -906,8 +907,10 @@ gimp_text_tool_draw (GimpDrawTool *draw_tool)
 
       overwrite = text_tool->overwrite_mode && cursor_rect.width != 0;
 
+      direction = gimp_text_tool_get_direction (text_tool);
+
       item = gimp_draw_tool_add_text_cursor (draw_tool, &cursor_rect,
-                                             overwrite);
+                                             overwrite, direction);
       gimp_canvas_item_set_highlight (item, TRUE);
     }
 
@@ -917,17 +920,20 @@ gimp_text_tool_draw (GimpDrawTool *draw_tool)
 static void
 gimp_text_tool_draw_selection (GimpDrawTool *draw_tool)
 {
-  GimpTextTool    *text_tool = GIMP_TEXT_TOOL (draw_tool);
-  GtkTextBuffer   *buffer    = GTK_TEXT_BUFFER (text_tool->buffer);
-  GimpCanvasGroup *group;
-  PangoLayout     *layout;
-  gint             offset_x;
-  gint             offset_y;
-  gint             off_x, off_y;
-  PangoLayoutIter *iter;
-  GtkTextIter      sel_start, sel_end;
-  gint             min, max;
-  gint             i;
+  GimpTextTool     *text_tool = GIMP_TEXT_TOOL (draw_tool);
+  GtkTextBuffer    *buffer    = GTK_TEXT_BUFFER (text_tool->buffer);
+  GimpCanvasGroup  *group;
+  PangoLayout      *layout;
+  gint              offset_x;
+  gint              offset_y;
+  gint              width;
+  gint              height;
+  gint              off_x, off_y;
+  PangoLayoutIter  *iter;
+  GtkTextIter       sel_start, sel_end;
+  gint              min, max;
+  gint              i;
+  GimpTextDirection direction;
 
   group = gimp_draw_tool_add_stroke_group (draw_tool);
   gimp_canvas_item_set_highlight (GIMP_CANVAS_ITEM (group), TRUE);
@@ -941,10 +947,14 @@ gimp_text_tool_draw_selection (GimpDrawTool *draw_tool)
 
   gimp_text_layout_get_offsets (text_tool->layout, &offset_x, &offset_y);
 
+  gimp_text_layout_get_size (text_tool->layout, &width, &height);
+
   gimp_item_get_offset (GIMP_ITEM (text_tool->layer), &off_x, &off_y);
   offset_x += off_x;
   offset_y += off_y;
 
+  direction = gimp_text_tool_get_direction (text_tool);
+
   iter = pango_layout_get_iter (layout);
 
   gimp_draw_tool_push_group (draw_tool, group);
@@ -971,12 +981,33 @@ gimp_text_tool_draw_selection (GimpDrawTool *draw_tool)
 
           gimp_text_layout_transform_rect (text_tool->layout, &rect);
 
-          rect.x += offset_x;
-          rect.y += offset_y;
-
-          gimp_draw_tool_add_rectangle (draw_tool, FALSE,
-                                        rect.x, rect.y,
-                                        rect.width, rect.height);
+          switch (direction)
+            {
+            case GIMP_TEXT_DIRECTION_LTR:
+            case GIMP_TEXT_DIRECTION_RTL:
+              rect.x += offset_x;
+              rect.y += offset_y;
+              gimp_draw_tool_add_rectangle (draw_tool, FALSE,
+                                            rect.x, rect.y,
+                                            rect.width, rect.height);
+              break;
+            case GIMP_TEXT_DIRECTION_TTB_RTL:
+            case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+              rect.y = offset_x - rect.y + width;
+              rect.x = offset_y + rect.x;
+              gimp_draw_tool_add_rectangle (draw_tool, FALSE,
+                                            rect.y, rect.x,
+                                            -rect.height, rect.width);
+              break;
+            case GIMP_TEXT_DIRECTION_TTB_LTR:
+            case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
+              rect.y = offset_x + rect.y;
+              rect.x = offset_y - rect.x + height;
+              gimp_draw_tool_add_rectangle (draw_tool, FALSE,
+                                            rect.y, rect.x,
+                                            rect.height, -rect.width);
+              break;
+            }
         }
     }
   while (pango_layout_iter_next_char (iter));
@@ -2264,3 +2295,10 @@ gimp_text_tool_create_vectors_warped (GimpTextTool *text_tool)
 
   gimp_image_flush (text_tool->image);
 }
+
+GimpTextDirection
+gimp_text_tool_get_direction  (GimpTextTool *text_tool)
+{
+  GimpTextOptions *options = GIMP_TEXT_TOOL_GET_OPTIONS (text_tool);
+  return options->base_dir;
+}
diff --git a/app/tools/gimptexttool.h b/app/tools/gimptexttool.h
index d382ab9b6a..b463524440 100644
--- a/app/tools/gimptexttool.h
+++ b/app/tools/gimptexttool.h
@@ -119,6 +119,9 @@ void       gimp_text_tool_paste_clipboard        (GimpTextTool *text_tool);
 void       gimp_text_tool_create_vectors         (GimpTextTool *text_tool);
 void       gimp_text_tool_create_vectors_warped  (GimpTextTool *text_tool);
 
+GimpTextDirection
+           gimp_text_tool_get_direction          (GimpTextTool *text_tool);
+
 /*  only for the text editor  */
 void       gimp_text_tool_clear_layout           (GimpTextTool *text_tool);
 gboolean   gimp_text_tool_ensure_layout          (GimpTextTool *text_tool);
diff --git a/app/widgets/gimptexteditor.c b/app/widgets/gimptexteditor.c
index b1bfee2baa..b90fc5dd41 100644
--- a/app/widgets/gimptexteditor.c
+++ b/app/widgets/gimptexteditor.c
@@ -208,6 +208,10 @@ gimp_text_editor_new (const gchar     *title,
   switch (editor->base_dir)
     {
     case GIMP_TEXT_DIRECTION_LTR:
+    case GIMP_TEXT_DIRECTION_TTB_RTL:
+    case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+    case GIMP_TEXT_DIRECTION_TTB_LTR:
+    case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
       gtk_widget_set_direction (editor->view, GTK_TEXT_DIR_LTR);
       break;
     case GIMP_TEXT_DIRECTION_RTL:
@@ -280,6 +284,10 @@ gimp_text_editor_set_direction (GimpTextEditor    *editor,
       switch (editor->base_dir)
         {
         case GIMP_TEXT_DIRECTION_LTR:
+        case GIMP_TEXT_DIRECTION_TTB_RTL:
+        case GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT:
+        case GIMP_TEXT_DIRECTION_TTB_LTR:
+        case GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT:
           gtk_widget_set_direction (editor->view, GTK_TEXT_DIR_LTR);
           break;
         case GIMP_TEXT_DIRECTION_RTL:
diff --git a/icons/Color/24/gimp-text-dir-ttb-ltr-upright.png 
b/icons/Color/24/gimp-text-dir-ttb-ltr-upright.png
new file mode 100644
index 0000000000..f955debd15
Binary files /dev/null and b/icons/Color/24/gimp-text-dir-ttb-ltr-upright.png differ
diff --git a/icons/Color/24/gimp-text-dir-ttb-ltr.png b/icons/Color/24/gimp-text-dir-ttb-ltr.png
new file mode 100644
index 0000000000..6bc4d84577
Binary files /dev/null and b/icons/Color/24/gimp-text-dir-ttb-ltr.png differ
diff --git a/icons/Color/24/gimp-text-dir-ttb-rtl-upright.png 
b/icons/Color/24/gimp-text-dir-ttb-rtl-upright.png
new file mode 100644
index 0000000000..66febba0a8
Binary files /dev/null and b/icons/Color/24/gimp-text-dir-ttb-rtl-upright.png differ
diff --git a/icons/Color/24/gimp-text-dir-ttb-rtl.png b/icons/Color/24/gimp-text-dir-ttb-rtl.png
new file mode 100644
index 0000000000..cf97823500
Binary files /dev/null and b/icons/Color/24/gimp-text-dir-ttb-rtl.png differ
diff --git a/icons/Color/scalable/gimp-text-dir-ttb-ltr-upright.svg 
b/icons/Color/scalable/gimp-text-dir-ttb-ltr-upright.svg
new file mode 100644
index 0000000000..c66ea41f2e
--- /dev/null
+++ b/icons/Color/scalable/gimp-text-dir-ttb-ltr-upright.svg
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   inkscape:export-ydpi="90.000000"
+   inkscape:export-xdpi="90.000000"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-ltr-upright.png"
+   width="24"
+   height="24"
+   id="svg11300"
+   sodipodi:version="0.32"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-ltr-upright.svg"
+   version="1.0"
+   viewBox="0 0 24 24">
+  <sodipodi:namedview
+     inkscape:cy="-12.270958"
+     inkscape:cx="-37.299263"
+     inkscape:zoom="1.4142136"
+     inkscape:window-height="713"
+     inkscape:window-width="1024"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.17254902"
+     bordercolor="#666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:showpageshadow="false"
+     showborder="true"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="layer1"
+     width="16px"
+     height="16px"
+     showgrid="true"
+     inkscape:window-maximized="1"
+     inkscape:document-units="px"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4444" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3">
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1323"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1321"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.2) rotate(180) translate(6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Send"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path856"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 
6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.3) rotate(180) translate(-2.3,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path850"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 
6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path832"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Send"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path838"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.2) rotate(180) translate(6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path823"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path844"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 
6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     stroke="#ef2929"
+     fill="#eeeeec"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.25490196"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-14.198652"
+     inkscape:cy="-5.1663457"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="872"
+     inkscape:window-height="659"
+     inkscape:window-x="403"
+     inkscape:window-y="296"
+     width="32px"
+     height="32px"
+     id="namedview73" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"; />
+        <dc:title />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/";>
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Attribution"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike"; />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     transform="translate(0,8)">
+    <g
+       style="display:inline"
+       id="gimp-text-dir-ttb-ltr-upright"
+       inkscape:label="#gimp-text-dir-ltr-upright-24"
+       inkscape:export-xdpi="96"
+       inkscape:export-ydpi="96"
+       inkscape:export-filename="../24/gimp-text-dir-ttb-ltr-upright.png">
+      <rect
+         ry="2.1219141"
+         rx="0.41507211"
+         y="-8"
+         x="0"
+         height="24"
+         width="24"
+         id="rect4013-8-5-6"
+         
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <path
+         sodipodi:nodetypes="cccccccc"
+         inkscape:connector-curvature="0"
+         id="path1105-9"
+         d="M 18.309358,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 20.478307 
V -5.867637 Z"
+         
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;strok
 e-width:
 
1.87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <g
+         aria-label="あいうえ "
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92"
+         transform="translate(-15.379221)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -
 0.874773
 ,0.3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.24
 9935 c 0
 .295976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path149" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path151" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 
c 1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path153" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.539
 334 c -0
 .295975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path155" />
+      </g>
+      <g
+         aria-label="ABCD "
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92-9">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 13.241123,-1.9856701 h 0.664301 l -1.861358,-4.8342682 h -0.743228 l -1.8416256,4.8342682 h 
0.6379916 l 0.545911,-1.4733008 h 2.052097 z m -2.453309,-1.9468618 0.289398,-0.7695365 c 0.197317,-0.5393334 
0.394635,-1.0655122 0.578797,-1.6245773 h 0.02631 c 0.197317,0.5524878 0.388057,1.0786667 0.585374,1.6245773 
l 0.289398,0.7695365 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path158" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 10.005123,3.4515662 h 1.775854 c 1.341756,0 2.006056,-0.4275203 2.006056,-1.4141057 
0,-0.6379918 -0.407788,-1.0392032 -1.078666,-1.1510162 V 0.8535581 c 0.526179,-0.15785366 
0.776114,-0.57221951 0.776114,-1.04578048 0,-0.85504062 -0.677456,-1.19047962 -1.841626,-1.19047962 h 
-1.637732 z m 0.605106,-2.77559345 v -1.57853656 h 0.986585 c 0.868195,0 1.275984,0.21047154 
1.275984,0.78926828 0,0.54591056 -0.407789,0.78926828 -1.328602,0.78926828 z m 0,2.28887805 V 1.1495337 h 
1.078666 c 1.045781,0 1.493033,0.2696667 1.493033,0.8681951 0,0.7103415 -0.473561,0.947122 -1.473301,0.947122 
z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path160" />
+        <path
+           inkscape:connector-curvature="0"
+           d="M 13.833074,8.2771191 13.491058,7.882485 c -0.361748,0.3420162 -0.789268,0.5459106 
-1.322024,0.5459106 -1.07209,0 -1.775854,-0.7629594 -1.775854,-1.9665935 0,-1.1904797 0.703764,-1.953439 
1.789008,-1.953439 0.466984,0 0.874772,0.1907398 1.164171,0.4604065 L 13.694952,4.5741354 C 
13.36609,4.2584281 12.846489,3.975607 12.175611,3.975607 c -1.42726,0 -2.4072685,0.9668536 
-2.4072685,2.5059268 0,1.5456504 0.9931625,2.4861951 2.3743825,2.4861951 0.723495,0 1.243097,-0.2433577 
1.690349,-0.6906098 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path162" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 9.89331,14.326037 h 1.368065 c 1.670618,0 2.558545,-0.907659 2.558545,-2.440155 0,-1.525918 
-0.887927,-2.3941133 -2.591431,-2.3941133 H 9.89331 Z M 10.485261,13.81959 V 9.9982158 h 0.703764 c 
1.322025,0 2.006057,0.6511462 2.006057,1.8876662 0,1.243098 -0.684032,1.933708 -2.006057,1.933708 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path164" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/Color/scalable/gimp-text-dir-ttb-ltr.svg b/icons/Color/scalable/gimp-text-dir-ttb-ltr.svg
new file mode 100644
index 0000000000..05b0deb01d
--- /dev/null
+++ b/icons/Color/scalable/gimp-text-dir-ttb-ltr.svg
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   inkscape:export-ydpi="96"
+   inkscape:export-xdpi="96"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-ltr.png"
+   width="24"
+   height="24"
+   id="svg11300"
+   sodipodi:version="0.32"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-ltr.svg"
+   version="1.0"
+   viewBox="0 0 24 24">
+  <sodipodi:namedview
+     inkscape:cy="17.681101"
+     inkscape:cx="-3.3900297"
+     inkscape:zoom="8.0000001"
+     inkscape:window-height="713"
+     inkscape:window-width="1024"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.17254902"
+     bordercolor="#666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:showpageshadow="false"
+     showborder="true"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="layer1"
+     width="16px"
+     height="16px"
+     showgrid="true"
+     inkscape:window-maximized="1"
+     inkscape:document-units="px"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4444" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3">
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="marker1323"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path1321"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.2) rotate(180) translate(6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Send"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path856"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 
6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.3) rotate(180) translate(-2.3,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Mend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path850"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 
6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(0.6) rotate(180) translate(0,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path832"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Send"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path838"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.2) rotate(180) translate(6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path823"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow2Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path844"
+         
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 
6.9831476,1.6157441 8.7185878,4.0337352 z "
+         transform="scale(1.1) rotate(180) translate(1,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     stroke="#ef2929"
+     fill="#eeeeec"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.25490196"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-14.198652"
+     inkscape:cy="-5.1663457"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="872"
+     inkscape:window-height="659"
+     inkscape:window-x="403"
+     inkscape:window-y="296"
+     width="32px"
+     height="32px"
+     id="namedview73" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"; />
+        <dc:title />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/";>
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Attribution"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike"; />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     transform="translate(0,8)">
+    <g
+       style="display:inline"
+       id="gimp-text-dir-ttb-ltr"
+       inkscape:label="#gimp-text-dir-ltr-24"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       inkscape:export-filename="../24/gimp-text-dir-ttb-rtl.png">
+      <rect
+         ry="2.1219141"
+         rx="0.41507211"
+         y="-8"
+         x="0"
+         height="24"
+         width="24"
+         id="rect4013-8-5-6-4"
+         
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <path
+         sodipodi:nodetypes="cccccccc"
+         inkscape:connector-curvature="0"
+         id="path1105-9-5"
+         d="M 18.309358,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 20.478307 
V -5.867637 Z"
+         
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;strok
 e-width:
 
1.87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <g
+         aria-label="あいうえ "
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92-93"
+         transform="translate(-15.379221)">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -
 0.874773
 ,0.3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.24
 9935 c 0
 .295976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path149-5" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path151-7" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 
c 1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path153-0" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.539
 334 c -0
 .295975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path155-8" />
+      </g>
+      <g
+         aria-label="ABCD "
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92-9-1">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 9.2651841,-2.8439994 v 0.664301 l 4.8342679,-1.861358 v -0.743228 L 9.2651841,-6.62591 v 
0.6379916 l 1.4733009,0.545911 v 2.052097 z m 1.9468619,-2.453309 0.769536,0.289398 c 0.539334,0.197317 
1.065513,0.394635 1.624578,0.578797 v 0.02631 c -0.552488,0.197317 -1.078667,0.388057 -1.624578,0.585374 l 
-0.769536,0.289398 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path158-9" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 9.4789439,-0.8565229 v 1.775854 c 0,1.341756 0.4275203,2.006056 1.4141061,2.006056 
0.637991,0 1.039203,-0.407788 1.151016,-1.078666 h 0.03289 c 0.157854,0.526179 0.57222,0.776114 
1.04578,0.776114 0.855041,0 1.19048,-0.677456 1.19048,-1.841626 v -1.637732 z m 2.7755931,0.605106 h 1.578537 
v 0.986585 c 0,0.868195 -0.210472,1.275984 -0.789268,1.275984 -0.545911,0 -0.789269,-0.407789 
-0.789269,-1.328602 z m -2.2888777,0 h 1.8153167 v 1.078666 c 0,1.045781 -0.269666,1.493033 
-0.868195,1.493033 -0.710341,0 -0.9471217,-0.473561 -0.9471217,-1.473301 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path160-9" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 9.9952571,8.5040337 0.3946339,-0.342016 c -0.342016,-0.361748 -0.5459104,-0.789268 
-0.5459104,-1.322024 0,-1.07209 0.7629594,-1.775854 1.9665934,-1.775854 1.19048,0 1.953439,0.703764 
1.953439,1.789008 0,0.466984 -0.19074,0.874772 -0.460406,1.164171 l 0.394634,0.348593 c 0.315707,-0.328862 
0.598528,-0.848463 0.598528,-1.519341 0,-1.42726 -0.966853,-2.4072685 -2.505927,-2.4072685 -1.54565,0 
-2.4861947,0.9931625 -2.4861947,2.3743825 0,0.723495 0.2433577,1.243097 0.6906098,1.690349 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path162-7" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 9.4394808,9.9455978 v 1.3680652 c 0,1.670618 0.9076592,2.558545 2.4401552,2.558545 
1.525918,0 2.394113,-0.887927 2.394113,-2.591431 V 9.9455978 Z m 0.506447,0.5919512 h 3.8213742 v 0.703764 c 
0,1.322025 -0.651146,2.006057 -1.887666,2.006057 -1.243098,0 -1.9337082,-0.684032 -1.9337082,-2.006057 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path164-8" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/Color/scalable/gimp-text-dir-ttb-rtl-upright.svg 
b/icons/Color/scalable/gimp-text-dir-ttb-rtl-upright.svg
new file mode 100644
index 0000000000..714306ec0f
--- /dev/null
+++ b/icons/Color/scalable/gimp-text-dir-ttb-rtl-upright.svg
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   inkscape:export-ydpi="90.000000"
+   inkscape:export-xdpi="90.000000"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-rtl-upright.png"
+   width="24"
+   height="24"
+   id="svg11300"
+   sodipodi:version="0.32"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-rtl-upright.svg"
+   version="1.0"
+   viewBox="0 0 24 24">
+  <sodipodi:namedview
+     inkscape:cy="19.180643"
+     inkscape:cx="-9.3218635"
+     inkscape:zoom="4.8449868"
+     inkscape:window-height="713"
+     inkscape:window-width="1024"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.17254902"
+     bordercolor="#666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:showpageshadow="false"
+     showborder="true"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="layer1"
+     width="16px"
+     height="16px"
+     showgrid="true"
+     inkscape:window-maximized="1"
+     inkscape:document-units="px"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4444" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3" />
+  <sodipodi:namedview
+     stroke="#ef2929"
+     fill="#eeeeec"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.25490196"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-14.198652"
+     inkscape:cy="-5.1663457"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="872"
+     inkscape:window-height="659"
+     inkscape:window-x="403"
+     inkscape:window-y="296"
+     width="32px"
+     height="32px"
+     id="namedview73" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"; />
+        <dc:title />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/";>
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Attribution"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike"; />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     transform="translate(0,8)">
+    <g
+       style="display:inline"
+       id="gimp-text-dir-ttb-rtl-upright"
+       inkscape:label="#gimp-text-dir-rtl-upright-24"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       inkscape:export-filename="../24/gimp-text-dir-ttb-rtl-upright.png">
+      <rect
+         ry="2.1219141"
+         rx="0.41507211"
+         y="-8"
+         x="0"
+         height="24"
+         width="24"
+         id="rect4013-8-5-6-7"
+         
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <path
+         sodipodi:nodetypes="cccccccc"
+         inkscape:connector-curvature="0"
+         id="path1105-4"
+         d="M 3.1406495,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 5.3095985 
V -5.867637 Z"
+         
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;strok
 e-width:
 
1.87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <g
+         aria-label="あいうえ "
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -
 0.874773
 ,0.3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.24
 9935 c 0
 .295976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path149" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path151" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 
c 1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path153" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.539
 334 c -0
 .295975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path155" />
+      </g>
+      <g
+         aria-label="ABCD "
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92-9">
+        <path
+           inkscape:connector-curvature="0"
+           d="m 13.241123,-1.9856701 h 0.664301 l -1.861358,-4.8342682 h -0.743228 l -1.8416256,4.8342682 h 
0.6379916 l 0.545911,-1.4733008 h 2.052097 z m -2.453309,-1.9468618 0.289398,-0.7695365 c 0.197317,-0.5393334 
0.394635,-1.0655122 0.578797,-1.6245773 h 0.02631 c 0.197317,0.5524878 0.388057,1.0786667 0.585374,1.6245773 
l 0.289398,0.7695365 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path158" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 10.005123,3.4515662 h 1.775854 c 1.341756,0 2.006056,-0.4275203 2.006056,-1.4141057 
0,-0.6379918 -0.407788,-1.0392032 -1.078666,-1.1510162 V 0.8535581 c 0.526179,-0.15785366 
0.776114,-0.57221951 0.776114,-1.04578048 0,-0.85504062 -0.677456,-1.19047962 -1.841626,-1.19047962 h 
-1.637732 z m 0.605106,-2.77559345 v -1.57853656 h 0.986585 c 0.868195,0 1.275984,0.21047154 
1.275984,0.78926828 0,0.54591056 -0.407789,0.78926828 -1.328602,0.78926828 z m 0,2.28887805 V 1.1495337 h 
1.078666 c 1.045781,0 1.493033,0.2696667 1.493033,0.8681951 0,0.7103415 -0.473561,0.947122 -1.473301,0.947122 
z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path160" />
+        <path
+           inkscape:connector-curvature="0"
+           d="M 13.833074,8.2771191 13.491058,7.882485 c -0.361748,0.3420162 -0.789268,0.5459106 
-1.322024,0.5459106 -1.07209,0 -1.775854,-0.7629594 -1.775854,-1.9665935 0,-1.1904797 0.703764,-1.953439 
1.789008,-1.953439 0.466984,0 0.874772,0.1907398 1.164171,0.4604065 L 13.694952,4.5741354 C 
13.36609,4.2584281 12.846489,3.975607 12.175611,3.975607 c -1.42726,0 -2.4072685,0.9668536 
-2.4072685,2.5059268 0,1.5456504 0.9931625,2.4861951 2.3743825,2.4861951 0.723495,0 1.243097,-0.2433577 
1.690349,-0.6906098 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path162" />
+        <path
+           inkscape:connector-curvature="0"
+           d="m 9.89331,14.326037 h 1.368065 c 1.670618,0 2.558545,-0.907659 2.558545,-2.440155 0,-1.525918 
-0.887927,-2.3941133 -2.591431,-2.3941133 H 9.89331 Z M 10.485261,13.81959 V 9.9982158 h 0.703764 c 
1.322025,0 2.006057,0.6511462 2.006057,1.8876662 0,1.243098 -0.684032,1.933708 -2.006057,1.933708 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path164" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/icons/Color/scalable/gimp-text-dir-ttb-rtl.svg b/icons/Color/scalable/gimp-text-dir-ttb-rtl.svg
new file mode 100644
index 0000000000..7606d33038
--- /dev/null
+++ b/icons/Color/scalable/gimp-text-dir-ttb-rtl.svg
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   inkscape:export-ydpi="96"
+   inkscape:export-xdpi="96"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-rtl.png"
+   width="24"
+   height="24"
+   id="svg11300"
+   sodipodi:version="0.32"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-rtl.svg"
+   version="1.0"
+   viewBox="0 0 24 24">
+  <sodipodi:namedview
+     inkscape:cy="6.7858715"
+     inkscape:cx="5.4859635"
+     inkscape:zoom="11.313708"
+     inkscape:window-height="713"
+     inkscape:window-width="1024"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.17254902"
+     bordercolor="#666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:showpageshadow="false"
+     showborder="true"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:current-layer="layer1"
+     width="16px"
+     height="16px"
+     showgrid="true"
+     inkscape:window-maximized="1"
+     inkscape:document-units="px"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4444" />
+  </sodipodi:namedview>
+  <defs
+     id="defs3" />
+  <sodipodi:namedview
+     stroke="#ef2929"
+     fill="#eeeeec"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.25490196"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="-14.198652"
+     inkscape:cy="-5.1663457"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="872"
+     inkscape:window-height="659"
+     inkscape:window-x="403"
+     inkscape:window-y="296"
+     width="32px"
+     height="32px"
+     id="namedview73" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"; />
+        <dc:title />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/";>
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Attribution"; />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks"; />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike"; />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     transform="translate(0,8)">
+    <g
+       style="display:inline"
+       id="gimp-text-dir-ttb-rtl"
+       inkscape:label="#gimp-text-dir-rtl-24"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       inkscape:export-filename="../24/gimp-text-dir-ttb-rtl.png">
+      <rect
+         ry="2.1219141"
+         rx="0.41507211"
+         y="-8"
+         x="0"
+         height="24"
+         width="24"
+         id="rect4013-8-5-6"
+         
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <path
+         sodipodi:nodetypes="cccccccc"
+         inkscape:connector-curvature="0"
+         id="path1105"
+         d="M 3.1406495,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 5.3095985 
V -5.867637 Z"
+         
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;strok
 e-width:
 
1.87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+      <g
+         aria-label="あいうえ
+"
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92">
+        <path
+           d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -
 0.874773
 ,0.3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.24
 9935 c 0
 .295976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path149" />
+        <path
+           d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.69692677 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 L 19.738801,1.7016396 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path151" />
+        <path
+           d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 
c 1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076585 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 C 20.666191,4.2843551 19.284972,4.1528104 18.581207,4.001534 Z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path153" />
+        <path
+           d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 l 0.06577,-0.4801385 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.539
 334 c -0
 .295975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path155" />
+      </g>
+      <g
+         aria-label="ABCD
+"
+         
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+         id="text92-9">
+        <path
+           d="m 9.2651841,-2.8439994 v 0.664301 l 4.8342679,-1.861358 v -0.743228 L 9.2651841,-6.62591 v 
0.6379916 l 1.4733009,0.545911 v 2.052097 z m 1.9468619,-2.453309 0.769536,0.289398 c 0.539334,0.197317 
1.065513,0.394635 1.624578,0.578797 v 0.02631 c -0.552488,0.197317 -1.078667,0.388057 -1.624578,0.585374 l 
-0.769536,0.289398 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path158"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 9.4789439,-0.85652291 v 1.775854 c 0,1.34175601 0.4275203,2.00605601 1.4141061,2.00605601 
0.637991,0 1.039203,-0.407788 1.151016,-1.078666 h 0.03289 c 0.157854,0.526179 0.57222,0.776114 
1.04578,0.776114 0.855041,0 1.19048,-0.677456 1.19048,-1.84162601 v -1.637732 z m 2.7755931,0.605106 h 
1.578537 v 0.986585 c 0,0.86819501 -0.210472,1.27598401 -0.789268,1.27598401 -0.545911,0 -0.789269,-0.407789 
-0.789269,-1.32860201 z m -2.2888777,0 h 1.8153167 v 1.078666 c 0,1.04578101 -0.269666,1.49303301 
-0.868195,1.49303301 -0.710341,0 -0.9471217,-0.473561 -0.9471217,-1.47330101 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path160"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 9.9952571,8.5040337 0.3946339,-0.342016 c -0.342016,-0.361748 -0.5459104,-0.789268 
-0.5459104,-1.322024 0,-1.07209 0.7629594,-1.775854 1.9665934,-1.775854 1.19048,0 1.953439,0.703764 
1.953439,1.789008 0,0.466984 -0.19074,0.874772 -0.460406,1.164171 l 0.394634,0.348593 c 0.315707,-0.328862 
0.598528,-0.848463 0.598528,-1.519341 0,-1.42726 -0.966853,-2.4072685 -2.505927,-2.4072685 -1.54565,0 
-2.4861947,0.9931625 -2.4861947,2.3743825 0,0.723495 0.2433577,1.243097 0.6906098,1.690349 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path162"
+           inkscape:connector-curvature="0" />
+        <path
+           d="m 9.4394808,9.9455978 v 1.3680652 c 0,1.670618 0.9076592,2.558545 2.4401552,2.558545 
1.525918,0 2.394113,-0.887927 2.394113,-2.591431 V 9.9455978 Z m 0.506447,0.5919512 h 3.8213742 v 0.703764 c 
0,1.322025 -0.651146,2.006057 -1.887666,2.006057 -1.243098,0 -1.9337082,-0.684032 -1.9337082,-2.006057 z"
+           style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089"
+           id="path164"
+           inkscape:connector-curvature="0" />
+      </g>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:'Noto Sans 
CJK 
JP';letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#000000;fill-opacity:1;stroke:none;-inkscape-font-specification:'Noto
 Sans CJK JP';font-stretch:normal;font-variant:normal;"
+       x="-50"
+       y="-49"
+       id="text84"><tspan
+         sodipodi:role="line"
+         id="tspan82"
+         x="-49"
+         y="-75" /></text>
+    <text
+       xml:space="preserve"
+       
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;writing-mode:tb-rl;"
+       x="-100"
+       y="-109"
+       id="text88"><tspan
+         sodipodi:role="line"
+         id="tspan86"
+         x="-100"
+         y="-68.800003" /></text>
+  </g>
+</svg>
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.png 
b/icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.png
new file mode 100644
index 0000000000..08556b3b2a
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.png differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.xcf 
b/icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.xcf
new file mode 100644
index 0000000000..f4ef93ff42
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-ltr-upright.xcf differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-ltr.png b/icons/Legacy/24/gimp-text-dir-ttb-ltr.png
new file mode 100644
index 0000000000..5445cb8509
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-ltr.png differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-ltr.xcf b/icons/Legacy/24/gimp-text-dir-ttb-ltr.xcf
new file mode 100644
index 0000000000..7eab269f9a
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-ltr.xcf differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.png 
b/icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.png
new file mode 100644
index 0000000000..7361e95bf5
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.png differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.xcf 
b/icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.xcf
new file mode 100644
index 0000000000..711c0c6563
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-rtl-upright.xcf differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-rtl.png b/icons/Legacy/24/gimp-text-dir-ttb-rtl.png
new file mode 100644
index 0000000000..3d622f4df3
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-rtl.png differ
diff --git a/icons/Legacy/24/gimp-text-dir-ttb-rtl.xcf b/icons/Legacy/24/gimp-text-dir-ttb-rtl.xcf
new file mode 100644
index 0000000000..d4746f028b
Binary files /dev/null and b/icons/Legacy/24/gimp-text-dir-ttb-rtl.xcf differ
diff --git a/icons/Legacy/Makefile.am b/icons/Legacy/Makefile.am
index eec32304ec..3f04fbd9fb 100644
--- a/icons/Legacy/Makefile.am
+++ b/icons/Legacy/Makefile.am
@@ -386,6 +386,10 @@ icons24_DATA = \
        24/gimp-template.png                    \
        24/gimp-text-dir-ltr.png                \
        24/gimp-text-dir-rtl.png                \
+       24/gimp-text-dir-ttb-rtl.png            \
+       24/gimp-text-dir-ttb-rtl-upright.png    \
+       24/gimp-text-dir-ttb-ltr.png            \
+       24/gimp-text-dir-ttb-ltr-upright.png    \
        24/gimp-text-layer.png                  \
        24/gimp-toilet-paper.png                \
        24/gimp-tool-options.png                \
diff --git a/icons/Symbolic/24/gimp-text-dir-ttb-ltr-upright.png 
b/icons/Symbolic/24/gimp-text-dir-ttb-ltr-upright.png
new file mode 100644
index 0000000000..87461c4937
Binary files /dev/null and b/icons/Symbolic/24/gimp-text-dir-ttb-ltr-upright.png differ
diff --git a/icons/Symbolic/24/gimp-text-dir-ttb-ltr.png b/icons/Symbolic/24/gimp-text-dir-ttb-ltr.png
new file mode 100644
index 0000000000..03412a184f
Binary files /dev/null and b/icons/Symbolic/24/gimp-text-dir-ttb-ltr.png differ
diff --git a/icons/Symbolic/24/gimp-text-dir-ttb-rtl-upright.png 
b/icons/Symbolic/24/gimp-text-dir-ttb-rtl-upright.png
new file mode 100644
index 0000000000..90fdf0156c
Binary files /dev/null and b/icons/Symbolic/24/gimp-text-dir-ttb-rtl-upright.png differ
diff --git a/icons/Symbolic/24/gimp-text-dir-ttb-rtl.png b/icons/Symbolic/24/gimp-text-dir-ttb-rtl.png
new file mode 100644
index 0000000000..830a9c7a60
Binary files /dev/null and b/icons/Symbolic/24/gimp-text-dir-ttb-rtl.png differ
diff --git a/icons/Symbolic/scalable/gimp-text-dir-ttb-ltr-upright.svg 
b/icons/Symbolic/scalable/gimp-text-dir-ttb-ltr-upright.svg
new file mode 100644
index 0000000000..c7512b02f4
--- /dev/null
+++ b/icons/Symbolic/scalable/gimp-text-dir-ttb-ltr-upright.svg
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   viewBox="0 0 23.999999 24"
+   id="svg7384"
+   height="24"
+   width="24"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-ltr-upright.svg"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-ltr-upright.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="713"
+     id="namedview1510"
+     showgrid="false"
+     inkscape:zoom="4.9166667"
+     inkscape:cx="-34.497377"
+     inkscape:cy="8.0505873"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg7384" />
+  <metadata
+     id="metadata90">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Barbara Muraus, Jakub Steiner, Klaus Staedtler</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <dc:description>Images originally created as the &quot;Art Libre&quot; icon set. Extended and 
adopted for GIMP</dc:description>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7386">
+    <linearGradient
+       gradientTransform="matrix(0.34682586,0,0,0.30620888,-154.35207,-275.32368)"
+       osb:paint="solid"
+       id="linearGradient19282-4">
+      <stop
+         id="stop19284-0"
+         offset="0"
+         style="stop-color:#bebebe;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.3622"
+       x2="21"
+       y1="1037.3622"
+       x1="13"
+       id="linearGradient9986"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.8621"
+       x2="9"
+       y1="1037.8621"
+       x1="0.99999964"
+       id="linearGradient9992"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1045.3622"
+       x2="19"
+       y1="1045.3622"
+       x1="5"
+       id="linearGradient9998"
+       xlink:href="#linearGradient19282-4" />
+  </defs>
+  <g
+     transform="translate(0,8)"
+     style="display:inline"
+     id="gimp-text-dir-ttb-ltr-upright"
+     inkscape:label="#gimp-text-dir-ltr-upright-24"
+     inkscape:export-xdpi="96"
+     inkscape:export-ydpi="96"
+     inkscape:export-filename="../24/gimp-text-dir-ttb-ltr-upright.png">
+    <rect
+       ry="2.1219141"
+       rx="0.41507211"
+       y="-8"
+       x="0"
+       height="24"
+       width="24"
+       id="rect4013-8-5-6"
+       
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0"
+       id="path1105-9"
+       d="M 18.309358,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 20.478307 V 
-5.867637 Z"
+       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-
 width:1.
 
87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <g
+       aria-label="あいうえ "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92"
+       transform="translate(-15.379221)">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -0.
 874773,0
 .3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.2499
 35 c 0.2
 95976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path149" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path151" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 c 
1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path153" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.53933
 4 c -0.2
 95975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path155" />
+    </g>
+    <g
+       aria-label="ABCD "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92-9">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 13.241123,-1.9856701 h 0.664301 l -1.861358,-4.8342682 h -0.743228 l -1.8416256,4.8342682 h 
0.6379916 l 0.545911,-1.4733008 h 2.052097 z m -2.453309,-1.9468618 0.289398,-0.7695365 c 0.197317,-0.5393334 
0.394635,-1.0655122 0.578797,-1.6245773 h 0.02631 c 0.197317,0.5524878 0.388057,1.0786667 0.585374,1.6245773 
l 0.289398,0.7695365 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path158" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 10.005123,3.4515662 h 1.775854 c 1.341756,0 2.006056,-0.4275203 2.006056,-1.4141057 
0,-0.6379918 -0.407788,-1.0392032 -1.078666,-1.1510162 V 0.8535581 c 0.526179,-0.15785366 
0.776114,-0.57221951 0.776114,-1.04578048 0,-0.85504062 -0.677456,-1.19047962 -1.841626,-1.19047962 h 
-1.637732 z m 0.605106,-2.77559345 v -1.57853656 h 0.986585 c 0.868195,0 1.275984,0.21047154 
1.275984,0.78926828 0,0.54591056 -0.407789,0.78926828 -1.328602,0.78926828 z m 0,2.28887805 V 1.1495337 h 
1.078666 c 1.045781,0 1.493033,0.2696667 1.493033,0.8681951 0,0.7103415 -0.473561,0.947122 -1.473301,0.947122 
z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path160" />
+      <path
+         inkscape:connector-curvature="0"
+         d="M 13.833074,8.2771191 13.491058,7.882485 c -0.361748,0.3420162 -0.789268,0.5459106 
-1.322024,0.5459106 -1.07209,0 -1.775854,-0.7629594 -1.775854,-1.9665935 0,-1.1904797 0.703764,-1.953439 
1.789008,-1.953439 0.466984,0 0.874772,0.1907398 1.164171,0.4604065 L 13.694952,4.5741354 C 
13.36609,4.2584281 12.846489,3.975607 12.175611,3.975607 c -1.42726,0 -2.4072685,0.9668536 
-2.4072685,2.5059268 0,1.5456504 0.9931625,2.4861951 2.3743825,2.4861951 0.723495,0 1.243097,-0.2433577 
1.690349,-0.6906098 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path162" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 9.89331,14.326037 h 1.368065 c 1.670618,0 2.558545,-0.907659 2.558545,-2.440155 0,-1.525918 
-0.887927,-2.3941133 -2.591431,-2.3941133 H 9.89331 Z M 10.485261,13.81959 V 9.9982158 h 0.703764 c 
1.322025,0 2.006057,0.6511462 2.006057,1.8876662 0,1.243098 -0.684032,1.933708 -2.006057,1.933708 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;fill:#bebebe;fill-opacity:1;stroke-width:0.16443089"
+         id="path164" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/Symbolic/scalable/gimp-text-dir-ttb-ltr.svg 
b/icons/Symbolic/scalable/gimp-text-dir-ttb-ltr.svg
new file mode 100644
index 0000000000..4c5db3a24c
--- /dev/null
+++ b/icons/Symbolic/scalable/gimp-text-dir-ttb-ltr.svg
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   viewBox="0 0 23.999999 24"
+   id="svg7384"
+   height="24"
+   width="24"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-ltr.svg"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-ltr.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="713"
+     id="namedview1510"
+     showgrid="false"
+     inkscape:zoom="1.7383042"
+     inkscape:cx="-91.191779"
+     inkscape:cy="65.026482"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg7384" />
+  <metadata
+     id="metadata90">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Barbara Muraus, Jakub Steiner, Klaus Staedtler</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <dc:description>Images originally created as the &quot;Art Libre&quot; icon set. Extended and 
adopted for GIMP</dc:description>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7386">
+    <linearGradient
+       gradientTransform="matrix(0.34682586,0,0,0.30620888,-154.35207,-275.32368)"
+       osb:paint="solid"
+       id="linearGradient19282-4">
+      <stop
+         id="stop19284-0"
+         offset="0"
+         style="stop-color:#bebebe;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.3622"
+       x2="21"
+       y1="1037.3622"
+       x1="13"
+       id="linearGradient9986"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.8621"
+       x2="9"
+       y1="1037.8621"
+       x1="0.99999964"
+       id="linearGradient9992"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1045.3622"
+       x2="19"
+       y1="1045.3622"
+       x1="5"
+       id="linearGradient9998"
+       xlink:href="#linearGradient19282-4" />
+  </defs>
+  <g
+     transform="translate(0,8)"
+     style="display:inline"
+     id="gimp-text-dir-ttb-ltr"
+     inkscape:label="#gimp-text-dir-ltr-24"
+     inkscape:export-xdpi="96"
+     inkscape:export-ydpi="96"
+     inkscape:export-filename="../24/gimp-text-dir-ttb-ltr.png">
+    <rect
+       ry="2.1219141"
+       rx="0.41507211"
+       y="-8"
+       x="0"
+       height="24"
+       width="24"
+       id="rect4013-8-5-6-4"
+       
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0"
+       id="path1105-9-5"
+       d="M 18.309358,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 20.478307 V 
-5.867637 Z"
+       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-
 width:1.
 
87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <g
+       aria-label="あいうえ "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92-93"
+       transform="translate(-15.379221)">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -0.
 874773,0
 .3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.2499
 35 c 0.2
 95976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path149-5" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path151-7" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 c 
1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path153-0" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.53933
 4 c -0.2
 95975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path155-8" />
+    </g>
+    <g
+       aria-label="ABCD "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92-9-1">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 9.2651841,-2.8439994 v 0.664301 l 4.8342679,-1.861358 v -0.743228 L 9.2651841,-6.62591 v 
0.6379916 l 1.4733009,0.545911 v 2.052097 z m 1.9468619,-2.453309 0.769536,0.289398 c 0.539334,0.197317 
1.065513,0.394635 1.624578,0.578797 v 0.02631 c -0.552488,0.197317 -1.078667,0.388057 -1.624578,0.585374 l 
-0.769536,0.289398 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path158-9" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 9.4789439,-0.8565229 v 1.775854 c 0,1.341756 0.4275203,2.006056 1.4141061,2.006056 0.637991,0 
1.039203,-0.407788 1.151016,-1.078666 h 0.03289 c 0.157854,0.526179 0.57222,0.776114 1.04578,0.776114 
0.855041,0 1.19048,-0.677456 1.19048,-1.841626 v -1.637732 z m 2.7755931,0.605106 h 1.578537 v 0.986585 c 
0,0.868195 -0.210472,1.275984 -0.789268,1.275984 -0.545911,0 -0.789269,-0.407789 -0.789269,-1.328602 z m 
-2.2888777,0 h 1.8153167 v 1.078666 c 0,1.045781 -0.269666,1.493033 -0.868195,1.493033 -0.710341,0 
-0.9471217,-0.473561 -0.9471217,-1.473301 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path160-9" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 9.9952571,8.5040337 0.3946339,-0.342016 c -0.342016,-0.361748 -0.5459104,-0.789268 
-0.5459104,-1.322024 0,-1.07209 0.7629594,-1.775854 1.9665934,-1.775854 1.19048,0 1.953439,0.703764 
1.953439,1.789008 0,0.466984 -0.19074,0.874772 -0.460406,1.164171 l 0.394634,0.348593 c 0.315707,-0.328862 
0.598528,-0.848463 0.598528,-1.519341 0,-1.42726 -0.966853,-2.4072685 -2.505927,-2.4072685 -1.54565,0 
-2.4861947,0.9931625 -2.4861947,2.3743825 0,0.723495 0.2433577,1.243097 0.6906098,1.690349 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path162-7" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 9.4394808,9.9455978 v 1.3680652 c 0,1.670618 0.9076592,2.558545 2.4401552,2.558545 1.525918,0 
2.394113,-0.887927 2.394113,-2.591431 V 9.9455978 Z m 0.506447,0.5919512 h 3.8213742 v 0.703764 c 0,1.322025 
-0.651146,2.006057 -1.887666,2.006057 -1.243098,0 -1.9337082,-0.684032 -1.9337082,-2.006057 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path164-8" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/Symbolic/scalable/gimp-text-dir-ttb-rtl-upright.svg 
b/icons/Symbolic/scalable/gimp-text-dir-ttb-rtl-upright.svg
new file mode 100644
index 0000000000..8f9b3550fb
--- /dev/null
+++ b/icons/Symbolic/scalable/gimp-text-dir-ttb-rtl-upright.svg
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   viewBox="0 0 23.999999 24"
+   id="svg7384"
+   height="24"
+   width="24"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-rtl-upright.svg"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-rtl-upright.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="713"
+     id="namedview1510"
+     showgrid="false"
+     inkscape:zoom="4.9166667"
+     inkscape:cx="-14.523628"
+     inkscape:cy="23.311031"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg7384" />
+  <metadata
+     id="metadata90">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Barbara Muraus, Jakub Steiner, Klaus Staedtler</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <dc:description>Images originally created as the &quot;Art Libre&quot; icon set. Extended and 
adopted for GIMP</dc:description>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7386">
+    <linearGradient
+       gradientTransform="matrix(0.34682586,0,0,0.30620888,-154.35207,-275.32368)"
+       osb:paint="solid"
+       id="linearGradient19282-4">
+      <stop
+         id="stop19284-0"
+         offset="0"
+         style="stop-color:#bebebe;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.3622"
+       x2="21"
+       y1="1037.3622"
+       x1="13"
+       id="linearGradient9986"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.8621"
+       x2="9"
+       y1="1037.8621"
+       x1="0.99999964"
+       id="linearGradient9992"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1045.3622"
+       x2="19"
+       y1="1045.3622"
+       x1="5"
+       id="linearGradient9998"
+       xlink:href="#linearGradient19282-4" />
+  </defs>
+  <g
+     transform="translate(0,8)"
+     style="display:inline"
+     id="gimp-text-dir-ttb-rtl-upright"
+     inkscape:label="#gimp-text-dir-rtl-upright-24"
+     inkscape:export-xdpi="90"
+     inkscape:export-ydpi="90"
+     inkscape:export-filename="../24/gimp-text-dir-ttb-rtl-upright.png">
+    <rect
+       ry="2.1219141"
+       rx="0.41507211"
+       y="-8"
+       x="0"
+       height="24"
+       width="24"
+       id="rect4013-8-5-6-7"
+       
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0"
+       id="path1105-4"
+       d="M 3.1406495,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 5.3095985 V 
-5.867637 Z"
+       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-
 width:1.
 
87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <g
+       aria-label="あいうえ "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -0.
 874773,0
 .3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.2499
 35 c 0.2
 95976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path149" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path151" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 c 
1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path153" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.53933
 4 c -0.2
 95975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path155" />
+    </g>
+    <g
+       aria-label="ABCD "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92-9">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 13.241123,-1.9856701 h 0.664301 l -1.861358,-4.8342682 h -0.743228 l -1.8416256,4.8342682 h 
0.6379916 l 0.545911,-1.4733008 h 2.052097 z m -2.453309,-1.9468618 0.289398,-0.7695365 c 0.197317,-0.5393334 
0.394635,-1.0655122 0.578797,-1.6245773 h 0.02631 c 0.197317,0.5524878 0.388057,1.0786667 0.585374,1.6245773 
l 0.289398,0.7695365 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path158" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 10.005123,3.4515662 h 1.775854 c 1.341756,0 2.006056,-0.4275203 2.006056,-1.4141057 
0,-0.6379918 -0.407788,-1.0392032 -1.078666,-1.1510162 V 0.8535581 c 0.526179,-0.15785366 
0.776114,-0.57221951 0.776114,-1.04578048 0,-0.85504062 -0.677456,-1.19047962 -1.841626,-1.19047962 h 
-1.637732 z m 0.605106,-2.77559345 v -1.57853656 h 0.986585 c 0.868195,0 1.275984,0.21047154 
1.275984,0.78926828 0,0.54591056 -0.407789,0.78926828 -1.328602,0.78926828 z m 0,2.28887805 V 1.1495337 h 
1.078666 c 1.045781,0 1.493033,0.2696667 1.493033,0.8681951 0,0.7103415 -0.473561,0.947122 -1.473301,0.947122 
z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path160" />
+      <path
+         inkscape:connector-curvature="0"
+         d="M 13.833074,8.2771191 13.491058,7.882485 c -0.361748,0.3420162 -0.789268,0.5459106 
-1.322024,0.5459106 -1.07209,0 -1.775854,-0.7629594 -1.775854,-1.9665935 0,-1.1904797 0.703764,-1.953439 
1.789008,-1.953439 0.466984,0 0.874772,0.1907398 1.164171,0.4604065 L 13.694952,4.5741354 C 
13.36609,4.2584281 12.846489,3.975607 12.175611,3.975607 c -1.42726,0 -2.4072685,0.9668536 
-2.4072685,2.5059268 0,1.5456504 0.9931625,2.4861951 2.3743825,2.4861951 0.723495,0 1.243097,-0.2433577 
1.690349,-0.6906098 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path162" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 9.89331,14.326037 h 1.368065 c 1.670618,0 2.558545,-0.907659 2.558545,-2.440155 0,-1.525918 
-0.887927,-2.3941133 -2.591431,-2.3941133 H 9.89331 Z M 10.485261,13.81959 V 9.9982158 h 0.703764 c 
1.322025,0 2.006057,0.6511462 2.006057,1.8876662 0,1.243098 -0.684032,1.933708 -2.006057,1.933708 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path164" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/Symbolic/scalable/gimp-text-dir-ttb-rtl.svg 
b/icons/Symbolic/scalable/gimp-text-dir-ttb-rtl.svg
new file mode 100644
index 0000000000..9fa67ff9f4
--- /dev/null
+++ b/icons/Symbolic/scalable/gimp-text-dir-ttb-rtl.svg
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb";
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   viewBox="0 0 23.999999 24"
+   id="svg7384"
+   height="24"
+   width="24"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="gimp-text-dir-ttb-rtl.svg"
+   inkscape:export-filename="../24/gimp-text-dir-ttb-rtl.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1024"
+     inkscape:window-height="713"
+     id="namedview1510"
+     showgrid="false"
+     inkscape:zoom="2.4583333"
+     inkscape:cx="-47.112597"
+     inkscape:cy="49.124065"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg7384" />
+  <metadata
+     id="metadata90">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Barbara Muraus, Jakub Steiner, Klaus Staedtler</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <dc:description>Images originally created as the &quot;Art Libre&quot; icon set. Extended and 
adopted for GIMP</dc:description>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7386">
+    <linearGradient
+       gradientTransform="matrix(0.34682586,0,0,0.30620888,-154.35207,-275.32368)"
+       osb:paint="solid"
+       id="linearGradient19282-4">
+      <stop
+         id="stop19284-0"
+         offset="0"
+         style="stop-color:#bebebe;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.3622"
+       x2="21"
+       y1="1037.3622"
+       x1="13"
+       id="linearGradient9986"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1037.8621"
+       x2="9"
+       y1="1037.8621"
+       x1="0.99999964"
+       id="linearGradient9992"
+       xlink:href="#linearGradient19282-4" />
+    <linearGradient
+       gradientTransform="translate(999.31744,213.33274)"
+       gradientUnits="userSpaceOnUse"
+       y2="1045.3622"
+       x2="19"
+       y1="1045.3622"
+       x1="5"
+       id="linearGradient9998"
+       xlink:href="#linearGradient19282-4" />
+  </defs>
+  <g
+     transform="translate(0,8)"
+     style="display:inline"
+     id="gimp-text-dir-ttb-rtl"
+     inkscape:label="#gimp-text-dir-rtl-24"
+     inkscape:export-xdpi="96"
+     inkscape:export-ydpi="96"
+     inkscape:export-filename="../24/gimp-text-dir-ttb-rtl.png">
+    <rect
+       ry="2.1219141"
+       rx="0.41507211"
+       y="-8"
+       x="0"
+       height="24"
+       width="24"
+       id="rect4013-8-5-6"
+       
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0"
+       id="path1105-6"
+       d="M 3.1406495,-5.867637 V 8.825596 h -1.520807 l 2.613754,5.306763 2.617991,-5.306763 H 5.3095985 V 
-5.867637 Z"
+       
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-
 width:1.
 
87403953px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
 />
+    <g
+       aria-label="あいうえ "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.172638,-5.0444666 c 0.03946,-0.092081 0.09208,-0.2630894 0.131545,-0.3485935 l 
-0.513024,-0.1249675 c -0.01316,0.1052358 -0.03946,0.2630894 -0.06577,0.361748 l -0.01973,0.059195 c 
-0.07235,-0.00658 -0.151276,-0.00658 -0.230203,-0.00658 -0.315707,0 -0.710341,0.059195 -1.065512,0.1644309 
0.01973,-0.2696667 0.03946,-0.5327561 0.06577,-0.7826911 0.776114,-0.039463 1.624578,-0.1183902 
2.288878,-0.2302032 l -0.0066,-0.4801383 c -0.651146,0.1446992 -1.420683,0.2367805 -2.229683,0.2696667 
0.02631,-0.1841626 0.05919,-0.3485935 0.0855,-0.4867154 0.01316,-0.078927 0.03946,-0.1973171 
0.07235,-0.2762439 l -0.545911,-0.013154 c 0,0.07235 -0.0066,0.1973171 -0.01315,0.2959756 l 
-0.05262,0.4932927 c -0.138122,0.00658 -0.282821,0.00658 -0.420943,0.00658 -0.276244,0 -0.828732,-0.046041 
-1.058935,-0.078927 l 0.01973,0.4867154 c 0.263089,0.013154 0.749805,0.032886 1.032626,0.032886 0.11839,0 
0.249935,0 0.381479,-0.00658 -0.03289,0.2959756 -0.0592,0.6182601 -0.07235,0.9405447 -0.
 874773,0
 .3946341 -1.591691,1.2430975 -1.591691,2.0586748 0,0.5393333 0.335439,0.7958455 0.762959,0.7958455 
0.342016,0 0.723496,-0.138122 1.07209,-0.3420163 0.03289,0.1249675 0.06577,0.2433577 0.09866,0.3485935 l 
0.473561,-0.1381219 c -0.05262,-0.1578537 -0.105236,-0.3354391 -0.151276,-0.5130244 0.532756,-0.4538293 
1.04578,-1.1575935 1.400951,-2.0586748 0.591951,0.1644309 0.914236,0.5985284 0.914236,1.0852439 0,0.8155772 
-0.703765,1.4075284 -1.854781,1.5324959 l 0.276244,0.4340976 c 1.479878,-0.2367805 2.078406,-1.0392033 
2.078406,-1.9468618 0,-0.7037642 -0.480138,-1.2891382 -1.269406,-1.506187 z m -2.23626,0.8681951 c 0,0.473561 
0.05919,0.9865853 0.151277,1.4404146 -0.315708,0.2170488 -0.624838,0.3288618 -0.868196,0.3288618 -0.243357,0 
-0.368325,-0.1249675 -0.368325,-0.3814797 0,-0.5130244 0.466984,-1.1378618 1.085244,-1.4930325 z m 
1.631155,-0.5130244 c -0.269667,0.7037642 -0.64457,1.2102114 -1.065513,1.6114228 -0.07235,-0.3683252 
-0.111813,-0.7563822 -0.111813,-1.1575935 v -0.2499
 35 c 0.2
 95976,-0.111813 0.670878,-0.2038943 1.078667,-0.2038943 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path149" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.101069,-0.88979127 -0.61826,-0.0131545 c 0.02631,0.15127642 0.03289,0.41436585 
0.03289,0.56564227 0,0.37490243 0.0066,1.14443901 0.07235,1.6969268 0.177585,1.644309 0.756382,2.2494146 
1.348333,2.2494146 0.447252,0 0.828732,-0.3683252 1.216789,-1.453569 l -0.41437,-0.4538293 c 
-0.157854,0.6379919 -0.453829,1.2891382 -0.789268,1.2891382 -0.447252,0 -0.749805,-0.697187 
-0.855041,-1.7626992 -0.04604,-0.5196016 -0.05262,-1.10497557 -0.04604,-1.49960972 0,-0.17100812 
0.02631,-0.46040649 0.05262,-0.61826015 z m 3.314927,0.17100813 -0.506447,0.17758536 c 0.605105,0.74322763 
0.993162,1.99947968 1.098398,3.15049588 l 0.526179,-0.2038943 c -0.09208,-1.0786666 -0.545911,-2.38095931 
-1.11813,-3.12418694 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path151" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 21.244988,6.8626315 c 0,1.1378618 -1.07209,1.7495447 -2.61774,1.9402846 l 0.289398,0.4932926 c 
1.650887,-0.2499349 2.88083,-1.032626 2.88083,-2.4138455 0,-0.9076585 -0.670878,-1.4141056 
-1.578537,-1.4141056 -0.723496,0 -1.453569,0.2038943 -1.907398,0.30913 -0.177586,0.039464 -0.401212,0.078927 
-0.578797,0.092081 l 0.157854,0.5919512 c 0.164431,-0.052618 0.348593,-0.1315447 0.539333,-0.1841626 
0.38148,-0.111813 1.006317,-0.3222845 1.729813,-0.3222845 0.664301,0 1.085244,0.3749024 1.085244,0.9076588 z 
M 18.581207,4.001534 18.502281,4.4882494 c 0.716918,0.1249675 2.006056,0.2565122 2.709821,0.3025529 l 
0.07893,-0.4998699 c -0.624841,-0.00658 -2.00606,-0.138122 -2.709825,-0.2893984 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path153" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 18.666711,9.3993055 -0.0855,0.4735609 c 0.776114,0.1446996 1.887667,0.2893986 
2.525659,0.3420166 L 21.17264,9.7347445 C 20.567533,9.6952811 19.350744,9.5440046 18.666711,9.3993055 Z m 
2.637472,1.8218945 -0.30913,-0.348594 c -0.05919,0.02631 -0.19074,0.05262 -0.295976,0.06577 -0.486715,0.06577 
-1.966593,0.164431 -2.334918,0.171008 -0.197317,0.0066 -0.388057,0 -0.532757,-0.01315 l 0.04604,0.565643 c 
0.138122,-0.01973 0.302553,-0.03946 0.506447,-0.0592 0.388057,-0.03289 1.460147,-0.124967 1.960017,-0.157853 
-0.624838,0.631414 -2.367805,2.361227 -2.624318,2.624317 -0.11839,0.11839 -0.230203,0.210471 
-0.315707,0.276244 l 0.493293,0.342016 c 0.368325,-0.460407 1.052358,-1.183902 1.295715,-1.407528 
0.144699,-0.138122 0.295976,-0.230204 0.460407,-0.230204 0.177585,0 0.315707,0.111813 0.388057,0.328862 
0.0592,0.184163 0.151276,0.559065 0.217048,0.749805 0.138122,0.420943 0.460407,0.539333 0.973431,0.539333 
0.335439,0 0.927391,-0.04604 1.19048,-0.09866 l 0.03289,-0.53933
 4 c -0.2
 95975,0.07893 -0.789268,0.131545 -1.203634,0.131545 -0.322284,0 -0.473561,-0.09866 -0.545911,-0.342016 
-0.07235,-0.203894 -0.151276,-0.526179 -0.217048,-0.716919 -0.0855,-0.249935 -0.230204,-0.42752 
-0.486716,-0.453829 -0.05262,-0.01315 -0.171008,-0.02631 -0.230203,-0.01315 0.230203,-0.249935 
0.940545,-0.907658 1.183902,-1.131284 0.07235,-0.06577 0.230204,-0.197317 0.348594,-0.282821 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path155" />
+    </g>
+    <g
+       aria-label="ABCD "
+       
style="font-style:normal;font-weight:normal;font-size:6.5772357px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;writing-mode:tb-rl;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.16443089"
+       id="text92-9">
+      <path
+         d="m 9.2651841,-2.8439994 v 0.664301 l 4.8342679,-1.861358 v -0.743228 L 9.2651841,-6.62591 v 
0.6379916 l 1.4733009,0.545911 v 2.052097 z m 1.9468619,-2.453309 0.769536,0.289398 c 0.539334,0.197317 
1.065513,0.394635 1.624578,0.578797 v 0.02631 c -0.552488,0.197317 -1.078667,0.388057 -1.624578,0.585374 l 
-0.769536,0.289398 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path158"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 9.4789439,-0.85652291 v 1.775854 c 0,1.34175601 0.4275203,2.00605601 1.4141061,2.00605601 
0.637991,0 1.039203,-0.407788 1.151016,-1.078666 h 0.03289 c 0.157854,0.526179 0.57222,0.776114 
1.04578,0.776114 0.855041,0 1.19048,-0.677456 1.19048,-1.84162601 v -1.637732 z m 2.7755931,0.605106 h 
1.578537 v 0.986585 c 0,0.86819501 -0.210472,1.27598401 -0.789268,1.27598401 -0.545911,0 -0.789269,-0.407789 
-0.789269,-1.32860201 z m -2.2888777,0 h 1.8153167 v 1.078666 c 0,1.04578101 -0.269666,1.49303301 
-0.868195,1.49303301 -0.710341,0 -0.9471217,-0.473561 -0.9471217,-1.47330101 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path160"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 9.9952571,8.5040337 0.3946339,-0.342016 c -0.342016,-0.361748 -0.5459104,-0.789268 
-0.5459104,-1.322024 0,-1.07209 0.7629594,-1.775854 1.9665934,-1.775854 1.19048,0 1.953439,0.703764 
1.953439,1.789008 0,0.466984 -0.19074,0.874772 -0.460406,1.164171 l 0.394634,0.348593 c 0.315707,-0.328862 
0.598528,-0.848463 0.598528,-1.519341 0,-1.42726 -0.966853,-2.4072685 -2.505927,-2.4072685 -1.54565,0 
-2.4861947,0.9931625 -2.4861947,2.3743825 0,0.723495 0.2433577,1.243097 0.6906098,1.690349 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path162"
+         inkscape:connector-curvature="0" />
+      <path
+         d="m 9.4394808,9.9455978 v 1.3680652 c 0,1.670618 0.9076592,2.558545 2.4401552,2.558545 1.525918,0 
2.394113,-0.887927 2.394113,-2.591431 V 9.9455978 Z m 0.506447,0.5919512 h 3.8213742 v 0.703764 c 0,1.322025 
-0.651146,2.006057 -1.887666,2.006057 -1.243098,0 -1.9337082,-0.684032 -1.9337082,-2.006057 z"
+         
style="line-height:0;letter-spacing:-1.13999999px;stroke-width:0.16443089;fill:#bebebe;fill-opacity:1"
+         id="path164"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/icon-list.mk b/icons/icon-list.mk
index 4e6e231e1a..6b32ed4383 100644
--- a/icons/icon-list.mk
+++ b/icons/icon-list.mk
@@ -255,6 +255,10 @@ scalable_images = \
        scalable/gimp-template.svg                              \
        scalable/gimp-text-dir-ltr.svg                          \
        scalable/gimp-text-dir-rtl.svg                          \
+       scalable/gimp-text-dir-ttb-rtl.svg                      \
+       scalable/gimp-text-dir-ttb-rtl-upright.svg              \
+       scalable/gimp-text-dir-ttb-ltr.svg                      \
+       scalable/gimp-text-dir-ttb-ltr-upright.svg              \
        scalable/gimp-text-layer.svg                            \
        scalable/gimp-toilet-paper.svg                          \
        scalable/gimp-tool-airbrush.svg                         \
@@ -926,6 +930,10 @@ icons24_images = \
        24/gimp-template.png                                    \
        24/gimp-text-dir-ltr.png                                \
        24/gimp-text-dir-rtl.png                                \
+       24/gimp-text-dir-ttb-rtl.png                            \
+       24/gimp-text-dir-ttb-rtl-upright.png                    \
+       24/gimp-text-dir-ttb-ltr.png                            \
+       24/gimp-text-dir-ttb-ltr-upright.png                    \
        24/gimp-text-layer.png                                  \
        24/gimp-toilet-paper.png                                \
        24/gimp-tool-airbrush.png                               \
diff --git a/libgimpbase/gimpbaseenums.c b/libgimpbase/gimpbaseenums.c
index cf402359d8..5a807edbc9 100644
--- a/libgimpbase/gimpbaseenums.c
+++ b/libgimpbase/gimpbaseenums.c
@@ -1771,6 +1771,10 @@ gimp_text_direction_get_type (void)
   {
     { GIMP_TEXT_DIRECTION_LTR, "GIMP_TEXT_DIRECTION_LTR", "ltr" },
     { GIMP_TEXT_DIRECTION_RTL, "GIMP_TEXT_DIRECTION_RTL", "rtl" },
+    { GIMP_TEXT_DIRECTION_TTB_RTL, "GIMP_TEXT_DIRECTION_TTB_RTL", "ttb-rtl" },
+    { GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT, "GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT", "ttb-rtl-upright" },
+    { GIMP_TEXT_DIRECTION_TTB_LTR, "GIMP_TEXT_DIRECTION_TTB_LTR", "ttb-ltr" },
+    { GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT, "GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT", "ttb-ltr-upright" },
     { 0, NULL, NULL }
   };
 
@@ -1778,6 +1782,10 @@ gimp_text_direction_get_type (void)
   {
     { GIMP_TEXT_DIRECTION_LTR, NC_("text-direction", "From left to right"), NULL },
     { GIMP_TEXT_DIRECTION_RTL, NC_("text-direction", "From right to left"), NULL },
+    { GIMP_TEXT_DIRECTION_TTB_RTL, NC_("text-direction", "Characters are from top to bottom, Lines are from 
right to left"), NULL },
+    { GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT, NC_("text-direction", "Upright characters are from top to bottom, 
Lines are from right to left"), NULL },
+    { GIMP_TEXT_DIRECTION_TTB_LTR, NC_("text-direction", "Characters are from top to bottom, Lines are from 
left to right"), NULL },
+    { GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT, NC_("text-direction", "Upright characters are from top to bottom, 
Lines are from left to right"), NULL },
     { 0, NULL, NULL }
   };
 
diff --git a/libgimpbase/gimpbaseenums.h b/libgimpbase/gimpbaseenums.h
index 2b5481bc81..fc6442de59 100644
--- a/libgimpbase/gimpbaseenums.h
+++ b/libgimpbase/gimpbaseenums.h
@@ -1340,6 +1340,10 @@ typedef enum
  * GimpTextDirection:
  * @GIMP_TEXT_DIRECTION_LTR: From left to right
  * @GIMP_TEXT_DIRECTION_RTL: From right to left
+ * @GIMP_TEXT_DIRECTION_TTB_RTL: Characters are from top to bottom, Lines are from right to left
+ * @GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT: Upright characters are from top to bottom, Lines are from right to 
left
+ * @GIMP_TEXT_DIRECTION_TTB_LTR: Characters are from top to bottom, Lines are from left to right
+ * @GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT: Upright characters are from top to bottom, Lines are from left to 
right
  *
  * Text directions.
  **/
@@ -1349,8 +1353,12 @@ GType gimp_text_direction_get_type (void) G_GNUC_CONST;
 
 typedef enum
 {
-  GIMP_TEXT_DIRECTION_LTR,   /*< desc="From left to right" >*/
-  GIMP_TEXT_DIRECTION_RTL    /*< desc="From right to left" >*/
+  GIMP_TEXT_DIRECTION_LTR,              /*< desc="From left to right" >*/
+  GIMP_TEXT_DIRECTION_RTL,              /*< desc="From right to left" >*/
+  GIMP_TEXT_DIRECTION_TTB_RTL,          /*< desc="Characters are from top to bottom, Lines are from right to 
left" >*/
+  GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT,  /*< desc="Upright characters are from top to bottom, Lines are from 
right to left" >*/
+  GIMP_TEXT_DIRECTION_TTB_LTR,          /*< desc="Characters are from top to bottom, Lines are from left to 
right" >*/
+  GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT   /*< desc="Upright characters are from top to bottom, Lines are from 
left to right" >*/
 } GimpTextDirection;
 
 
diff --git a/libgimpwidgets/gimpicons.h b/libgimpwidgets/gimpicons.h
index 0ba79562b0..7a7b3a694a 100644
--- a/libgimpwidgets/gimpicons.h
+++ b/libgimpwidgets/gimpicons.h
@@ -217,6 +217,10 @@ G_BEGIN_DECLS
 #define GIMP_ICON_FORMAT_TEXT_UNDERLINE      "format-text-underline"
 #define GIMP_ICON_FORMAT_TEXT_DIRECTION_LTR  "gimp-text-dir-ltr" /* use FDO */
 #define GIMP_ICON_FORMAT_TEXT_DIRECTION_RTL  "gimp-text-dir-rtl" /* use FDO */
+#define GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_RTL           "gimp-text-dir-ttb-rtl" /* use FDO */
+#define GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_RTL_UPRIGHT   "gimp-text-dir-ttb-rtl-upright" /* use FDO */
+#define GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_LTR           "gimp-text-dir-ttb-ltr" /* use FDO */
+#define GIMP_ICON_FORMAT_TEXT_DIRECTION_TTB_LTR_UPRIGHT   "gimp-text-dir-ttb-ltr-upright" /* use FDO */
 #define GIMP_ICON_FORMAT_TEXT_SPACING_LETTER "gimp-letter-spacing"
 #define GIMP_ICON_FORMAT_TEXT_SPACING_LINE   "gimp-line-spacing"
 
diff --git a/menus/text-editor-toolbar.xml b/menus/text-editor-toolbar.xml
index 9d23692c03..d1e096fee5 100644
--- a/menus/text-editor-toolbar.xml
+++ b/menus/text-editor-toolbar.xml
@@ -8,5 +8,9 @@
     <separator />
     <toolitem action="text-editor-direction-ltr" />
     <toolitem action="text-editor-direction-rtl" />
+    <toolitem action="text-editor-direction-ttb-rtl" />
+    <toolitem action="text-editor-direction-ttb-rtl-upright" />
+    <toolitem action="text-editor-direction-ttb-ltr" />
+    <toolitem action="text-editor-direction-ttb-ltr-upright" />
   </toolbar>
 </ui>
diff --git a/menus/text-tool-menu.xml b/menus/text-tool-menu.xml
index d4923a859f..c38f86be2f 100644
--- a/menus/text-tool-menu.xml
+++ b/menus/text-tool-menu.xml
@@ -16,6 +16,10 @@
     <separator />
     <menuitem action="text-tool-direction-ltr" />
     <menuitem action="text-tool-direction-rtl" />
+    <menuitem action="text-tool-direction-ttb-rtl" />
+    <menuitem action="text-tool-direction-ttb-rtl-upright" />
+    <menuitem action="text-tool-direction-ttb-ltr" />
+    <menuitem action="text-tool-direction-ttb-ltr-upright" />
     <separator />
     <menu action="text-tool-input-methods-menu" />
   </popup>
diff --git a/pdb/enums.pl b/pdb/enums.pl
index 3f295a0577..ad79223d0f 100644
--- a/pdb/enums.pl
+++ b/pdb/enums.pl
@@ -584,9 +584,17 @@ package Gimp::CodeGen::enums;
     GimpTextDirection =>
        { contig => 1,
          header => 'libgimpbase/gimpbaseenums.h',
-         symbols => [ qw(GIMP_TEXT_DIRECTION_LTR GIMP_TEXT_DIRECTION_RTL) ],
+         symbols => [ qw(GIMP_TEXT_DIRECTION_LTR GIMP_TEXT_DIRECTION_RTL
+                         GIMP_TEXT_DIRECTION_TTB_RTL
+                         GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT
+                         GIMP_TEXT_DIRECTION_TTB_LTR
+                         GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT) ],
          mapping => { GIMP_TEXT_DIRECTION_LTR => '0',
-                      GIMP_TEXT_DIRECTION_RTL => '1' }
+                      GIMP_TEXT_DIRECTION_RTL => '1',
+                      GIMP_TEXT_DIRECTION_TTB_RTL => '2',
+                      GIMP_TEXT_DIRECTION_TTB_RTL_UPRIGHT => '3',
+                      GIMP_TEXT_DIRECTION_TTB_LTR => '4',
+                      GIMP_TEXT_DIRECTION_TTB_LTR_UPRIGHT => '5' }
        },
     GimpTextHintStyle =>
        { contig => 1,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]