Back to index

tetex-bin  3.0
Classes | Typedefs | Enumerations | Functions | Variables
lang.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  language_type
struct  iso_map_type
struct  encoding_type

Typedefs

typedef unsigned short int unicode_t
typedef unsigned char byte_t

Enumerations

enum  language_code_type {
  aa, ab, af, am,
  ar, as, ay, az,
  ba, be, bg, bh,
  bi, bn, bo, br,
  ca, co, cs, cy,
  da, de, dz, el,
  en, eo, es, et,
  eu, fa, fi, fj,
  fo, fr, fy, ga,
  gd, gl, gn, gu,
  ha, he, hi, hr,
  hu, hy, ia, id,
  ie, ik, is, it,
  iu, ja, jw, ka,
  kk, kl, km, kn,
  ko, ks, ku, ky,
  la, ln, lo, lt,
  lv, mg, mi, mk,
  ml, mn, mo, mr,
  ms, mt, my, na,
  ne, nl, no, oc,
  om, or, pa, pl,
  ps, pt, qu, rm,
  rn, ro, ru, rw,
  sa, sd, sg, sh,
  si, sk, sl, sm,
  sn, so, sq, sr,
  ss, st, su, sv,
  sw, ta, te, tg,
  th, ti, tk, tl,
  tn, to, tr, ts,
  tt, tw, ug, uk,
  ur, uz, vi, vo,
  wo, xh, yi, yo,
  za, zh, zu, last_language_code
}
enum  encoding_code_type {
  no_encoding, US_ASCII, ISO_8859_1, ISO_8859_2,
  ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
  ISO_8859_7, ISO_8859_8, ISO_8859_9, ISO_8859_10,
  ISO_8859_11, ISO_8859_12, ISO_8859_13, ISO_8859_14,
  ISO_8859_15, last_encoding_code
}

Functions

void cm_documentlanguage (void)
void cm_documentencoding (void)
void cm_accent (int arg)
void cm_special_char (int arg)
void cm_dotless (int arg, int start, int end)
void cm_accent_umlaut (int arg, int start, int end)
void cm_accent_acute (int arg, int start, int end)
void cm_accent_cedilla (int arg, int start, int end)
void cm_accent_hat (int arg, int start, int end)
void cm_accent_grave (int arg, int start, int end)
void cm_accent_tilde (int arg, int start, int end)
char * current_document_encoding (void)

Variables

language_code_type language_code
language_type language_table []
encoding_code_type document_encoding_code
char * unknown_encoding
encoding_type encoding_table []

Class Documentation

struct language_type

Definition at line 65 of file lang.h.

Class Members
char * abbrev
char * desc
language_code_type lc
struct iso_map_type

Definition at line 111 of file lang.h.

Class Members
byte_t bytecode
char * html
unicode_t unicode
struct encoding_type

Definition at line 119 of file lang.h.

Collaboration diagram for encoding_type:
Class Members
encoding_code_type ec
char * encname
iso_map_type * isotab

Typedef Documentation

typedef unsigned char byte_t

Definition at line 109 of file lang.h.

typedef unsigned short int unicode_t

Definition at line 108 of file lang.h.


Enumeration Type Documentation

Enumerator:
no_encoding 
US_ASCII 
ISO_8859_1 
ISO_8859_2 
ISO_8859_3 
ISO_8859_4 
ISO_8859_5 
ISO_8859_6 
ISO_8859_7 
ISO_8859_8 
ISO_8859_9 
ISO_8859_10 
ISO_8859_11 
ISO_8859_12 
ISO_8859_13 
ISO_8859_14 
ISO_8859_15 
last_encoding_code 

Definition at line 79 of file lang.h.

Enumerator:
aa 
ab 
af 
am 
ar 
as 
ay 
az 
ba 
be 
bg 
bh 
bi 
bn 
bo 
br 
ca 
co 
cs 
cy 
da 
de 
dz 
el 
en 
eo 
es 
et 
eu 
fa 
fi 
fj 
fo 
fr 
fy 
ga 
gd 
gl 
gn 
gu 
ha 
he 
hi 
hr 
hu 
hy 
ia 
id 
ie 
ik 
is 
it 
iu 
ja 
jw 
ka 
kk 
kl 
km 
kn 
ko 
ks 
ku 
ky 
la 
ln 
lo 
lt 
lv 
mg 
mi 
mk 
ml 
mn 
mo 
mr 
ms 
mt 
my 
na 
ne 
nl 
no 
oc 
om 
or 
pa 
pl 
ps 
pt 
qu 
rm 
rn 
ro 
ru 
rw 
sa 
sd 
sg 
sh 
si 
sk 
sl 
sm 
sn 
so 
sq 
sr 
ss 
st 
su 
sv 
sw 
ta 
te 
tg 
th 
ti 
tk 
tl 
tn 
to 
tr 
ts 
tt 
tw 
ug 
uk 
ur 
uz 
vi 
vo 
wo 
xh 
yi 
yo 
za 
zh 
zu 
last_language_code 

