|
@@ -0,0 +1,207 @@
|
|
|
+using OTSRptPeriodicTable;
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading.Tasks;
|
|
|
+
|
|
|
+namespace OTSIncAReportApp._1_UI
|
|
|
+{
|
|
|
+ public class ElementSubscript
|
|
|
+ {
|
|
|
+ List<subscript> subscripts = GetListsubscript();
|
|
|
+
|
|
|
+ private static List<subscript> GetListsubscript()
|
|
|
+ {
|
|
|
+ List<subscript> List_subscript = new List<subscript>();
|
|
|
+ subscript ls_subscript = new subscript();
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "0";
|
|
|
+ ls_subscript.NumEntity = "₀";
|
|
|
+ ls_subscript.HexEntity = "\x2080";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT ZERO";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "1";
|
|
|
+ ls_subscript.NumEntity = "₁";
|
|
|
+ ls_subscript.HexEntity = "\x2081";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT ONE";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "2";
|
|
|
+ ls_subscript.NumEntity = "₂";
|
|
|
+ ls_subscript.HexEntity = "\x2082";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT TWO";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "3";
|
|
|
+ ls_subscript.NumEntity = "₃";
|
|
|
+ ls_subscript.HexEntity = "\x2083";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT THREE";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "4";
|
|
|
+ ls_subscript.NumEntity = "₄";
|
|
|
+ ls_subscript.HexEntity = "\x2084";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT FOUR";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "5";
|
|
|
+ ls_subscript.NumEntity = "₅";
|
|
|
+ ls_subscript.HexEntity = "\x2085";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT FIVE";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "6";
|
|
|
+ ls_subscript.NumEntity = "₆";
|
|
|
+ ls_subscript.HexEntity = "\x2086";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT SIX";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "7";
|
|
|
+ ls_subscript.NumEntity = "₇";
|
|
|
+ ls_subscript.HexEntity = "\x2087";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT SEVEN";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "8";
|
|
|
+ ls_subscript.NumEntity = "₈";
|
|
|
+ ls_subscript.HexEntity = "\x2088";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT EIGHT";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ ls_subscript = new subscript();
|
|
|
+ ls_subscript.Name = "9";
|
|
|
+ ls_subscript.NumEntity = "₉";
|
|
|
+ ls_subscript.HexEntity = "\x2089";
|
|
|
+ ls_subscript.CharactrName = "SUBSCRIPT NINE";
|
|
|
+ List_subscript.Add(ls_subscript);
|
|
|
+
|
|
|
+ return List_subscript;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 将数字转换成下标转义符
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="str"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private string Getsubscript(string str)
|
|
|
+ {
|
|
|
+ if (subscripts.Count==0)
|
|
|
+ {
|
|
|
+ subscripts = GetListsubscript();
|
|
|
+ }
|
|
|
+ for (int i=0;i< subscripts.Count;i++)
|
|
|
+ {
|
|
|
+ if (subscripts[i].Name==str)
|
|
|
+ {
|
|
|
+ return subscripts[i].HexEntity;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
+ public string Getsubscriptstring(string str)
|
|
|
+ {
|
|
|
+ string[] strarray = str.Split('-');
|
|
|
+ string strSubscript = "";
|
|
|
+ for (int j=0;j< strarray.Length;j++)
|
|
|
+ {
|
|
|
+ char[] strCharArr = strarray[j].ToCharArray();
|
|
|
+ string Escape = "";
|
|
|
+ for (int i = 0; i < strCharArr.Length; i++)
|
|
|
+ {
|
|
|
+ if (i < 2)
|
|
|
+ {
|
|
|
+ Escape = Escape + strCharArr[i];
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (System.Text.RegularExpressions.Regex.IsMatch(strCharArr[i].ToString(), @"^[+-]?\d*[.]?\d*$"))
|
|
|
+ {
|
|
|
+ Escape = Escape + Getsubscript(strCharArr[i].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Escape = Escape + strCharArr[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ strSubscript = strSubscript + Escape+"-";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ string[] vs = strSubscript.Split('-');
|
|
|
+ string output = "";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (vs.Length>2)
|
|
|
+ {
|
|
|
+ for (int i = 0; i < vs.Length - 1; i++)
|
|
|
+ {
|
|
|
+ if (i == vs.Length - 2)
|
|
|
+ {
|
|
|
+ output = output + vs[i].ToString();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ output = output + vs[i].ToString() + "-";
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ for (int i = 0; i < vs.Length - 1; i++)
|
|
|
+ {
|
|
|
+ output = output + vs[i].ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return output;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ public class subscript
|
|
|
+ {
|
|
|
+ string _Name;//正常显示字符
|
|
|
+ string _NumEntity;//
|
|
|
+ string _HexEntity;//十六进制
|
|
|
+ string _CharactrName;
|
|
|
+ public string Name
|
|
|
+ {
|
|
|
+ get { return _Name; }
|
|
|
+ set { _Name = value; }
|
|
|
+ }
|
|
|
+ public string NumEntity
|
|
|
+ {
|
|
|
+ get { return _NumEntity; }
|
|
|
+ set { _NumEntity = value; }
|
|
|
+ }
|
|
|
+ public string HexEntity
|
|
|
+ {
|
|
|
+ get { return _HexEntity; }
|
|
|
+ set { _HexEntity = value; }
|
|
|
+ }
|
|
|
+ public string CharactrName
|
|
|
+ {
|
|
|
+ get { return _CharactrName; }
|
|
|
+ set { _CharactrName = value; }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|