⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 charset.c

📁 vc环境下的pgp源码
💻 C
📖 第 1 页 / 共 5 页
字号:
	{'<','-'}, {'-','!'}, {'-','>'}, {'-','v'},
	{'D','G'}, {'+','-'}, {'2','S'}, {'3','S'},
	{'*','X'}, {'M','y'}, {'P','I'}, {'.','M'},
	{'-',':'}, {'\'','9'},{'"','9'}, {'>','>'},
	{'1','4'}, {'1','2'}, {'3','4'}, {'?','I'}
#endif
};

/*
--- T.61 characters [0xE0 .. 0xFF] -----------------
*/
static Couple trans_t61b_iso8859[48] = {
#if (ISO_8859 == 1)
	{'-','M'}, {0xb9,0},  {0xae,0},  {0xa9,0},
	{'T','M'}, {'M','8'}, {0xac,0},  {0xa6,0},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {0xc6,0},  {0xd0,0},  {0xaa,0},
	{'H','/'}, {0,0},     {'I','J'}, {'L','.'},
	{'L','/'}, {0xd8,0},  {'O','E'}, {0xba,0},
	{0xde,0},  {'T','/'}, {'N','G'}, {'\'','n'},
	{'k','k'}, {0xe6,0},  {'d','/'}, {0xf0,0},
	{'h','/'}, {'i','.'}, {'i','j'}, {'l','.'},
	{'l','/'}, {0xf8,0},  {'o','e'}, {0xdf,0},
	{0xfe,0},  {'t','/'}, {'n','g'}, {'-','-'}
#elif (ISO_8859 == 2)
	{'-','M'}, {'1','S'}, {'R','g'}, {'C','o'},
	{'T','M'}, {'M','8'}, {'N','O'}, {'B','B'},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {'A','E'}, {0xd0,0},  {'-','a'},
	{'H','/'}, {0,0},     {'I','J'}, {'L','.'},
	{0xa3,0},  {'O','/'}, {'O','E'}, {'-','o'},
	{'T','H'}, {'T','/'}, {'N','G'}, {'\'','n'},
	{'k','k'}, {'a','e'}, {0xf0,0},  {'d','-'},
	{'h','/'}, {'i','.'}, {'i','j'}, {'l','.'},
	{0xb3,0},  {'o','/'}, {'o','e'}, {0xdf,0},
	{'t','h'}, {'t','/'}, {'n','g'}, {'-','-'}
#elif (ISO_8859 == 3)
	{'-','M'}, {'1','S'}, {'R','g'}, {'C','o'},
	{'T','M'}, {'M','8'}, {'N','O'}, {'B','B'},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {'A','E'}, {'D','/'}, {'-','a'},
	{0xa1,0},  {0,0},     {'I','J'}, {'L','.'},
	{'L','/'}, {'O','/'}, {'O','E'}, {'-','o'},
	{'T','H'}, {'T','/'}, {'N','G'}, {'\'','n'},
	{'k','k'}, {'a','e'}, {'d','/'}, {'d','-'},
	{0xb1,0},  {0xb9,0},  {'i','j'}, {'l','.'},
	{'l','/'}, {'o','/'}, {'o','e'}, {0xdf,0},
	{'t','h'}, {'t','/'}, {'n','g'}, {'-','-'}
#elif (ISO_8859 == 4)
	{'-','M'}, {'1','S'}, {'R','g'}, {'C','o'},
	{'T','M'}, {'M','8'}, {'N','O'}, {'B','B'},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {0xc6,0},  {0xd0,0},  {'-','a'},
	{'H','/'}, {0,0},     {'I','J'}, {'L','.'},
	{'L','/'}, {0xd8,0},  {'O','E'}, {'-','o'},
	{'T','H'}, {0xac,0},  {0xbd,0},  {'\'','n'},
	{0xa2,0},  {0xe6,0},  {0xf0,0},  {'d','-'},
	{'h','/'}, {'i','.'}, {'i','j'}, {'l','.'},
	{'l','/'}, {0xf8,0},  {'o','e'}, {0xdf,0},
	{'t','h'}, {0xbc,0},  {0xbf,0},  {'-','-'}
#elif (ISO_8859 == 9)
	{'-','M'}, {0xb9,0},  {0xae,0},  {0xa9,0},
	{'T','M'}, {'M','8'}, {0xac,0},  {0xa6,0},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {0xc6,0},  {'D','/'}, {0xaa,0},
	{'H','/'}, {0,0},     {'I','J'}, {'L','.'},
	{'L','/'}, {0xd8,0},  {'O','E'}, {0xba,0},
	{'T','H'}, {'T','/'}, {'N','G'}, {'\'','n'},
	{'k','k'}, {0xe6,0},  {'d','/'}, {'d','-'},
	{'h','/'}, {0xfd,0},  {'i','j'}, {'l','.'},
	{'l','/'}, {0xf8,0},  {'o','e'}, {0xdf,0},
	{'t','h'}, {'t','/'}, {'n','g'}, {'-','-'}
#elif (ISO_8859 == 10)
	{0xbd,0},  {'1','S'}, {'R','g'}, {'C','o'},
	{'T','M'}, {'M','8'}, {'N','O'}, {'B','B'},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {0xc6,0},  {0xa9,0},  {'-','a'},
	{'H','/'}, {0,0},     {'I','J'}, {'L','.'},
	{'L','/'}, {0xd8,0},  {'O','E'}, {'-','o'},
	{0xde,0},  {0xab,0},  {0xaf,0},  {'\'','n'},
	{0xff,0},  {0xe6,0},  {0xb9,0},  {0xf0,0},
	{'h','/'}, {'i','.'}, {'i','j'}, {'l','.'},
	{'l','/'}, {0xf8,0},  {'o','e'}, {0xdf,0},
	{0xfe,0},  {0xbb,0},  {0xbf,0},  {'-','-'}
#else
	{'-','M'}, {'1','S'}, {'R','g'}, {'C','o'},
	{'T','M'}, {'M','8'}, {'N','O'}, {'B','B'},
	{0,0},     {0,0},     {0,0},     {0,0},
	{'1','8'}, {'3','8'}, {'5','8'}, {'7','8'},
	{'O','m'}, {'A','E'}, {'D','/'}, {'-','a'},
	{'H','/'}, {0,0},     {'I','J'}, {'L','.'},
	{'L','/'}, {'O','/'}, {'O','E'}, {'-','o'},
	{'T','H'}, {'T','/'}, {'N','G'}, {'\'','n'},
	{'k','k'}, {'a','e'}, {'d','/'}, {'d','-'},
	{'h','/'}, {'i','.'}, {'i','j'}, {'l','.'},
	{'l','/'}, {'o','/'}, {'o','e'}, {'s','s'},
	{'t','h'}, {'t','-'}, {'n','g'}, {'-','-'}
#endif
};

