ElementSubscript.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. using OTSRptPeriodicTable;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace OTSIncAReportApp._1_UI
  8. {
  9. public class ElementSubscript
  10. {
  11. List<subscript> subscripts = GetListsubscript();
  12. private static List<subscript> GetListsubscript()
  13. {
  14. List<subscript> List_subscript = new List<subscript>();
  15. subscript ls_subscript = new subscript();
  16. ls_subscript = new subscript();
  17. ls_subscript.Name = "0";
  18. ls_subscript.NumEntity = "&#8320";
  19. ls_subscript.HexEntity = "\x2080";
  20. ls_subscript.CharactrName = "SUBSCRIPT ZERO";
  21. List_subscript.Add(ls_subscript);
  22. ls_subscript = new subscript();
  23. ls_subscript.Name = "1";
  24. ls_subscript.NumEntity = "&#8321";
  25. ls_subscript.HexEntity = "\x2081";
  26. ls_subscript.CharactrName = "SUBSCRIPT ONE";
  27. List_subscript.Add(ls_subscript);
  28. ls_subscript = new subscript();
  29. ls_subscript.Name = "2";
  30. ls_subscript.NumEntity = "&#8322";
  31. ls_subscript.HexEntity = "\x2082";
  32. ls_subscript.CharactrName = "SUBSCRIPT TWO";
  33. List_subscript.Add(ls_subscript);
  34. ls_subscript = new subscript();
  35. ls_subscript.Name = "3";
  36. ls_subscript.NumEntity = "&#8323";
  37. ls_subscript.HexEntity = "\x2083";
  38. ls_subscript.CharactrName = "SUBSCRIPT THREE";
  39. List_subscript.Add(ls_subscript);
  40. ls_subscript = new subscript();
  41. ls_subscript.Name = "4";
  42. ls_subscript.NumEntity = "&#8324";
  43. ls_subscript.HexEntity = "\x2084";
  44. ls_subscript.CharactrName = "SUBSCRIPT FOUR";
  45. List_subscript.Add(ls_subscript);
  46. ls_subscript = new subscript();
  47. ls_subscript.Name = "5";
  48. ls_subscript.NumEntity = "&#8325";
  49. ls_subscript.HexEntity = "\x2085";
  50. ls_subscript.CharactrName = "SUBSCRIPT FIVE";
  51. List_subscript.Add(ls_subscript);
  52. ls_subscript = new subscript();
  53. ls_subscript.Name = "6";
  54. ls_subscript.NumEntity = "&#8326";
  55. ls_subscript.HexEntity = "\x2086";
  56. ls_subscript.CharactrName = "SUBSCRIPT SIX";
  57. List_subscript.Add(ls_subscript);
  58. ls_subscript = new subscript();
  59. ls_subscript.Name = "7";
  60. ls_subscript.NumEntity = "&#8327";
  61. ls_subscript.HexEntity = "\x2087";
  62. ls_subscript.CharactrName = "SUBSCRIPT SEVEN";
  63. List_subscript.Add(ls_subscript);
  64. ls_subscript = new subscript();
  65. ls_subscript.Name = "8";
  66. ls_subscript.NumEntity = "&#8328";
  67. ls_subscript.HexEntity = "\x2088";
  68. ls_subscript.CharactrName = "SUBSCRIPT EIGHT";
  69. List_subscript.Add(ls_subscript);
  70. ls_subscript = new subscript();
  71. ls_subscript.Name = "9";
  72. ls_subscript.NumEntity = "&#8329";
  73. ls_subscript.HexEntity = "\x2089";
  74. ls_subscript.CharactrName = "SUBSCRIPT NINE";
  75. List_subscript.Add(ls_subscript);
  76. return List_subscript;
  77. }
  78. /// <summary>
  79. /// 将数字转换成下标转义符
  80. /// </summary>
  81. /// <param name="str"></param>
  82. /// <returns></returns>
  83. private string Getsubscript(string str)
  84. {
  85. if (subscripts.Count==0)
  86. {
  87. subscripts = GetListsubscript();
  88. }
  89. for (int i=0;i< subscripts.Count;i++)
  90. {
  91. if (subscripts[i].Name==str)
  92. {
  93. return subscripts[i].HexEntity;
  94. }
  95. }
  96. return "";
  97. }
  98. public string Getsubscriptstring(string str)
  99. {
  100. return str;
  101. //下标转换
  102. //string[] strarray = str.Split('-');
  103. //string strSubscript = "";
  104. //for (int j=0;j< strarray.Length;j++)
  105. //{
  106. // char[] strCharArr = strarray[j].ToCharArray();
  107. // string Escape = "";
  108. // for (int i = 0; i < strCharArr.Length; i++)
  109. // {
  110. // if (i < 2)
  111. // {
  112. // Escape = Escape + strCharArr[i];
  113. // continue;
  114. // }
  115. // else
  116. // {
  117. // if (System.Text.RegularExpressions.Regex.IsMatch(strCharArr[i].ToString(), @"^[+-]?\d*[.]?\d*$"))
  118. // {
  119. // Escape = Escape + Getsubscript(strCharArr[i].ToString());
  120. // }
  121. // else
  122. // {
  123. // Escape = Escape + strCharArr[i];
  124. // }
  125. // }
  126. // }
  127. // strSubscript = strSubscript + Escape+"-";
  128. //}
  129. //string[] vs = strSubscript.Split('-');
  130. //string output = "";
  131. //if (vs.Length>2)
  132. //{
  133. // for (int i = 0; i < vs.Length - 1; i++)
  134. // {
  135. // if (i == vs.Length - 2)
  136. // {
  137. // output = output + vs[i].ToString();
  138. // }
  139. // else
  140. // {
  141. // output = output + vs[i].ToString() + "-";
  142. // }
  143. // }
  144. //}
  145. //else
  146. //{
  147. // for (int i = 0; i < vs.Length - 1; i++)
  148. // {
  149. // output = output + vs[i].ToString();
  150. // }
  151. //}
  152. //return output;
  153. }
  154. }
  155. public class subscript
  156. {
  157. string _Name;//正常显示字符
  158. string _NumEntity;//
  159. string _HexEntity;//十六进制
  160. string _CharactrName;
  161. public string Name
  162. {
  163. get { return _Name; }
  164. set { _Name = value; }
  165. }
  166. public string NumEntity
  167. {
  168. get { return _NumEntity; }
  169. set { _NumEntity = value; }
  170. }
  171. public string HexEntity
  172. {
  173. get { return _HexEntity; }
  174. set { _HexEntity = value; }
  175. }
  176. public string CharactrName
  177. {
  178. get { return _CharactrName; }
  179. set { _CharactrName = value; }
  180. }
  181. }
  182. }