diff --git a/src/FuncCode.h b/src/FuncCode.h index 99e5d8d068..66f57c0107 100644 --- a/src/FuncCode.h +++ b/src/FuncCode.h @@ -116,6 +116,7 @@ enum FuncCode // 70 LFUN_ACCENT_ACUTE, LFUN_ACCENT_TILDE, + LFUN_ACCENT_PERISPOMENI, LFUN_ACCENT_CEDILLA, LFUN_ACCENT_MACRON, LFUN_ACCENT_UNDERBAR, diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index fd90f3e55a..701b16113e 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -199,6 +199,14 @@ void LyXAction::init() * \endvar */ { LFUN_ACCENT_OGONEK, "accent-ogonek", Noop, Edit }, +/*! + * \var lyx::FuncCode lyx::LFUN_ACCENT_PERISPOMENI + * \li Action: Adds a perispomeni (Greek circumflex) + over the next character typed. + * \li Syntax: accent-perispomeni + * \endvar + */ + { LFUN_ACCENT_PERISPOMENI, "accent-perispomeni", Noop, Edit }, /*! * \var lyx::FuncCode lyx::LFUN_ACCENT_TIE * \li Action: Adds a tie \htmlonly (a͡)\endhtmlonly diff --git a/src/Text3.cpp b/src/Text3.cpp index 7f94185fa2..dedfca5bcb 100644 --- a/src/Text3.cpp +++ b/src/Text3.cpp @@ -2268,6 +2268,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd) case LFUN_ACCENT_GRAVE: case LFUN_ACCENT_ACUTE: case LFUN_ACCENT_TILDE: + case LFUN_ACCENT_PERISPOMENI: case LFUN_ACCENT_CEDILLA: case LFUN_ACCENT_MACRON: case LFUN_ACCENT_DOT: @@ -3153,6 +3154,9 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, break; // FIXME: why are accent lfuns forbidden with pass_thru layouts? + // Because they insert COMBINING DIACRITICAL Unicode characters, + // that cannot be handled by LaTeX but must be converted according + // to the definition in lib/unicodesymbols? case LFUN_ACCENT_ACUTE: case LFUN_ACCENT_BREVE: case LFUN_ACCENT_CARON: @@ -3166,6 +3170,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd, case LFUN_ACCENT_OGONEK: case LFUN_ACCENT_TIE: case LFUN_ACCENT_TILDE: + case LFUN_ACCENT_PERISPOMENI: case LFUN_ACCENT_UMLAUT: case LFUN_ACCENT_UNDERBAR: case LFUN_ACCENT_UNDERDOT: diff --git a/src/Trans.cpp b/src/Trans.cpp index d4d41109ca..0e7d561c4e 100644 --- a/src/Trans.cpp +++ b/src/Trans.cpp @@ -71,7 +71,9 @@ static TeXAccent lyx_accent_table[] = { {TEX_GRAVE, 0x0300, "grave", LFUN_ACCENT_GRAVE}, {TEX_MACRON, 0x0304, "macron", LFUN_ACCENT_MACRON}, {TEX_TILDE, 0x0303, "tilde", LFUN_ACCENT_TILDE}, - {TEX_UNDERBAR, 0x0320, "underbar", LFUN_ACCENT_UNDERBAR}, + {TEX_PERISPOMENI, 0x0342, "perispomeni", LFUN_ACCENT_PERISPOMENI}, + {TEX_UNDERBAR, 0x0320, "underbar", LFUN_ACCENT_UNDERBAR}, // COMBINING MINUS SIGN BELOW or 0x0331 COMBINING MACRON BELOW ? + {TEX_CEDILLA, 0x0327, "cedilla", LFUN_ACCENT_CEDILLA}, {TEX_UNDERDOT, 0x0323, "underdot", LFUN_ACCENT_UNDERDOT}, {TEX_CIRCUMFLEX, 0x0302, "circumflex", LFUN_ACCENT_CIRCUMFLEX}, diff --git a/src/Trans.h b/src/Trans.h index a0610c4860..7bfea6b545 100644 --- a/src/Trans.h +++ b/src/Trans.h @@ -42,6 +42,8 @@ enum tex_accent { /// TEX_TILDE, /// + TEX_PERISPOMENI, + /// TEX_UNDERBAR, /// TEX_CEDILLA,