| Index: source/i18n/scientificformathelper.cpp
|
| diff --git a/source/i18n/scientificformathelper.cpp b/source/i18n/scientificformathelper.cpp
|
| deleted file mode 100644
|
| index 5a3a2bc0c610989881d72b17d0f3eef5c7231dd5..0000000000000000000000000000000000000000
|
| --- a/source/i18n/scientificformathelper.cpp
|
| +++ /dev/null
|
| @@ -1,181 +0,0 @@
|
| -/*
|
| -**********************************************************************
|
| -* Copyright (c) 2014, International Business Machines
|
| -* Corporation and others. All Rights Reserved.
|
| -**********************************************************************
|
| -*/
|
| -#include "unicode/utypes.h"
|
| -
|
| -#if !UCONFIG_NO_FORMATTING
|
| -
|
| -#include "unicode/scientificformathelper.h"
|
| -#include "unicode/dcfmtsym.h"
|
| -#include "unicode/fpositer.h"
|
| -#include "unicode/utf16.h"
|
| -#include "unicode/uniset.h"
|
| -#include "decfmtst.h"
|
| -
|
| -U_NAMESPACE_BEGIN
|
| -
|
| -static const UChar kSuperscriptDigits[] = {0x2070, 0xB9, 0xB2, 0xB3, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078, 0x2079};
|
| -
|
| -static const UChar kSuperscriptPlusSign = 0x207A;
|
| -static const UChar kSuperscriptMinusSign = 0x207B;
|
| -
|
| -ScientificFormatHelper::ScientificFormatHelper(
|
| - const DecimalFormatSymbols &dfs, UErrorCode &status)
|
| - : fPreExponent(), fStaticSets(NULL) {
|
| - if (U_FAILURE(status)) {
|
| - return;
|
| - }
|
| - fPreExponent.append(dfs.getConstSymbol(
|
| - DecimalFormatSymbols::kExponentMultiplicationSymbol));
|
| - fPreExponent.append(dfs.getSymbol(DecimalFormatSymbols::kOneDigitSymbol));
|
| - fPreExponent.append(dfs.getSymbol(DecimalFormatSymbols::kZeroDigitSymbol));
|
| - fStaticSets = DecimalFormatStaticSets::getStaticSets(status);
|
| -}
|
| -
|
| -ScientificFormatHelper::ScientificFormatHelper(
|
| - const ScientificFormatHelper &other)
|
| - : UObject(other),
|
| - fPreExponent(other.fPreExponent),
|
| - fStaticSets(other.fStaticSets) {
|
| -}
|
| -
|
| -ScientificFormatHelper &ScientificFormatHelper::operator=(const ScientificFormatHelper &other) {
|
| - if (this == &other) {
|
| - return *this;
|
| - }
|
| - fPreExponent = other.fPreExponent;
|
| - fStaticSets = other.fStaticSets;
|
| - return *this;
|
| -}
|
| -
|
| -ScientificFormatHelper::~ScientificFormatHelper() {
|
| -}
|
| -
|
| -UnicodeString &ScientificFormatHelper::insertMarkup(
|
| - const UnicodeString &s,
|
| - FieldPositionIterator &fpi,
|
| - const UnicodeString &beginMarkup,
|
| - const UnicodeString &endMarkup,
|
| - UnicodeString &result,
|
| - UErrorCode &status) const {
|
| - if (U_FAILURE(status)) {
|
| - return result;
|
| - }
|
| - FieldPosition fp;
|
| - int32_t copyFromOffset = 0;
|
| - UBool exponentSymbolFieldPresent = FALSE;
|
| - UBool exponentFieldPresent = FALSE;
|
| - while (fpi.next(fp)) {
|
| - switch (fp.getField()) {
|
| - case UNUM_EXPONENT_SYMBOL_FIELD:
|
| - exponentSymbolFieldPresent = TRUE;
|
| - result.append(s, copyFromOffset, fp.getBeginIndex() - copyFromOffset);
|
| - copyFromOffset = fp.getEndIndex();
|
| - result.append(fPreExponent);
|
| - result.append(beginMarkup);
|
| - break;
|
| - case UNUM_EXPONENT_FIELD:
|
| - exponentFieldPresent = TRUE;
|
| - result.append(s, copyFromOffset, fp.getEndIndex() - copyFromOffset);
|
| - copyFromOffset = fp.getEndIndex();
|
| - result.append(endMarkup);
|
| - break;
|
| - default:
|
| - break;
|
| - }
|
| - }
|
| - if (!exponentSymbolFieldPresent || !exponentFieldPresent) {
|
| - status = U_ILLEGAL_ARGUMENT_ERROR;
|
| - return result;
|
| - }
|
| - result.append(s, copyFromOffset, s.length() - copyFromOffset);
|
| - return result;
|
| -}
|
| -
|
| -static UBool copyAsSuperscript(
|
| - const UnicodeString &s,
|
| - int32_t beginIndex,
|
| - int32_t endIndex,
|
| - UnicodeString &result,
|
| - UErrorCode &status) {
|
| - if (U_FAILURE(status)) {
|
| - return FALSE;
|
| - }
|
| - for (int32_t i = beginIndex; i < endIndex;) {
|
| - UChar32 c = s.char32At(i);
|
| - int32_t digit = u_charDigitValue(c);
|
| - if (digit < 0) {
|
| - status = U_INVALID_CHAR_FOUND;
|
| - return FALSE;
|
| - }
|
| - result.append(kSuperscriptDigits[digit]);
|
| - i += U16_LENGTH(c);
|
| - }
|
| - return TRUE;
|
| -}
|
| -
|
| -UnicodeString &ScientificFormatHelper::toSuperscriptExponentDigits(
|
| - const UnicodeString &s,
|
| - FieldPositionIterator &fpi,
|
| - UnicodeString &result,
|
| - UErrorCode &status) const {
|
| - if (U_FAILURE(status)) {
|
| - return result;
|
| - }
|
| - FieldPosition fp;
|
| - int32_t copyFromOffset = 0;
|
| - UBool exponentSymbolFieldPresent = FALSE;
|
| - UBool exponentFieldPresent = FALSE;
|
| - while (fpi.next(fp)) {
|
| - switch (fp.getField()) {
|
| - case UNUM_EXPONENT_SYMBOL_FIELD:
|
| - exponentSymbolFieldPresent = TRUE;
|
| - result.append(s, copyFromOffset, fp.getBeginIndex() - copyFromOffset);
|
| - copyFromOffset = fp.getEndIndex();
|
| - result.append(fPreExponent);
|
| - break;
|
| - case UNUM_EXPONENT_SIGN_FIELD:
|
| - {
|
| - int32_t beginIndex = fp.getBeginIndex();
|
| - int32_t endIndex = fp.getEndIndex();
|
| - UChar32 aChar = s.char32At(beginIndex);
|
| - if (fStaticSets->fMinusSigns->contains(aChar)) {
|
| - result.append(s, copyFromOffset, beginIndex - copyFromOffset);
|
| - result.append(kSuperscriptMinusSign);
|
| - } else if (fStaticSets->fPlusSigns->contains(aChar)) {
|
| - result.append(s, copyFromOffset, beginIndex - copyFromOffset);
|
| - result.append(kSuperscriptPlusSign);
|
| - } else {
|
| - status = U_INVALID_CHAR_FOUND;
|
| - return result;
|
| - }
|
| - copyFromOffset = endIndex;
|
| - }
|
| - break;
|
| - case UNUM_EXPONENT_FIELD:
|
| - exponentFieldPresent = TRUE;
|
| - result.append(s, copyFromOffset, fp.getBeginIndex() - copyFromOffset);
|
| - if (!copyAsSuperscript(
|
| - s, fp.getBeginIndex(), fp.getEndIndex(), result, status)) {
|
| - return result;
|
| - }
|
| - copyFromOffset = fp.getEndIndex();
|
| - break;
|
| - default:
|
| - break;
|
| - }
|
| - }
|
| - if (!exponentSymbolFieldPresent || !exponentFieldPresent) {
|
| - status = U_ILLEGAL_ARGUMENT_ERROR;
|
| - return result;
|
| - }
|
| - result.append(s, copyFromOffset, s.length() - copyFromOffset);
|
| - return result;
|
| -}
|
| -
|
| -U_NAMESPACE_END
|
| -
|
| -#endif /* !UCONFIG_NO_FORMATTING */
|
|
|