From 6c3e5e5d9216d9f7f51c150ab446f895732bcb95 Mon Sep 17 00:00:00 2001 From: Srishti 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();