>>>>> "Dov" == Dov Feldstern <[EMAIL PROTECTED]> writes:

Dov> Do you know why this whole font-change mechanism was originally
Dov> added? 

Consider a footnote with several paragraphs and assume it is typeset
in \emph like this:

\emph{Some text\footnote{and and explanation

on several paragraphs}}

This will cause a LaTeX error because the \emph macro will not be
terminated at the end of the first paragraph. This is the reason why
noFontChange was introduced. 

Note however the following comment from Inset.h:

        /**
         * Is this inset allowed within a font change?
         *
         * FIXME: noFontChange means currently that the font change is closed
         * in LaTeX before the inset, and that the contents of the inset
         * will be in default font. This should be changed so that the inset
         * changes the font again.
         */
        virtual bool noFontChange() const { return false; }

and this:

        /** Needed to propagate font changes to all text cells of insets
         *  that are not allowed inside a font change (bug 1973).
         *  Must not be called if \p pos denotes an ordinary character or an
         *  inset that is alowed inside a font change.
         *  FIXME: This should be removed, see documentation of noFontChange
         *  in insetbase.h
         */
        void setInsetFont(Buffer const & buffer, pit_type pit, pos_type pos,
                Font const & font, bool toggleall = false);

Dov> Regarding the format change: why is this a format change? 

The problem is that noFontChange is used in other contexts and nobody
really knows how to clean it up (grep is your friend).

JMarc

Reply via email to