Merge pull request #2932 from vyv03354/bug849627
Fix the calculation of default vertical metrics
This commit is contained in:
commit
3f195f3308
@ -989,7 +989,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
|||||||
var character = glyph.fontChar;
|
var character = glyph.fontChar;
|
||||||
var vmetric = glyph.vmetric || defaultVMetrics;
|
var vmetric = glyph.vmetric || defaultVMetrics;
|
||||||
if (vertical) {
|
if (vertical) {
|
||||||
var vx = vmetric[1] * fontSize * current.fontMatrix[0];
|
var vx = glyph.vmetric ? vmetric[1] : glyph.width * 0.5;
|
||||||
|
vx = -vx * fontSize * current.fontMatrix[0];
|
||||||
var vy = vmetric[2] * fontSize * current.fontMatrix[0];
|
var vy = vmetric[2] * fontSize * current.fontMatrix[0];
|
||||||
}
|
}
|
||||||
var width = vmetric ? -vmetric[0] : glyph.width;
|
var width = vmetric ? -vmetric[0] : glyph.width;
|
||||||
@ -1064,7 +1065,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
|||||||
geom.canvasWidth = canvasWidth;
|
geom.canvasWidth = canvasWidth;
|
||||||
if (vertical) {
|
if (vertical) {
|
||||||
var vmetric = font.defaultVMetrics;
|
var vmetric = font.defaultVMetrics;
|
||||||
geom.x -= vmetric[1] * fontSize * current.fontMatrix[0] /
|
geom.x += vmetric[1] * fontSize * current.fontMatrix[0] /
|
||||||
fontSizeScale * geom.hScale;
|
fontSizeScale * geom.hScale;
|
||||||
geom.y += vmetric[2] * fontSize * current.fontMatrix[0] /
|
geom.y += vmetric[2] * fontSize * current.fontMatrix[0] /
|
||||||
fontSizeScale * geom.vScale;
|
fontSizeScale * geom.vScale;
|
||||||
@ -1125,7 +1126,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
|||||||
if (vertical) {
|
if (vertical) {
|
||||||
var fontSizeScale = current.fontSizeScale;
|
var fontSizeScale = current.fontSizeScale;
|
||||||
var vmetric = font.defaultVMetrics;
|
var vmetric = font.defaultVMetrics;
|
||||||
geom.x -= vmetric[1] * fontSize * current.fontMatrix[0] /
|
geom.x += vmetric[1] * fontSize * current.fontMatrix[0] /
|
||||||
fontSizeScale * geom.hScale;
|
fontSizeScale * geom.hScale;
|
||||||
geom.y += vmetric[2] * fontSize * current.fontMatrix[0] /
|
geom.y += vmetric[2] * fontSize * current.fontMatrix[0] /
|
||||||
fontSizeScale * geom.vScale;
|
fontSizeScale * geom.vScale;
|
||||||
|
@ -1047,7 +1047,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||||||
|
|
||||||
if (properties.vertical) {
|
if (properties.vertical) {
|
||||||
var vmetrics = dict.get('DW2') || [880, -1000];
|
var vmetrics = dict.get('DW2') || [880, -1000];
|
||||||
defaultVMetrics = [vmetrics[1], vmetrics[1] / 2, vmetrics[0]];
|
defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];
|
||||||
vmetrics = dict.get('W2');
|
vmetrics = dict.get('W2');
|
||||||
if (vmetrics) {
|
if (vmetrics) {
|
||||||
for (var i = 0, ii = vmetrics.length; i < ii; i++) {
|
for (var i = 0, ii = vmetrics.length; i < ii; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user