X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFont.cpp;h=d00cbf2f5d6eb0e3ac9ed49bb4f8fe2471945aba;hb=d1ce71d3983608bd19d207de3744318f4f5ddfe3;hp=387393d60bf4dd11d87803ab754f647e42ebcd8c;hpb=47f7d44747002726307e615ddf0ad35dc8b59dbf;p=lyx.git diff --git a/src/Font.cpp b/src/Font.cpp index 387393d60b..d00cbf2f5d 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -44,9 +44,9 @@ namespace lyx { // // These are defined in FontInfo.cpp extern char const * LyXFamilyNames[NUM_FAMILIES + 2]; -extern char const * LyXSeriesNames[4]; -extern char const * LyXShapeNames[6]; -extern char const * LyXSizeNames[14]; +extern char const * LyXSeriesNames[NUM_SERIES + 2]; +extern char const * LyXShapeNames[NUM_SHAPE + 2]; +extern char const * LyXSizeNames[NUM_SIZE + 4]; extern char const * LyXMiscNames[5]; // @@ -57,17 +57,17 @@ namespace { char const * GUIFamilyNames[NUM_FAMILIES + 2 /* default & error */] = { N_("Roman"), N_("Sans Serif"), N_("Typewriter"), N_("Symbol"), - "cmr", "cmsy", "cmm", "cmex", "msa", "msb", "eufrak", "rsfs", "wasy", "esint", - N_("Inherit"), N_("Ignore") }; + "cmr", "cmsy", "cmm", "cmex", "msa", "msb", "eufrak", "rsfs", "stmry", + "wasy", "esint", N_("Inherit"), N_("Ignore") }; -char const * GUISeriesNames[4] = +char const * GUISeriesNames[NUM_SERIES + 2 /* default & error */] = { N_("Medium"), N_("Bold"), N_("Inherit"), N_("Ignore") }; -char const * GUIShapeNames[6] = +char const * GUIShapeNames[NUM_SHAPE + 2 /* default & error */] = { N_("Upright"), N_("Italic"), N_("Slanted"), N_("Smallcaps"), N_("Inherit"), N_("Ignore") }; -char const * GUISizeNames[14] = +char const * GUISizeNames[NUM_SIZE + 4 /* increase, decrease, default & error */] = { N_("Tiny"), N_("Smallest"), N_("Smaller"), N_("Small"), N_("Normal"), N_("Large"), N_("Larger"), N_("Largest"), N_("Huge"), N_("Huger"), N_("Increase"), N_("Decrease"), N_("Inherit"), N_("Ignore") }; @@ -78,16 +78,18 @@ char const * GUIMiscNames[5] = // // Strings used to write LaTeX files // -char const * LaTeXFamilyNames[6] = -{ "textrm", "textsf", "texttt", "error1", "error2", "error3" }; +char const * LaTeXFamilyNames[NUM_FAMILIES + 2] = +{ "textrm", "textsf", "texttt", "error1", "error2", "error3", "error4", + "error5", "error6", "error7", "error8", "error9", "error10", "error11", + "error12", "error13" }; -char const * LaTeXSeriesNames[4] = +char const * LaTeXSeriesNames[NUM_SERIES + 2] = { "textmd", "textbf", "error4", "error5" }; -char const * LaTeXShapeNames[6] = +char const * LaTeXShapeNames[NUM_SHAPE + 2] = { "textup", "textit", "textsl", "textsc", "error6", "error7" }; -char const * LaTeXSizeNames[14] = +char const * LaTeXSizeNames[NUM_SIZE + 4] = { "tiny", "scriptsize", "footnotesize", "small", "normalsize", "large", "Large", "LARGE", "huge", "Huge", "error8", "error9", "error10", "error11" }; @@ -332,7 +334,7 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams, } } - // When the current language is Hebrew, Arabic, or Farsi + // If the current language is Hebrew, Arabic, or Farsi // the numbers are written Left-to-Right. ArabTeX package // reorders the number automatically but the packages used // for Hebrew and Farsi (Arabi) do not. @@ -428,7 +430,7 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams, } os << '\\' << LaTeXSizeNames[f.size()] - << ' '; + << '{'; count += strlen(LaTeXSizeNames[f.size()]) + 2; } return count; @@ -513,6 +515,8 @@ int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams, os << '}'; ++count; } + os << '}'; + ++count; } // When the current language is Hebrew, Arabic, or Farsi @@ -533,15 +537,15 @@ int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams, Encoding const * const ascii = encodings.fromLyXName("ascii"); pair const c = switchEncoding(os.os(), bparams, runparams, *ascii); - LASSERT(c.first, /**/); + LATTEST(c.first); count += c.second; runparams.encoding = ascii; open_encoding_ = false; } - if (closeLanguage && - language() != base.language() && language() != next.language() - && language()->encoding()->package() != Encoding::CJK) { + if (closeLanguage + && language() != base.language() && language() != next.language() + && language()->encoding()->package() != Encoding::CJK) { os << '}'; ++count; } @@ -703,7 +707,8 @@ void Font::validate(LaTeXFeatures & features) const // FIXME: Do something for background and soul package? if (((features.usePolyglossia() && lang_->polyglossia() != doc_language->polyglossia()) - || (features.useBabel() && lang_->babel() != doc_language->babel())) + || (features.useBabel() && lang_->babel() != doc_language->babel()) + || (doc_language->encoding()->package() == Encoding::CJK && lang_ != doc_language)) && lang_ != ignore_language && lang_ != latex_language) {