]> git.lyx.org Git - lyx.git/blobdiff - src/Encoding.h
Add textclass options for paper size selection and default paper size
[lyx.git] / src / Encoding.h
index 00d0106b543fc36c1925d6e61e9b04e4d4c8fb60..52bfc95692190fc1aecb6a1be8bf3b3bc9a9fc52 100644 (file)
@@ -52,6 +52,8 @@ enum CharInfoFlags {
        CharInfoMathNoTermination = 32,
        ///
        CharInfoForceSelected = 64,
+       ///
+       CharInfoDeprecated = 128
 };
 
 
@@ -86,6 +88,8 @@ public:
        bool force() const { return flags_ & CharInfoForce ? true : false; }
        /// Force the LaTeX command for some encodings?
        bool forceselected() const { return flags_ & CharInfoForceSelected ? true : false; }
+       /// Disable LaTeX command => char_type conversion for this deprecated symbol?
+       bool deprecated() const { return flags_ & CharInfoDeprecated ? true : false; }
        /// TIPA shortcut
        std::string const tipashortcut() const { return tipashortcut_; }
        /// \c textcommand needs no termination (such as {} or space).
@@ -126,7 +130,8 @@ public:
        /// Represent any of the above packages
        static int const any;
        ///
-       Encoding() : fixedwidth_(true), unsafe_(false), complete_(false) {}
+       Encoding() : fixedwidth_(true), unsafe_(false), forced_(0),
+                    start_encodable_(0), package_(none), complete_(false) {}
        ///
        Encoding(std::string const & n, std::string const & l,
                 std::string const & g, std::string const & i,
@@ -267,20 +272,25 @@ public:
        /// 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
         * letters and accented characters that are output as math commands.
         */
        static bool isMathAlpha(char_type c);
+       /**
+        * Do we have to wrap in \text this character when in mathmode?
+        * This is true if \p c is not ascii and the "mathalpha" flag is not
+        * set and a mathcommand is not defined in the unicodesymbols file.
+        */
+       static bool isUnicodeTextOnly(char_type c);
        /**
         * Register \p c as a mathmode command.
         */