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,
// 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"
+ && !runparams.isFullUnicode() && bparams.main_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) {
// written. (Asger)
break;
+ case 0x2013:
+ case 0x2014:
+ if (bparams.use_dash_ligatures && !bparams.useNonTeXFonts) {
+ if (c == 0x2013) {
+ // en-dash
+ os << "--";
+ column +=2;
+ } else {
+ // em-dash
+ os << "---";
+ column +=3;
+ }
+ break;
+ }
+ // fall through
default:
if (c == '\0')
return;
}
+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)
{