DataLoader changes during development

This commit is contained in:
2007-11-14 14:49:18 +00:00
parent da9b899424
commit ef81207dbe
28 changed files with 2118 additions and 962 deletions

View File

@@ -88,6 +88,8 @@ namespace DataLoader
dicChar[8734] = 8857;
dicChar[7] = 9679;
dicChar[8976] = 9830;
dicChar[9632] = 9604;
//dicChar[236] = 38914;
char[] creg = new char[dicChar.Count];
int i = 0;
foreach (int ic in dicChar.Keys)
@@ -111,9 +113,86 @@ namespace DataLoader
}
return new string(cs);
}
public static string ConvertText(string s1, bool DoCaret)
{
string s2 = s1;
if (DoCaret) s2 = s2.Replace("^", @"\u916");
return ConvertText(s2);
}
public static string ReplaceUnicode(string s2)
{
char[] tmp;
tmp = s2.ToCharArray();
s2 = s2.Replace("`", "\'b0"); // convert backquote to degree - left over from DOS days.
s2 = s2.Replace("\'a0",@"\'a0"); // hardspace
s2 = s2.Replace("\xb0", @"\'b0"); // degree
s2 = s2.Replace("\x7f", @"\u916?"); // delta
s2 = s2.Replace("\x2265",@"\u8805?"); // greater than or equal
s2 = s2.Replace("\x2264",@"\u8804?"); // less than or equal
s2 = s2.Replace("\xB1",@"\'b1"); // plus minus
s2 = s2.Replace("\x3A3",@"\u931?"); // sigma
s2 = s2.Replace("\x3C4",@"\u947?"); // gamma
s2 = s2.Replace("\xBD",@"\'bd"); // half
s2 = s2.Replace("\x25A0",@"\u9604?"); // accum 2584
s2 = s2.Replace("\x7",@"\u9679?"); // bullet 25CF
s2 = s2.Replace("\x2248",@"\u8776?"); // approx eq
s2 = s2.Replace("\x2261",@"\u8773?"); // similar eq 2245
s2 = s2.Replace("\xF7",@"\'f7"); // division
s2 = s2.Replace("\x221A",@"\u8730?"); // square root
s2 = s2.Replace("\x393",@"\u961?"); // rho 3C1
s2 = s2.Replace("\x3C0",@"\u960?"); // pi
s2 = s2.Replace("\xb5", @"\u956?"); // micro 3BC (try e6, if not work try 109)
s2 = s2.Replace("\x3B4", @"\u948?"); // lower case delta
s2 = s2.Replace("\x3C3", @"\u963?"); // lower case sigma
s2 = s2.Replace("\xBC", @"\'bc"); // quarter
s2 = s2.Replace("\x3C6", @"\'d8"); // dist zero, D8
s2 = s2.Replace("\xC9", @"\u274?"); // energy, 112
s2 = s2.Replace("\xEC", @"\'ec"); // grave
s2 = s2.Replace("\x2502", @"\u9474?"); // bar
s2 = s2.Replace("\x3B5", @"\u949?"); // epsilon
s2 = s2.Replace("\x398", @"\u952?"); // theta, 3B8
s2 = s2.Replace("\x221E", @"\u8857?"); // dot in oval, 2299
s2 = s2.Replace("\xBF", @"\u964?"); // tau, 3C4
s2 = s2.Replace("\x2310", @"\u9830?"); // diamond, 2666
s2 = s2.Replace("\x2192", @"\u8594?");
s2 = s2.Replace("\x2190", @"\u8592?");
s2 = s2.Replace("\x2191", @"\u8593?");
s2 = s2.Replace("\x2193", @"\u8595?");
s2 = s2.Replace("\x2207", @"\u8711?");
return s2;
}
public static string ConvertText(string s1)
{
string s2 = Reg2.Replace(s1, new MatchEvaluator(ReplaceChars));
string s2 = s1;
s2 = ReplaceUnicode(s2);
// now replace underline on/off (AE,AF), super on/off (C6,C7)
// bold on/off (D5, D6), subscript on/off (D1 A6), and
// italics on/off (B2, DD)
s2 = s2.Replace("\xAB", "\\ul ");
s2 = s2.Replace("\xBB", "\\ul0 ");
s2 = s2.Replace("\x255E", "\\super ");
s2 = s2.Replace("\x255F", "\\nosupersub ");
s2 = s2.Replace("\x2552", "\\b ");
s2 = s2.Replace("\x2553", "\\b0 ");
s2 = s2.Replace("\x2564", "\\sub ");
s2 = s2.Replace("\xAA", "\\nosupersub ");
s2 = s2.Replace("\x2593", "\\i ");
s2 = s2.Replace("\x258C", "\\i0 ");
s2 = s2.Replace("\x2559", "\\ul\\b ");
s2 = s2.Replace("\x2558", "\\b0\\ul0 ");
// underline next word is 0x17
// superscript next is 0x18
// subscript next is 0x19
// bold next is 0x13
s2 = Regex.Replace(s2, @"\x17([^\x17 ]*?)(?:[\x17]|(?= )|\Z)(.*?)", @"\ul $1\ul0 $2");
s2 = Regex.Replace(s2, @"\x18([^\x18 ]*?)(?:[\x18]|(?= )|\Z)(.*?)", @"\super $1\nosupersub $2");
s2 = Regex.Replace(s2, @"\x19([^\x19 ]*?)(?:[\x19]|(?= )|\Z)(.*?)", @"\sub $1\nosupersub $2");
s2 = Regex.Replace(s2, @"\x13([^\x13 ]*?)(?:[\x13]|(?= )|\Z)(.*?)", @"\b $1\b0 $2");
s2 = Reg2.Replace(s2, new MatchEvaluator(ReplaceChars));
return s2;
}
}