/*
--- ISO 8859-n characters <0xA0 .. 0xFF> -------------------
*/
#if (ISO_8859 == 1)
static Couple trans_iso8859_t61[96] = {
	{0xa0,0},     {0xa1,0},     {0xa2,0},     {0xa3,0},
	{0xa8,0},     {0xa5,0},     {0xd7,0},     {0xa7,0},
	{0xc8,ALONE}, {0xd3,0},     {0xe3,0},     {0xab,0},
	{0xd6,0},     {0xff,0},     {0xd2,0},     {0xc5,ALONE},
	{0xb0,0},     {0xb1,0},     {0xb2,0},     {0xb3,0},
	{0xc2,ALONE}, {0xb5,0},     {0xb6,0},     {0xb7,0},
	{0xcb,ALONE}, {0xd1,0},     {0xeb,0},     {0xbb,0},
	{0xbc,0},     {0xbd,0},     {0xbe,0},     {0xbf,0},
	{0xc1,'A'},   {0xc2,'A'},   {0xc3,'A'},   {0xc4,'A'},
	{0xc8,'A'},   {0xca,'A'},   {0xe1,0},     {0xcb,'C'},
	{0xc1,'E'},   {0xc2,'E'},   {0xc3,'E'},   {0xc8,'E'},
	{0xc1,'I'},   {0xc2,'I'},   {0xc3,'I'},   {0xc8,'I'},
	{0xe2,0},     {0xc4,'N'},   {0xc1,'O'},   {0xc2,'O'},
	{0xc3,'O'},   {0xc4,'O'},   {0xc8,'O'},   {0xb4,0},
	{0xe9,0},     {0xc1,'U'},   {0xc2,'U'},   {0xc3,'U'},
	{0xc8,'U'},   {0xc2,'Y'},   {0xec,0},     {0xfb,0},
	{0xc1,'a'},   {0xc2,'a'},   {0xc3,'a'},   {0xc4,'a'},
	{0xc8,'a'},   {0xca,'a'},   {0xf1,0},     {0xcb,'c'},
	{0xc1,'e'},   {0xc2,'e'},   {0xc3,'e'},   {0xc8,'e'},
	{0xc1,'i'},   {0xc2,'i'},   {0xc3,'i'},   {0xc8,'i'},
	{0xf3,0},     {0xc4,'n'},   {0xc1,'o'},   {0xc2,'o'},
	{0xc3,'o'},   {0xc4,'o'},   {0xc8,'o'},   {0xb8,0},
	{0xf9,0},     {0xc1,'u'},   {0xc2,'u'},   {0xc3,'u'},
	{0xc8,'u'},   {0xc2,'y'},   {0xfc,0},     {0xc8,'y'}
};
#elif (ISO_8859 == 2)
static Couple trans_iso8859_t61[96] = {
	{0xa0,0},     {0xce,'A'},   {0xc6,ALONE}, {0xe8,0},
	{0xa8,0},     {0xcf,'L'},   {0xc2,'S'},   {0xa7,0},
	{0xc8,ALONE}, {0xcf,'S'},   {0xcb,'S'},   {0xcf,'T'},
	{0xc2,'Z'},   {0xff,0},     {0xcf,'Z'},   {0xc7,'Z'},
	{0xb0,0},     {0xce,'a'},   {0xce,ALONE}, {0xf8,0},
	{0xc2,ALONE}, {0xcf,'l'},   {0xc2,'s'},   {0xcf,ALONE},
	{0xcb,ALONE}, {0xcf,'s'},   {0xcb,'s'},   {0xcf,'t'},
	{0xc2,'z'},   {0xcd,ALONE}, {0xcf,'z'},   {0xc7,'z'},
	{0xc2,'R'},   {0xc2,'A'},   {0xc3,'A'},   {0xc6,'A'},
	{0xc8,'A'},   {0xc2,'L'},   {0xc2,'C'},   {0xcb,'C'},
	{0xcf,'C'},   {0xc2,'E'},   {0xce,'E'},   {0xc8,'E'},
	{0xcf,'E'},   {0xc2,'I'},   {0xc3,'I'},   {0xcf,'D'},
	{0xe2,0},     {0xc2,'N'},   {0xcf,'N'},   {0xc2,'O'},
	{0xc3,'O'},   {0xcd,'O'},   {0xc8,'O'},   {0xb4,0},
	{0xcf,'R'},   {0xca,'U'},   {0xc2,'U'},   {0xcd,'U'},
	{0xc8,'U'},   {0xc2,'Y'},   {0xcb,'T'},   {0xfb,0},
	{0xc2,'r'},   {0xc2,'a'},   {0xc3,'a'},   {0xc6,'a'},
	{0xc8,'a'},   {0xc2,'l'},   {0xc2,'c'},   {0xcb,'c'},
	{0xcf,'c'},   {0xc2,'e'},   {0xce,'e'},   {0xc8,'e'},
	{0xcf,'e'},   {0xc2,'i'},   {0xc3,'i'},   {0xcf,'d'},
	{0xf2,0},     {0xc2,'n'},   {0xcf,'n'},   {0xc2,'o'},
	{0xc3,'o'},   {0xcd,'o'},   {0xc8,'o'},   {0xb8,0},
	{0xcf,'r'},   {0xca,'u'},   {0xc2,'u'},   {0xcd,'u'},
	{0xc8,'u'},   {0xc2,'y'},   {0xcb,'t'},   {0xc7,ALONE}
};
#elif (ISO_8859 == 3)
static Couple trans_iso8859_t61[96] = {
	{0xa0,0},     {0xe4,0},     {0xc6,ALONE}, {0xa3,0},
	{0xa8,0},     {0,0},        {0xc3,'H'},   {0xa7,0},
	{0xc8,ALONE}, {0xc7,'I'},   {0xcb,'S'},   {0xc6,'G'},
	{0xc3,'J'},   {0xff,0},     {0,0},        {0xc7,'Z'},
	{0xb0,0},     {0xf4,0},     {0xb2,0},     {0xb3,0},
	{0xc2,ALONE}, {0xb5,0},     {0xc3,'h'},   {0xb7,0},
	{0xcb,ALONE}, {0xf5,0},     {0xcb,'s'},   {0xc6,'g'},
	{0xc3,'j'},   {0xbd,0},     {0,0},        {0xc7,'z'},
	{0xc1,'A'},   {0xc2,'A'},   {0xc3,'A'},   {0,0},
	{0xc8,'A'},   {0xc7,'C'},   {0xc3,'C'},   {0xcb,'C'},
	{0xc1,'E'},   {0xc2,'E'},   {0xc3,'E'},   {0xc8,'E'},
	{0xc1,'I'},   {0xc2,'I'},   {0xc3,'I'},   {0xc8,'I'},
	{0,0},        {0xc4,'N'},   {0xc1,'O'},   {0xc2,'O'},
	{0xc3,'O'},   {0xc7,'G'},   {0xc8,'O'},   {0xb4,0},
	{0xc3,'G'},   {0xc1,'U'},   {0xc2,'U'},   {0xc3,'U'},
	{0xc8,'U'},   {0xc6,'U'},   {0xc3,'S'},   {0xfb,0},
	{0xc1,'a'},   {0xc2,'a'},   {0xc3,'a'},   {0,0},
	{0xc8,'a'},   {0xc7,'c'},   {0xc3,'c'},   {0xcb,'c'},
	{0xc1,'e'},   {0xc2,'e'},   {0xc3,'e'},   {0xc8,'e'},
	{0xc1,'i'},   {0xc2,'i'},   {0xc3,'i'},   {0xc8,'i'},
	{0,0},        {0xc4,'n'},   {0xc1,'o'},   {0xc2,'o'},
	{0xc3,'o'},   {0xc7,'g'},   {0xc8,'o'},   {0xb8,0},
	{0xc3,'g'},   {0xc1,'u'},   {0xc2,'u'},   {0xc3,'u'},
	{0xc8,'u'},   {0xc6,'u'},   {0xc3,'s'},   {0xc7,ALONE}
};
#elif (ISO_8859 == 4)
static Couple trans_iso8859_t61[96] = {
	{0xa0,0},     {0xce,'A'},   {0xf0,0},     {0xcb,'R'},
	{0xa8,0},     {0xc4,'I'},   {0xcb,'L'},   {0xa7,0},
	{0xc8,ALONE}, {0xcf,'S'},   {0xc5,'E'},   {0xcb,'G'},
	{0xed,0},     {0xff,0},     {0xcf,'Z'},   {0xc5,ALONE},
	{0xb0,0},     {0xce,'a'},   {0xce,ALONE}, {0xcb,'r'},
	{0xc2,ALONE}, {0xc4,'i'},   {0xcb,'l'},   {0xcf,ALONE},
	{0xcb,ALONE}, {0xcf,'s'},   {0xc5,'e'},   {0xcb,'g'},
	{0xfd,0},     {0xee,0},     {0xcf,'z'},   {0xfe,0},
	{0xc5,'A'},   {0xc2,'A'},   {0xc3,'A'},   {0xc4,'A'},
	{0xc8,'A'},   {0xca,'A'},   {0xe1,0},     {0xce,'I'},
	{0xcf,'C'},   {0xc2,'E'},   {0xce,'E'},   {0xc8,'E'},
	{0xc7,'E'},   {0xc2,'I'},   {0xc3,'I'},   {0xc5,'I'},
	{0xe2,0},     {0xcb,'N'},   {0xc5,'O'},   {0xcb,'K'},
	{0xc3,'O'},   {0xc4,'O'},   {0xc8,'O'},   {0xb4,0},
	{0xe9,0},     {0xce,'U'},   {0xc2,'U'},   {0xc3,'U'},
	{0xc8,'U'},   {0xc4,'U'},   {0xc5,'U'},   {0xfb,0},
	{0xc5,'a'},   {0xc2,'a'},   {0xc3,'a'},   {0xc4,'a'},
	{0xc8,'a'},   {0xca,'a'},   {0xf1,0},     {0xce,'i'},
	{0xcf,'c'},   {0xc2,'e'},   {0xce,'e'},   {0xc8,'e'},
	{0xc7,'e'},   {0xc2,'i'},   {0xc3,'i'},   {0xc5,'i'},
	{0xf2,0},     {0xcb,'n'},   {0xc5,'o'},   {0xcb,'k'},
	{0xc3,'o'},   {0xc4,'o'},   {0xc8,'o'},   {0xb8,0},
	{0xf9,0},     {0xce,'u'},   {0xc2,'u'},   {0xc3,'u'},
	{0xc8,'u'},   {0xc4,'u'},   {0xc5,'u'},   {0xc7,ALONE}
};
#elif (ISO_8859 == 9)
static Couple trans_iso8859_t61[96] = {
	{0xa0,0},     {0xa1,0},     {0xa2,0},     {0xa3,0},
	{0xa8,0},     {0xa5,0},     {0xd7,0},     {0xa7,0},
	{0xc8,ALONE}, {0xd3,0},     {0xe3,0},     {0xab,0},
	{0xd6,0},     {0xff,0},     {0xd2,0},     {0xc5,ALONE},
	{0xb0,0},     {0xb1,0},     {0xb2,0},     {0xb3,0},
	{0xc2,ALONE}, {0xb5,0},     {0xb6,0},     {0xb7,0},
	{0xcb,ALONE}, {0xd1,0},     {0xeb,0},     {0xbb,0},
	{0xbc,0},     {0xbd,0},     {0xbe,0},     {0xbf,0},
	{0xc1,'A'},   {0xc2,'A'},   {0xc3,'A'},   {0xc4,'A'},
	{0xc8,'A'},   {0xca,'A'},   {0xe1,0},     {0xcb,'C'},
	{0xc1,'E'},   {0xc2,'E'},   {0xc3,'E'},   {0xc8,'E'},
	{0xc1,'I'},   {0xc2,'I'},   {0xc3,'I'},   {0xc8,'I'},
	{0xc6,'G'},   {0xc4,'N'},   {0xc1,'O'},   {0xc2,'O'},
	{0xc3,'O'},   {0xc4,'O'},   {0xc8,'O'},   {0xb4,0},
	{0xe9,0},     {0xc1,'U'},   {0xc2,'U'},   {0xc3,'U'},
	{0xc8,'U'},   {0xc7,'I'},   {0xcb,'S'},   {0xfb,0},
	{0xc1,'a'},   {0xc2,'a'},   {0xc3,'a'},   {0xc4,'a'},
	{0xc8,'a'},   {0xca,'a'},   {0xf1,0},     {0xcb,'c'},
	{0xc1,'e'},   {0xc2,'e'},   {0xce,'e'},   {0xc8,'e'},
	{0xc7,'e'},   {0xc2,'i'},   {0xc3,'i'},   {0xc5,'i'},
	{0xc6,'g'},   {0xc4,'n'},   {0xc1,'o'},   {0xc2,'o'},
	{0xc3,'o'},   {0xc4,'o'},   {0xc8,'o'},   {0xb8,0},
	{0xf9,0},     {0xc1,'u'},   {0xc2,'u'},   {0xc3,'u'},
	{0xc8,'u'},   {0xf5,0},     {0xcb,'s'},   {0xc8,'y'}
};
#elif (ISO_8859 == 10)
static Couple trans_iso8859_t61[96] = {
	{0xa0,0},     {0xce,'A'},   {0xc5,'E'},   {0xcb,'G'},
	{0xc5,'I'},   {0xc4,'I'},   {0xcb,'K'},   {0xa7,0},
	{0xcb,'L'},   {0xe2,0},     {0xcf,'S'},   {0xed,0},
	{0xcf,'Z'},   {0xff,0},     {0xc5,'U'},   {0xee,0},
	{0xb0,0},     {0xce,'a'},   {0xc5,'e'},   {0xcb,'g'},
	{0xc5,'i'},   {0xc4,'i'},   {0xcb,'k'},   {0xb7,0},
	{0xcb,'l'},   {0xf2,0},     {0xcf,'s'},   {0xfd,0},
	{0xcf,'z'},   {0xd0,0},     {0xc5,'u'},   {0xfe,0},
	{0xc5,'A'},   {0xc2,'A'},   {0xc3,'A'},   {0xc4,'A'},
	{0xc8,'A'},   {0xca,'A'},   {0xe1,0},     {0xce,'I'},
	{0xcf,'C'},   {0xc2,'E'},   {0xce,'E'},   {0xc8,'E'},
	{0xc7,'E'},   {0xc2,'I'},   {0xc3,'I'},   {0xc8,'I'},
	{0,0},        {0xcb,'N'},   {0xc5,'O'},   {0xc2,'O'},
	{0xc3,'O'},   {0xc4,'O'},   {0xc8,'O'},   {0xc4,'U'},
	{0xe9,0},     {0xce,'U'},   {0xc2,'U'},   {0xc3,'U'},
	{0xc8,'U'},   {0xc2,'Y'},   {0xec,0},     {0xfb,0},
	{0xc5,'a'},   {0xc2,'a'},   {0xc3,'a'},   {0xc4,'a'},
	{0xc8,'a'},   {0xca,'a'},   {0xf1,0},     {0xce,'i'},
	{0xcf,'c'},   {0xc2,'e'},   {0xce,'e'},   {0xc8,'e'},
	{0xc7,'e'},   {0xc2,'i'},   {0xc3,'i'},   {0xc8,'i'},
	{0xf3,0},     {0xcb,'n'},   {0xc5,'o'},   {0xc2,'o'},
	{0xc3,'o'},   {0xc4,'o'},   {0xc8,'o'},   {0xc4,'u'},
	{0xf9,0},     {0xce,'u'},   {0xc2,'u'},   {0xc3,'u'},
	{0xc8,'u'},   {0xc2,'y'},   {0xfc,0},     {0xf0,0}
};
#endif


