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.
61 lines
1.8 KiB
61 lines
1.8 KiB
// name : RtfHtmlSpecialCharCollection.cs
|
|
// project : RTF Framelet
|
|
// created : Jani Giannoudis - 2010.12.01
|
|
// language : c#
|
|
// environment: .NET 2.0
|
|
// copyright : (c) 2004-2013 by Jani Giannoudis, Switzerland
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Itenso.Rtf.Converter.Html
|
|
{
|
|
public class RtfHtmlSpecialCharCollection : Dictionary<RtfVisualSpecialCharKind, string>
|
|
{
|
|
public RtfHtmlSpecialCharCollection()
|
|
{
|
|
} // RtfHtmlSpecialCharCollection
|
|
|
|
public RtfHtmlSpecialCharCollection(string settings)
|
|
{
|
|
LoadSettings(settings);
|
|
} // RtfHtmlSpecialCharCollection
|
|
|
|
public void LoadSettings(string settings)
|
|
{
|
|
Clear();
|
|
if (string.IsNullOrEmpty(settings))
|
|
return;
|
|
|
|
var settingItems = settings.Split(',');
|
|
foreach (var settingItem in settingItems)
|
|
{
|
|
var tokens = settingItem.Split('=');
|
|
if (tokens.Length != 2)
|
|
continue;
|
|
|
|
var charKind = (RtfVisualSpecialCharKind) Enum.Parse(typeof(RtfVisualSpecialCharKind), tokens[0]);
|
|
Add(charKind, tokens[1]);
|
|
}
|
|
} // LoadSettings
|
|
|
|
public string GetSettings()
|
|
{
|
|
if (Count == 0)
|
|
return string.Empty;
|
|
|
|
var sb = new StringBuilder();
|
|
foreach (var charKind in Keys)
|
|
{
|
|
if (sb.Length > 0)
|
|
sb.Append(',');
|
|
sb.Append(Enum.GetName(typeof(RtfVisualSpecialCharKind), charKind));
|
|
sb.Append('=');
|
|
sb.Append(this[charKind]);
|
|
}
|
|
|
|
return sb.ToString();
|
|
} // GetSettings
|
|
}
|
|
} |