X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Ftextutils.h;h=314ea7588d26943b281f177b9c2d532f9d0e37ae;hb=1410eeb10e4ce1549ce381ab7ae85847c442c41f;hp=283db0316bc3011134f5b90c08f195a0894a16a6;hpb=0418d1470468f626868895e7f30a7d0de394c5e8;p=lyx.git diff --git a/src/support/textutils.h b/src/support/textutils.h index 283db0316b..314ea7588d 100644 --- a/src/support/textutils.h +++ b/src/support/textutils.h @@ -5,7 +5,7 @@ * Licence details can be found in the file COPYING. * * \author Matthias Ettrich - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -15,29 +15,54 @@ #ifndef TEXTUTILS_H #define TEXTUTILS_H -#include "support/types.h" +#include "support/strfwd.h" namespace lyx { /// return true if the char is a line separator -inline -bool isLineSeparatorChar(char_type c) -{ - return c == ' '; -} +inline bool isLineSeparatorChar(char_type c) { return c == ' '; } /// return true if a char is alphabetical (including accented chars) bool isLetterChar(char_type c); +/// return true if a char is lowercase +bool isLower(char_type c); + +/// return whether \p c is an alphabetic character in the ASCII range +bool isAlphaASCII(char_type c); + /// return true if the char is printable bool isPrintable(char_type c); /// return true if the char is printable and not a space bool isPrintableNonspace(char_type c); -/// return true if a unicode char is a digit. -bool isDigit(char_type c); +/// return true if a unicode char is a space. +bool isSpace(char_type c); + +/// return true if a unicode char is a numeral. +bool isNumber(char_type c); + +/// return true if a unicode char has the direction attribute +/// European Number Separator [ES] +bool isEuropeanNumberSeparator(char_type c); + +/// return true if a unicode char has the direction attribute +/// European Number Terminator [ET] +bool isEuropeanNumberTerminator(char_type c); + +/// return whether \p c is a digit in the ASCII range +bool isDigitASCII(char_type c); + +/// return whether \p c is alpha or a digit in the ASCII range +bool isAlnumASCII(char_type c); + +/// return whether \p c is in the ASCII range +bool isASCII(char_type c); + +/// return whether \p c is in the 'Punctuation, Open' unicode category +bool isOpenPunctuation(char_type c); } // namespace lyx