diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index 082e9f2c..e6550f6a 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -865,7 +865,6 @@ namespace Volian.Print.Library case "[COVERPROCTITLE]": float linelen = (int)section.ActiveFormat.PlantFormat.FormatData.ProcData.TitleLength * (float)pageItem.Font.CPI / 12; plstr = SplitTitle(svgGroup, pageItem, section.MyProcedure.MyContent.Text.ToUpper(), (int)linelen, token, plstr); //,rowAdj); - //SplitTitle(svgGroup, pageItem, section.MyProcedure.MyContent.Text, (int)section.ActiveFormat.PlantFormat.FormatData.ProcData.TitleLength, token); break; case "{COVERTITLE1}": case "[COVERTITLE1]": @@ -874,7 +873,6 @@ namespace Volian.Print.Library int ctlen = section.ActiveFormat.PlantFormat.FormatData.ProcData.CoverTitleLength ?? 0; float coverlinelen = ((ctlen == 0) ? (int)section.ActiveFormat.PlantFormat.FormatData.ProcData.TitleLength : ctlen) * (float)pageItem.Font.CPI / 12; plstr = SplitCoverTitle(svgGroup, pageItem, section.MyProcedure.MyContent.Text, (int)coverlinelen, token, plstr);//, rowAdj); - //SplitTitle(svgGroup, pageItem, section.MyProcedure.MyContent.Text, (int)section.ActiveFormat.PlantFormat.FormatData.ProcData.TitleLength, token); break; case "{EOPNUM}": case "[EOPNUM]": @@ -1000,7 +998,7 @@ namespace Volian.Print.Library svgGroup.Add(PageItemToSvgText(pageItem, line, yOffset)); plstr = plstr.Replace(match, ""); } - yOffset += 12; + yOffset += (float)((pageItem.Font.Size > 14) ? pageItem.Font.Size : 12); } return plstr; } @@ -1221,8 +1219,17 @@ namespace Volian.Print.Library colAdj16bit = (1 + text.Length) * ((72 / (float)pageItem.Font.CPI) - (72 / 12)) / 2; } } + float lcol = pageItem.Col ?? 0; + + // the column may need adjusted based on the document styles PageWidth. This was done in + // the 16bit code and was needed here to get the printed output to match. + if (pageItem.Font.FontIsProportional() && svgText.Justify == SvgJustify.Center) + { + int dotsPerChar = (int)(2400 / (MySection.MyDocStyle.Layout.PageWidth / 6)); + lcol = (lcol * 25) / dotsPerChar; + } svgText.Font = pageItem.Font.WindowsFont; - svgText.X = new SvgMeasurement((float)pageItem.Col - colAdj16bit, E_MeasurementUnits.PT); // new SvgMeasurement((float)(pageItem.Col ?? 0), E_MeasurementUnits.PT); + svgText.X = new SvgMeasurement((float)lcol - colAdj16bit, E_MeasurementUnits.PT); // new SvgMeasurement((float)(pageItem.Col ?? 0), E_MeasurementUnits.PT); svgText.Y = new SvgMeasurement((float)(yOffset + pageItem.Row ?? 0), E_MeasurementUnits.PT); if (svgText.Font.Underline && svgText.Text.EndsWith(" ")) svgText.Text = svgText.Text.Substring(0, svgText.Text.Length - 1) + "\xA0";// replace last space with a hardspace return svgText;