Add HB_DIRECTION_IS_FORWARD/BACKWARD
authorBehdad Esfahbod <behdad@behdad.org>
Sun, 20 Dec 2009 12:58:50 +0000 (13:58 +0100)
committerBehdad Esfahbod <behdad@behdad.org>
Sun, 20 Dec 2009 12:58:50 +0000 (13:58 +0100)
src/hb-common.h
src/hb-shape.c

index d07b204..25249cc 100644 (file)
@@ -81,6 +81,8 @@ typedef enum _hb_direction_t {
 
 #define HB_DIRECTION_IS_HORIZONTAL(dir)        ((dir) == HB_DIRECTION_LTR || (dir) == HB_DIRECTION_RTL)
 #define HB_DIRECTION_IS_VERTICAL(dir)  ((dir) == HB_DIRECTION_TTB || (dir) == HB_DIRECTION_BTT)
+#define HB_DIRECTION_IS_FORWARD(dir)   ((dir) == HB_DIRECTION_LTR || (dir) == HB_DIRECTION_TTB)
+#define HB_DIRECTION_IS_BACKWARD(dir)  ((dir) == HB_DIRECTION_RTL || (dir) == HB_DIRECTION_BTT)
 
 
 #endif /* HB_COMMON_H */
index 197d4a0..2605af6 100644 (file)
@@ -130,8 +130,7 @@ hb_shape (hb_font_t    *font,
 
   /* GPOS / kern */
 
-  /* TODO: Vertical */
-  if (buffer->direction == HB_DIRECTION_RTL)
+  if (HB_DIRECTION_IS_BACKWARD (buffer->direction))
     hb_buffer_reverse (buffer);
 
   buffer->direction = original_direction;