X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FEncoding.cpp;h=b24c31366fe6d800094422302c5debbac5d517c6;hb=f758894c2fc78f33be0c8bd60c2fd0a1f470056e;hp=b3efc20f5789477d9eb02eb679c1ca1b8907eb88;hpb=f838b4fb18d1860d646212aa22355e19eae4e696;p=lyx.git diff --git a/src/Encoding.cpp b/src/Encoding.cpp index b3efc20f57..b24c31366f 100644 --- a/src/Encoding.cpp +++ b/src/Encoding.cpp @@ -23,10 +23,9 @@ #include "support/textutils.h" #include "support/unicode.h" -#include - -#include #include +#include +#include #include using namespace std; @@ -68,7 +67,7 @@ EncodingException::EncodingException(char_type c) } -const char * EncodingException::what() const throw() +const char * EncodingException::what() const noexcept { return "Could not find LaTeX command for a character"; } @@ -193,13 +192,11 @@ bool Encoding::encodable(char_type c) const return true; // platex does not load inputenc: force conversion of supported characters if (package_ == Encoding::japanese - && ((0x7f < c && c <= 0x05ff) // Latin-1 Supplement ... Hebrew - || (0x1d00 < c && c <= 0x218f) // Phonetic Extensions ... Number Forms - || (0x2193 < c && c <= 0x2aff) // Arrows ... Supplemental Mathematical Operators - || (0xfb00 < c && c <= 0xfb4f) // Alphabetic Presentation Forms - || (0x1d400 < c && c <= 0x1d7ff)) // Mathematical Alphanumeric Symbols - && c != 0xa2 && c != 0xa3 && c != 0xa5 && c != 0xa7 // exceptions - && c != 0xa8 && c != 0xb0 && c != 0xb4 && c != 0xb6) + && ((0xb7 <= c && c <= 0x05ff) // Latin-1 Supplement ... Hebrew + || (0x1d00 <= c && c <= 0x218f) // Phonetic Extensions ... Number Forms + || (0x2193 <= c && c <= 0x2aff) // Arrows ... Supplemental Mathematical Operators + || (0xfb00 <= c && c <= 0xfb4f) // Alphabetic Presentation Forms + || (0x1d400 <= c && c <= 0x1d7ff))) // Mathematical Alphanumeric Symbols return false; if (c < start_encodable_ && !isForced(c)) return true; @@ -232,8 +229,8 @@ pair Encoding::latexString(docstring const & input, bool d docstring uncodable; bool terminate = false; for (size_t n = 0; n < input.size(); ++n) { + char_type const c = input[n]; try { - char_type const c = input[n]; pair latex_char = latexChar(c); docstring const latex = latex_char.first; if (terminate && !prefixIs(latex, '\\') @@ -250,7 +247,8 @@ pair Encoding::latexString(docstring const & input, bool d result += latex; terminate = latex_char.second; } catch (EncodingException & /* e */) { - LYXERR0("Uncodable character in latexString!"); + LYXERR0("Uncodable character <" << docstring(1, c) + << "> in latexString!"); if (dryrun) { result += "<" + _("LyX Warning: ") + _("uncodable character") + " '"; @@ -276,7 +274,7 @@ vector Encoding::symbolsList() const // add all encodable characters copy(encodable_.begin(), encodable_.end(), back_inserter(symbols)); // now the ones from the unicodesymbols file that are not already there - for (pair const & elem : unicodesymbols) { + for (auto const & elem : unicodesymbols) { if (find(symbols.begin(), symbols.end(), elem.first) == symbols.end()) symbols.push_back(elem.first); } @@ -638,9 +636,9 @@ Encodings::fromLyXName(string const & name, bool allowUnsafe) const { EncodingList::const_iterator const it = encodinglist.find(name); if (it == encodinglist.end()) - return 0; + return nullptr; if (!allowUnsafe && it->second.unsafe()) - return 0; + return nullptr; return &it->second; } @@ -664,7 +662,7 @@ Encodings::fromLaTeXName(string const & n, int const & p, bool allowUnsafe) cons if ((it->second.latexName() == name) && (it->second.package() & p) && (!it->second.unsafe() || allowUnsafe)) return &it->second; - return 0; + return nullptr; } @@ -676,7 +674,7 @@ Encodings::fromIconvName(string const & n, int const & p, bool allowUnsafe) cons if ((it->second.iconvName() == n) && (it->second.package() & p) && (!it->second.unsafe() || allowUnsafe)) return &it->second; - return 0; + return nullptr; } @@ -704,7 +702,7 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile) istringstream is(symbolslex.getString()); // reading symbol directly does not work if // char_type == wchar_t. - boost::uint32_t tmp; + uint32_t tmp; if(!(is >> hex >> tmp)) break; symbol = tmp;