public void RegisterFamily(String familyName, String fullName, String path)
{
if (path != null)
trueTypeFonts[fullName] = path;
List<string> tmp;
fontFamilies.TryGetValue(familyName, out tmp);
if (tmp == null) {
tmp = new List<string>();
tmp.Add(fullName);
fontFamilies[familyName] = tmp;
}
else {
int fullNameLength = fullName.Length;
bool inserted = false;
for (int j = 0; j < tmp.Count; ++j) {
if (tmp[j].Length >= fullNameLength) {
tmp.Insert(j, fullName);
inserted = true;
break;
}
}
if (!inserted)
tmp.Add(fullName);
}
}