/*
 * RTF ANSI character set (\ansi) Symbol font map
 *
 * Field 1 is the standard character name which the character value in
 * field 2 maps onto.  (It doesn't mean "to produce the character in field 1,
 * use the value in field 2.)
 *
 * The character value may be given either as a single character (which will be
 * converted to the ASCII value of the character), or in numeric format, either
 * in decimal or 0xyy as hex yy.  Single or double quotes may be used to quote
 * characters.
 *
 */

int ansi_sym[] =
{
  rtfSC_formula        ,0x06,
  rtfSC_nobrkhyphen    ,0x1e,
  rtfSC_opthyphen      ,0x1f,
  rtfSC_space	       ,' ',
  rtfSC_exclam         ,'!',
  rtfSC_universal      ,'"',
  rtfSC_mathnumbersign ,'#',
  rtfSC_existential    ,'$',
  rtfSC_percent        ,'%',
  rtfSC_ampersand      ,'&',
  rtfSC_suchthat       ,'\\',
  rtfSC_parenleft      ,'(',
  rtfSC_parenright     ,')',
  rtfSC_mathasterisk   ,'*',
  rtfSC_mathplus       ,'+',
  rtfSC_comma	       ,',',
  rtfSC_mathminus      ,'-',
  rtfSC_period         ,'.',
  rtfSC_slash	       ,'/',
  rtfSC_zero	       ,'0',
  rtfSC_one	       ,'1',
  rtfSC_two	       ,'2',
  rtfSC_three	       ,'3',
  rtfSC_four	       ,'4',
  rtfSC_five	       ,'5',
  rtfSC_six	       ,'6',
  rtfSC_seven	       ,'7',
  rtfSC_eight	       ,'8',
  rtfSC_nine	       ,'9',
  rtfSC_colon	       ,':',
  rtfSC_semicolon      ,';',
  rtfSC_less	       ,'<',
  rtfSC_mathequal      ,'=',
  rtfSC_greater        ,'>',
  rtfSC_question       ,'?',
  rtfSC_congruent      ,'@',
  rtfSC_Alpha	       ,'A',
  rtfSC_Beta	       ,'B',
  rtfSC_Chi	       ,'C',
  rtfSC_Delta	       ,'D',
  rtfSC_Epsilon        ,'E',
  rtfSC_Phi	       ,'F',
  rtfSC_Gamma	       ,'G',
  rtfSC_Eta	       ,'H',
  rtfSC_Iota	       ,'I',
  rtfSC_Kappa	       ,'K',
  rtfSC_Lambda         ,'L',
  rtfSC_Mu	       ,'M',
  rtfSC_Nu	       ,'N',
  rtfSC_Omicron        ,'O',
  rtfSC_Pi	       ,'P',
  rtfSC_Theta	       ,'Q',
  rtfSC_Rho	       ,'R',
  rtfSC_Sigma	       ,'S',
  rtfSC_Tau	       ,'T',
  rtfSC_Upsilon        ,'U',
  rtfSC_varsigma       ,'V',
  rtfSC_Omega	       ,'W',
  rtfSC_Xi	       ,'X',
  rtfSC_Psi	       ,'Y',
  rtfSC_Zeta	       ,'Z',
  rtfSC_bracketleft    ,'[',
  rtfSC_backslash      ,'\\',
  rtfSC_bracketright   ,']',
  rtfSC_asciicircum    ,'^',
  rtfSC_underscore     ,'_',
  rtfSC_quoteleft      ,'`',
  rtfSC_alpha	       ,'a',
  rtfSC_beta	       ,'b',
  rtfSC_chi	       ,'c',
  rtfSC_delta	       ,'d',
  rtfSC_epsilon        ,'e',
  rtfSC_phi	       ,'f',
  rtfSC_gamma	       ,'g',
  rtfSC_eta	       ,'h',
  rtfSC_iota	       ,'i',
  rtfSC_kappa	       ,'k',
  rtfSC_lambda         ,'l',
  rtfSC_mu	       ,'m',
  rtfSC_nu	       ,'n',
  rtfSC_omicron        ,'o',
  rtfSC_pi	       ,'p',
  rtfSC_theta	       ,'q',
  rtfSC_rho	       ,'r',
  rtfSC_sigma	       ,'s',
  rtfSC_tau	       ,'t',
  rtfSC_upsilon        ,'u',
  rtfSC_omega	       ,'w',
  rtfSC_xi	       ,'x',
  rtfSC_psi	       ,'y',
  rtfSC_zeta	       ,'z',
  rtfSC_braceleft      ,'{',
  rtfSC_bar	       ,'|',
  rtfSC_braceright     ,'}',
  rtfSC_mathtilde      ,'~'
};
