private void ReadFontTable(RTFNodeGroup group)
{
myFontTable.Clear();
foreach (RTFNode node in group.Nodes)
{
if (node is RTFNodeGroup)
{
int index = -1;
string name = null;
int charset = 0;
foreach (RTFNode item in node.Nodes)
{
if (item.Keyword == "f" && item.HasParameter)
{
index = item.Parameter;
}
else if (item.Keyword == RTFConsts._fcharset)
{
charset = item.Parameter;
}
else if (item.Type == RTFNodeType.Text)
{
if (item.Keyword != null && item.Keyword.Length > 0)
{
name = item.Keyword;
break;
}
}
}
if (index >= 0 && name != null)
{
if (name.EndsWith(";"))
name = name.Substring(0, name.Length - 1);
name = name.Trim();
//System.Console.WriteLine( "Index:" + index + " Name:" + name );
RTFFont font = new RTFFont(index, name);
font.Charset = charset;
myFontTable.Add(font);
}
}
}
}