/// Needed LaTeX preamble (or feature) for math mode
std::string mathpreamble() const { return mathpreamble_; }
/// Is this a combining character?
- bool combining() const { return flags_ & CharInfoCombining ? true : false; }
+ bool combining() const { return flags_ & CharInfoCombining; }
/// Is \c textpreamble a feature known by LaTeXFeatures, or a raw LaTeX
/// command?
- bool textfeature() const { return flags_ & CharInfoTextFeature ? true : false; }
+ bool textfeature() const { return flags_ & CharInfoTextFeature; }
/// Is \c mathpreamble a feature known by LaTeXFeatures, or a raw LaTeX
/// command?
- bool mathfeature() const { return flags_ & CharInfoMathFeature ? true : false; }
+ bool mathfeature() const { return flags_ & CharInfoMathFeature; }
/// Always force the LaTeX command, even if the encoding contains
/// this character?
- bool force() const { return flags_ & CharInfoForce ? true : false; }
+ bool force() const { return flags_ & CharInfoForce; }
/// Force the LaTeX command for some encodings?
- bool forceselected() const { return flags_ & CharInfoForceSelected ? true : false; }
+ bool forceselected() const { return flags_ & CharInfoForceSelected; }
/// Disable LaTeX command => char_type conversion for this deprecated symbol?
- bool deprecated() const { return flags_ & CharInfoDeprecated ? true : false; }
+ bool deprecated() const { return flags_ & CharInfoDeprecated; }
/// TIPA shortcut
std::string const tipashortcut() const { return tipashortcut_; }
/// \c textcommand needs no termination (such as {} or space).
- bool textnotermination() const { return flags_ & CharInfoTextNoTermination ? true : false; }
+ bool textnotermination() const { return flags_ & CharInfoTextNoTermination; }
/// \c mathcommand needs no termination (such as {} or space).
- bool mathnotermination() const { return flags_ & CharInfoMathNoTermination ? true : false; }
+ bool mathnotermination() const { return flags_ & CharInfoMathNoTermination; }
///
private:
/// LaTeX command (text mode) for this character
/// Return the TIPA shortcut
static std::string const TIPAShortcut(char_type c);
/**
- * Is this a known char from some language?
- * If \p preamble is empty and code point \p c is known to belong
- * to a supported script, true is returned and \p preamble is set
- * to the corresponding entry in the unicodesymbols file.
- * If \p preamble is not empty, a check is made whether code point
- * \p c is a known character matching the preamble entry.
+ * Test, if \p c is a supported Greek or Cyrillic letter.
+ * Return script macro name or empty string.
*/
- static bool isKnownScriptChar(char_type const c, std::string & preamble);
+ static std::string const isKnownScriptChar(char_type const c);
+ /// Does \p fontenc support characters in \p script?
+ static bool fontencSupportsScript(std::string const & fontenc,
+ std::string const & script);
/**
* Do we have to display in italics this character when in mathmode?
* This is true if the "mathalpha" flag is set. We use this for