Am Dienstag, den 14.02.2017, 15:05 +0100 schrieb Jürgen Spitzmüller:
> I think the reason is that LaTeX actually switched to TU font
> encoding

Tonight's update of latex-base brings back \textquotebdl and
\textquotesingle to TU encodings.

I will handle that in a few days (when the update has settled on the
mirrors), but I suggest not just to revert to the old behavior, but
introduce a new latexSpecialTU method, even if this is currently just
linking to latexSpecialT1 (this might change later, and it is also
semantically clearer).

See attached patch (does not work yet here since the latex-base update
is not yet in my mirror).

Jürgen
diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp
index e2ead40938..c06799a23f 100644
--- a/src/Paragraph.cpp
+++ b/src/Paragraph.cpp
@@ -363,6 +363,12 @@ public:
 		pos_type i,
 		unsigned int & column);
 	///
+	bool latexSpecialTU(
+		char_type const c,
+		otexstream & os,
+		pos_type i,
+		unsigned int & column);
+	///
 	bool latexSpecialT3(
 		char_type const c,
 		otexstream & os,
@@ -1187,11 +1193,14 @@ void Paragraph::Private::latexSpecialChar(otexstream & os,
 	// NOTE: Some languages reset the font encoding internally to a
 	//       non-standard font encoding. If we are using such a language,
 	//       we do not output special T1 chars.
-	// NOTE: XeTeX and LuaTeX use OT1 (pre 2017) or TU (as of 2017) encoding
 	if (!runparams.inIPA && !running_font.language()->internalFontEncoding()
 	    && !runparams.isFullUnicode() && bparams.font_encoding() == "T1"
 	    && latexSpecialT1(c, os, i, column))
 		return;
+	// NOTE: XeTeX and LuaTeX use EU1/2 (pre 2017) or TU (as of 2017) encoding
+	else if (!runparams.inIPA && !running_font.language()->internalFontEncoding()
+		 && runparams.isFullUnicode() && latexSpecialTU(c, os, i, column))
+		     return;
 
 	// Otherwise, we use what LaTeX provides us.
 	switch (c) {
@@ -1358,6 +1367,14 @@ bool Paragraph::Private::latexSpecialT1(char_type const c, otexstream & os,
 }
 
 
+bool Paragraph::Private::latexSpecialTU(char_type const c, otexstream & os,
+	pos_type i, unsigned int & column)
+{
+	// TU encoding is currently on par with T1.
+	return latexSpecialT1(c, os, i, column);
+}
+
+
 bool Paragraph::Private::latexSpecialT3(char_type const c, otexstream & os,
 	pos_type /*i*/, unsigned int & column)
 {

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to