LibreOffice Module i18npool (master)  1
Namespaces | Macros | Functions | Variables
nativenumbersupplier.cxx File Reference
#include <i18nlangtag/languagetag.hxx>
#include <i18nlangtag/mslangid.hxx>
#include <rtl/ustrbuf.hxx>
#include <sal/macros.h>
#include <nativenumbersupplier.hxx>
#include <localedata.hxx>
#include "data/numberchar.h"
#include <comphelper/processfactory.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <map>
#include <mutex>
#include <memory>
#include <string_view>
#include <unordered_map>
#include <com/sun/star/i18n/CharacterClassification.hpp>
#include <com/sun/star/i18n/NativeNumberMode.hpp>
#include <com/sun/star/linguistic2/NumberText.hpp>
Include dependency graph for nativenumbersupplier.cxx:

Go to the source code of this file.

Namespaces

 i18npool
 Constant values shared between i18npool and, for example, the number formatter.
 

Macros

#define NUMBER_OMIT_ZERO   (1 << 0)
 
#define NUMBER_OMIT_ONLY_ZERO   (1 << 1)
 
#define NUMBER_OMIT_ONE_1   (1 << 2)
 
#define NUMBER_OMIT_ONE_2   (1 << 3)
 
#define NUMBER_OMIT_ONE_3   (1 << 4)
 
#define NUMBER_OMIT_ONE_4   (1 << 5)
 
#define NUMBER_OMIT_ONE_5   (1 << 6)
 
#define NUMBER_OMIT_ONE_6   (1 << 7)
 
#define NUMBER_OMIT_ONE_7   (1 << 8)
 
#define NUMBER_OMIT_ONE   (NUMBER_OMIT_ONE_1|NUMBER_OMIT_ONE_2|NUMBER_OMIT_ONE_3|NUMBER_OMIT_ONE_4|NUMBER_OMIT_ONE_5|NUMBER_OMIT_ONE_6|NUMBER_OMIT_ONE_7)
 
#define NUMBER_OMIT_ONE_CHECK(bit)   (1 << (2 + bit))
 
#define NUMBER_OMIT_ALL   ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE|NUMBER_OMIT_ONLY_ZERO )
 
#define NUMBER_OMIT_ZERO_ONE   ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE )
 
#define NUMBER_OMIT_ONE_67   (NUMBER_OMIT_ONE_6|NUMBER_OMIT_ONE_7)
 
#define NUMBER_OMIT_ZERO_ONE_67   ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE_67 )
 

Functions

static OUString i18npool::getHebrewNativeNumberString (const OUString &aNumberString, bool useGeresh)
 
static OUString i18npool::getCyrillicNativeNumberString (const OUString &aNumberString)
 
static OUString i18npool::AsciiToNativeChar (const OUString &inStr, sal_Int32 nCount, Sequence< sal_Int32 > *pOffset, sal_Int16 number)
 
static bool i18npool::AsciiToNative_numberMaker (const sal_Unicode *str, sal_Int32 begin, sal_Int32 len, sal_Unicode *dst, sal_Int32 &count, sal_Int16 multiChar_index, Sequence< sal_Int32 > *pOffset, sal_Int32 startPos, const Number *number, const sal_Unicode *numberChar)
 
static OUString i18npool::AsciiToNative (const OUString &inStr, sal_Int32 nCount, Sequence< sal_Int32 > *pOffset, const Number *number)
 
static bool i18npool::natNumIn (sal_Int16 num, const sal_Int16 natnum[], sal_Int16 len)
 
static void i18npool::makeHebrewNumber (sal_Int64 value, OUStringBuffer &output, bool isLast, bool useGeresh)
 
static void i18npool::makeCyrillicNumber (sal_Int64 value, OUStringBuffer &output, bool addTitlo)
 
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_i18n_NativeNumberSupplier_get_implementation (css::uno::XComponentContext *, css::uno::Sequence< css::uno::Any > const &)
 

Variables

HebrewNumberChar const i18npool::HebrewNumberCharArray []
 
const sal_Unicode i18npool::thousand [] = {0x05d0, 0x05dc, 0x05e3, 0x0}
 
const sal_Unicode i18npool::thousands [] = {0x05d0, 0x05dc, 0x05e4, 0x05d9, 0x0}
 
const sal_Unicode i18npool::thousands_last [] = {0x05d0, 0x05dc, 0x05e4, 0x05d9, 0x05dd, 0x0}
 
const sal_Unicode i18npool::geresh = 0x05f3
 
const sal_Unicode i18npool::gershayim = 0x05f4
 
const sal_Unicode i18npool::cyrillicThousandsMark = 0x0482
 
const sal_Unicode i18npool::cyrillicTitlo = 0x0483
 
const sal_Unicode i18npool::cyrillicTen = 0x0456
 
CyrillicNumberChar const i18npool::CyrillicNumberCharArray []
 

Macro Definition Documentation

#define NUMBER_OMIT_ALL   ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE|NUMBER_OMIT_ONLY_ZERO )

Definition at line 65 of file nativenumbersupplier.cxx.

Definition at line 63 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_1   (1 << 2)

Definition at line 56 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_2   (1 << 3)

Definition at line 57 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_3   (1 << 4)

Definition at line 58 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_4   (1 << 5)

Definition at line 59 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_5   (1 << 6)

Definition at line 60 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_6   (1 << 7)

Definition at line 61 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_67   (NUMBER_OMIT_ONE_6|NUMBER_OMIT_ONE_7)

Definition at line 67 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_7   (1 << 8)

Definition at line 62 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ONE_CHECK (   bit)    (1 << (2 + bit))

Definition at line 64 of file nativenumbersupplier.cxx.

Referenced by i18npool::AsciiToNative_numberMaker().

#define NUMBER_OMIT_ONLY_ZERO   (1 << 1)

Definition at line 55 of file nativenumbersupplier.cxx.

Referenced by i18npool::AsciiToNative().

#define NUMBER_OMIT_ZERO   (1 << 0)

Definition at line 54 of file nativenumbersupplier.cxx.

Referenced by i18npool::AsciiToNative_numberMaker().

#define NUMBER_OMIT_ZERO_ONE   ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE )

Definition at line 66 of file nativenumbersupplier.cxx.

#define NUMBER_OMIT_ZERO_ONE_67   ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE_67 )

Definition at line 68 of file nativenumbersupplier.cxx.

Function Documentation

SAL_DLLPUBLIC_EXPORT css::uno::XInterface* com_sun_star_i18n_NativeNumberSupplier_get_implementation ( css::uno::XComponentContext *  ,
css::uno::Sequence< css::uno::Any > const &   
)

Definition at line 1249 of file nativenumbersupplier.cxx.

Variable Documentation

sal_Unicode DecimalSeparator

Definition at line 544 of file nativenumbersupplier.cxx.

sal_Unicode ThousandSeparator

Definition at line 545 of file nativenumbersupplier.cxx.

sal_Int16 value