1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
10 #ifndef INCLUDED_VCL_FONTCAPABILITIES_HXX
11 #define INCLUDED_VCL_FONTCAPABILITIES_HXX
13 #include <boost/optional.hpp>
17 #include <sal/types.h>
19 //See OS/2 table, i.e. http://www.microsoft.com/typography/otspec/os2.htm#ur
22 namespace UnicodeCoverage
24 enum UnicodeCoverageEnum
27 LATIN_1_SUPPLEMENT
= 1,
31 SPACING_MODIFIER_LETTERS
= 5,
32 COMBINING_DIACRITICAL_MARKS
= 6,
55 LATIN_EXTENDED_ADDITIONAL
= 29,
57 GENERAL_PUNCTUATION
= 31,
58 SUPERSCRIPTS_AND_SUBSCRIPTS
= 32,
59 CURRENCY_SYMBOLS
= 33,
60 COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS
= 34,
61 LETTERLIKE_SYMBOLS
= 35,
64 MATHEMATICAL_OPERATORS
= 38,
65 MISCELLANEOUS_TECHNICAL
= 39,
66 CONTROL_PICTURES
= 40,
67 OPTICAL_CHARACTER_RECOGNITION
= 41,
68 ENCLOSED_ALPHANUMERICS
= 42,
71 GEOMETRIC_SHAPES
= 45,
72 MISCELLANEOUS_SYMBOLS
= 46,
74 CJK_SYMBOLS_AND_PUNCTUATION
= 48,
78 HANGUL_COMPATIBILITY_JAMO
= 52,
80 ENCLOSED_CJK_LETTERS_AND_MONTHS
= 54,
81 CJK_COMPATIBILITY
= 55,
82 HANGUL_SYLLABLES
= 56,
85 CJK_UNIFIED_IDEOGRAPHS
= 59,
86 PRIVATE_USE_AREA_PLANE_0
= 60,
88 ALPHABETIC_PRESENTATION_FORMS
= 62,
89 ARABIC_PRESENTATION_FORMS_A
= 63,
90 COMBINING_HALF_MARKS
= 64,
92 SMALL_FORM_VARIANTS
= 66,
93 ARABIC_PRESENTATION_FORMS_B
= 67,
94 HALFWIDTH_AND_FULLWIDTH_FORMS
= 68,
103 UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
= 77,
108 BRAILLE_PATTERNS
= 82,
114 BYZANTINE_MUSICAL_SYMBOLS
= 88,
115 MATHEMATICAL_ALPHANUMERIC_SYMBOLS
= 89,
116 PRIVATE_USE_PLANE_15
= 90,
117 VARIATION_SELECTORS
= 91,
125 YIJING_HEXAGRAM_SYMBOLS
= 99,
127 LINEAR_B_SYLLABARY
= 101,
128 ANCIENT_GREEK_NUMBERS
= 102,
133 CYPRIOT_SYLLABARY
= 107,
135 TAI_XUAN_JING_SYMBOLS
= 109,
137 COUNTING_ROD_NUMERALS
= 111,
145 ANCIENT_SYMBOLS
= 119,
158 namespace CodePageCoverage
160 enum CodePageCoverageEnum
197 struct FontCapabilities
199 boost::optional
<std::bitset
<UnicodeCoverage::MAX_UC_ENUM
>> oUnicodeRange
;
200 boost::optional
<std::bitset
<CodePageCoverage::MAX_CP_ENUM
>> oCodePageRange
;
206 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */