From 6c3e5e5d9216d9f7f51c150ab446f895732bcb95 Mon Sep 17 00:00:00 2001
From: Srishti <srishsensation@gmail.com>
Date: Sat, 13 Jul 2013 01:56:30 +0530
Subject: [PATCH] Fixing the offset of vertical CJK text

---
 src/canvas.js             | 15 ++++-----------
 web/text_layer_builder.js |  5 +----
 2 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/src/canvas.js b/src/canvas.js
index 55975e895..ef433ce8f 100644
--- a/src/canvas.js
+++ b/src/canvas.js
@@ -1199,11 +1199,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
       if (textSelection) {
         geom.canvasWidth = canvasWidth;
         if (vertical) {
-          var vmetric = font.defaultVMetrics;
-          geom.x += vmetric[1] * fontSize * current.fontMatrix[0] /
-                    fontSizeScale * geom.hScale;
-          geom.y += vmetric[2] * fontSize * current.fontMatrix[0] /
-                    fontSizeScale * geom.vScale;
+          var VERTICAL_TEXT_ROTATION = Math.PI / 2;
+          geom.angle += VERTICAL_TEXT_ROTATION;
         }
         this.textLayer.appendText(geom);
       }
@@ -1259,12 +1256,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
       if (textSelection) {
         geom.canvasWidth = canvasWidth;
         if (vertical) {
-          var fontSizeScale = current.fontSizeScale;
-          var vmetric = font.defaultVMetrics;
-          geom.x += vmetric[1] * fontSize * current.fontMatrix[0] /
-                    fontSizeScale * geom.hScale;
-          geom.y += vmetric[2] * fontSize * current.fontMatrix[0] /
-                    fontSizeScale * geom.vScale;
+          var VERTICAL_TEXT_ROTATION = Math.PI / 2;
+          geom.angle += VERTICAL_TEXT_ROTATION;
         }
         this.textLayer.appendText(geom);
       }
diff --git a/web/text_layer_builder.js b/web/text_layer_builder.js
index 5aa6edfa1..db9b233f8 100644
--- a/web/text_layer_builder.js
+++ b/web/text_layer_builder.js
@@ -83,9 +83,6 @@ var TextLayerBuilder = function textLayerBuilder(options) {
         var textScale = textDiv.dataset.canvasWidth / width;
         var rotation = textDiv.dataset.angle;
         var transform = 'scale(' + textScale + ', 1)';
-        if (bidiTexts[i].dir === 'ttb') {
-          rotation += 90;
-        }
         transform = 'rotate(' + rotation + 'deg) ' + transform;
         CustomStyle.setProp('transform' , textDiv, transform);
         CustomStyle.setProp('transformOrigin' , textDiv, '0% 0%');
@@ -161,7 +158,7 @@ var TextLayerBuilder = function textLayerBuilder(options) {
 
       textDiv.textContent = bidiText.str;
       // bidiText.dir may be 'ttb' for vertical texts.
-      textDiv.dir = bidiText.dir === 'rtl' ? 'rtl' : 'ltr';
+      textDiv.dir = bidiText.dir;
     }
 
     this.setupRenderLayoutTimer();