1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/* $Id: cursesmoronize.C,v 1.4 2004/05/01 02:28:21 mrsam Exp $
**
** Copyright 2003-2004, Double Precision Inc.
**
** See COPYING for distribution information.
*/
#include "curses_config.h"
#include "cursesmoronize.H"
using namespace std;
bool CursesMoronize::enabled=false;
CursesMoronize::Entry CursesMoronize::moronizationList[] = {
{ ")C(", 3, 169},
{ ")R(", 3, 174},
{ "-/+", 3, 177},
{ " 4/1", 4, 188},
{ " 2/1", 4, 189},
{ " 4/3", 4, 190},
{ "]mt[", 4, 8482},
{ "-<", 2, 8592},
{ ">-", 2, 8594},
{ ">-<", 3, 8596},
{ "``", 2, 8220},
{ "''", 2, 8221},
{ " * ", 3, 8226},
{ "...", 3, 8230},
{ NULL, 0, 0}};
size_t CursesMoronize::moronize(const char *buf, wchar_t &nreplaced)
{
Entry *e=moronizationList;
while (e->keycode)
{
if (strncmp(e->keycode, buf, e->keycodeLen) == 0 &&
e->unicode_char)
{
nreplaced=e->unicode_char;
return e->keycodeLen;
}
++e;
}
return 0;
}
|