1999-09-27 18:44:28 +00:00
|
|
|
|
// -*- C++ -*-
|
2003-08-23 00:17:00 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file tex-accent.h
|
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* \author Lars Gullik Bj<EFBFBD>nnes
|
|
|
|
|
* \author Matthias Ettrich
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
|
*/
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
2000-01-24 18:34:46 +00:00
|
|
|
|
#ifndef TEX_ACCENT
|
|
|
|
|
#define TEX_ACCENT
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
2003-03-19 17:15:32 +00:00
|
|
|
|
#include "lfuns.h"
|
2007-03-31 08:12:08 +00:00
|
|
|
|
#include "support/docstring.h"
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
|
|
namespace lyx {
|
|
|
|
|
|
2007-03-31 18:28:36 +00:00
|
|
|
|
// FIXME This file has nothing to do with TeX anymore
|
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
/* the names used by TeX and XWindows for deadkeys/accents are not the same
|
|
|
|
|
so here follows a table to clearify the differences. Please correct this
|
|
|
|
|
if I got it wrong
|
|
|
|
|
|
|
|
|
|
|------------------|------------------|------------------|--------------|
|
|
|
|
|
| TeX | XWindows | \bind/LFUN | used by intl |
|
|
|
|
|
|------------------|------------------|------------------|--------------|
|
2006-05-05 20:23:12 +00:00
|
|
|
|
| grave | grave |LFUN_ACCENT_GRAVE | grave
|
|
|
|
|
| acute | acute |LFUN_ACCENT_ACUTE | acute
|
|
|
|
|
| circumflex | circumflex |LFUN_ACCENT_CIRCUMFLEX | circumflex
|
|
|
|
|
| umlaut/dieresis | diaeresis |LFUN_ACCENT_UMLAUT | umlaut
|
|
|
|
|
| tilde | tilde |LFUN_ACCENT_TILDE | tilde
|
|
|
|
|
| macron | maron |LFUN_ACCENT_MACRON | macron
|
|
|
|
|
| dot | abovedot |LFUN_ACCENT_DOT | dot
|
|
|
|
|
| cedilla | cedilla |LFUN_ACCENT_CEDILLA | cedilla
|
|
|
|
|
| underdot | |LFUN_ACCENT_UNDERDOT | underdot
|
|
|
|
|
| underbar | |LFUN_ACCENT_UNDERBAR | underbar
|
|
|
|
|
| h<EFBFBD>cek | caron |LFUN_ACCENT_CARON | caron
|
|
|
|
|
| breve | breve |LFUN_ACCENT_BREVE | breve
|
|
|
|
|
| tie | |LFUN_ACCENT_TIE | tie
|
|
|
|
|
| Hungarian umlaut | doubleacute |LFUN_ACCENT_HUNGARIAN_UMLAUT | hungarian umlaut
|
|
|
|
|
| circle | abovering |LFUN_ACCENT_CIRCLE | circle
|
1999-09-27 18:44:28 +00:00
|
|
|
|
| | ogonek | |
|
|
|
|
|
| | iota | |
|
|
|
|
|
| | voiced_sound | |
|
|
|
|
|
| | semivoiced_sound | |
|
2006-05-05 20:23:12 +00:00
|
|
|
|
| | |LFUN_ACCENT_SPECIAL_CARON| special caron
|
1999-09-27 18:44:28 +00:00
|
|
|
|
*/
|
|
|
|
|
// I am not sure how some of the XWindows names coresponds to the TeX ones.
|
|
|
|
|
|
|
|
|
|
///
|
|
|
|
|
enum tex_accent {
|
|
|
|
|
///
|
|
|
|
|
TEX_NOACCENT = 0,
|
|
|
|
|
///
|
|
|
|
|
TEX_ACUTE,
|
|
|
|
|
///
|
|
|
|
|
TEX_GRAVE,
|
|
|
|
|
///
|
|
|
|
|
TEX_MACRON,
|
|
|
|
|
///
|
|
|
|
|
TEX_TILDE,
|
|
|
|
|
///
|
|
|
|
|
TEX_UNDERBAR,
|
|
|
|
|
///
|
|
|
|
|
TEX_CEDILLA,
|
|
|
|
|
///
|
|
|
|
|
TEX_UNDERDOT,
|
|
|
|
|
///
|
|
|
|
|
TEX_CIRCUMFLEX,
|
|
|
|
|
///
|
|
|
|
|
TEX_CIRCLE,
|
|
|
|
|
///
|
|
|
|
|
TEX_TIE,
|
|
|
|
|
///
|
|
|
|
|
TEX_BREVE,
|
|
|
|
|
///
|
|
|
|
|
TEX_CARON,
|
|
|
|
|
// TEX_SPECIAL_CARON,
|
|
|
|
|
///
|
|
|
|
|
TEX_HUNGUML,
|
|
|
|
|
///
|
|
|
|
|
TEX_UMLAUT,
|
|
|
|
|
///
|
|
|
|
|
TEX_DOT,
|
|
|
|
|
///
|
|
|
|
|
TEX_OGONEK,
|
|
|
|
|
///
|
1999-11-15 12:01:38 +00:00
|
|
|
|
TEX_MAX_ACCENT= TEX_OGONEK
|
1999-09-27 18:44:28 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct tex_accent_struct {
|
|
|
|
|
///
|
|
|
|
|
tex_accent accent;
|
2007-03-31 18:28:36 +00:00
|
|
|
|
/// UCS4 code point of this accent
|
|
|
|
|
char_type ucs4;
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
2000-09-14 17:53:12 +00:00
|
|
|
|
char const * name;
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
|
|
|
|
kb_action action;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
///
|
|
|
|
|
extern tex_accent_struct lyx_accent_table[];
|
2002-03-21 17:27:08 +00:00
|
|
|
|
|
2007-03-31 08:12:08 +00:00
|
|
|
|
///
|
|
|
|
|
extern docstring const DoAccent(docstring const &, tex_accent);
|
|
|
|
|
///
|
|
|
|
|
extern docstring const DoAccent(char_type, tex_accent);
|
2007-03-31 18:28:36 +00:00
|
|
|
|
///
|
|
|
|
|
extern tex_accent_struct get_accent(kb_action action);
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
#endif
|