static Byte *
c_to_hh( Byte *o, Byte c )
{
  Byte n;

  *o++ = '{'; *o++ = 'x';
  n = c >> 4;
  *o++ = ((n < 0xA) ? '0' : 'A' - 0xA) + n;
  n = c & 0x0F;
  *o++ = ((n < 0xA) ? '0' : 'A' - 0xA) + n;
  *o++ = '}';
  return o;
}


static Byte *
c_to_cc( Byte *o, Couple *cc, Byte c )
{
  if ( (*cc).a != 0 ) {
    if ( (*cc).b == 0 )
      *o++ = (*cc).a;
    else {
      *o++ = '{';
      *o++ = (*cc).a;
      *o++ = (*cc).b;
      *o++ = '}';
    }
    return o;
  }
  else
    return c_to_hh( o, c );
}

/* --- routine to convert from T.61 to ISO 8859-n --- */

int
ldap_t61_to_8859( char **bufp, unsigned long *buflenp, int free_input )
{
  Byte		*s, *oo, *o;
  unsigned int  n;
  int           c;
  unsigned long len;
  Couple        *cc;

  Debug( LDAP_DEBUG_TRACE, "ldap_t61_to_8859 input length: %ld\n",
	*buflenp, 0, 0 );

  len = *buflenp;
  s = (Byte *) *bufp;

  if ( (o = oo = (Byte *)malloc( 2 * len + 64 )) == NULL ) {
        return( 1 );
  }

  while ( (char *)s - *(char **)bufp < len ) {
    switch ( *s >> 4 ) {

    case 0xA: case 0xB:
      o = c_to_cc( o, &trans_t61a_iso8859[ *s - 0xA0 ], *s );
      s++;
      break;

    case 0xD: case 0xE: case 0xF:
      o = c_to_cc( o, &trans_t61b_iso8859[ *s - 0xD0 ], *s );
      s++;
      break;

    case 0xC:
      if ( (*s == 0xC0) || (*s == 0xC9) || (*s == 0xCC) ) {
        o = c_to_hh( o, *s++ );
        break;
      }

      n = (*s++) - 0xC0;
      switch ( *s ) {

      case 'A':  c = letter_w_diacritic[n][0]; break;
      case 'C':  c = letter_w_diacritic[n][1]; break;
      case 'D':  c = letter_w_diacritic[n][2]; break;
      case 'E':  c = letter_w_diacritic[n][3]; break;
      case 'G':  c = letter_w_diacritic[n][4]; break;
      case 'H':  c = letter_w_diacritic[n][5]; break;
      case 'I':  c = letter_w_diacritic[n][6]; break;
      case 'J':  c = letter_w_diacritic[n][7]; break;
      case 'K':  c = letter_w_diacritic[n][8]; break;
      case 'L':  c = letter_w_diacritic[n][9]; break;
      case 'N':  c = letter_w_diacritic[n][10]; break;
      case 'O':  c = letter_w_diacritic[n][11]; break;
      case 'R':  c = letter_w_diacritic[n][12]; break;
      case 'S':  c = letter_w_diacritic[n][13]; break;
      case 'T':  c = letter_w_diacritic[n][14]; break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -