Skip to content

Commit 36cf9c4

Browse files
authored
Merge pull request phaserjs#5270 from rexrainbow/text-measureText
Get ascent and descent from context.measureText method
2 parents 74cd3c5 + a9e6604 commit 36cf9c4

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

src/gameobjects/text/MeasureText.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,25 @@ var MeasureText = function (textStyle)
2626

2727
textStyle.syncFont(canvas, context);
2828

29-
var width = Math.ceil(context.measureText(textStyle.testString).width * textStyle.baselineX);
29+
var metrics = context.measureText(textStyle.testString);
30+
31+
if (metrics.hasOwnProperty('actualBoundingBoxAscent') && metrics.hasOwnProperty('actualBoundingBoxDescent'))
32+
{
33+
var ascent = metrics.actualBoundingBoxAscent;
34+
var descent = metrics.actualBoundingBoxDescent;
35+
36+
var output = {
37+
ascent: ascent,
38+
descent: descent,
39+
fontSize: (ascent + descent)
40+
};
41+
42+
CanvasPool.remove(canvas);
43+
44+
return output;
45+
}
46+
47+
var width = Math.ceil(metrics.width * textStyle.baselineX);
3048
var baseline = width;
3149
var height = 2 * baseline;
3250

0 commit comments

Comments
 (0)