C2017-036 Call method that finds a proportional font that supports the symbol characters we use.
This commit is contained in:
parent
a2c11290a7
commit
203baaf699
@ -1048,14 +1048,15 @@ namespace Volian.Controls.Library
|
|||||||
get { return _CircleYOffset; }
|
get { return _CircleYOffset; }
|
||||||
set { _CircleYOffset = value; if (_MyStepPanel != null) _MyStepPanel.Refresh(); }
|
set { _CircleYOffset = value; if (_MyStepPanel != null) _MyStepPanel.Refresh(); }
|
||||||
}
|
}
|
||||||
private Font _CircleFont = new Font("Arial Unicode MS", 23);
|
// Appears to not be used - JSJ - 11-13-2017
|
||||||
[Category("Circle")]
|
//private Font _CircleFont = new Font("Arial Unicode MS", 23);
|
||||||
[DisplayName("Circle Font")]
|
//[Category("Circle")]
|
||||||
public Font CircleFont
|
//[DisplayName("Circle Font")]
|
||||||
{
|
//public Font CircleFont
|
||||||
get { return _CircleFont; }
|
//{
|
||||||
set { _CircleFont = value; if(_MyStepPanel != null) _MyStepPanel.Refresh(); }
|
// get { return _CircleFont; }
|
||||||
}
|
// set { _CircleFont = value; if(_MyStepPanel != null) _MyStepPanel.Refresh(); }
|
||||||
|
//}
|
||||||
private Color _CircleColor = Color.Black;
|
private Color _CircleColor = Color.Black;
|
||||||
[Category("Circle")]
|
[Category("Circle")]
|
||||||
[DisplayName("Circle Color")]
|
[DisplayName("Circle Color")]
|
||||||
|
@ -281,8 +281,7 @@ namespace Volian.Controls.Library
|
|||||||
using (StepRTB srtb = new StepRTB())
|
using (StepRTB srtb = new StepRTB())
|
||||||
{
|
{
|
||||||
if (srtb.FontIsFixed(font)) MySymbolFontName = "FreeMono"; // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
if (srtb.FontIsFixed(font)) MySymbolFontName = "FreeMono"; // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
//else MySymbolFontName = Volian.Base.Library.vlnFont.ProportionalSymbolFont; // "FreeSerif";
|
else MySymbolFontName = Volian.Base.Library.vlnFont.ProportionalSymbolFont; // C2017-036 get best available proportional font for symbols
|
||||||
else MySymbolFontName = "Arial Unicode MS";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1250,8 +1249,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
||||||
if (!isFixed)
|
if (!isFixed)
|
||||||
//selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;}");
|
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 get best available proportional font for symbols
|
||||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 Arial Unicode MS;}}{\colortbl ;\red255\green0\blue0;}");
|
|
||||||
else
|
else
|
||||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
selectedRtfSB.Append("\r\n");
|
selectedRtfSB.Append("\r\n");
|
||||||
@ -1330,8 +1328,7 @@ namespace Volian.Controls.Library
|
|||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.Append(@"{\fonttbl{\f0\fnil\fcharset2 " + this.Font.FontFamily.Name + @";}");
|
sb.Append(@"{\fonttbl{\f0\fnil\fcharset2 " + this.Font.FontFamily.Name + @";}");
|
||||||
if (!FontIsFixed(this.Font))
|
if (!FontIsFixed(this.Font))
|
||||||
//sb.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}");
|
sb.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}"); // C2017-036 get best available proportional font for symbols
|
||||||
sb.Append(@"{\f1\fnil\fcharset0 Arial Unicode MS;}}");
|
|
||||||
else
|
else
|
||||||
sb.Append(@"{\f1\fnil\fcharset0 FreeMono;}}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
sb.Append(@"{\f1\fnil\fcharset0 FreeMono;}}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
|
@ -869,9 +869,10 @@ namespace Volian.Controls.Library
|
|||||||
get { return _ReadingXml; }
|
get { return _ReadingXml; }
|
||||||
}
|
}
|
||||||
private static Regex _ReplaceVESymbFix = new Regex(@"({\\f[0-9]+[^ ]* )(FreeMono)(;})"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
private static Regex _ReplaceVESymbFix = new Regex(@"({\\f[0-9]+[^ ]* )(FreeMono)(;})"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
private static Regex _ReplaceArialUnicodeMS = new Regex(@"({\\f[0-9]+[^ ]* )(Arial Unicode MS)(;})");
|
private static Regex _ReplaceArialUnicodeMS = new Regex(@"({\\f[0-9]+[^ ]* )(" + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @")(;})"); // C2017-036 get best available proportional font for symbols
|
||||||
// B2017-173 VESymFix font was being replaced by the table's default font, causing empty squares for the symbols (pre FreeMono font) in tables
|
// B2017-173 VESymFix font was being replaced by the table's default font, causing empty squares for the symbols (pre FreeMono font) in tables
|
||||||
private static Regex _ReplaceTextFont = new Regex(@"({\\f[0-9]+[^ ]* )(?((?!FreeMono)(?!Arial Unicode MS)(?!VESymbFix))([^;]*)|(!!!!))(;})"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
//C2017-036 Added FreeSerif which may be used if Arial Unicode MS is not available
|
||||||
|
private static Regex _ReplaceTextFont = new Regex(@"({\\f[0-9]+[^ ]* )(?((?!FreeMono)(?!FreeSerif)(?!Arial Unicode MS)(?!VESymbFix))([^;]*)|(!!!!))(;})"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
private bool FontIsFixed(Font myFont)
|
private bool FontIsFixed(Font myFont)
|
||||||
{
|
{
|
||||||
Graphics grph = Graphics.FromHwnd(this.Handle);
|
Graphics grph = Graphics.FromHwnd(this.Handle);
|
||||||
@ -899,7 +900,7 @@ namespace Volian.Controls.Library
|
|||||||
FontFamily ff = StepRTB.MyFontFamily;
|
FontFamily ff = StepRTB.MyFontFamily;
|
||||||
if (StepRTB.MySymbolFontName != "FreeMono") // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
if (StepRTB.MySymbolFontName != "FreeMono") // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
str = _ReplaceVESymbFix.Replace(str, "$1" + StepRTB.MySymbolFontName + "$3");
|
str = _ReplaceVESymbFix.Replace(str, "$1" + StepRTB.MySymbolFontName + "$3");
|
||||||
if (StepRTB.MySymbolFontName != "Arial Unicode MS")
|
if (StepRTB.MySymbolFontName != Volian.Base.Library.vlnFont.ProportionalSymbolFont) // C2017-036 get best available proportional font for symbols
|
||||||
str = _ReplaceArialUnicodeMS.Replace(str, "$1" + StepRTB.MySymbolFontName + "$3");
|
str = _ReplaceArialUnicodeMS.Replace(str, "$1" + StepRTB.MySymbolFontName + "$3");
|
||||||
str = _ReplaceTextFont.Replace(str, "$1" + ff.Name + "$4");
|
str = _ReplaceTextFont.Replace(str, "$1" + ff.Name + "$4");
|
||||||
}
|
}
|
||||||
@ -909,7 +910,7 @@ namespace Volian.Controls.Library
|
|||||||
if (FontIsFixed(vefont.WindowsFont))
|
if (FontIsFixed(vefont.WindowsFont))
|
||||||
str = _ReplaceArialUnicodeMS.Replace(str, "$1" + "FreeMono" + "$3"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
str = _ReplaceArialUnicodeMS.Replace(str, "$1" + "FreeMono" + "$3"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||||
else
|
else
|
||||||
str = _ReplaceVESymbFix.Replace(str, "$1" + "Arial Unicode MS" + "$3");
|
str = _ReplaceVESymbFix.Replace(str, "$1" + Volian.Base.Library.vlnFont.ProportionalSymbolFont + "$3"); // C2017-036 get best available proportional font for symbols
|
||||||
str = _ReplaceTextFont.Replace(str, "$1" + ff.Name + "$4");
|
str = _ReplaceTextFont.Replace(str, "$1" + ff.Name + "$4");
|
||||||
}
|
}
|
||||||
// To prevent scroll bars from being flashed on/off
|
// To prevent scroll bars from being flashed on/off
|
||||||
|
@ -876,7 +876,7 @@ namespace Volian.Print.Library
|
|||||||
rtb.SelectionFont = VE_Font.GetWinSysFont(DefaultFont, fnt.Style);
|
rtb.SelectionFont = VE_Font.GetWinSysFont(DefaultFont, fnt.Style);
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
if ((rtb.SelectionFont.FontFamily.Name == "VESymbFix" || rtb.SelectionFont.FontFamily.Name.StartsWith("Arial Unicode")) && rtb.SelectedText.Length > 0)
|
if ((rtb.SelectionFont.FontFamily.Name == "VESymbFix" || rtb.SelectionFont.FontFamily.Name.StartsWith(Volian.Base.Library.vlnFont.ProportionalSymbolFont)) && rtb.SelectedText.Length > 0) // C2017-036 get best available proportional font for symbols
|
||||||
{
|
{
|
||||||
for (int j = 0; j < SymReplaceList.MaxIndex; j++)
|
for (int j = 0; j < SymReplaceList.MaxIndex; j++)
|
||||||
{
|
{
|
||||||
|
@ -209,10 +209,12 @@ namespace Volian.Print.Library
|
|||||||
float[] widths = new float[] { 1f, 1f, 1f, 1f, 4f };
|
float[] widths = new float[] { 1f, 1f, 1f, 1f, 4f };
|
||||||
t.SetWidths(widths);
|
t.SetWidths(widths);
|
||||||
//t.HorizontalAlignment = 0;
|
//t.HorizontalAlignment = 0;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 9, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
iTextSharp.text.Font f4 = pdf.GetFont("Arial Unicode MS", 9, 1, Color.BLACK);
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 9, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f4 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 9, 1, Color.BLACK);
|
||||||
//report title
|
//report title
|
||||||
Phrase h = new Phrase();
|
Phrase h = new Phrase();
|
||||||
h.Font = f1;
|
h.Font = f1;
|
||||||
@ -818,10 +820,12 @@ namespace Volian.Print.Library
|
|||||||
float[] widths = new float[] { 1f, 1f, 1f, 1f, 4f };
|
float[] widths = new float[] { 1f, 1f, 1f, 1f, 4f };
|
||||||
t.SetWidths(widths);
|
t.SetWidths(widths);
|
||||||
//t.HorizontalAlignment = 0;
|
//t.HorizontalAlignment = 0;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial.
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 9, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
iTextSharp.text.Font f4 = pdf.GetFont("Arial Unicode MS", 9, 1, Color.BLACK);
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 9, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f4 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 9, 1, Color.BLACK);
|
||||||
//report title
|
//report title
|
||||||
Phrase h = new Phrase();
|
Phrase h = new Phrase();
|
||||||
h.Font = f1;
|
h.Font = f1;
|
||||||
@ -1297,10 +1301,12 @@ namespace Volian.Print.Library
|
|||||||
float[] widths = new float[] { 1f, 1f, 1f, 1f, 4f };
|
float[] widths = new float[] { 1f, 1f, 1f, 1f, 4f };
|
||||||
t.SetWidths(widths);
|
t.SetWidths(widths);
|
||||||
//t.HorizontalAlignment = 0;
|
//t.HorizontalAlignment = 0;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 9, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
iTextSharp.text.Font f4 = pdf.GetFont("Arial Unicode MS", 9, 1, Color.BLACK);
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 9, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f4 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 9, 1, Color.BLACK);
|
||||||
//report title
|
//report title
|
||||||
Phrase h = new Phrase();
|
Phrase h = new Phrase();
|
||||||
h.Font = f1;
|
h.Font = f1;
|
||||||
|
@ -123,10 +123,12 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
private void BuildConsistencyReport(iTextSharp.text.Document doc)
|
private void BuildConsistencyReport(iTextSharp.text.Document doc)
|
||||||
{
|
{
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 12, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 8, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 1, Color.BLACK);
|
||||||
iTextSharp.text.Font f4 = pdf.GetFont("Arial Unicode MS", 10, 2, Color.BLACK);
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 8, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f4 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 2, Color.BLACK);
|
||||||
int cols = 5;
|
int cols = 5;
|
||||||
int borders = 0;
|
int borders = 0;
|
||||||
int paddingBottom = 6;
|
int paddingBottom = 6;
|
||||||
@ -251,10 +253,12 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
private void BuildAllInConsistenciesReport(iTextSharp.text.Document doc)
|
private void BuildAllInConsistenciesReport(iTextSharp.text.Document doc)
|
||||||
{
|
{
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 12, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 8, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 1, Color.BLACK);
|
||||||
iTextSharp.text.Font f4 = pdf.GetFont("Arial Unicode MS", 10, 2, Color.BLACK);
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 8, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f4 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 2, Color.BLACK);
|
||||||
int cols = 3;
|
int cols = 3;
|
||||||
int borders = 0;
|
int borders = 0;
|
||||||
int paddingBottom = 6;
|
int paddingBottom = 6;
|
||||||
|
@ -488,9 +488,11 @@ namespace Volian.Print.Library
|
|||||||
//datatable.FooterRows = 1;
|
//datatable.FooterRows = 1;
|
||||||
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
||||||
datatable.LockedWidth = true;
|
datatable.LockedWidth = true;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 12, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 0, Color.BLACK);
|
||||||
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
||||||
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
||||||
cell.BackgroundColor = new Color(0xD0, 0xF0, 0xF0);
|
cell.BackgroundColor = new Color(0xD0, 0xF0, 0xF0);
|
||||||
@ -655,7 +657,9 @@ namespace Volian.Print.Library
|
|||||||
{
|
{
|
||||||
// Adjusted from 20,80 to 25,75 to account for long Procedure Numbers
|
// Adjusted from 20,80 to 25,75 to account for long Procedure Numbers
|
||||||
float[] headerwidths = { 25, 75 };
|
float[] headerwidths = { 25, 75 };
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
BuildLibDocProcSetList();
|
BuildLibDocProcSetList();
|
||||||
int splitAt = FindSpitLevel()-1; // find the split level of the common path - for all procedure sets that use these library documents
|
int splitAt = FindSpitLevel()-1; // find the split level of the common path - for all procedure sets that use these library documents
|
||||||
string lastDvPath = "";
|
string lastDvPath = "";
|
||||||
@ -733,8 +737,10 @@ namespace Volian.Print.Library
|
|||||||
datatable.KeepTogether = false;
|
datatable.KeepTogether = false;
|
||||||
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
||||||
datatable.LockedWidth = true;
|
datatable.LockedWidth = true;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 12, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 0, Color.BLACK);
|
||||||
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
||||||
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
||||||
//cell.Colspan = 2;
|
//cell.Colspan = 2;
|
||||||
@ -767,7 +773,9 @@ namespace Volian.Print.Library
|
|||||||
private void PutROusageForProcedure(PdfPTable curTable, Dictionary<string, List<ItemInfo>> rosused, float[] headerwidths)
|
private void PutROusageForProcedure(PdfPTable curTable, Dictionary<string, List<ItemInfo>> rosused, float[] headerwidths)
|
||||||
{
|
{
|
||||||
//if (rosused.Count == 0) return; // nothing to process
|
//if (rosused.Count == 0) return; // nothing to process
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
foreach (string roKey in rosused.Keys)
|
foreach (string roKey in rosused.Keys)
|
||||||
{
|
{
|
||||||
PdfPTable rotable = new PdfPTable(headerwidths);
|
PdfPTable rotable = new PdfPTable(headerwidths);
|
||||||
@ -941,9 +949,11 @@ namespace Volian.Print.Library
|
|||||||
//datatable.FooterRows = 1;
|
//datatable.FooterRows = 1;
|
||||||
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
||||||
datatable.LockedWidth = true;
|
datatable.LockedWidth = true;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 12, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 0, Color.BLACK);
|
||||||
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
||||||
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
||||||
//cell.Colspan = 2;
|
//cell.Colspan = 2;
|
||||||
@ -1028,7 +1038,9 @@ namespace Volian.Print.Library
|
|||||||
|
|
||||||
private void PutStepListForProcedure(PdfPTable rotable, SortedDictionary<string, ItemInfo> sortedStepList)
|
private void PutStepListForProcedure(PdfPTable rotable, SortedDictionary<string, ItemInfo> sortedStepList)
|
||||||
{
|
{
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
foreach (ItemInfo itm in sortedStepList.Values)
|
foreach (ItemInfo itm in sortedStepList.Values)
|
||||||
{
|
{
|
||||||
string stepnum = (itm.IsSection)? itm.MyActiveSection.DisplayNumber:stepnum = BuildStepTab(itm);
|
string stepnum = (itm.IsSection)? itm.MyActiveSection.DisplayNumber:stepnum = BuildStepTab(itm);
|
||||||
@ -1040,7 +1052,9 @@ namespace Volian.Print.Library
|
|||||||
private void PutROusageForROID(PdfPTable curTable, SortedDictionary<string, List<ItemInfo>> procRoUse, float[] headerwidths, int splitAt , bool moreThanOneProcSet)
|
private void PutROusageForROID(PdfPTable curTable, SortedDictionary<string, List<ItemInfo>> procRoUse, float[] headerwidths, int splitAt , bool moreThanOneProcSet)
|
||||||
{
|
{
|
||||||
SortedDictionary<string, ItemInfo> sortedStepList = new SortedDictionary<string, ItemInfo>();
|
SortedDictionary<string, ItemInfo> sortedStepList = new SortedDictionary<string, ItemInfo>();
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
string lastProcKey = "";
|
string lastProcKey = "";
|
||||||
string lastProcNumTitle = "";
|
string lastProcNumTitle = "";
|
||||||
string lastDVPath = "";
|
string lastDVPath = "";
|
||||||
@ -1137,9 +1151,11 @@ namespace Volian.Print.Library
|
|||||||
//datatable.FooterRows = 1;
|
//datatable.FooterRows = 1;
|
||||||
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
||||||
datatable.LockedWidth = true;
|
datatable.LockedWidth = true;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 12, 0, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 0, Color.BLACK);
|
||||||
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
||||||
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
||||||
cell.BackgroundColor = new Color(0xD0, 0xF0, 0xF0); // light blue
|
cell.BackgroundColor = new Color(0xD0, 0xF0, 0xF0); // light blue
|
||||||
@ -1276,7 +1292,9 @@ namespace Volian.Print.Library
|
|||||||
compRORpt.F10Bold = pdf.GetFont("Courier New", 10, 1, Color.BLACK);
|
compRORpt.F10Bold = pdf.GetFont("Courier New", 10, 1, Color.BLACK);
|
||||||
compRORpt.F12 = pdf.GetFont("Courier New", 12, 0, Color.BLACK);
|
compRORpt.F12 = pdf.GetFont("Courier New", 12, 0, Color.BLACK);
|
||||||
compRORpt.F12Bold = pdf.GetFont("Courier New", 12, 1, Color.BLACK);
|
compRORpt.F12Bold = pdf.GetFont("Courier New", 12, 1, Color.BLACK);
|
||||||
compRORpt.F14 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
|
compRORpt.F14 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
compRORpt.ROFstID = _ROFSTLookup.MyDocVersionInfo.DocVersionAssociations[0].MyROFst.ROFstID;
|
compRORpt.ROFstID = _ROFSTLookup.MyDocVersionInfo.DocVersionAssociations[0].MyROFst.ROFstID;
|
||||||
compRORpt.Run();
|
compRORpt.Run();
|
||||||
}
|
}
|
||||||
@ -1335,9 +1353,11 @@ namespace Volian.Print.Library
|
|||||||
PdfPTable datatable = new PdfPTable(1);
|
PdfPTable datatable = new PdfPTable(1);
|
||||||
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
datatable.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin;
|
||||||
datatable.LockedWidth = true;
|
datatable.LockedWidth = true;
|
||||||
iTextSharp.text.Font f1 = pdf.GetFont("Arial Unicode MS", 14, 1, Color.BLACK);
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
iTextSharp.text.Font f2 = pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK);
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
iTextSharp.text.Font f3 = pdf.GetFont("Arial Unicode MS", 12, 1, Color.BLACK);
|
iTextSharp.text.Font f1 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 14, 1, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f2 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK);
|
||||||
|
iTextSharp.text.Font f3 = pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 1, Color.BLACK);
|
||||||
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
PdfPCell cell = new PdfPCell(new Phrase(ReportTitle, f1));
|
||||||
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
cell.HorizontalAlignment = Element.ALIGN_CENTER;
|
||||||
//cell.Colspan = 2;
|
//cell.Colspan = 2;
|
||||||
|
@ -264,10 +264,12 @@ namespace Volian.Print.Library
|
|||||||
levels.Add(4, "Outside From Transitions");
|
levels.Add(4, "Outside From Transitions");
|
||||||
levels.Add(5, "Outside To Transitions");
|
levels.Add(5, "Outside To Transitions");
|
||||||
Dictionary<int, iTextSharp.text.Font> fonts = new Dictionary<int, Font>();
|
Dictionary<int, iTextSharp.text.Font> fonts = new Dictionary<int, Font>();
|
||||||
fonts.Add(1, pdf.GetFont("Arial Unicode MS", 12, 0, Color.BLACK));
|
// C2017-036 get best available proportional font for symbols that looks close to Arial
|
||||||
fonts.Add(2, pdf.GetFont("Arial Unicode MS", 10, 0, Color.BLACK));
|
// Note that Microsoft no longer supplies Arial Unicode MS as of Word16
|
||||||
fonts.Add(3, pdf.GetFont("Arial Unicode MS", 8, 0, Color.BLACK));
|
fonts.Add(1, pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 12, 0, Color.BLACK));
|
||||||
fonts.Add(4, pdf.GetFont("Arial Unicode MS", 8, 0, Color.BLACK));
|
fonts.Add(2, pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 10, 0, Color.BLACK));
|
||||||
|
fonts.Add(3, pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 8, 0, Color.BLACK));
|
||||||
|
fonts.Add(4, pdf.GetFont(Volian.Base.Library.vlnFont.ReportsFont, 8, 0, Color.BLACK));
|
||||||
int lastLevel = transitionInfoList.Count > 0 ? transitionInfoList[0].Level : 0; //set level to first transition level
|
int lastLevel = transitionInfoList.Count > 0 ? transitionInfoList[0].Level : 0; //set level to first transition level
|
||||||
#region buildtable
|
#region buildtable
|
||||||
int cols = 3;
|
int cols = 3;
|
||||||
|
@ -328,7 +328,7 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
private float GetTextWidth(VE_Font vefont, string txt)
|
private float GetTextWidth(VE_Font vefont, string txt)
|
||||||
{
|
{
|
||||||
string symblFontName = (vefont.FontIsProportional()) ? "Arial Unicode MS" : "VESymbFix";
|
string symblFontName = (vefont.FontIsProportional()) ? Volian.Base.Library.vlnFont.ProportionalSymbolFont : "VESymbFix"; // C2017-036 get best available proportional font for symbols
|
||||||
// follow through in fixing an Out of Window Handles bug, use new function to see if
|
// follow through in fixing an Out of Window Handles bug, use new function to see if
|
||||||
// we can retrieve the font from a dictionary instead a doing a New and using another
|
// we can retrieve the font from a dictionary instead a doing a New and using another
|
||||||
// window handle
|
// window handle
|
||||||
|
@ -4488,7 +4488,7 @@ namespace Volian.Print.Library
|
|||||||
private string FixRTFToPrint(string rtf)
|
private string FixRTFToPrint(string rtf)
|
||||||
{
|
{
|
||||||
// Only do this if the text contains symbols.
|
// Only do this if the text contains symbols.
|
||||||
if ((rtf.Contains("VESymbFix") || rtf.Contains("Arial Unicode")))
|
if ((rtf.Contains("VESymbFix") || rtf.Contains(Volian.Base.Library.vlnFont.ProportionalSymbolFont))) // C2017-036 get best available proportional font for symbols
|
||||||
{
|
{
|
||||||
// bug fix: B2017-117 was getting an out of window handles error when doing a print all for Bryon
|
// bug fix: B2017-117 was getting an out of window handles error when doing a print all for Bryon
|
||||||
// add the using statment to free up window handle that is created doing a New RichTextBox()
|
// add the using statment to free up window handle that is created doing a New RichTextBox()
|
||||||
@ -4520,7 +4520,7 @@ namespace Volian.Print.Library
|
|||||||
for (int i = 0; i < rtb.TextLength; i++)
|
for (int i = 0; i < rtb.TextLength; i++)
|
||||||
{
|
{
|
||||||
rtb.Select(i, 1);
|
rtb.Select(i, 1);
|
||||||
if ((rtb.SelectionFont.FontFamily.Name == "VESymbFix" || rtb.SelectionFont.FontFamily.Name.StartsWith("Arial Unicode")) && rtb.SelectedText.Length > 0)
|
if ((rtb.SelectedRtf.Contains("VESymbFix") || rtb.SelectedRtf.Contains(Volian.Base.Library.vlnFont.ProportionalSymbolFont)) && rtb.SelectedText.Length > 0) // C2017-036 get best available proportional font for symbols
|
||||||
{
|
{
|
||||||
for (int j = 0; j < SymReplaceList.MaxIndex; j++)
|
for (int j = 0; j < SymReplaceList.MaxIndex; j++)
|
||||||
{
|
{
|
||||||
|
@ -350,7 +350,7 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
rtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + font.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
rtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + font.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
||||||
if (!FontIsFixed(font))
|
if (!FontIsFixed(font))
|
||||||
rtfSB.Append(@"{\f1\fnil\fcharset0 Arial Unicode MS;}}{\colortbl ;\red255\green0\blue0;}");
|
rtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 get best available proportional font for symbols
|
||||||
else
|
else
|
||||||
rtfSB.Append(@"{\f1\fnil\fcharset0 VESymbFix;}}{\colortbl ;\red255\green0\blue0;}");
|
rtfSB.Append(@"{\f1\fnil\fcharset0 VESymbFix;}}{\colortbl ;\red255\green0\blue0;}");
|
||||||
rtfSB.Append("\r\n");
|
rtfSB.Append("\r\n");
|
||||||
@ -380,7 +380,7 @@ namespace Volian.Print.Library
|
|||||||
}
|
}
|
||||||
rtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + font.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
rtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + font.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
||||||
if (!FontIsFixed(font))
|
if (!FontIsFixed(font))
|
||||||
rtfSB.Append(@"{\f1\fnil\fcharset0 Arial Unicode MS;}}{\colortbl ;\red255\green0\blue0;}");
|
rtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 get best available proportional font for symbols
|
||||||
else
|
else
|
||||||
rtfSB.Append(@"{\f1\fnil\fcharset0 VESymbFix;}}{\colortbl ;\red255\green0\blue0;}");
|
rtfSB.Append(@"{\f1\fnil\fcharset0 VESymbFix;}}{\colortbl ;\red255\green0\blue0;}");
|
||||||
rtfSB.Append("\r\n");
|
rtfSB.Append("\r\n");
|
||||||
|
@ -848,8 +848,9 @@ namespace Volian.Svg.Library
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
VolianPdf.RegisterFont("Arial Unicode MS");
|
// C2017-036 get best available proportional font for symbols
|
||||||
fs.AddFont(FontFactory.GetFont("Arial Unicode MS", BaseFont.IDENTITY_H, BaseFont.EMBEDDED, fontSize, fontStyle, new Color(FillColor)));
|
VolianPdf.RegisterFont(Volian.Base.Library.vlnFont.ProportionalSymbolFont);
|
||||||
|
fs.AddFont(FontFactory.GetFont(Volian.Base.Library.vlnFont.ProportionalSymbolFont, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, fontSize, fontStyle, new Color(FillColor)));
|
||||||
}
|
}
|
||||||
Phrase ph = fs.Process(text);
|
Phrase ph = fs.Process(text);
|
||||||
return ph;
|
return ph;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user