B2023-095_U2022-004 - When Copy/Pasting Symbols, some of the symbols paste in an incorrect font
This commit is contained in:
@@ -17,10 +17,10 @@ namespace Volian.Base.Library
|
||||
return new List<string>(text.Split(mySplit, StringSplitOptions.None));
|
||||
|
||||
}
|
||||
int width = 0; // width of text, non-rtf
|
||||
int start = 0; // start of line (index into string 'text'), includes rtf
|
||||
int lastspace = 0; // location of lastspace (index into string 'text'), includes rtf
|
||||
int startNonRtf = 0; // start of line, non-rtf (used for determining starting position to determine width if there was a break)
|
||||
int width = 0; // width of text, non-rtf
|
||||
int start = 0; // start of line (index into string 'text'), includes rtf
|
||||
int lastspace = 0; // location of lastspace (index into string 'text'), includes rtf
|
||||
int startNonRtf = 0; // start of line, non-rtf (used for determining starting position to determine width if there was a break)
|
||||
string rtfprefix = "";
|
||||
string nextprefix = "";
|
||||
for (int indx = 0; indx < text.Length; indx++)
|
||||
@@ -125,32 +125,9 @@ namespace Volian.Base.Library
|
||||
// converting the unicode \u8482? to \'99, but once this is done, PROMS StepRTB (edit windows) does not show it
|
||||
rtnStr = rtnStr.Replace(@"\'99", @"\u8482?");
|
||||
// convert \'ae to \u174? this is for the registered symbol. RTF converts the unicode character to \'ae
|
||||
rtnStr = rtnStr.Replace(@"\'ae",@"\u174?");
|
||||
rtnStr = rtnStr.Replace(@"\'ae", @"\u174?");
|
||||
// convert \'a9 to \u169? this is for the copyright symbol. RTF converts the unicode character to \'a9
|
||||
rtnStr = rtnStr.Replace(@"\'a9",@"\u169?");
|
||||
// B2021-039: paste of the greek symbols was not working correctly, RTF was converting unicode, similar to above
|
||||
// B2022-052: Division symbol converted to an x, caused by fix B2021-039. The code below was translating the division
|
||||
// symbol but it should only be translated if the character's font is Greek or Baltic. Unfortunately this is not
|
||||
// a complete solution since it converts characters it shouldn't, for example, using the following steps: all
|
||||
// of Proms symbols are entered into a step; a ctrl-a/ctrl-c is used to copy these and then ctrl-v to paste
|
||||
// into another new step. The paste (from the underlying richtextbox) causes some characters to be in plain
|
||||
// arial font, and others to be in arial with Greek flag. Some character codes exist in each font, for example f7.
|
||||
// The code below does not look into what font is used, just converts the character. Since any kind of font
|
||||
// can occur during paste, if from an external program, a message will be given stating that a symbol may be incorrect
|
||||
// because an unsupported font was pasted. It was felt that this was sufficient based on estimate of fix versus chance of
|
||||
// occurrence. Note that the message was moved into StepRTB since this code is called by non-UI code (5/26/22)
|
||||
if (str.ToUpper().Contains("GREEK") || str.ToUpper().Contains("BALTIC"))
|
||||
{
|
||||
//System.Windows.Forms.MessageBox.Show("Pasted text may use an unsupported font so some characters may not paste correctly and may require delete/reenter of character from within Proms.",
|
||||
// "Paste Font Issue", System.Windows.Forms.MessageBoxButtons.OK);
|
||||
for (int i = 0; i < 26; i++)
|
||||
{
|
||||
rtnStr = rtnStr.Replace(string.Format("\\'{0:x2}", 0xc0 + i) // upper case Greek
|
||||
, string.Format("\\u{0}?", 912 + i));
|
||||
rtnStr = rtnStr.Replace(string.Format("\\'{0:x2}", 0xe0 + i) // lower case Greek
|
||||
, string.Format("\\u{0}?", 944 + i));
|
||||
}
|
||||
}
|
||||
rtnStr = rtnStr.Replace(@"\'a9", @"\u169?");
|
||||
return rtnStr;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user