TextHeight Bug

I had a couple of dynamic text fields that i want to center it vertically, hence i started using the .textHeight property, which apparently worked until i started testing (various font size, leading, plain or html text…). with further testing i found that by multiplying the actual textHeight by 1.35 (??), it stayed consistent (code follows). But that cant be right can it? Anyone would know what would cause this bug? I am usinf AS2, FP10, the font is embedded,

trace(copy01.reviewText.textHeight);

copy01.main_txt.htmlText = " stuff  try new adding some space to the le lines which seeme not to match the textHeight property ???!! ";//copy01_var;
copy01.reviewText.htmlText ="car wash";// copy01_review;
trace(copy01.reviewText.textHeight);
copy01.main_txt.autoSize = true; 
copy01.reviewText.autoSize = true;
var heightTo = copy01._y + copy01.main_txt.textHeight;
tfHeight.htmlText = copy01.main_txt.textHeight;
tfHeight.htmlText += "/+ "+ copy01.reviewText.textHeight + "<br> total height" + heightTo+ "<br> leading of text " + copy01.main_txt.leading + " x";

yText.text = copy01._y;
 
trace("txt height "+ copy01.reviewText.textHeight);

copy01.reviewText._y =  /*copy01._y + */(copy01.main_txt.textHeight* 1.35) +  ( copy01.reviewText.textHeight * 1/*.5*/) ;

//copy01._y = (Stage.height - plinth_mc._height - (copy01.reviewText._y + copy01.reviewText.textHeight)) / 2 /*- 5*/;

this.createEmptyMovieClip("square_mc", this.getNextHighestDepth());
square_mc.lineStyle(1, 0xfffeff, 100, true, "none", "round", "miter", 1);
//square_mc.beginFill(0xFF0000);
square_mc.moveTo(copy01._x, copy01._y);
square_mc.lineTo(copy01._x + copy01._width, copy01._y);
square_mc.lineTo(copy01._x + copy01._width, heightTo*1.35 );
square_mc.lineTo(copy01._x , heightTo*1.35   );
square_mc.lineTo(copy01._x, copy01._y);
square_mc.drawRect(1,0,110,200);//copy01, copy01._x, copy01._y, copy01._width, copy01.main_txt.textHeight);
square_mc.endFill();



this.createEmptyMovieClip("review height", this.getNextHighestDepth());
square_mc.lineStyle(1, 0x000034, 50, true, "none", "round", "miter", 1);
//square_mc.beginFill(0x55FF0000);
square_mc.moveTo(copy01._x , copy01._y + (copy01.main_txt.textHeight*1.35));
square_mc.lineTo(copy01._x + copy01._width, copy01._y + (copy01.main_txt.textHeight*1.35));
square_mc.lineTo(copy01._x + copy01._width, copy01._y + copy01.reviewText._y - copy01.reviewText.textHeight );
square_mc.lineTo(copy01._x , copy01._y + copy01.reviewText._y - copy01.reviewText.textHeight);
square_mc.lineTo(copy01._x, copy01._y + copy01.reviewText._y);
square_mc.drawRect(1,0,110,200);//copy01, copy01._x, copy01._y, copy01._width, copy01.main_txt.textHeight);
square_mc.endFill();

this.createEmptyMovieClip("review height", this.getNextHighestDepth());
square_mc.lineStyle(1, 0xff0034, 50, true, "none", "round", "miter", 1);
//square_mc.beginFill(0x55FF0000);
square_mc.moveTo(copy01._x , copy01._y + copy01.reviewText._y);
square_mc.lineTo(copy01._x + copy01._width, copy01._y + copy01.reviewText._y);
square_mc.lineTo(copy01._x + copy01._width, copy01._y + copy01.reviewText._y + copy01.reviewText.textHeight );
square_mc.lineTo(copy01._x , copy01._y + copy01.reviewText._y + copy01.reviewText.textHeight);
square_mc.lineTo(copy01._x, copy01._y + copy01.reviewText._y);
square_mc.drawRect(1,0,110,200);//copy01, copy01._x, copy01._y, copy01._width, copy01.main_txt.textHeight);
square_mc.endFill();