This commit was manufactured by cvs2svn to create tag
[lyx.git] / src / support / textutils.h
blob73d97cd59819db500362408bb1b604f2f9c0bd9d
1 // -*- C++ -*-
2 /* This file is part of
3 * ======================================================
4 *
5 * LyX, The Document Processor
6 *
7 * Copyright (C) 1995 Matthias Ettrich
9 *======================================================*/
10 #ifndef _TEXTUTILS_H
11 #define _TEXTUTILS_H
13 #include "definitions.h"
15 ///
16 inline bool IsNewlineChar(char c) {
17 return (c == LYX_META_NEWLINE);
19 ///
20 inline bool IsSeparatorChar(char c) {
21 return (c == ' ' || c == LYX_META_PROTECTED_SEPARATOR);
23 ///
24 inline bool IsHfillChar(char c) {
25 return (c == LYX_META_HFILL);
27 ///
28 inline bool IsInsetChar(char c) {
29 return (c == LYX_META_INSET);
31 ///
32 inline bool IsFloatChar(char c) {
33 return (c == LYX_META_FOOTNOTE
34 || c == LYX_META_MARGIN
35 || c == LYX_META_FIG
36 || c == LYX_META_TAB
37 || c == LYX_META_ALGORITHM
38 || c == LYX_META_WIDE_FIG
39 || c == LYX_META_WIDE_TAB);
41 ///
42 inline bool IsLineSeparatorChar(char c) {
43 return (c == ' ');
45 ///
46 inline bool IsKommaChar(char c) {
47 return (c == ','
48 || c=='('
49 || c==')'
50 || c=='['
51 || c==']'
52 || c=='{'
53 || c=='}'
54 || c==';'
55 || c=='.'
56 || c==':'
57 || c=='-'
58 || c=='?'
59 || c=='!'
60 || c=='&'
61 || c=='@'
62 || c=='+'
63 || c=='-'
64 || c=='~'
65 || c=='#'
66 || c=='%'
67 || c=='^'
68 || c=='/'
69 || c=='\\'
70 || c==LYX_META_NEWLINE
71 || c==LYX_META_PROTECTED_SEPARATOR
74 ///
75 inline bool IsLetterChar(unsigned char c) {
76 return ((c>='A' && c<='Z')
77 || (c>='a' && c<='z')
78 || (c>=192)); // in iso-8859-x these are accented chars
80 ///
81 inline bool IsPrintable(unsigned char c) {
82 return (c>=' ');
84 /// Word is not IsSeparator or IsKomma or IsHfill or IsFloat or IsInset.
85 inline bool IsWordChar(unsigned char c) {
86 return !( IsSeparatorChar( c )
87 || IsKommaChar( c )
88 || IsHfillChar( c )
89 || IsFloatChar( c )
90 || IsInsetChar( c ) ) ;
92 #endif