Fixed a bug where the page number was not being resolved in page number transitions to sections that have a hard return.
Better handling of hard returns
This commit is contained in:
parent
d79bc6762a
commit
11d58df488
@ -621,7 +621,7 @@ namespace VEPROMS.CSLA.Library
|
||||
string findLink = @"<START\].*?\[END>";
|
||||
MatchCollection ms = Regex.Matches(Text, findLink);
|
||||
//string lookFor = string.Format(@"<START\](\\[^v \\]+)*\\v0(\\[^v \\]+)* (.*?)(\\[^v '?\\]+)*\\v(\\[^v \\]+)* #Link:ReferencedObject:{0} .*?\[END>", rousg.ROUsageID);
|
||||
string lookFor = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}~\\]+)*( |\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}}~ \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
||||
string lookFor = string.Format(@"^<START\](\\[^v \\]+)*\\v0(\\[^v '?{{}}~\\]+)*( |\\line ?|\\u[0-9]{{1,4}}?|\\'[0-9a-fA-F]{{2}}|\\[{{}}~])(.*?)(\\[^v'?{{}}~ \\]+)*\\v(\\[^v \\]+)* #Link:Transition[^:]*?:{0} {1}( [0-9]*){{1,2}}\[END>", tran.TranType, tran.TransitionID);
|
||||
foreach (Match mm in ms)
|
||||
{
|
||||
Match m = Regex.Match(mm.Value, lookFor, RegexOptions.Singleline);
|
||||
|
@ -2337,7 +2337,7 @@ namespace VEPROMS.CSLA.Library
|
||||
retval = StripLinks(retval);
|
||||
retval = ReplaceSpecialCharacters(retval);
|
||||
retval = retval.Replace("\u2011", "-");
|
||||
retval = retval.Replace(@"\line ", ";");
|
||||
retval = Regex.Replace(retval, @"\\line ?", ";"); // better handing of hard returns - replace with semi-colon for use on tree view
|
||||
retval = retval.Replace("\r\n", ";");
|
||||
retval = retval.Replace("\n", ";"); //added for consistency checking with approved version
|
||||
return retval;
|
||||
@ -2357,8 +2357,8 @@ namespace VEPROMS.CSLA.Library
|
||||
//retval = Regex.Replace(retval, @"\\nosupersub ?", "");
|
||||
retval = Regex.Replace(retval, @"\\up[320] ?", "");
|
||||
retval = Regex.Replace(retval, @"\\dn[320] ?", "");
|
||||
retval = Regex.Replace(retval, @"\\li[0-9]* ?", "");
|
||||
retval = Regex.Replace(retval, @"\\fi-[0-9]* ?", "");
|
||||
retval = Regex.Replace(retval, @"\\li[0-9]+ ?", ""); // changed the * to a + to "\\line " for hard returns part of bug fix B2015-140
|
||||
retval = Regex.Replace(retval, @"\\fi-[0-9]+ ?", "");
|
||||
return retval;
|
||||
}
|
||||
public static string StripLinks(string rtf)
|
||||
|
@ -307,10 +307,10 @@ namespace Volian.Controls.Library
|
||||
// as a precaution, convert any \~ to \u160?. This is for Hard spaces. see the commentary in the
|
||||
// save portion of this code for an explanation.
|
||||
text = text.Replace(@"\~", @"\u160?");
|
||||
text = text.Replace("\r\n", @"\par ");
|
||||
text = text.Replace("\r\n", @"\line "); // replace a \r\n with a \line instead of a \par
|
||||
//if (text.IndexOf(@"\line") > -1)
|
||||
// MessageBox.Show("Found rtf line");
|
||||
text = text.Replace(@"\line", @"\par");
|
||||
// MessageBox.Show("Found rtf line");
|
||||
//text = text.Replace(@"\line", @"\par"); // we don't want to replace the \line part of bug fix B2015-140
|
||||
|
||||
// Now put symbol (for fixed fonts) or unicode font (proportional) around symbols
|
||||
// These fonts are VESymbFix & Arial Unicode MS respectively, and the font table
|
||||
|
@ -962,7 +962,7 @@ namespace Volian.Controls.Library
|
||||
// using rtf commands to fix various indent bugs including B2015-103). The following code
|
||||
// puts the rtf indent characters that are stored at beginning of string into correct location
|
||||
// of rtf header (have to be after the \pard). Otherwise the indents did not show up.
|
||||
Match match = Regex.Match(txt,@"\\fi([-0-9]*) ?\\li([0-9]*)");
|
||||
Match match = Regex.Match(txt,@"\\fi([-0-9]+) ?\\li([0-9]+)");
|
||||
if (match.Success)
|
||||
{
|
||||
string indentStr = @"\fi" + match.Groups[1].Value + @"\li" + match.Groups[2].Value;
|
||||
|
Loading…
x
Reference in New Issue
Block a user