C#生成Code39条形码而非条形码字体的方法

2019-12-26 13:16:00王振洲
  • {  return i; 
  • }  } 
  • return -1;  } 
  • /// <summary>  /// 判断字符集是否存在Extended 
  • /// </summary>  /// <param name="c"></param> 
  • /// <param name="v1"></param>  /// <param name="v2"></param> 
  • /// <returns></returns>  private bool valuesFromExtended(byte c, ref byte v1, ref byte v2) 
  • {  //0x55 85 
  • for (int i = 0; i < 0x55; i++)  { 
  • if (this.c39_ex[i, 0] == c)  { 
  • v1 = this.c39_ex[i, 1];  v2 = this.c39_ex[i, 2]; 
  • return true;  } 
  • }  return false; 
  • }  private byte[] processTilde(string rawdata) 
  • {  byte[] sourceArray = new byte[rawdata.Length]; 
  • int index = 0;  for (int i = 0; i < rawdata.Length; i++) 
  • {  if (rawdata[i] != '~') 
  • {  sourceArray[index] = (byte)rawdata[i]; 
  • index++;  } 
  • else if ((i + 3) < rawdata.Length)  { 
  • string str = new string(new char[] { rawdata[i + 1], rawdata[i + 2], rawdata[i + 3] });  int num3 = Convert.ToInt32(str, 10); 
  • if ((num3 > 0) && (num3 <= 0xff))  { 
  • sourceArray[index] = (byte)num3;  index++; 
  • }  if (num3 == 0x3e7) 
  • {  sourceArray[index] = 0x86; 
  • index++;  } 
  • i += 3;  } 
  • else  { 
  • sourceArray[index] = (byte)rawdata[i];  index++; 
  • }  } 
  • byte[] destinationArray = new byte[index];  Array.Copy(sourceArray, destinationArray, index); 
  • return destinationArray;  }