From e7637f9dd977e9821394e7bed4dec02aec41ab9e Mon Sep 17 00:00:00 2001 From: albert-github Date: Sat, 13 Jun 2020 14:54:25 +0200 Subject: Number of translatable terms (like Chapter) are in English instead of Greek (#7841) * Number of translatable terms (like Chapter) are in English instead of Greek When running tests in Greek OUTPUT_LANGUAGE mode for LaTeX a number of terms like Chapter were still in English instead of Greek. Some used references: https://tex.stackexchange.com/questions/548584/ascii-text-set-in-greek-script-when-using-usepackagegreekbabel https://tex.stackexchange.com/questions/548761/missing-characters-in-output-due-to-renewcommand-familydefault-sfdefault https://tex.stackexchange.com/questions/58624/variables-for-hiding-or-showing-text-in-latex * Number of translatable terms (like Chapter) are in English instead of Greek - adding the possibilities for mono spaced font (for code parts) - creating a more flexible way to change fonts for different languages See also discussion at https://tex.stackexchange.com/questions/548901/missing-characters-in-greek-output-due-to-ttfamily --- src/latexgen.cpp | 10 ++++++---- src/translator.h | 5 +++++ src/translator_gr.h | 24 ++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/latexgen.cpp b/src/latexgen.cpp index f3cce3e..cb42863 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -560,11 +560,13 @@ static void writeDefaultHeaderPart1(FTextStream &t) { t << "\\usepackage[" << fontenc << "]{fontenc}\n"; } - t << "\\usepackage[scaled=.90]{helvet}\n" - "\\usepackage{courier}\n" - "\\usepackage{amssymb}\n" + QCString font = theTranslator->latexFont(); + if (!font.isEmpty()) + { + t << font; + } + t << "\\usepackage{amssymb}\n" "\\usepackage{sectsty}\n" - "\\renewcommand{\\familydefault}{\\sfdefault}\n" "\\allsectionsfont{%\n" " \\fontseries{bc}\\selectfont%\n" " \\color{darkgray}%\n" diff --git a/src/translator.h b/src/translator.h index 188b775..991e637 100644 --- a/src/translator.h +++ b/src/translator.h @@ -50,6 +50,11 @@ class Translator * can be returned. */ virtual QCString latexFontenc() { return "T1"; } + virtual QCString latexFont() { + return "\\usepackage[scaled=.90]{helvet}\n" + "\\usepackage{courier}\n" + "\\renewcommand{\\familydefault}{\\sfdefault}\n"; + } /*! * Sets the commands to be inserted directly after the `\\begin{document}` * in the LaTeX document. diff --git a/src/translator_gr.h b/src/translator_gr.h index 6ed43db..854a956 100644 --- a/src/translator_gr.h +++ b/src/translator_gr.h @@ -59,8 +59,18 @@ class TranslatorGreek : public TranslatorAdapter_1_8_15 virtual QCString latexLanguageSupportCommand() { - return "\\usepackage[greek,english]{babel}\n" - "\\usepackage{alphabeta}\n"; + return "\\usepackage{fontspec}\n" + "\\usepackage[greek]{babel}\n"; + } + + virtual QCString latexFontenc() + { + return ""; + } + virtual QCString latexFont() + { + return "\\setmainfont{Libertinus Sans}\n" + "\\setmonofont{Courier New}\n"; } // --- Language translation methods ------------------- @@ -1159,6 +1169,16 @@ class TranslatorGreek : public TranslatorAdapter_1_8_15 return "1253"; } + virtual QCString latexCommandName() + { + QCString latex_command = Config_getString(LATEX_CMD_NAME); + if (latex_command.isEmpty()) latex_command = "latex"; + if (Config_getBool(USE_PDFLATEX)) + { + if (latex_command == "latex") latex_command = "xelatex"; + } + return latex_command; + } /*! Used as ansicpg for RTF fcharset */ -- cgit v0.12