9ad252b2e7
...now that macOS builds are guaranteed to have std::optional since
358146bbbd
"Bump macOS build baseline to
Xcode 11.3 and macOS 10.14.4".
The change is done mostly mechanically with
> for i in $(git grep -Fl optional); do
> sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \
> -e 's/\<o3tl::optional\>/std::optional/g' \
> -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i"
> done
> for i in $(git grep -Flw o3tl::nullopt); do
> sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i"
> done
(though that causes some of the resulting
#include <optional>
to appear at different places relative to other includes than if they had been
added manually), plus a few manual modifications:
* adapt bin/find-unneeded-includes
* adapt desktop/IwyuFilter_desktop.yaml
* remove include/o3tl/optional.hxx
* quote resulting "<"/">" as "<"/">" in officecfg/registry/cppheader.xsl
* and then solenv/clang-format/reformat-formatted-files
Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
203 lines
9.8 KiB
C++
203 lines
9.8 KiB
C++
/* -*- 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: */
|