You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
// name : RtfHtmlStyleConverter.cs
|
|
// project : RTF Framelet
|
|
// created : Jani Giannoudis - 2008.07.13
|
|
// language : c#
|
|
// environment: .NET 2.0
|
|
// copyright : (c) 2004-2013 by Jani Giannoudis, Switzerland
|
|
|
|
using System;
|
|
using System.Drawing;
|
|
|
|
namespace Itenso.Rtf.Converter.Html
|
|
{
|
|
public class RtfHtmlStyleConverter : IRtfHtmlStyleConverter
|
|
{
|
|
public virtual IRtfHtmlStyle TextToHtml(IRtfVisualText visualText)
|
|
{
|
|
if (visualText == null)
|
|
throw new ArgumentNullException(nameof(visualText));
|
|
|
|
var htmlStyle = new RtfHtmlStyle();
|
|
|
|
var textFormat = visualText.Format;
|
|
|
|
// background color
|
|
var backgroundColor = textFormat.BackgroundColor.AsDrawingColor;
|
|
if (backgroundColor.R != 0 || backgroundColor.G != 0 || backgroundColor.B != 0)
|
|
htmlStyle.BackgroundColor = ColorTranslator.ToHtml(backgroundColor);
|
|
|
|
// foreground color
|
|
var foregroundColor = textFormat.ForegroundColor.AsDrawingColor;
|
|
if (foregroundColor.R != 0 || foregroundColor.G != 0 || foregroundColor.B != 0)
|
|
htmlStyle.ForegroundColor = ColorTranslator.ToHtml(foregroundColor);
|
|
|
|
// font
|
|
htmlStyle.FontFamily = textFormat.Font.Name;
|
|
if (textFormat.FontSize > 0)
|
|
htmlStyle.FontSize = textFormat.FontSize / 2 + "pt";
|
|
|
|
return htmlStyle;
|
|
} // TextToHtml
|
|
}
|
|
} |