/* -*- 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=41 H=100 G=76
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland