utf8nfkd.h

00001 /******************************************************************************
00002  *
00003  * $Id: utf8nfkd.h 1688 2005-01-01 04:42:26Z scribe $
00004  *
00005  * Copyright 2001 CrossWire Bible Society (http://www.crosswire.org)
00006  *      CrossWire Bible Society
00007  *      P. O. Box 2528
00008  *      Tempe, AZ  85280-2528
00009  *
00010  * This program is free software; you can redistribute it and/or modify it
00011  * under the terms of the GNU General Public License as published by the
00012  * Free Software Foundation version 2.
00013  *
00014  * This program is distributed in the hope that it will be useful, but
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  * General Public License for more details.
00018  *
00019  */
00020 
00021 #ifndef UTF8NFKD_H
00022 #define UTF8NFKD_H
00023 
00024 #include <swfilter.h>
00025 
00026 #include <unicode/utypes.h>
00027 #include <unicode/ucnv.h>
00028 #include <unicode/uchar.h>
00029 #include <unicode/unorm.h>
00030 
00031 SWORD_NAMESPACE_START
00032 
00033 class SWDLLEXPORT UTF8NFKD : public SWFilter {
00034 private:
00035         UConverter* conv;
00036         UChar *source, *target;
00037         UErrorCode err;
00038 public:
00039         UTF8NFKD();
00040         ~UTF8NFKD();  
00041         virtual char processText(SWBuf &text, const SWKey *key = 0, const SWModule *module = 0);
00042 };
00043 
00044 SWORD_NAMESPACE_END
00045 #endif