From 798a4d8058e4568a7b2155866b9c25c9e657f4a0 Mon Sep 17 00:00:00 2001 From: Kathy Date: Tue, 9 Nov 2021 13:03:25 +0000 Subject: [PATCH] F2021-066 some alarm names print past alarm box border & F2021-070 handle long procedure titles Added comment BNPP: F2021-066 some alarm names print past alarm box border & F2021-070 handle long procedure titles --- PROMS/Formats/fmtall/BNPPalrall.xml | Bin 196270 -> 205350 bytes .../frmVersionsProperties.cs | 2 +- .../VEPROMS.CSLA.Library/Format/PageStyles.cs | 9 ++++- .../Volian.Print.Library/VlnSvgPageHelper.cs | 32 ++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) diff --git a/PROMS/Formats/fmtall/BNPPalrall.xml b/PROMS/Formats/fmtall/BNPPalrall.xml index fe8726952700d6cd9680d4d575225354c994d96e..b9366633342469f3be5eae720d109dec85616157 100644 GIT binary patch delta 1446 zcmb7DT}YE*6n^(O=9ojwBrC=mLN>L)q-3d!DbYok4l=VjKey8Pvst5dQDHVix)5pR z!gG8CecH&J3)O>@C<$Gu0TPP$}lf z+k;`!l|v(%jBvw0QKdMz9ndjW%z=KqmlaT`0vY0`J21#Z4iZRDauAUZVof7$2lP~F zK_AWBLMBD(Q4zcIP~-&i#T6@ZwMnAKXxav!Ay=&Ggpf%~KID_B8s22VA~)fs$zdqP zWglLp9@?Sg)cp(D63-?DMMhy3TOVU8r9j7aSkIO29!EWCeOwvy69{x)gdm!q!o5!d z%qL4NvhsB72-ETPcQ8A1@voWNK*wsh6+F>XtRKzJa|2||%M{|nG3=F5{{_@=ee^Ub zKtbv{Soo=ohU!pDy(VaBu@Ne1J7xaDY&G=Ho)ulaSMb1CIEN7O2JH&ArG7cO|#R;+s?Q;^HWcNAM^=sLGu*K>r)eV$8UegvCX z6~r*a$=3*#OK(C&(_s`P`zADBWl9Rq;w^o7ht-s${N+6uLpBAGzeA;dNS delta 240 zcmZ2>glFAf?uHh|Ele!d(-*`uX-zK(U}^#pJkz^sm_nvsuw+u09%I84#8@=_qAgSJ z^aagKBHIIOnR=L}PY`C(m>%H5BrrXyp2=nUg*qm#?GqfBy7<8+Z3i0S#6A7NGe*AY z4UtTfrcdZ+5}JMhL^vE_a)L|rO#fiXq_w>vmPt(x%?aCqPPid7eS _FontShrinkAftLen; // F2021-066 & 070 (text len before shrinking font) + public int? FontShrinkAftLen + { + get + { + return (LazyLoad(ref _FontShrinkAftLen, "@FontShrinkAftLen")); + } + } #endregion - #region Override ToString public override string ToString() { diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index ca11a466..d1b67595 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -2686,6 +2686,9 @@ i = 0; } } svgText.Font = pageItem.Font.WindowsFont; + // F2021-070 & 066 - shrink font size of page list items if format has amount + if (pageItem.FontShrinkAftLen != null && pageItem.FontShrinkAftLen > 0) + svgText.FontSize = ShrinkIt(text, svgText, (float)pageItem.FontShrinkAftLen); float row = (float)pageItem.Row < 0 ? -(float)pageItem.Row : (float)pageItem.Row; if ((justify & VEPROMS.CSLA.Library.E_Justify.PSTop) == VEPROMS.CSLA.Library.E_Justify.PSTop) row -= ((72 / 6) / 2); float lcol = pageItem.Col ?? 0; @@ -2705,6 +2708,35 @@ i = 0; Volian.Base.Library.BaselineMetaFile.WriteLine(" PL x {0} y {1} {2} {3} {4} \"{5}\"", svgText.X, svgText.Y, svgText.FontFamily, svgText.FontSize, svgText.SVGFontStyle, TextForBaseline.FixText(svgText.Text)); return svgText; } + // F2021-070 & 066 - shrink font size of page list items if format has amount. ShrinkIt compares size (width) of text with input font and + // will decrement font size by one until the text size is less than value from format file. + private static string ShrinkIt(string text, SvgText svgText, float fontShrinkAftLen) + { + int tmpi = 0; + using (var image = new System.Drawing.Bitmap(1, 1)) + { + using (var g = System.Drawing.Graphics.FromImage(image)) + { + try + { + // pageitem's font size did not have a 'set'. svgtext's fontsize is in format of 12PT, so get font size from that + // and decrement until it is less than format value + System.Drawing.SizeF mySize = g.MeasureString(text, svgText.Font); + while (mySize.Width > fontShrinkAftLen) + { + tmpi = Convert.ToInt32(svgText.FontSize.Substring(0, svgText.FontSize.IndexOf("PT"))); + tmpi = tmpi - 1; + svgText.FontSize = tmpi.ToString() + "PT"; + mySize = g.MeasureString(text, svgText.Font); + } + } + catch // don't reset if error occurred. + { + } + } + } + return svgText.FontSize; + } private SvgPart PageItemToSvgText(VEPROMS.CSLA.Library.PageItem pageItem, string text, float yOffset) { SvgText svgText = new SvgText();