AODL.ExternalExporter.PDF.Document.StyleConverter.TextPropertyConverter.FontMultiplier C# (CSharp) Method

FontMultiplier() public static method

Fonts the multiplier. This will rewrite a font which inherited from a parent style.
public static FontMultiplier ( TextProperties textProperties, Font font ) : Font
textProperties AODL.Document.Styles.Properties.TextProperties The text properties.
font iTextSharp.text.Font The font.
return iTextSharp.text.Font
		public static Font FontMultiplier(TextProperties textProperties, Font font)
		{
			try
			{
				string fontName = "";
				if (textProperties.FontName != null)
					fontName = textProperties.FontName;
				else
				{
					fontName = font.Familyname;
				}

				string colorStr = "#000000";
				int iTextFontStyle = 0; //normal
				int bold = (textProperties.Bold != null && textProperties.Bold.ToLower() == "bold") ? 1 : 0;
				int italic = (textProperties.Italic != null && textProperties.Bold.ToLower() == "italic") ? 1 : 0;
				float size = font.Size; // up to now, standard todo: do it better
				if (textProperties.FontSize != null)
				{
					if (textProperties.FontSize.ToLower().EndsWith("%"))
					{
						try
						{
							float percent = (float) Convert.ToDouble(textProperties.FontSize.ToLower().Replace("%",""));
							size *= (percent/100.0f);  
						}
						catch(Exception)
						{
							throw;
						}
					}
				}
				if (textProperties.FontColor != null)
				{
					colorStr = textProperties.FontColor;
				}
				if (bold == 1 && italic == 1)
					iTextFontStyle = Font.BOLDITALIC;
				if (bold == 1 && italic == 0)
					iTextFontStyle = Font.BOLD;
				if (bold == 0 && italic == 1)
					iTextFontStyle = Font.ITALIC;
				// TODO: underline strike through
				iTextSharp.text.Color color = RGBColorConverter.GetColorFromHex(colorStr);
				font = FontFactory.GetFont(fontName, size, iTextFontStyle, color);

				return font;
			}
			catch(Exception)
			{
				throw;
			}
		}
	}