lyx_mirror/src/support/textutils.h
Lars Gullik Bjønnes d1182f17da LyX Drinkers Union: patch 1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2141 a592a061-630c-0410-9148-cb99ea01b6c8
2001-06-25 00:06:33 +00:00

129 lines
1.9 KiB
C++

// -*- C++ -*-
/* This file is part of
* ======================================================
*
* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2001 The LyX Team.
*
* ====================================================== */
#ifndef TEXTUTILS_H
#define TEXTUTILS_H
///
inline
bool IsNewlineChar(char c) {
return (c == Paragraph::META_NEWLINE);
}
///
inline
bool IsSeparatorChar(char c) {
return (c == ' ');
}
///
inline
bool IsHfillChar(char c) {
return (c == Paragraph::META_HFILL);
}
///
inline
bool IsInsetChar(char c) {
return (c == Paragraph::META_INSET);
}
///
inline
bool IsLineSeparatorChar(char c) {
return (c == ' ');
}
///
inline
bool IsKommaChar(char c) {
return (c == ','
|| c == '('
|| c == ')'
|| c == '['
|| c == ']'
|| c == '{'
|| c == '}'
|| c == ';'
|| c == '.'
|| c == ':'
|| c == '-'
|| c == '?'
|| c == '!'
|| c == '&'
|| c == '@'
|| c == '+'
|| c == '-'
|| c == '~'
|| c == '#'
|| c == '%'
|| c == '^'
|| c == '/'
|| c == '\\'
|| c == Paragraph::META_NEWLINE
);
}
///
inline
bool IsLetterChar(unsigned char c) {
return ((c >= 'A' && c <= 'Z')
|| (c >= 'a' && c <= 'z')
|| (c >= 192)); // in iso-8859-x these are accented chars
}
///
inline
bool IsPrintable(unsigned char c) {
return ((c & 127) >= ' ');
}
///
inline
bool IsPrintableNonspace(unsigned char c) {
return IsPrintable(c) && (c != ' ');
}
/// Word is not IsSeparator or IsKomma or IsHfill or IsFloat or IsInset.
inline
bool IsWordChar(unsigned char c) {
return !( IsSeparatorChar( c )
|| IsKommaChar( c )
|| IsHfillChar( c )
|| IsInsetChar( c ));
}
///
inline
bool IsDigit(unsigned char ch)
{
return ch >= '0' && ch <= '9';
}
///
inline
bool IsLetterCharOrDigit(unsigned char ch)
{
return IsLetterChar(ch) || IsDigit(ch);
}
#endif