]> git.lyx.org Git - lyx.git/blob - src/tex-accent.h
eb864d71531e8cf610d25a273e6e883b1b669d6b
[lyx.git] / src / tex-accent.h
1 // -*- C++ -*-
2
3 #ifndef _TEX_ACCENT_
4 #define _TEX_ACCENT_
5
6 #include "commandtags.h"
7
8 /* the names used by TeX and XWindows for deadkeys/accents are not the same
9    so here follows a table to clearify the differences. Please correct this
10    if I got it wrong
11
12    |------------------|------------------|------------------|--------------|
13    |      TeX         |     XWindows     |   \bind/LFUN     | used by intl |
14    |------------------|------------------|------------------|--------------|
15    |    grave         |    grave         |LFUN_GRAVE        | grave
16    |    acute         |    acute         |LFUN_ACUTE        | acute
17    |    circumflex    |    circumflex    |LFUN_CIRCUMFLEX   | circumflex
18    | umlaut/dieresis  |    diaeresis     |LFUN_UMLAUT       | umlaut
19    |    tilde         |    tilde         |LFUN_TILDE        | tilde
20    |    macron        |    maron         |LFUN_MACRON       | macron
21    |    dot           |    abovedot      |LFUN_DOT          | dot
22    |    cedilla       |    cedilla       |LFUN_CEDILLA      | cedilla
23    |    underdot      |                  |LFUN_UNDERDOT     | underdot
24    |    underbar      |                  |LFUN_UNDERBAR     | underbar
25    |    hácek         |    caron         |LFUN_CARON        | caron
26    |    breve         |    breve         |LFUN_BREVE        | breve
27    |    tie           |                  |LFUN_TIE          | tie
28    | Hungarian umlaut |    doubleacute   |LFUN_HUNG_UMLAUT  | hungarian umlaut
29    |    circle        |    abovering     |LFUN_CIRCLE       | circle
30    |                  |    ogonek        |                  |
31    |                  |    iota          |                  |
32    |                  |    voiced_sound  |                  |
33    |                  | semivoiced_sound |                  |
34    |                  |                  |LFUN_SPECIAL_CARON| special caron
35    */
36 // I am not sure how some of the XWindows names coresponds to the TeX ones.
37
38 ///
39 enum tex_accent {
40         ///
41         TEX_NOACCENT = 0,
42         ///
43         TEX_ACUTE,
44         ///
45         TEX_GRAVE,
46         ///
47         TEX_MACRON,
48         ///
49         TEX_TILDE,
50         ///
51         TEX_UNDERBAR,
52         ///
53         TEX_CEDILLA,
54         ///
55         TEX_UNDERDOT,
56         ///
57         TEX_CIRCUMFLEX,
58         ///
59         TEX_CIRCLE,
60         ///
61         TEX_TIE,
62         ///
63         TEX_BREVE,
64         ///
65         TEX_CARON,
66 //  TEX_SPECIAL_CARON,
67         ///
68         TEX_HUNGUML,
69         ///
70         TEX_UMLAUT,
71         ///
72         TEX_DOT,
73         ///
74         TEX_OGONEK,
75         ///
76         TEX_MAX_ACCENT=TEX_OGONEK
77 };
78
79
80 /** the native is so we know what characters TeX can write in a decent way
81  it should be up to the user if _all_ characters should be allowed to
82  be accented. Lgb. */
83 struct tex_accent_struct {
84         ///
85         tex_accent accent;
86         ///
87         char const *cmd;
88         ///
89         char const *native;
90         ///
91         char const *name;
92         ///
93         kb_action action;
94 };
95
96 ///
97 extern tex_accent_struct lyx_accent_table[];
98         
99 #endif