/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
#define INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
#include <sal/types.h>
namespace i18npool {
const sal_Int16 NumberChar_HalfWidth =
0 ;
const sal_Int16 NumberChar_FullWidth =
1 ;
const sal_Int16 NumberChar_Lower_zh =
2 ;
const sal_Int16 NumberChar_Upper_zh =
3 ;
const sal_Int16 NumberChar_Upper_zh_TW =
4 ;
const sal_Int16 NumberChar_Modern_ja =
5 ;
const sal_Int16 NumberChar_Traditional_ja=
6 ;
const sal_Int16 NumberChar_Lower_ko =
7 ;
const sal_Int16 NumberChar_Upper_ko =
8 ;
const sal_Int16 NumberChar_Hangul_ko =
9 ;
const sal_Int16 NumberChar_Indic_ar =
10 ;
const sal_Int16 NumberChar_EastIndic_ar =
11 ;
const sal_Int16 NumberChar_hi =
12 ;
const sal_Int16 NumberChar_th =
13 ;
const sal_Int16 NumberChar_or =
14 ;
const sal_Int16 NumberChar_mr =
15 ;
const sal_Int16 NumberChar_bn =
16 ;
const sal_Int16 NumberChar_pa =
17 ;
const sal_Int16 NumberChar_gu =
18 ;
const sal_Int16 NumberChar_ta =
19 ;
const sal_Int16 NumberChar_te =
20 ;
const sal_Int16 NumberChar_kn =
21 ;
const sal_Int16 NumberChar_ml =
22 ;
const sal_Int16 NumberChar_lo =
23 ;
const sal_Int16 NumberChar_bo =
24 ;
const sal_Int16 NumberChar_my =
25 ;
const sal_Int16 NumberChar_km =
26 ;
const sal_Int16 NumberChar_mn =
27 ;
const sal_Int16 NumberChar_he =
28 ;
const sal_Int16 NumberChar_ne =
29 ;
const sal_Int16 NumberChar_dz =
30 ;
const sal_Int16 NumberChar_cu =
31 ;
const sal_Int16 NumberChar_Count =
32 ;
const sal_Unicode NumberChar[][
10 ] = {
// 0 1 2 3 4 5 6 7 8 9
{
0 x0030,
0 x0031,
0 x0032,
0 x0033,
0 x0034,
0 x0035,
0 x0036,
0 x0037,
0 x0038,
0 x0039 },
// Half Width (Ascii)
{
0 xFF10,
0 xFF11,
0 xFF12,
0 xFF13,
0 xFF14,
0 xFF15,
0 xFF16,
0 xFF17,
0 xFF18,
0 xFF19 },
// Full Width
{
0 x3007,
0 x4E00,
0 x4E8c,
0 x4E09,
0 x56DB,
0 x4E94,
0 x516D,
0 x4E03,
0 x516B,
0 x4E5D },
// Chinese Lower
{
0 x96F6,
0 x58F9,
0 x8D30,
0 x53C1,
0 x8086,
0 x4F0D,
0 x9646,
0 x67D2,
0 x634C,
0 x7396 },
// S. Chinese Upper
{
0 x96F6,
0 x58F9,
0 x8CB3,
0 x53C3,
0 x8086,
0 x4F0D,
0 x9678,
0 x67D2,
0 x634C,
0 x7396 },
// T. Chinese Upper
{
0 x3007,
0 x4E00,
0 x4E8C,
0 x4E09,
0 x56DB,
0 x4E94,
0 x516D,
0 x4E03,
0 x516B,
0 x4E5D },
// Japanese Modern
{
0 x96F6,
0 x58F1,
0 x5F10,
0 x53C2,
0 x56DB,
0 x4F0D,
0 x516D,
0 x4E03,
0 x516B,
0 x4E5D },
// Japanese Trad.
{
0 x96F6,
0 x4E00,
0 x4E8C,
0 x4E09,
0 x56DB,
0 x4E94,
0 x516D,
0 x4E03,
0 x516B,
0 x4E5D },
// Korean Lower
{
0 x96F6,
0 x58F9,
0 x8CB3,
0 x53C3,
0 x56DB,
0 x4F0D,
0 x516D,
0 x4E03,
0 x516B,
0 x4E5D },
// Korean Upper
{
0 xC601,
0 xC77C,
0 xC774,
0 xC0BC,
0 xC0AC,
0 xC624,
0 xC721,
0 xCE60,
0 xD314,
0 xAD6C },
// Korean Hangul
{
0 x0660,
0 x0661,
0 x0662,
0 x0663,
0 x0664,
0 x0665,
0 x0666,
0 x0667,
0 x0668,
0 x0669 },
// Arabic Indic
{
0 x06F0,
0 x06F1,
0 x06F2,
0 x06F3,
0 x06F4,
0 x06F5,
0 x06F6,
0 x06F7,
0 x06F8,
0 x06F9 },
// Est. Arabic Indic
{
0 x0966,
0 x0967,
0 x0968,
0 x0969,
0 x096A,
0 x096B,
0 x096C,
0 x096D,
0 x096E,
0 x096F },
// Indic (Devanagari)
{
0 x0E50,
0 x0E51,
0 x0E52,
0 x0E53,
0 x0E54,
0 x0E55,
0 x0E56,
0 x0E57,
0 x0E58,
0 x0E59 },
// Thai
{
0 x0866,
0 x0867,
0 x0868,
0 x0869,
0 x086A,
0 x086B,
0 x086C,
0 x086D,
0 x086E,
0 x086F },
// Odia
{
0 x0966,
0 x0967,
0 x0968,
0 x0969,
0 x096A,
0 x096B,
0 x096C,
0 x096D,
0 x096E,
0 x096F },
// Marathi
{
0 x09E6,
0 x09E7,
0 x09E8,
0 x09E9,
0 x09EA,
0 x09EB,
0 x09EC,
0 x09ED,
0 x09EE,
0 x09EF },
// Bengali
{
0 x0A66,
0 x0A67,
0 x0A68,
0 x0A69,
0 x0A6A,
0 x0A6B,
0 x0A6C,
0 x0A6D,
0 x0A6E,
0 x0A6F },
// Punjabi (Gurmukhi)
{
0 x0AE6,
0 x0AE7,
0 x0AE8,
0 x0AE9,
0 x0AEA,
0 x0AEB,
0 x0AEC,
0 x0AED,
0 x0AEE,
0 x0AEF },
// Gujarati
{
0 x0030,
0 x0BE7,
0 x0BE8,
0 x0BE9,
0 x0BEA,
0 x0BEB,
0 x0BEC,
0 x0BED,
0 x0BEE,
0 x0BEF },
// Tamil
{
0 x0C66,
0 x0C67,
0 x0C68,
0 x0C69,
0 x0C6A,
0 x0C6B,
0 x0C6C,
0 x0C6D,
0 x0C6E,
0 x0C6F },
// Telugu
{
0 x0CE6,
0 x0CE7,
0 x0CE8,
0 x0CE9,
0 x0CEA,
0 x0CEB,
0 x0CEC,
0 x0CED,
0 x0CEE,
0 x0CEF },
// Kannada
{
0 x0DE6,
0 x0DE7,
0 x0DE8,
0 x0DE9,
0 x0DEA,
0 x0DEB,
0 x0DEC,
0 x0DED,
0 x0DEE,
0 x0DEF },
// Malayalam
{
0 x0ED0,
0 x0ED1,
0 x0ED2,
0 x0ED3,
0 x0ED4,
0 x0ED5,
0 x0ED6,
0 x0ED7,
0 x0ED8,
0 x0ED9 },
// Lao
{
0 x0F20,
0 x0F21,
0 x0F22,
0 x0F23,
0 x0F24,
0 x0F25,
0 x0F26,
0 x0F27,
0 x0F28,
0 x0F29 },
// Tibetan
{
0 x1040,
0 x1041,
0 x1042,
0 x1043,
0 x1044,
0 x1045,
0 x1046,
0 x1047,
0 x1048,
0 x1049 },
// Myanmar
{
0 x17E0,
0 x17E1,
0 x17E2,
0 x17E3,
0 x17E4,
0 x17E5,
0 x17E6,
0 x17E7,
0 x17E8,
0 x17E9 },
// Cambodian (Khmer)
{
0 x1810,
0 x1811,
0 x1812,
0 x1813,
0 x1814,
0 x1815,
0 x1816,
0 x1817,
0 x1818,
0 x1819 },
// Mongolian
{
0 x0020,
0 x05D0,
0 x05D1,
0 x05D2,
0 x05D3,
0 x05D4,
0 x05D5,
0 x05D6,
0 x05D7,
0 x05D8 },
// Hebrew
{
0 x0966,
0 x0967,
0 x0968,
0 x0969,
0 x096A,
0 x096B,
0 x096C,
0 x096D,
0 x096E,
0 x096F },
// Nepali
{
0 x0F20,
0 x0F21,
0 x0F22,
0 x0F23,
0 x0F24,
0 x0F25,
0 x0F26,
0 x0F27,
0 x0F28,
0 x0F29 },
// Dzongkha
{
0 x0030,
0 x0430,
0 x0432,
0 x0433,
0 x0434,
0 x0454,
0 x0455,
0 x0437,
0 x0438,
0 x0473 },
// Church Slavic
};
static sal_Unicode DecimalChar[] = {
0 x002E,
// Half Width (Ascii)
0 xFF0E,
// Full Width
0 xFF0E,
// Chinese Lower
0 x70B9,
// S. Chinese Upper
0 x9EDE,
// T. Chinese Upper
0 x30FB,
// Japanese Modern
0 x30FB,
// Japanese Trad.
0 xFF0E,
// Korean Lower
0 x9EDE,
// Korean Upper
0 xC810,
// Korean Hangul
0 x066B,
// Arabic Indic
0 x066B,
// Est. Arabic Indic
0 x0000,
// Indic (Devanagari)
0 x0000,
// Thai
0 x0000,
// Odia
0 x0000,
// Marathi
0 x0000,
// Bengali
0 x0000,
// Punjabi (Gurmukhi)
0 x0000,
// Gujarati
0 x0000,
// Tamil
0 x0000,
// Telugu
0 x0000,
// Kannada
0 x0000,
// Malayalam
0 x0000,
// Lao
0 x0000,
// Tibetan
0 x0000,
// Myanmar
0 x0000,
// Cambodian (Khmer)
0 x0000,
// Mongolian
0 x0000,
// Hebrew
0 x0000,
// Nepali
0 x0000,
// Dzongkha
0 x0000,
// Church Slavic
};
const sal_Unicode MinusChar[] = {
0 x002D,
// Half Width (Ascii)
0 xFF0D,
// Full Width
0 xFF0D,
// Chinese Lower
0 x8D1F,
// S. Chinese Upper
0 x8CA0,
// T. Chinese Upper
0 x2212,
// Japanese Modern
0 x2212,
// Japanese Trad.
0 xFF0D,
// Korean Lower
0 xFF0D,
// Korean Upper
0 xFF0D,
// Korean Hangul
0 x0000,
// Arabic Indic
0 x2212,
// Est. Arabic Indic
0 x0000,
// Indic
0 x0000,
// Thai
0 x0000,
// Odia
0 x0000,
// Marathi
0 x0000,
// Bengali
0 x0000,
// Punjabi
0 x0000,
// Gujarati
0 x0000,
// Tamil
0 x0000,
// Telugu
0 x0000,
// Kannada
0 x0000,
// Malayalam
0 x0000,
// Lao
0 x0000,
// Tibetan
0 x0000,
// Myanmar
0 x0000,
// Cambodian (Khmer)
0 x0000,
// Mongolian
0 x0000,
// Hebrew
0 x0000,
// Nepali
0 x0000,
// Dzongkha
0 x0000,
// Church Slavic
};
static sal_uInt16 SeparatorChar[] = {
0 x002C,
// Half Width (Ascii)
0 xFF0C,
// Full Width
0 x3001,
// Chinese Lower
0 x3001,
// S. Chinese Upper
0 x3001,
// T. Chinese Upper
0 x3001,
// Japanese Modern
0 x3001,
// Japanese Trad.
0 x002C,
// Korean Lower
0 x002C,
// Korean Upper
0 x002C,
// Korean Hangul
0 x0000,
// Arabic Indic
0 x066C,
// Est. Arabic Indic
0 x0000,
// Indic
0 x0000,
// Thai
0 x0000,
// Odia
0 x0000,
// Marathi
0 x0000,
// Bengali
0 x0000,
// Punjabi
0 x0000,
// Gujarati
0 x0000,
// Tamil
0 x0000,
// Telugu
0 x0000,
// Kannada
0 x0000,
// Malayalam
0 x0000,
// Lao
0 x0000,
// Tibetan
0 x0000,
// Myanmar
0 x0000,
// Cambodian (Khmer)
0 x0000,
// Mongolian
0 x0000,
// Hebrew
0 x0000,
// Nepali
0 x0000,
// Dzongkha
0 x0000,
// Church Slavic
};
#define NUMBER_ZERO NumberChar[NumberChar_HalfWidth][
0 ]
// 0x0030
#define NUMBER_ONE NumberChar[NumberChar_HalfWidth][
1 ]
// 0x0031
#define NUMBER_NINE NumberChar[NumberChar_HalfWidth][
9 ]
// 0x0039
#define isNumber(n) ( NUMBER_ZERO <= n && n <= NUMBER_NINE )
#define isDecimal(n) ( n == DecimalChar[NumberChar_HalfWidth] )
#define isMinus(n) ( n == MinusChar[NumberChar_HalfWidth] )
#define isSeparator(n) ( n == SeparatorChar[NumberChar_HalfWidth] )
const sal_Int16 Multiplier_Lower_zh =
0 ;
const sal_Int16 Multiplier_Upper_zh =
1 ;
const sal_Int16 Multiplier_Lower_zh_TW =
2 ;
const sal_Int16 Multiplier_Upper_zh_TW =
3 ;
const sal_Int16 Multiplier_Lower_ko =
4 ;
const sal_Int16 Multiplier_Upper_ko =
5 ;
const sal_Int16 Multiplier_Hangul_ko =
6 ;
const sal_Int16 Multiplier_Modern_ja =
7 ;
const sal_Int16 Multiplier_Traditional_ja =
8 ;
const sal_Int16 Multiplier_Count =
9 ;
const sal_Int16 ExponentCount_6_CJK =
6 ;
const sal_Int16 MultiplierExponent_6_CJK[ExponentCount_6_CJK] = {
12 ,
8 ,
4 ,
3 ,
2 ,
1
};
const sal_Unicode MultiplierChar_6_CJK[][ExponentCount_6_CJK] = {
{
0 x5146,
0 x4EBF,
0 x4E07,
0 x5343,
0 x767E,
0 x5341},
// S. Chinese Lower
{
0 x5146,
0 x4EBF,
0 x4E07,
0 x4EDF,
0 x4F70,
0 x62FE},
// S. Chinese Upper
{
0 x5146,
0 x5104,
0 x842C,
0 x5343,
0 x767E,
0 x5341},
// T. Chinese Lower
{
0 x5146,
0 x5104,
0 x842C,
0 x4EDF,
0 x4F70,
0 x62FE},
// T. Chinese Upper
{
0 x5146,
0 x5104,
0 x4E07,
0 x5343,
0 x767E,
0 x5341},
// Korean Lower
{
0 x5146,
0 x5104,
0 x842C,
0 x9621,
0 x4F70,
0 x62FE},
// Korean Upper
{
0 xC870,
0 xC5B5,
0 xB9CC,
0 xCC9C,
0 xBC31,
0 xC2ED},
// Korean Hangul
{
0 x5146,
0 x5104,
0 x4E07,
0 x5343,
0 x767E,
0 x5341},
// Japanese Modern
{
0 x5146,
0 x5104,
0 x842C,
0 x9621,
0 x767E,
0 x62FE}
// Japanese Traditional
};
const sal_Int16 ExponentCount_2_CJK =
2 ;
const sal_Int16 MultiplierExponent_2_CJK[ExponentCount_2_CJK] = {
8 ,
4 ,
};
const sal_Unicode MultiplierChar_2_CJK[][ExponentCount_2_CJK] = {
{
0 x4EBF,
0 x4E07},
// S. Chinese Lower
{
0 x4EBF,
0 x4E07},
// S. Chinese Upper
{
0 x5104,
0 x842C},
// T. Chinese Lower
{
0 x5104,
0 x842C},
// T. Chinese Upper
{
0 x5104,
0 x4E07},
// Korean Lower
{
0 x5104,
0 x842C},
// Korean Upper
{
0 xC5B5,
0 xB9CC},
// Korean Hangul
{
0 x5104,
0 x4E07},
// Japanese Modern
{
0 x5104,
0 x842C}
// Japanese Traditional
};
const sal_Int16 ExponentCount_7_CJK =
7 ;
const sal_Int16 MultiplierExponent_7_CJK[ExponentCount_7_CJK] = {
16 ,
12 ,
8 ,
4 ,
3 ,
2 ,
1
};
const sal_Unicode MultiplierChar_7_CJK[][ExponentCount_7_CJK] = {
{
0 x4EAC,
0 x5146,
0 x4EBF,
0 x4E07,
0 x5343,
0 x767E,
0 x5341},
// S. Chinese Lower
{
0 x4EAC,
0 x5146,
0 x4EBF,
0 x4E07,
0 x4EDF,
0 x4F70,
0 x62FE},
// S. Chinese Upper
{
0 x4EAC,
0 x5146,
0 x5104,
0 x842C,
0 x5343,
0 x767E,
0 x5341},
// T. Chinese Lower
{
0 x4EAC,
0 x5146,
0 x5104,
0 x842C,
0 x4EDF,
0 x4F70,
0 x62FE},
// T. Chinese Upper
{
0 x4EAC,
0 x5146,
0 x5104,
0 x4E07,
0 x5343,
0 x767E,
0 x5341},
// Korean Lower
{
0 x4EAC,
0 x5146,
0 x5104,
0 x842C,
0 x9621,
0 x4F70,
0 x62FE},
// Korean Upper
{
0 x4EAC,
0 xC870,
0 xC5B5,
0 xB9CC,
0 xCC9C,
0 xBC31,
0 xC2ED},
// Korean Hangul
{
0 x4EAC,
0 x5146,
0 x5104,
0 x4E07,
0 x5343,
0 x767E,
0 x5341},
// Japanese Modern
{
0 x4EAC,
0 x5146,
0 x5104,
0 x842C,
0 x9621,
0 x767E,
0 x62FE}
// Japanese Traditional
};
}
#endif // INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=95 H=99 G=96
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland