mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
Consider specifics for TIPAs T3 font encoding and allow insertion of straight quote (stress shortcut) to IPA inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40893 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
0deee5d230
commit
38c29e4fa3
@ -345,6 +345,12 @@ public:
|
||||
pos_type i,
|
||||
unsigned int & column);
|
||||
///
|
||||
bool latexSpecialT3(
|
||||
char_type const c,
|
||||
otexstream & os,
|
||||
pos_type i,
|
||||
unsigned int & column);
|
||||
///
|
||||
bool latexSpecialTypewriter(
|
||||
char_type const c,
|
||||
otexstream & os,
|
||||
@ -1169,17 +1175,21 @@ void Paragraph::Private::latexSpecialChar(otexstream & os,
|
||||
return;
|
||||
}
|
||||
|
||||
// TIPA uses its own T3 encoding
|
||||
if (runparams.inIPA && latexSpecialT3(c, os, i, column))
|
||||
return;
|
||||
// If T1 font encoding is used, use the special
|
||||
// characters it provides.
|
||||
// NOTE: some languages reset the font encoding
|
||||
// internally
|
||||
if (!running_font.language()->internalFontEncoding()
|
||||
if (!runparams.inIPA && !running_font.language()->internalFontEncoding()
|
||||
&& lyxrc.fontenc == "T1" && latexSpecialT1(c, os, i, column))
|
||||
return;
|
||||
|
||||
// \tt font needs special treatment
|
||||
if (running_font.fontInfo().family() == TYPEWRITER_FAMILY
|
||||
&& latexSpecialTypewriter(c, os, i, column))
|
||||
if (!runparams.inIPA
|
||||
&& running_font.fontInfo().family() == TYPEWRITER_FAMILY
|
||||
&& latexSpecialTypewriter(c, os, i, column))
|
||||
return;
|
||||
|
||||
// Otherwise, we use what LaTeX provides us.
|
||||
@ -1331,6 +1341,23 @@ bool Paragraph::Private::latexSpecialT1(char_type const c, otexstream & os,
|
||||
}
|
||||
|
||||
|
||||
bool Paragraph::Private::latexSpecialT3(char_type const c, otexstream & os,
|
||||
pos_type i, unsigned int & column)
|
||||
{
|
||||
switch (c) {
|
||||
case '*':
|
||||
case '[':
|
||||
case ']':
|
||||
case '|':
|
||||
case '\"':
|
||||
os.put(c);
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool Paragraph::Private::latexSpecialTypewriter(char_type const c, otexstream & os,
|
||||
pos_type i, unsigned int & column)
|
||||
{
|
||||
|
@ -63,6 +63,22 @@ void InsetIPA::write(ostream & os) const
|
||||
}
|
||||
|
||||
|
||||
void InsetIPA::doDispatch(Cursor & cur, FuncRequest & cmd)
|
||||
{
|
||||
switch (cmd.action()) {
|
||||
case LFUN_QUOTE_INSERT: {
|
||||
FuncRequest fr(LFUN_SELF_INSERT, "\"");
|
||||
InsetText::doDispatch(cur, fr);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
InsetText::doDispatch(cur, cmd);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool InsetIPA::getStatus(Cursor & cur, FuncRequest const & cmd,
|
||||
FuncStatus & flag) const
|
||||
{
|
||||
|
@ -55,6 +55,8 @@ public:
|
||||
|
||||
void draw(PainterInfo & pi, int x, int y) const;
|
||||
|
||||
///
|
||||
void doDispatch(Cursor & cur, FuncRequest & cmd);
|
||||
///
|
||||
bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user