LibreOffice Module i18npool (master)
1
i18npool
inc
wtt.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
#pragma once
20
21
#include <
sal/types.h
>
22
23
namespace
i18npool
{
24
25
/*
26
* Thai character type definition.
27
*/
28
29
#define CT_CTRL 0
// Control character
30
#define CT_NON 1
// Non-composible
31
#define CT_CONS 2
// Consonant
32
#define CT_LV 3
// Leading vowel
33
#define CT_FV1 4
// Following vowel
34
#define CT_FV2 5
// Following vowel
35
#define CT_FV3 6
36
#define CT_BV1 7
// Below vowel
37
#define CT_BV2 8
38
#define CT_BD 9
// Below diacritic
39
#define CT_TONE 10
// Tone
40
#define CT_AD1 11
// Above diacritic
41
#define CT_AD2 12
42
#define CT_AD3 13
43
#define CT_AV1 14
// Above vowel
44
#define CT_AV2 15
45
#define CT_AV3 16
46
47
#define MAX_CT 17
48
49
const
sal_uInt16
thaiCT
[128] = {
// Thai character type
50
CT_NON
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
//0E00
51
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
52
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
//0E10
53
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
54
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_FV3
,
CT_CONS
,
CT_FV3
,
CT_CONS
,
//0E20
55
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_CONS
,
CT_NON
,
56
CT_FV1
,
CT_AV2
,
CT_FV1
,
CT_FV1
,
CT_AV1
,
CT_AV3
,
CT_AV2
,
CT_AV3
,
//0E30
57
CT_BV1
,
CT_BV2
,
CT_BD
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
58
CT_LV
,
CT_LV
,
CT_LV
,
CT_LV
,
CT_LV
,
CT_FV2
,
CT_NON
,
CT_AD2
,
//0E40
59
CT_TONE
,
CT_TONE
,
CT_TONE
,
CT_TONE
,
CT_AD1
,
CT_AD1
,
CT_AD3
,
CT_NON
,
60
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
//0E50
61
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_NON
,
CT_CTRL
};
62
63
#define getCharType(x) ((x >= 0x0E00 && x < 0x0E60) ? thaiCT[x - 0x0E00] : CT_NON)
64
65
}
66
67
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
i18npool
Constant values shared between i18npool and, for example, the number formatter.
Definition:
breakiterator_cjk.cxx:30
i18npool::thaiCT
const sal_uInt16 thaiCT[128]
Definition:
wtt.h:49
types.h
CT_NON
#define CT_NON
Definition:
wtt.h:30
CT_FV1
#define CT_FV1
Definition:
wtt.h:33
CT_FV3
#define CT_FV3
Definition:
wtt.h:35
CT_AV1
#define CT_AV1
Definition:
wtt.h:43
CT_AD2
#define CT_AD2
Definition:
wtt.h:41
CT_AD3
#define CT_AD3
Definition:
wtt.h:42
CT_BV1
#define CT_BV1
Definition:
wtt.h:36
CT_CONS
#define CT_CONS
Definition:
wtt.h:31
CT_BV2
#define CT_BV2
Definition:
wtt.h:37
CT_AV2
#define CT_AV2
Definition:
wtt.h:44
CT_AD1
#define CT_AD1
Definition:
wtt.h:40
CT_AV3
#define CT_AV3
Definition:
wtt.h:45
CT_FV2
#define CT_FV2
Definition:
wtt.h:34
CT_CTRL
#define CT_CTRL
Definition:
wtt.h:29
CT_TONE
#define CT_TONE
Definition:
wtt.h:39
CT_BD
#define CT_BD
Definition:
wtt.h:38
CT_LV
#define CT_LV
Definition:
wtt.h:32
Generated on Sun Jul 30 2023 04:34:02 for LibreOffice Module i18npool (master) by
1.9.3