]> git.lyx.org Git - features.git/commitdiff
* src/Language{.cpp,h}:
authorJürgen Spitzmüller <spitz@lyx.org>
Fri, 21 Nov 2008 14:58:26 +0000 (14:58 +0000)
committerJürgen Spitzmüller <spitz@lyx.org>
Fri, 21 Nov 2008 14:58:26 +0000 (14:58 +0000)
- new member internalFontEncoding() that indicates if a language
  switches the font encoding internally.

* src/Paragraph.cpp (latexSpecialChar):
- don't call latexSpecialT1 if the internal font encoding isn't T1.

This fixes the output of straight quotation marks in Hebrew and Greek.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27660 a592a061-630c-0410-9148-cb99ea01b6c8

src/Language.cpp
src/Language.h
src/Paragraph.cpp

index 6035aef3a388202e9c0946cd687d5fd163763454..2093bc373cd028b963ce77b86fa68c6234695906 100644 (file)
@@ -57,6 +57,16 @@ bool Language::read(Lexer & lex)
        return true;
 }
 
+bool Language::internalFontEncoding() const
+{
+       // FIXME: list incomplete
+       // FIXME: instead of hardcoding, this
+       // should go to the languages file
+       return lang_ == "hebrew"
+               || lang_ == "greek"
+               || lang_ == "polutonikogreek";
+}
+
 
 void Languages::read(FileName const & filename)
 {
index bee8e13bcd583f4d61ad806402e3857cf752e858..575dd3339217ebbcf53efa4ab2920bd5c15b264e 100644 (file)
@@ -48,6 +48,8 @@ public:
        ///
        std::string const & latex_options() const { return latex_options_; }
        ///
+       bool internalFontEncoding() const;
+       ///
        bool read(Lexer & lex);
 private:
        ///
index 10df0085e19e8e0b5fec9718ee49c4c5e1655289..3201105b172f52603647f51e46f302bf305889eb 100644 (file)
@@ -864,9 +864,15 @@ void Paragraph::Private::latexSpecialChar(
                return;
        }
 
-       if (lyxrc.fontenc == "T1" && latexSpecialT1(c, os, i, column))
+       // If T1 font encoding is used, use the special
+       // characters it provides.
+       // NOTE: some languages reset the font encoding
+       // internally
+       if (!running_font.language()->internalFontEncoding()
+           && lyxrc.fontenc == "T1" && latexSpecialT1(c, os, i, column))
                return;
 
+       // \tt font needs special treatment
        if (running_font.fontInfo().family() == TYPEWRITER_FAMILY
                && latexSpecialTypewriter(c, os, i, column))
                return;