features.addPreambleSnippet(to_utf8(d));
}
+ if (features.runparams().flavor == OutputParams::HTML
+ && layout_->htmltitle()) {
+ features.setHTMLTitle(owner_->asString(AS_STR_INSETS));
+ }
+
// check the params.
if (!params_.spacing().isDefault())
features.require("setspace");
}
-docstring Paragraph::expandLabel(Layout const & layout,
+docstring Paragraph::expandLabel(Layout const & layout,
+ BufferParams const & bparams) const
+{
+ return expandParagraphLabel(layout, bparams, true);
+}
+
+
+docstring Paragraph::expandDocBookLabel(Layout const & layout,
+ BufferParams const & bparams) const
+{
+ return expandParagraphLabel(layout, bparams, false);
+}
+
+
+docstring Paragraph::expandParagraphLabel(Layout const & layout,
BufferParams const & bparams, bool process_appendix) const
{
DocumentClass const & tclass = bparams.documentClass();
docstring parent(fmt, i + 1, j - i - 1);
docstring label = from_ascii("??");
if (tclass.hasLayout(parent))
- docstring label = expandLabel(tclass[parent], bparams,
+ docstring label = expandParagraphLabel(tclass[parent], bparams,
process_appendix);
fmt = docstring(fmt, 0, i) + label
+ docstring(fmt, j + 1, docstring::npos);
XHTMLStream & xs,
OutputParams const & runparams,
Font const & outerfont,
- bool fortoc,
pos_type initial) const
{
docstring retval;
Layout const & style = *d->layout_;
- if (!fortoc) {
+ if (!runparams.for_toc && runparams.html_make_pars) {
// generate a magic label for this paragraph
string const attr = "id='" + magicLabel() + "'";
- xs << CompTag("a", attr);
+ xs << html::CompTag("a", attr);
}
FontInfo font_old =
// parsing main loop
for (pos_type i = initial; i < size(); ++i) {
+ // let's not show deleted material in the output
+ if (isDeleted(i))
+ continue;
+
Font font = getFont(buf.params(), i, outerfont);
// emphasis
if (font_old.emph() != font.fontInfo().emph()) {
if (font.fontInfo().emph() == FONT_ON) {
- xs << StartTag("em");
+ xs << html::StartTag("em");
emph_flag = true;
} else if (emph_flag && i != initial) {
- xs << EndTag("em");
+ xs << html::EndTag("em");
emph_flag = false;
}
}
// bold
if (font_old.series() != font.fontInfo().series()) {
if (font.fontInfo().series() == BOLD_SERIES) {
- xs << StartTag("strong");
+ xs << html::StartTag("strong");
bold_flag = true;
} else if (bold_flag && i != initial) {
- xs << EndTag("strong");
+ xs << html::EndTag("strong");
bold_flag = false;
}
}
if (inset) {
InsetCommand const * ic = inset->asInsetCommand();
InsetLayout const & il = inset->getLayout();
- if (!fortoc || il.isInToc() || (ic && ic->isInToc())) {
+ InsetMath const * im = inset->asInsetMath();
+ if (!runparams.for_toc
+ || im || il.isInToc() || (ic && ic->isInToc())) {
OutputParams np = runparams;
if (!il.htmlisblock())
np.html_in_par = true;
return false;
docstring word = asString(from, to, AS_STR_INSETS);
- string const lang_code = lyxrc.spellchecker_alt_lang.empty()
- ? getFontSettings(d->inset_owner_->buffer().params(), from).language()->code()
- : lyxrc.spellchecker_alt_lang;
- wl = WordLangTuple(word, lang_code);
+ string lang_code;
+ string lang_variety;
+ if (!lyxrc.spellchecker_alt_lang.empty())
+ lang_variety = split(lyxrc.spellchecker_alt_lang, lang_code, '-');
+ else {
+ lang_code = getFontSettings(
+ d->inset_owner_->buffer().params(), from).language()->code();
+ lang_variety = getFontSettings(
+ d->inset_owner_->buffer().params(), from).language()->variety();
+ }
+ wl = WordLangTuple(word, lang_code, lang_variety);
SpellChecker::Result res = speller->check(wl);
// Just ignore any error that the spellchecker reports.
// FIXME: we should through out an exception and catch it in the GUI to