Fixed logic to support text library documents
A couple more fixes to paste dashes from Adobe
This commit is contained in:
parent
fd983f616c
commit
414378e0f3
@ -162,31 +162,38 @@ namespace DataLoader
|
|||||||
private void LoadAndSaveRichTextBox41(string tmpName)
|
private void LoadAndSaveRichTextBox41(string tmpName)
|
||||||
{
|
{
|
||||||
string rtf = LoadFileRaw(tmpName);
|
string rtf = LoadFileRaw(tmpName);
|
||||||
rtf = StripTokensFromFontTable(rtf);
|
if (rtf.StartsWith(@"{\rtf"))
|
||||||
// Parse for margins because the RTB will remove them
|
{
|
||||||
rtf = rtf.Replace("\x95", @"\bullet ");// Bullet
|
rtf = StripTokensFromFontTable(rtf);
|
||||||
rtf = rtf.Replace("\x93", @"\'93");// Left Double Quote
|
// Parse for margins because the RTB will remove them
|
||||||
rtf = rtf.Replace("\x94", @"\'94");// Right Double Quote
|
rtf = rtf.Replace("\x95", @"\bullet ");// Bullet
|
||||||
rtf = rtf.Replace("\x96", @"\u8211?");//
|
rtf = rtf.Replace("\x93", @"\'93");// Left Double Quote
|
||||||
rtf = rtf.Replace("\x89", @"\u8240?");//
|
rtf = rtf.Replace("\x94", @"\'94");// Right Double Quote
|
||||||
rtf = rtf.Replace("\x92", @"\u8217?");//
|
rtf = rtf.Replace("\x96", @"\u8211?");//
|
||||||
rtf = rtf.Replace("\x84", @"\u8222?");//
|
rtf = rtf.Replace("\x89", @"\u8240?");//
|
||||||
rtf = rtf.Replace("\x85", @"\u8230?");//
|
rtf = rtf.Replace("\x92", @"\u8217?");//
|
||||||
rtf = rtf.Replace("\x97", @"\u8212?");//
|
rtf = rtf.Replace("\x84", @"\u8222?");//
|
||||||
rtf = rtf.Replace("\x9C", @"\u339?");//
|
rtf = rtf.Replace("\x85", @"\u8230?");//
|
||||||
rtf = rtf.Replace("\x98", @"\u732?");//
|
rtf = rtf.Replace("\x97", @"\u8212?");//
|
||||||
Match match = Regex.Match(rtf, @"((\\marg[^\\]+)+)", RegexOptions.Singleline);
|
rtf = rtf.Replace("\x9C", @"\u339?");//
|
||||||
rtf = Regex.Replace(rtf, @"(?<!\\[^ \\\r\n]*)\\sectd ", "");
|
rtf = rtf.Replace("\x98", @"\u732?");//
|
||||||
rtf = Regex.Replace(rtf, @"(?<!\\[^ \\\r\n]*)\\sbkpage ", "");
|
Match match = Regex.Match(rtf, @"((\\marg[^\\]+)+)", RegexOptions.Singleline);
|
||||||
rtf = Regex.Replace(rtf, @"\\ri[0-9]*(?=[ \\{])", "");// Remove Right Indents
|
rtf = Regex.Replace(rtf, @"(?<!\\[^ \\\r\n]*)\\sectd ", "");
|
||||||
rtf = Regex.Replace(rtf, @"\\sectd(?=[\\{])", "");
|
rtf = Regex.Replace(rtf, @"(?<!\\[^ \\\r\n]*)\\sbkpage ", "");
|
||||||
rtf = Regex.Replace(rtf, @"\\sbkpage(?=[\\{])", "");
|
rtf = Regex.Replace(rtf, @"\\ri[0-9]*(?=[ \\{])", "");// Remove Right Indents
|
||||||
rtf = Regex.Replace(rtf, @"\\sect(?=[ \\{\r])", @"\page");
|
rtf = Regex.Replace(rtf, @"\\sectd(?=[\\{])", "");
|
||||||
MyRichTextBox41.Rtf = rtf; // Allow the RichTextBox to parse the RTF
|
rtf = Regex.Replace(rtf, @"\\sbkpage(?=[\\{])", "");
|
||||||
rtf = MyRichTextBox41.Rtf; // Get the RTF back from the RichTextBox
|
rtf = Regex.Replace(rtf, @"\\sect(?=[ \\{\r])", @"\page");
|
||||||
// Add the margins to the RTB output
|
MyRichTextBox41.Rtf = rtf; // Allow the RichTextBox to parse the RTF
|
||||||
rtf = Regex.Replace(rtf, @"\\ansi(?=[ \\{])", @"\ansi" + match.Value);
|
rtf = MyRichTextBox41.Rtf; // Get the RTF back from the RichTextBox
|
||||||
// Save the modified rtf to the temporary file
|
// Add the margins to the RTB output
|
||||||
|
rtf = Regex.Replace(rtf, @"\\ansi(?=[ \\{])", @"\ansi" + match.Value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MyRichTextBox41.Text = rtf;
|
||||||
|
rtf = MyRichTextBox41.Rtf;
|
||||||
|
}
|
||||||
SaveFile(rtf, tmpName);
|
SaveFile(rtf, tmpName);
|
||||||
}
|
}
|
||||||
private string _Prefix;
|
private string _Prefix;
|
||||||
|
@ -1067,6 +1067,10 @@ namespace Volian.Controls.Library
|
|||||||
tmpForLink = Regex.Replace(tmpForLink, @"#Link:ReferencedObject:[0-9]+ ", @"#Link:ReferencedObject:<NewID> ");
|
tmpForLink = Regex.Replace(tmpForLink, @"#Link:ReferencedObject:[0-9]+ ", @"#Link:ReferencedObject:<NewID> ");
|
||||||
tmpForLink = Regex.Replace(tmpForLink, @"#Link:Transition:([0-9]+) [0-9]+ ", @"#Link:Transition:$1 <NewID> ");
|
tmpForLink = Regex.Replace(tmpForLink, @"#Link:Transition:([0-9]+) [0-9]+ ", @"#Link:Transition:$1 <NewID> ");
|
||||||
tmpForLink = Regex.Replace(tmpForLink, @"#Link:TransitionRange:([0-9]+) [0-9]+ ", @"#Link:TransitionRange:$1 <NewID> ");
|
tmpForLink = Regex.Replace(tmpForLink, @"#Link:TransitionRange:([0-9]+) [0-9]+ ", @"#Link:TransitionRange:$1 <NewID> ");
|
||||||
|
tmpForLink = tmpForLink.Replace(@"\u8212 \'96", @"-"); // Replace EM Dash with hyphen
|
||||||
|
tmpForLink = tmpForLink.Replace(@"\u8211 \'96", @"-"); // Replace EN Dash with hyphen
|
||||||
|
tmpForLink = tmpForLink.Replace(@"\u8212 ", @"-"); // Replace EM Dash with hyphen
|
||||||
|
tmpForLink = tmpForLink.Replace(@"\u8211 ", @"-"); // Replace EN Dash with hyphen
|
||||||
myRtb.SelectedRtf = tmpForLink;
|
myRtb.SelectedRtf = tmpForLink;
|
||||||
}
|
}
|
||||||
else if (myDO.GetDataPresent(DataFormats.Text))
|
else if (myDO.GetDataPresent(DataFormats.Text))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user