diff --git a/PROMS/Formats/fmtall/BGEOIall.xml b/PROMS/Formats/fmtall/BGEOIall.xml index 7cdf1559..2673a562 100644 Binary files a/PROMS/Formats/fmtall/BGEOIall.xml and b/PROMS/Formats/fmtall/BGEOIall.xml differ diff --git a/PROMS/Formats/fmtall/BGESTPall.xml b/PROMS/Formats/fmtall/BGESTPall.xml index 55f9cd23..c2ba6bb7 100644 Binary files a/PROMS/Formats/fmtall/BGESTPall.xml and b/PROMS/Formats/fmtall/BGESTPall.xml differ diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 1736a965..9d9cee89 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -961,14 +961,27 @@ namespace Volian.Print.Library if (!itemInfo.IsHigh && !itemInfo.IsSequential && !itemInfo.IsSection) itemInfo = itemInfo.ActiveParent as ItemInfo; string prTab = ""; string thisTab = itemInfo.MyTab.CleanText.Trim(); - - ItemInfo mypar = itemInfo.MyParent; - while (mypar.MyParent != null && !mypar.MyParent.IsProcedure) + if (!itemInfo.IsSection) { - string pTab = mypar.MyTab.CleanText.Trim(); - pTab = pTab.TrimEnd(" .".ToCharArray()) + "."; - prTab = pTab + prTab; - mypar = mypar.MyParent; + ItemInfo mypar = itemInfo.MyParent; + while (mypar != null && !mypar.IsProcedure) + { + string pTab = mypar.MyTab.CleanText.Trim(); + if (char.IsLetterOrDigit(pTab[0])) + { + pTab = pTab.TrimEnd(" .".ToCharArray()) + "."; + prTab = pTab + prTab; + } + else + { + // There' a bullet or some other graphics character. + // clear out the tab we are building so the we can build + // a continue tab up to this bullet or graphic character. + prTab = ""; + thisTab = ""; + } + mypar = (mypar.IsSection)? null: mypar.MyParent; + } } return (prTab + thisTab.Trim()).TrimEnd(".".ToCharArray()); }