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
16 //See OS/2 table, i.e. http://www.microsoft.com/typography/otspec/os2.htm#ur
19 namespace UnicodeCoverage
21 enum UnicodeCoverageEnum
24 LATIN_1_SUPPLEMENT
= 1,
28 SPACING_MODIFIER_LETTERS
= 5,
29 COMBINING_DIACRITICAL_MARKS
= 6,
52 LATIN_EXTENDED_ADDITIONAL
= 29,
54 GENERAL_PUNCTUATION
= 31,
55 SUPERSCRIPTS_AND_SUBSCRIPTS
= 32,
56 CURRENCY_SYMBOLS
= 33,
57 COMBINING_DIACRITICAL_MARKS_FOR_SYMBOLS
= 34,
58 LETTERLIKE_SYMBOLS
= 35,
61 MATHEMATICAL_OPERATORS
= 38,
62 MISCELLANEOUS_TECHNICAL
= 39,
63 CONTROL_PICTURES
= 40,
64 OPTICAL_CHARACTER_RECOGNITION
= 41,
65 ENCLOSED_ALPHANUMERICS
= 42,
68 GEOMETRIC_SHAPES
= 45,
69 MISCELLANEOUS_SYMBOLS
= 46,
71 CJK_SYMBOLS_AND_PUNCTUATION
= 48,
75 HANGUL_COMPATIBILITY_JAMO
= 52,
77 ENCLOSED_CJK_LETTERS_AND_MONTHS
= 54,
78 CJK_COMPATIBILITY
= 55,
79 HANGUL_SYLLABLES
= 56,
82 CJK_UNIFIED_IDEOGRAPHS
= 59,
83 PRIVATE_USE_AREA_PLANE_0
= 60,
85 ALPHABETIC_PRESENTATION_FORMS
= 62,
86 ARABIC_PRESENTATION_FORMS_A
= 63,
87 COMBINING_HALF_MARKS
= 64,
89 SMALL_FORM_VARIANTS
= 66,
90 ARABIC_PRESENTATION_FORMS_B
= 67,
91 HALFWIDTH_AND_FULLWIDTH_FORMS
= 68,
100 UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS
= 77,
105 BRAILLE_PATTERNS
= 82,
111 BYZANTINE_MUSICAL_SYMBOLS
= 88,
112 MATHEMATICAL_ALPHANUMERIC_SYMBOLS
= 89,
113 PRIVATE_USE_PLANE_15
= 90,
114 VARIATION_SELECTORS
= 91,
122 YIJING_HEXAGRAM_SYMBOLS
= 99,
124 LINEAR_B_SYLLABARY
= 101,
125 ANCIENT_GREEK_NUMBERS
= 102,
130 CYPRIOT_SYLLABARY
= 107,
132 TAI_XUAN_JING_SYMBOLS
= 109,
134 COUNTING_ROD_NUMERALS
= 111,
142 ANCIENT_SYMBOLS
= 119,
155 namespace CodePageCoverage
157 enum CodePageCoverageEnum
194 struct FontCapabilities
196 std::optional
<std::bitset
<UnicodeCoverage::MAX_UC_ENUM
>> oUnicodeRange
;
197 std::optional
<std::bitset
<CodePageCoverage::MAX_CP_ENUM
>> oCodePageRange
;
203 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */