/* -*- 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/.
*/
#ifndef INCLUDED_VCL_FONTCAPABILITIES_HXX
#define INCLUDED_VCL_FONTCAPABILITIES_HXX
#include <optional>
#include <bitset>
//See OS/2 table, i.e. http://www.microsoft.com/typography/otspec/os2.htm#ur
namespace vcl
{
namespace UnicodeCoverage
{
enum UnicodeCoverageEnum
{
BASIC_LATIN =
0 ,
LATIN_1_SUPPLEMENT =
1 ,
LATIN_EXTENDED_A =
2 ,
LATIN_EXTENDED_B =
3 ,
IPA_EXTENSIONS =
4 ,
SPACING_MODIFIER_LETTERS =
5 ,
COMBINING_DIACRITICAL_MARKS =
6 ,
GREEK_AND_COPTIC =
7 ,
COPTIC =
8 ,
CYRILLIC =
9 ,
ARMENIAN =
10 ,
HEBREW =
11 ,
VAI =
12 ,
ARABIC =
13 ,
NKO =
14 ,
DEVANAGARI =
15 ,
BENGALI =
16 ,
GURMUKHI =
17 ,
GUJARATI =
18 ,
ODIA =
19 ,
TAMIL =
20 ,
TELUGU =
21 ,
KANNADA =
22 ,
MALAYALAM =
23 ,
THAI =
24 ,
LAO =
25 ,
GEORGIAN =
26 ,
BALINESE =
27 ,
HANGUL_JAMO =
28 ,
LATIN_EXTENDED_ADDITIONAL =
29 ,
GREEK_EXTENDED =
30 ,
GENERAL_PUNCTUATION =
31 ,
SUPERSCRIPTS_AND_SUBSCRIPTS =
32 ,
CURRENCY_SYMBOLS =
33 ,
COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS =
34 ,
LETTERLIKE_SYMBOLS =
35 ,
NUMBER_FORMS =
36 ,
ARROWS =
37 ,
MATHEMATICAL_OPERATORS =
38 ,
MISCELLANEOUS_TECHNICAL =
39 ,
CONTROL_PICTURES =
40 ,
OPTICAL_CHARACTER_RECOGNITION =
41 ,
ENCLOSED_ALPHANUMERICS =
42 ,
BOX_DRAWING =
43 ,
BLOCK_ELEMENTS =
44 ,
GEOMETRIC_SHAPES =
45 ,
MISCELLANEOUS_SYMBOLS =
46 ,
DINGBATS =
47 ,
CJK_SYMBOLS_AND_PUNCTUATION =
48 ,
HIRAGANA =
49 ,
KATAKANA =
50 ,
BOPOMOFO =
51 ,
HANGUL_COMPATIBILITY_JAMO =
52 ,
PHAGS_PA =
53 ,
ENCLOSED_CJK_LETTERS_AND_MONTHS =
54 ,
CJK_COMPATIBILITY =
55 ,
HANGUL_SYLLABLES =
56 ,
NONPLANE_0 =
57 ,
PHOENICIAN =
58 ,
CJK_UNIFIED_IDEOGRAPHS =
59 ,
PRIVATE_USE_AREA_PLANE_0 =
60 ,
CJK_STROKES =
61 ,
ALPHABETIC_PRESENTATION_FORMS =
62 ,
ARABIC_PRESENTATION_FORMS_A =
63 ,
COMBINING_HALF_MARKS =
64 ,
VERTICAL_FORMS =
65 ,
SMALL_FORM_VARIANTS =
66 ,
ARABIC_PRESENTATION_FORMS_B =
67 ,
HALFWIDTH_AND_FULLWIDTH_FORMS =
68 ,
SPECIALS =
69 ,
TIBETAN =
70 ,
SYRIAC =
71 ,
THAANA =
72 ,
SINHALA =
73 ,
MYANMAR =
74 ,
ETHIOPIC =
75 ,
CHEROKEE =
76 ,
UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =
77 ,
OGHAM =
78 ,
RUNIC =
79 ,
KHMER =
80 ,
MONGOLIAN =
81 ,
BRAILLE_PATTERNS =
82 ,
YI_SYLLABLES =
83 ,
TAGALOG =
84 ,
OLD_ITALIC =
85 ,
GOTHIC =
86 ,
DESERET =
87 ,
BYZANTINE_MUSICAL_SYMBOLS =
88 ,
MATHEMATICAL_ALPHANUMERIC_SYMBOLS =
89 ,
PRIVATE_USE_PLANE_15 =
90 ,
VARIATION_SELECTORS =
91 ,
TAGS =
92 ,
LIMBU =
93 ,
TAI_LE =
94 ,
NEW_TAI_LUE =
95 ,
BUGINESE =
96 ,
GLAGOLITIC =
97 ,
TIFINAGH =
98 ,
YIJING_HEXAGRAM_SYMBOLS =
99 ,
SYLOTI_NAGRI =
100 ,
LINEAR_B_SYLLABARY =
101 ,
ANCIENT_GREEK_NUMBERS =
102 ,
UGARITIC =
103 ,
OLD_PERSIAN =
104 ,
SHAVIAN =
105 ,
OSMANYA =
106 ,
CYPRIOT_SYLLABARY =
107 ,
KHAROSHTHI =
108 ,
TAI_XUAN_JING_SYMBOLS =
109 ,
CUNEIFORM =
110 ,
COUNTING_ROD_NUMERALS =
111 ,
SUNDANESE =
112 ,
LEPCHA =
113 ,
OL_CHIKI =
114 ,
SAURASHTRA =
115 ,
KAYAH_LI =
116 ,
REJANG =
117 ,
CHAM =
118 ,
ANCIENT_SYMBOLS =
119 ,
PHAISTOS_DISC =
120 ,
CARIAN =
121 ,
DOMINO_TILES =
122 ,
RESERVED1 =
123 ,
RESERVED2 =
124 ,
RESERVED3 =
125 ,
RESERVED4 =
126 ,
RESERVED5 =
127 ,
MAX_UC_ENUM =
128
};
};
namespace CodePageCoverage
{
enum CodePageCoverageEnum
{
CP1252 =
0 ,
CP1250 =
1 ,
CP1251 =
2 ,
CP1253 =
3 ,
CP1254 =
4 ,
CP1255 =
5 ,
CP1256 =
6 ,
CP1257 =
7 ,
CP1258 =
8 ,
CP874 =
16 ,
CP932 =
17 ,
CP936 =
18 ,
CP949 =
19 ,
CP950 =
20 ,
CP1361 =
21 ,
CP869 =
48 ,
CP866 =
49 ,
CP865 =
50 ,
CP864 =
51 ,
CP863 =
52 ,
CP862 =
53 ,
CP861 =
54 ,
CP860 =
55 ,
CP857 =
56 ,
CP855 =
57 ,
CP852 =
58 ,
CP775 =
59 ,
CP737 =
60 ,
CP780 =
61 ,
CP850 =
62 ,
CP437 =
63 ,
MAX_CP_ENUM =
64
};
};
struct FontCapabilities
{
std::optional<std::bitset<UnicodeCoverage::MAX_UC_ENUM>> oUnicodeRange;
std::optional<std::bitset<CodePageCoverage::MAX_CP_ENUM>> oCodePageRange;
};
}
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=85 H=100 G=92
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland