1 /* lang.h -- declarations for language codes etc.
2 $Id: lang.h,v 1.7 2001/09/11 18:04:29 karl Exp $
4 Copyright (C) 1999, 2001 Free Software Foundation, Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 Originally written by Karl Heinz Marbaise <kama@hippo.fido.de>. */
25 /* The language code which can be changed through @documentlanguage
26 * Actually we don't currently support this (may be in the future) ;-)
27 * These code are the ISO-639 two letter codes.
31 aa, ab, af, am, ar, as, ay, az,
32 ba, be, bg, bh, bi, bn, bo, br,
35 el, en, eo, es, et, eu,
36 fa, fi, fj, fo, fr, fy,
38 ha, he, hi, hr, hu, hy,
39 ia, id, ie, ik, is, it, iu,
41 ka, kk, kl, km, kn, ko, ks, ku, ky,
43 mg, mi, mk, ml, mn, mo, mr, ms, mt, my,
49 sa, sd, sg, sh, si, sk, sl, sm, sn, so, sq, sr, ss, st, su, sv, sw,
50 ta, te, tg, th, ti, tk, tl, tn, to, tr, ts, tt, tw,
60 /* The current language code. */
61 extern language_code_type language_code;
64 /* Information for each language. */
67 language_code_type lc; /* language code as enum type */
68 char *abbrev; /* two letter language code */
69 char *desc; /* full name for language code */
72 extern language_type language_table[];
76 /* The document encoding. This is usefull if we working e.g.
77 * with german Texinfo so we can produce correct german umlaut
78 * while creating output (--no-headers ASCII like).
82 ISO_8859_1, /* default for en, de, */
83 ISO_8859_2, /* actualy not supported like the rest below */
100 /* The current document encoding, or null if not set. */
101 extern encoding_code_type document_encoding_code;
104 /* Maps an HTML abbreviation to ISO and Unicode codes for a given code. */
106 typedef unsigned short int unicode_t; /* should be 16 bits */
107 typedef unsigned char byte_t;
111 char *html; /* HTML equivalent like umlaut auml => ä */
112 byte_t bytecode; /* 8-Bit Code (ISO 8859-1,...) */
113 unicode_t unicode; /* Unicode in U+ convention */
116 /* Information about the document encoding. */
119 encoding_code_type ec; /* document encoding type (see above enum) */
120 char *ecname; /* encoding name like ISO-8859-1 */
121 iso_map_type *isotab; /* address of ISO translation table */
124 /* Table with all the encoding codes that we recognize. */
125 extern encoding_type encoding_table[];
129 extern void cm_documentlanguage (), cm_documentencoding ();
131 /* Accents, other non-English characters. */
132 void cm_accent (), cm_special_char (), cm_dotless ();
134 extern void cm_accent_umlaut (), cm_accent_acute (), cm_accent_cedilla (),
135 cm_accent_hat (), cm_accent_grave (), cm_accent_tilde ();
137 #endif /* not LANG_H */