2006-02-06 18:03:11 +00:00
|
|
|
/*
|
|
|
|
**********************************************************************
|
|
|
|
* Copyright (C) 2005-2006, International Business Machines
|
|
|
|
* Corporation and others. All Rights Reserved.
|
|
|
|
**********************************************************************
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "unicode/utypes.h"
|
|
|
|
#include "unicode/unistr.h"
|
|
|
|
#include "unicode/ucnv.h"
|
|
|
|
|
|
|
|
#include "csmatch.h"
|
|
|
|
|
|
|
|
#include "csrecog.h"
|
|
|
|
#include "inputext.h"
|
|
|
|
|
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
|
2006-02-06 20:45:30 +00:00
|
|
|
CharsetMatch::CharsetMatch()
|
2006-02-06 18:03:11 +00:00
|
|
|
: csr(0), confidence(0)
|
|
|
|
{
|
|
|
|
// nothing else to do.
|
|
|
|
}
|
|
|
|
|
2006-02-06 20:45:30 +00:00
|
|
|
void CharsetMatch::set(InputText *input, CharsetRecognizer *cr, int32_t conf)
|
2006-02-06 18:03:11 +00:00
|
|
|
{
|
|
|
|
textIn = input;
|
|
|
|
csr = cr;
|
|
|
|
confidence = conf;
|
|
|
|
}
|
|
|
|
|
2006-02-06 20:45:30 +00:00
|
|
|
const char* CharsetMatch::getName()const
|
2006-02-06 18:03:11 +00:00
|
|
|
{
|
|
|
|
return csr->getName();
|
|
|
|
}
|
|
|
|
|
2006-02-06 20:45:30 +00:00
|
|
|
const char* CharsetMatch::getLanguage()const
|
2006-02-06 18:03:11 +00:00
|
|
|
{
|
|
|
|
return csr->getLanguage();
|
|
|
|
}
|
|
|
|
|
2006-02-06 20:45:30 +00:00
|
|
|
int32_t CharsetMatch::getConfidence()const
|
2006-02-06 18:03:11 +00:00
|
|
|
{
|
|
|
|
return confidence;
|
|
|
|
}
|
|
|
|
|
2006-02-06 20:45:30 +00:00
|
|
|
int32_t CharsetMatch::getUChars(UChar *buf, int32_t cap, UErrorCode *status) const
|
2006-02-06 18:03:11 +00:00
|
|
|
{
|
|
|
|
UConverter *conv = ucnv_open(getName(), status);
|
|
|
|
int32_t result = ucnv_toUChars(conv, buf, cap, (const char *) textIn->fRawInput, textIn->fRawLength, status);
|
|
|
|
|
|
|
|
ucnv_close(conv);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
U_NAMESPACE_END
|