Definition at line 29 of file lang.h.

{
  aa,  ab,  af,  am,  ar,  as,  ay,  az,
  ba,  be,  bg,  bh,  bi,  bn,  bo,  br,
  ca,  co,  cs,  cy,
  da,  de,  dz,
  el,  en,  eo,  es,  et,  eu,
  fa,  fi,  fj,  fo,  fr,  fy,
  ga,  gd,  gl,  gn,  gu,
  ha,  he,  hi,  hr,  hu,  hy,
  ia,  id,  ie,  ik,  is,  it,  iu,
  ja,  jw,
  ka,  kk,  kl,  km,  kn,  ko,  ks,  ku,  ky,
  la,  ln,  lo,  lt,  lv,
  mg,  mi,  mk,  ml,  mn,  mo,  mr,  ms,  mt,  my,
  na,  ne,  nl,  no,
  oc,  om,  or,
  pa,  pl,  ps,  pt,
  qu,
  rm,  rn,  ro,  ru,  rw,
  sa,  sd,  sg,  sh,  si,  sk,  sl,  sm,  sn,  so,  sq,  sr,  ss,  st,  su,  sv,  sw,
  ta,  te,  tg,  th,  ti,  tk,  tl,  tn,  to,  tr,  ts,  tt,  tw,
  ug,  uk,  ur,  uz,
  vi,  vo,
  wo,
  xh,
  yi,  yo,
  za,  zh,  zu,
  last_language_code
} language_code_type;

Function Documentation

void cm_accent ( int  arg)
void cm_accent_acute ( int  arg,
int  start,
int  end 
)
void cm_accent_cedilla ( int  arg,
int  start,
int  end 
)
void cm_accent_grave ( int  arg,
int  start,
int  end 
)
void cm_accent_hat ( int  arg,
int  start,
int  end 
)
void cm_accent_tilde ( int  arg,
int  start,
int  end 
)

Definition at line 937 of file lang.c.

{
  cm_accent_generic (arg, start, end, "ANOano", '~', 0, "tilde");
}

Here is the call graph for this function:

void cm_accent_umlaut ( int  arg,
int  start,
int  end 
)

Definition at line 619 of file lang.c.

{
  if (!handling_delayed_writes)
    {
      encoding_code_type enc;
      char *enc_arg;

      /* This is ugly and probably needs to apply to other commands'
         argument parsing as well.  When we're doing @documentencoding,
         we're generally in the frontmatter of the document, and so the.
         expansion in html/xml/docbook would generally be the empty string.
         (Because those modes wait until the first normal text of the
         document to start outputting.)  The result would thus be a warning
         "unrecognized encoding name `'".  Sigh.  */
      int save_html = html;
      int save_xml = xml;

      html = 0;
      xml = 0;
      get_rest_of_line (1, &enc_arg);
      html = save_html;
      xml = save_xml;

      /* See if we have this encoding.  */
      for (enc = no_encoding+1; enc != last_encoding_code; enc++)
        {
          if (strcasecmp (enc_arg, encoding_table[enc].encname) == 0)
            {
              document_encoding_code = enc;
              break;
            }
        }

      /* If we didn't find this code, complain.  */
      if (enc == last_encoding_code)
        {
          warning (_("unrecognized encoding name `%s'"), enc_arg);
          /* Let the previous one go.  */
          if (unknown_encoding && *unknown_encoding)
            free (unknown_encoding);
          unknown_encoding = xstrdup (enc_arg);
        }

      else if (encoding_table[document_encoding_code].isotab == NULL)
        warning (_("sorry, encoding `%s' not supported"), enc_arg);

      free (enc_arg);
    }
  else if (xml)
    {
      char *encoding = current_document_encoding ();

      if (encoding && *encoding)
        {
          insert_string (" encoding=\"");
          insert_string (encoding);
          insert_string ("\"");
        }

      free (encoding);
    }
}

Here is the call graph for this function:

void cm_dotless ( int  arg,
int  start,
int  end 
)

Definition at line 1001 of file lang.c.

{
  if (arg == END)
    {
      xml_no_para --;
      if (output_paragraph[start] != 'i' && output_paragraph[start] != 'j')
        /* This error message isn't perfect if the argument is multiple
           characters, but it doesn't seem worth getting right.  */
        line_error (_("%c%s expects `i' or `j' as argument, not `%c'"),
                    COMMAND_PREFIX, command, output_paragraph[start]);

      else if (end - start != 1)
        line_error (_("%c%s expects a single character `i' or `j' as argument"),
                    COMMAND_PREFIX, command);

      /* We've already inserted the `i' or `j', so nothing to do.  */
    }
  else
    xml_no_para ++;
}

Here is the call graph for this function:

Definition at line 683 of file lang.c.

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

Definition at line 31 of file lang.c.

Definition at line 387 of file lang.c.

Definition at line 34 of file lang.c.

Definition at line 409 of file lang.c.

Definition at line 37 of file lang.c.