mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 11:16:55 +00:00
parlist-11-a.diff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6807 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
f96545b498
commit
6519ce1be5
@ -27,6 +27,7 @@
|
|||||||
#include "lyxtext.h"
|
#include "lyxtext.h"
|
||||||
#include "undo_funcs.h"
|
#include "undo_funcs.h"
|
||||||
#include "changes.h"
|
#include "changes.h"
|
||||||
|
#include "paragraph_funcs.h"
|
||||||
|
|
||||||
#include "frontends/Alert.h"
|
#include "frontends/Alert.h"
|
||||||
#include "frontends/Dialogs.h"
|
#include "frontends/Dialogs.h"
|
||||||
@ -966,8 +967,9 @@ Encoding const * BufferView::getEncoding() const
|
|||||||
if (!t)
|
if (!t)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
LyXCursor const & c= t->cursor;
|
LyXCursor const & c = t->cursor;
|
||||||
LyXFont const font = c.par()->getFont(buffer()->params, c.pos());
|
LyXFont const font = c.par()->getFont(buffer()->params, c.pos(),
|
||||||
|
outerFont(c.par()));
|
||||||
return font.language()->encoding();
|
return font.language()->encoding();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,24 @@
|
|||||||
|
2003-04-15 Lars Gullik Bjønnes <larsbj@gullik.net>
|
||||||
|
|
||||||
|
* text2.C (getFont): adjust
|
||||||
|
(getLayoutFont): adjust
|
||||||
|
(getLabelFont): adjust
|
||||||
|
|
||||||
|
* paragraph_funcs.C (TeXOnePar): adjust
|
||||||
|
(outerFont): new func...
|
||||||
|
(realizeFont): ...moved out from here, changed this to facilitate
|
||||||
|
transition
|
||||||
|
|
||||||
|
* paragraph.C (getFont): take outerfont as arg, adjust
|
||||||
|
(simpleTeXOnePar): add outerfont arg, adjust
|
||||||
|
|
||||||
|
* buffer.C (simpleLinuxDocOnePar): adjust
|
||||||
|
(simpleDocBookOnePar): adjust
|
||||||
|
|
||||||
|
* CutAndPaste.C (pasteSelection): adjust
|
||||||
|
|
||||||
|
* BufferView.C (getEncoding): adjust
|
||||||
|
|
||||||
2003-04-14 Lars Gullik Bjønnes <larsbj@gullik.net>
|
2003-04-14 Lars Gullik Bjønnes <larsbj@gullik.net>
|
||||||
|
|
||||||
* text2.C (setCharFont): adjust
|
* text2.C (setCharFont): adjust
|
||||||
|
@ -282,7 +282,7 @@ bool CutAndPaste::pasteSelection(Paragraph ** par, Paragraph ** endpar,
|
|||||||
tmpbuf->erase(i--);
|
tmpbuf->erase(i--);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LyXFont f1 = tmpbuf->getFont(current_view->buffer()->params,i);
|
LyXFont f1 = tmpbuf->getFont(current_view->buffer()->params, i, outerFont(tmpbuf));
|
||||||
LyXFont f2 = f1;
|
LyXFont f2 = f1;
|
||||||
if (!(*par)->checkInsertChar(f1)) {
|
if (!(*par)->checkInsertChar(f1)) {
|
||||||
tmpbuf->erase(i--);
|
tmpbuf->erase(i--);
|
||||||
|
@ -1433,7 +1433,7 @@ void Buffer::simpleLinuxDocOnePar(ostream & os,
|
|||||||
PAR_TAG tag_close = NONE;
|
PAR_TAG tag_close = NONE;
|
||||||
list < PAR_TAG > tag_open;
|
list < PAR_TAG > tag_open;
|
||||||
|
|
||||||
LyXFont const font = par->getFont(params, i);
|
LyXFont const font = par->getFont(params, i, outerFont(par));
|
||||||
|
|
||||||
if (font_old.family() != font.family()) {
|
if (font_old.family() != font.family()) {
|
||||||
switch (family_type) {
|
switch (family_type) {
|
||||||
@ -1922,7 +1922,7 @@ void Buffer::simpleDocBookOnePar(ostream & os,
|
|||||||
|
|
||||||
// parsing main loop
|
// parsing main loop
|
||||||
for (pos_type i = 0; i < par->size(); ++i) {
|
for (pos_type i = 0; i < par->size(); ++i) {
|
||||||
LyXFont font = par->getFont(params, i);
|
LyXFont font = par->getFont(params, i, outerFont(par));
|
||||||
|
|
||||||
// handle <emphasis> tag
|
// handle <emphasis> tag
|
||||||
if (font_old.emph() != font.emph()) {
|
if (font_old.emph() != font.emph()) {
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2003-04-15 Lars Gullik Bjønnes <larsbj@gullik.net>
|
||||||
|
|
||||||
|
* insetquotes.C (latex): comment some code and add warnings.
|
||||||
|
|
||||||
2003-04-14 Alfredo Braunstein <abraunst@libero.it>
|
2003-04-14 Alfredo Braunstein <abraunst@libero.it>
|
||||||
|
|
||||||
* insetexternal.C (localDispatch): added a missing DISPATCHED
|
* insetexternal.C (localDispatch): added a missing DISPATCHED
|
||||||
|
@ -261,10 +261,17 @@ int InsetQuotes::latex(Buffer const * buf, ostream & os,
|
|||||||
// How do we get the local language here??
|
// How do we get the local language here??
|
||||||
lyx::pos_type curr_pos = parOwner()->getPositionOfInset(this);
|
lyx::pos_type curr_pos = parOwner()->getPositionOfInset(this);
|
||||||
lyx::Assert(curr_pos != -1);
|
lyx::Assert(curr_pos != -1);
|
||||||
|
|
||||||
|
#warning FIXME. We _must_ find another way to get the language. (Lgb)
|
||||||
|
#if 0
|
||||||
|
// This cannot be used. (Lgb)
|
||||||
string const curr_lang =
|
string const curr_lang =
|
||||||
parOwner()->getFont(buf->params,
|
parOwner()->getFont(buf->params,
|
||||||
curr_pos).language()->babel();
|
curr_pos).language()->babel();
|
||||||
|
#else
|
||||||
|
// And this is not the way... (Lgb)
|
||||||
|
string const curr_lang = buf->params.language->lang();
|
||||||
|
#endif
|
||||||
const int quoteind = quote_index[side_][language_];
|
const int quoteind = quote_index[side_][language_];
|
||||||
string qstr;
|
string qstr;
|
||||||
|
|
||||||
|
@ -434,8 +434,8 @@ LyXFont const Paragraph::getFirstFontSettings() const
|
|||||||
// The difference is that this one is used for generating the LaTeX file,
|
// The difference is that this one is used for generating the LaTeX file,
|
||||||
// and thus cosmetic "improvements" are disallowed: This has to deliver
|
// and thus cosmetic "improvements" are disallowed: This has to deliver
|
||||||
// the true picture of the buffer. (Asger)
|
// the true picture of the buffer. (Asger)
|
||||||
LyXFont const Paragraph::getFont(BufferParams const & bparams,
|
LyXFont const Paragraph::getFont(BufferParams const & bparams, pos_type pos,
|
||||||
pos_type pos) const
|
LyXFont const & outerfont) const
|
||||||
{
|
{
|
||||||
lyx::Assert(pos >= 0);
|
lyx::Assert(pos >= 0);
|
||||||
|
|
||||||
@ -451,8 +451,9 @@ LyXFont const Paragraph::getFont(BufferParams const & bparams,
|
|||||||
|
|
||||||
LyXFont tmpfont = getFontSettings(bparams, pos);
|
LyXFont tmpfont = getFontSettings(bparams, pos);
|
||||||
tmpfont.realize(layoutfont);
|
tmpfont.realize(layoutfont);
|
||||||
|
tmpfont.realize(outerfont);
|
||||||
|
|
||||||
return pimpl_->realizeFont(tmpfont, bparams);
|
return realizeFont(tmpfont, bparams, 0, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -919,6 +920,7 @@ int Paragraph::endTeXParParams(BufferParams const & bparams,
|
|||||||
// This one spits out the text of the paragraph
|
// This one spits out the text of the paragraph
|
||||||
bool Paragraph::simpleTeXOnePar(Buffer const * buf,
|
bool Paragraph::simpleTeXOnePar(Buffer const * buf,
|
||||||
BufferParams const & bparams,
|
BufferParams const & bparams,
|
||||||
|
LyXFont const & outerfont,
|
||||||
ostream & os, TexRow & texrow,
|
ostream & os, TexRow & texrow,
|
||||||
bool moving_arg)
|
bool moving_arg)
|
||||||
{
|
{
|
||||||
@ -1013,7 +1015,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
|
|||||||
value_type c = getChar(i);
|
value_type c = getChar(i);
|
||||||
|
|
||||||
// Fully instantiated font
|
// Fully instantiated font
|
||||||
LyXFont font = getFont(bparams, i);
|
LyXFont font = getFont(bparams, i, outerfont);
|
||||||
|
|
||||||
LyXFont const last_font = running_font;
|
LyXFont const last_font = running_font;
|
||||||
|
|
||||||
@ -1021,7 +1023,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
|
|||||||
// outside font change, i.e. we write "\textXX{text} "
|
// outside font change, i.e. we write "\textXX{text} "
|
||||||
// rather than "\textXX{text }". (Asger)
|
// rather than "\textXX{text }". (Asger)
|
||||||
if (open_font && c == ' ' && i <= size() - 2) {
|
if (open_font && c == ' ' && i <= size() - 2) {
|
||||||
LyXFont const & next_font = getFont(bparams, i + 1);
|
LyXFont const & next_font = getFont(bparams, i + 1, outerfont);
|
||||||
if (next_font != running_font
|
if (next_font != running_font
|
||||||
&& next_font != font) {
|
&& next_font != font) {
|
||||||
font = next_font;
|
font = next_font;
|
||||||
@ -1083,7 +1085,7 @@ bool Paragraph::simpleTeXOnePar(Buffer const * buf,
|
|||||||
running_font
|
running_font
|
||||||
.latexWriteEndChanges(os, basefont,
|
.latexWriteEndChanges(os, basefont,
|
||||||
next_->getFont(bparams,
|
next_->getFont(bparams,
|
||||||
0));
|
0, outerfont));
|
||||||
} else {
|
} else {
|
||||||
running_font.latexWriteEndChanges(os, basefont,
|
running_font.latexWriteEndChanges(os, basefont,
|
||||||
basefont);
|
basefont);
|
||||||
|
@ -104,7 +104,8 @@ public:
|
|||||||
|
|
||||||
///
|
///
|
||||||
bool simpleTeXOnePar(Buffer const *, BufferParams const &,
|
bool simpleTeXOnePar(Buffer const *, BufferParams const &,
|
||||||
std::ostream &, TexRow & texrow, bool moving_arg);
|
LyXFont const & outerfont, std::ostream &,
|
||||||
|
TexRow & texrow, bool moving_arg);
|
||||||
|
|
||||||
///
|
///
|
||||||
bool hasSameLayout(Paragraph const * par) const;
|
bool hasSameLayout(Paragraph const * par) const;
|
||||||
@ -239,7 +240,8 @@ public:
|
|||||||
attributes with values LyXFont::INHERIT, LyXFont::IGNORE or
|
attributes with values LyXFont::INHERIT, LyXFont::IGNORE or
|
||||||
LyXFont::TOGGLE.
|
LyXFont::TOGGLE.
|
||||||
*/
|
*/
|
||||||
LyXFont const getFont(BufferParams const &, lyx::pos_type pos) const;
|
LyXFont const getFont(BufferParams const &, lyx::pos_type pos,
|
||||||
|
LyXFont const & outerfont) const;
|
||||||
LyXFont const getLayoutFont(BufferParams const &) const;
|
LyXFont const getLayoutFont(BufferParams const &) const;
|
||||||
LyXFont const getLabelFont(BufferParams const &) const;
|
LyXFont const getLabelFont(BufferParams const &) const;
|
||||||
///
|
///
|
||||||
|
@ -471,7 +471,7 @@ TeXOnePar(Buffer const * buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (pit->params().lineTop()) {
|
if (pit->params().lineTop()) {
|
||||||
os << "\\lyxline{\\" << pit->getFont(bparams, 0).latexSize() << '}'
|
os << "\\lyxline{\\" << pit->getFont(bparams, 0, outerFont(pit)).latexSize() << '}'
|
||||||
<< "\\vspace{-1\\parskip}";
|
<< "\\vspace{-1\\parskip}";
|
||||||
further_blank_line = true;
|
further_blank_line = true;
|
||||||
}
|
}
|
||||||
@ -550,7 +550,8 @@ TeXOnePar(Buffer const * buf,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool need_par = pit->simpleTeXOnePar(buf, bparams, os, texrow, moving_arg);
|
bool need_par = pit->simpleTeXOnePar(buf, bparams, outerFont(pit),
|
||||||
|
os, texrow, moving_arg);
|
||||||
|
|
||||||
// Make sure that \\par is done with the font of the last
|
// Make sure that \\par is done with the font of the last
|
||||||
// character if this has another size as the default.
|
// character if this has another size as the default.
|
||||||
@ -563,7 +564,7 @@ TeXOnePar(Buffer const * buf,
|
|||||||
// or for a command.
|
// or for a command.
|
||||||
LyXFont const font =
|
LyXFont const font =
|
||||||
(pit->empty()
|
(pit->empty()
|
||||||
? pit->getLayoutFont(bparams) : pit->getFont(bparams, pit->size() - 1));
|
? pit->getLayoutFont(bparams) : pit->getFont(bparams, pit->size() - 1, outerFont(pit)));
|
||||||
|
|
||||||
bool is_command = style->isCommand();
|
bool is_command = style->isCommand();
|
||||||
|
|
||||||
@ -1025,18 +1026,13 @@ int readParagraph(Buffer & buf, Paragraph & par, LyXLex & lex)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LyXFont const realizeFont(LyXFont const & font,
|
LyXFont const outerFont(ParagraphList::iterator pit)
|
||||||
Buffer const * buf,
|
|
||||||
ParagraphList & /*plist*/,
|
|
||||||
ParagraphList::iterator pit)
|
|
||||||
{
|
{
|
||||||
LyXTextClass const & tclass = buf->params.getLyXTextClass();
|
|
||||||
LyXFont tmpfont(font);
|
|
||||||
Paragraph::depth_type par_depth = pit->getDepth();
|
Paragraph::depth_type par_depth = pit->getDepth();
|
||||||
|
LyXFont tmpfont(LyXFont::ALL_INHERIT);
|
||||||
Paragraph * par = &*pit;
|
|
||||||
|
|
||||||
// Resolve against environment font information
|
// Resolve against environment font information
|
||||||
|
Paragraph * par = &*pit;
|
||||||
while (par && par_depth && !tmpfont.resolved()) {
|
while (par && par_depth && !tmpfont.resolved()) {
|
||||||
par = outerHook(par);
|
par = outerHook(par);
|
||||||
if (par) {
|
if (par) {
|
||||||
@ -1045,6 +1041,23 @@ LyXFont const realizeFont(LyXFont const & font,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return tmpfont;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
LyXFont const realizeFont(LyXFont const & font,
|
||||||
|
BufferParams const & params,
|
||||||
|
ParagraphList::iterator pit,
|
||||||
|
bool outerhook)
|
||||||
|
{
|
||||||
|
LyXTextClass const & tclass = params.getLyXTextClass();
|
||||||
|
LyXFont tmpfont(font);
|
||||||
|
|
||||||
|
if (outerhook) {
|
||||||
|
LyXFont of = outerFont(pit);
|
||||||
|
tmpfont.realize(of);
|
||||||
|
}
|
||||||
|
|
||||||
tmpfont.realize(tclass.defaultfont());
|
tmpfont.realize(tclass.defaultfont());
|
||||||
|
|
||||||
return tmpfont;
|
return tmpfont;
|
||||||
|
@ -67,8 +67,10 @@ void latexParagraphs(Buffer const * buf,
|
|||||||
int readParagraph(Buffer & buf, Paragraph & par, LyXLex & lex);
|
int readParagraph(Buffer & buf, Paragraph & par, LyXLex & lex);
|
||||||
|
|
||||||
LyXFont const realizeFont(LyXFont const & font,
|
LyXFont const realizeFont(LyXFont const & font,
|
||||||
Buffer const * buf,
|
BufferParams const & params,
|
||||||
ParagraphList & /*plist*/,
|
ParagraphList::iterator pit,
|
||||||
ParagraphList::iterator pit);
|
bool outerhook = true);
|
||||||
|
|
||||||
|
LyXFont const outerFont(ParagraphList::iterator pit);
|
||||||
|
|
||||||
#endif // PARAGRAPH_FUNCS_H
|
#endif // PARAGRAPH_FUNCS_H
|
||||||
|
17
src/text2.C
17
src/text2.C
@ -149,7 +149,10 @@ LyXFont const LyXText::getFont(Buffer const * buf, ParagraphList::iterator pit,
|
|||||||
if (pit->inInset())
|
if (pit->inInset())
|
||||||
pit->inInset()->getDrawFont(tmpfont);
|
pit->inInset()->getDrawFont(tmpfont);
|
||||||
|
|
||||||
return realizeFont(tmpfont, buf, ownerParagraphs(), pit);
|
// Realize with the fonts of lesser depth.
|
||||||
|
tmpfont.realize(outerFont(pit));
|
||||||
|
|
||||||
|
return realizeFont(tmpfont, buf->params, pit, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -162,7 +165,11 @@ LyXFont const LyXText::getLayoutFont(Buffer const * buf,
|
|||||||
return layout->resfont;
|
return layout->resfont;
|
||||||
}
|
}
|
||||||
|
|
||||||
return realizeFont(layout->font, buf, ownerParagraphs(), pit);
|
LyXFont font(layout->font);
|
||||||
|
// Realize with the fonts of lesser depth.
|
||||||
|
font.realize(outerFont(pit));
|
||||||
|
|
||||||
|
return realizeFont(font, buf->params, pit, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -175,7 +182,11 @@ LyXFont const LyXText::getLabelFont(Buffer const * buf,
|
|||||||
return layout->reslabelfont;
|
return layout->reslabelfont;
|
||||||
}
|
}
|
||||||
|
|
||||||
return realizeFont(layout->labelfont, buf, ownerParagraphs(), pit);
|
LyXFont font(layout->labelfont);
|
||||||
|
// Realize with the fonts of lesser depth.
|
||||||
|
font.realize(outerFont(pit));
|
||||||
|
|
||||||
|
return realizeFont(layout->labelfont, buf->params, pit, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user