Go to the documentation of this file.
11 #ifndef FONTFACE_INCLUDED
12 #define FONTFACE_INCLUDED
19 #include FT_FREETYPE_H
20 #include FT_SFNT_NAMES_H
62 enum WEIGHT {
NORMAL_WEIGHT,
BOLD,
W100,
W200,
W300,
W400,
W500,
W600,
W700,
W800,
W900 };
@ FULL
Definition: OrthographyResults.h:30
const OrthographyData * pData
Definition: Kana.h:58
const OrthographyData * pData
Definition: Balinese.h:55
const OrthographyData * pData
Definition: Gothic.h:53
const OrthographyData * pData
Definition: Chakma.h:59
const OrthographyData * pData
Definition: MendeKikakui.h:59
const std::string & getNativeName(void) const
Definition: FontFace.cpp:898
std::string getOrthographyReport(void) const
Definition: FontFace.cpp:649
void setReportOnFull(bool x)
Definition: FontFace.cpp:873
const OrthographyData * pData
Definition: Kokuji.h:156
const OrthographyData * pData
Definition: Osmanya.h:84
@ NID_DESCRIPTION
Definition: FontFace.h:81
const OrthographyData * pData
Definition: Uighur.h:62
const OrthographyData * pData
Definition: Ogham.h:54
const OrthographyData * pData
Definition: Lao.h:84
VARIANT
Definition: FontFace.h:60
const OrthographyData * pData
Definition: Vai.h:355
const LicenseData * pData
Definition: Magenta.h:42
const LicenseData * pData
Definition: CC-BY-SA.h:50
bool _hasFixedSizes
Definition: FontFace.h:134
const OrthographyData * pData
Definition: TaiViet.h:55
const OrthographyData * pData
Definition: LinearBIdeograms.h:53
@ BOLD
Definition: FontFace.h:62
const OrthographyData * pData
Definition: Polynesian.h:76
@ NID_URL_DESIGNER
Definition: FontFace.h:83
const OrthographyData * pData
Definition: Coptic.h:67
@ NID_FINDFONT_NM
Definition: FontFace.h:91
const OrthographyData * pData
Definition: Astronomy.h:61
@ NID_COPYRIGHT
Definition: FontFace.h:71
@ NORMAL_WEIGHT
Definition: FontFace.h:62
const OrthographyData * pData
Definition: Batak.h:55
@ W200
Definition: FontFace.h:62
UTF8String _getPlatform1Encoding0String(unsigned length, const FT_Byte *string) const
Definition: FontFace.cpp:243
const char * name
Definition: LicenseData.h:29
const OrthographyData * pData
Definition: Bengali.h:79
STYLE
Definition: FontFace.h:59
const OrthographyData * pData
Definition: ChessSymbols.h:54
const LicenseData * pData
Definition: CC-BY.h:46
const OrthographyData * pData
Definition: Limbu.h:60
const OrthographyData * pData
Definition: LatinLigatures.h:59
const OrthographyData * pData
Definition: TaiLe.h:46
@ NID_VERSION
Definition: FontFace.h:76
const OrthographyData * pData
Definition: Jamo.h:57
const OrthographyData * pData
Definition: Yi.h:54
unsigned int _getUnicodeValues(void)
Definition: FontFace.cpp:314
bool _reportFragmentary
Definition: FontFace.h:148
const OrthographyData * pData
Definition: CentralEuropean.h:135
const OrthographyData * pData
Definition: Ahom.h:61
@ MONOSPACE
Definition: FontFace.h:58
const std::string & getSubFamily(void) const
Definition: FontFace.cpp:907
const std::string & getFileName(void) const
Definition: FontFace.cpp:880
std::vector< const OrthographyResults * > _supportedOrthographies
Definition: FontFace.h:125
UTF8String unicodeSubStringOnWordBoundary(unsigned int stt, unsigned int howManyCharacters) const
Definition: Utf8String.cpp:143
const OrthographyData * pData
Definition: Kazakh.h:65
@ W100
Definition: FontFace.h:62
unsigned short UTF16
Definition: Utf8String.h:41
@ ITALIC
Definition: FontFace.h:59
const OrthographyData * pData
Definition: OlChiki.h:53
const OrthographyData * pData
Definition: Dutch.h:85
std::string _version
Definition: FontFace.h:108
STROKE _stroke
Definition: FontFace.h:120
const OrthographyData * pData
Definition: Gurmukhi.h:130
const OrthographyData * pData
Definition: ClaudianLetters.h:58
@ NID_FONT_SUBFAM
Definition: FontFace.h:73
const OrthographyData * pData
Definition: Cham.h:59
const OrthographyData * pData
Definition: Currencies.h:74
@ NORMAL_VARIANT
Definition: FontFace.h:60
bool _isFixedWidth
Definition: FontFace.h:133
const LicenseData * pData
Definition: PublicDomain.h:42
const char ** searchKeys
Definition: LicenseData.h:31
std::string _commonName
Definition: FontFace.h:99
const OrthographyData * pData
Definition: BasicGreek.h:71
const OrthographyData * pData
Definition: MathematicalNumerals.h:56
@ NID_URL_LICENSE
Definition: FontFace.h:85
const OrthographyData * pData
Definition: BasicCyrillic.h:56
const OrthographyData * pData
Definition: Kaithi.h:53
const OrthographyData * pData
Definition: Pinyin.h:77
@ NID_PREF_NAME
Definition: FontFace.h:87
const OrthographyData * pData
Definition: Runic.h:54
std::string _designerURL
Definition: FontFace.h:112
virtual void endList(const std::string &key)=0
@ SANS
Definition: FontFace.h:58
const OrthographyData * pData
Definition: TraditionalChinese.h:3563
unsigned long UTF32
Definition: Utf8String.h:40
std::string _copyright
Definition: FontFace.h:103
void setReportOnMissing(bool x)
Definition: FontFace.cpp:852
std::string _fileName
Definition: FontFace.h:98
const OrthographyData * pData
Definition: Armenian.h:59
const OrthographyData * pData
Definition: Hangul.h:54
Definition: Utf8String.h:55
bool _reportMissing
Definition: FontFace.h:147
const LicenseData * pData
Definition: GUST.h:42
const OrthographyData * pData
Definition: Emoticons.h:59
UTF8String _getPlatform3Encoding1String(unsigned length, const FT_Byte *string) const
Definition: FontFace.cpp:220
FAMILY getFamily(void) const
Definition: FontFace.cpp:961
const LicenseData * pData
Definition: ArphicPublic.h:45
STROKE
Definition: FontFace.h:68
SUPPORTLEVEL
Definition: OrthographyResults.h:30
@ CURSIVE
Definition: FontFace.h:58
const std::string & getCopyright(void) const
Definition: FontFace.cpp:934
std::string _vendor
Definition: FontFace.h:109
const OrthographyData * pData
Definition: Urdu.h:73
const OrthographyData * pData
Definition: MathematicalOperators.h:140
const LicenseData * pData
Definition: MPLUS.h:42
@ NORMAL
Definition: FontFace.h:59
Definition: FontFace.h:36
const OrthographyData * pData
Definition: Malayalam.h:151
Definition: OrthographyData.h:28
@ NID_UNIQUE_ID
Definition: FontFace.h:74
const OrthographyData * pData
Definition: Jinmeiyo.h:833
const OrthographyData * pData
Definition: AleutCyrillic.h:67
@ W900
Definition: FontFace.h:62
const LicenseData * pData
Definition: GPLWithFontException.h:42
const OrthographyData * pData
Definition: HKSCS.h:1749
const LicenseData * pData
Definition: Apache.h:45
const OrthographyData * pData
Definition: Sindhi.h:79
@ NID_DESIGNER
Definition: FontFace.h:80
std::string getBasicReport(void) const
Definition: FontFace.cpp:291
const OrthographyData * pData
Definition: Saurashtra.h:55
VARIANT _variant
Definition: FontFace.h:118
STROKE getStroke(void) const
Definition: FontFace.cpp:997
void setReportOnFragmentary(bool x)
Definition: FontFace.cpp:859
const OrthographyData * pData
Definition: Thaana.h:55
@ UNMODULATED
Definition: FontFace.h:68
UTF8String _getStringFromTrueTypeFont(FT_SfntName &fontName) const
Definition: FontFace.cpp:261
bool _hasVerticalMetrics
Definition: FontFace.h:132
void fillReport(MLR *mlr)
Definition: FontFace.cpp:1033
const LicenseData * pData
Definition: OFL.h:47
const LicenseData * pData
Definition: CC-ZERO.h:50
const OrthographyData * pData
Definition: KayahLi.h:53
const OrthographyData * pData
Definition: Cherokee.h:54
WEIGHT getWeight(void) const
Definition: FontFace.cpp:988
const OrthographyData * pData
Definition: Tamil.h:117
const OrthographyData * pData
Definition: BasicLatin.h:62
@ NID_TRADEMARK
Definition: FontFace.h:78
const OrthographyData * pData
Definition: Ethiopic.h:74
@ OBLIQUE
Definition: FontFace.h:59
Definition: FontLibrary.h:17
unsigned int UINT32
Definition: OrthographyData.h:19
const OrthographyData * pData
Definition: SimplifiedChinese.h:3568
std::string _nativeName
Definition: FontFace.h:100
const OrthographyData * pData
Definition: Pashto.h:67
WEIGHT _weight
Definition: FontFace.h:119
@ PARTIAL
Definition: OrthographyResults.h:30
bool _reportFull
Definition: FontFace.h:150
bool _checkAllKnownLicenses(const std::string &licenseString)
Definition: FontFace.cpp:775
virtual void start(const std::string &key)=0
unsigned _glyphCount
Definition: FontFace.h:114
const OrthographyData * pData
Definition: AleutLatin.h:73
const OrthographyData * pData
Definition: MeeteiMayak.h:55
void _checkLicenses(void)
Definition: FontFace.cpp:677
const OrthographyData * pData
Definition: Devanagari.h:66
const OrthographyData * pData
Definition: Nko.h:108
bool _reportPartial
Definition: FontFace.h:149
const OrthographyData * pData
Definition: Baltic.h:93
@ MODULATED
Definition: FontFace.h:68
bool operator()(const FontFace *f1, const FontFace *f2) const
Definition: FontFace.h:45
const OrthographyData * pData
Definition: SouthKoreanHanja.h:1871
const OrthographyData * pData
Definition: Kharoshthi.h:68
Definition: LicenseData.h:25
Definition: Exception.h:31
const std::string & getCommonName(void) const
Definition: FontFace.cpp:889
std::string _designer
Definition: FontFace.h:110
unsigned getGlyphCount(void) const
Definition: FontFace.cpp:943
STYLE getStyle(void) const
Definition: FontFace.cpp:970
FAMILY
Definition: FontFace.h:58
bool isFixedWidth(void) const
Definition: FontFace.cpp:1015
const LicenseData * pData
Definition: Aladdin.h:42
const OrthographyData * pData
Definition: Tibetan.h:67
Definition: FontFace.h:44
bool hasVerticalMetrics(void) const
Definition: FontFace.cpp:1006
const OrthographyData * pData
Definition: Khmer.h:56
const OrthographyData * pData
Definition: Carian.h:47
const OrthographyData * pData
Definition: Oriya.h:138
@ NID_SAMPLETEXT
Definition: FontFace.h:90
const OrthographyData * pData
Definition: ArchaicGreekLetters.h:64
~FontFace()
Definition: FontFace.cpp:211
const OrthographyData * pData
Definition: Buginese.h:55
@ W600
Definition: FontFace.h:62
const OrthographyData * pData
Definition: Venda.h:52
const OrthographyData * pData
Definition: Hanunoo.h:67
@ W700
Definition: FontFace.h:62
const LicenseData * pData
Definition: LGPL.h:44
@ FRAGMENTARY
Definition: OrthographyResults.h:30
const LicenseData * pData
Definition: GPL.h:45
@ W800
Definition: FontFace.h:62
const OrthographyData * pData
Definition: Euro.h:53
FontFace(FontLibrary &library, const std::string &fileName)
Definition: FontFace.cpp:31
@ NID_MAC_FULLNAME
Definition: FontFace.h:89
const OrthographyData * pData
Definition: Syriac.h:55
const LicenseData * pData
Definition: licenses/IPA.h:45
const OrthographyData * pData
Definition: Glagolitic.h:58
const OrthographyData * pData
Definition: OldSouthArabian.h:53
const OrthographyData * pData
Definition: orthographies/IPA.h:138
@ NID_FONT_FAMILY
Definition: FontFace.h:72
#define COPYRIGHT_SUMMARY_STRING_LENGTH
Definition: LicenseData.h:20
const OrthographyData * pData
Definition: Javanese.h:57
NAMEID
Definition: FontFace.h:70
static UTF32 macRomanToUTF32(unsigned char idx)
Definition: Encoding.cpp:159
const OrthographyData * pData
Definition: LinearBSyllabary.h:63
const LicenseData * _licenseData
Definition: FontFace.h:130
const OrthographyData * pData
Definition: Miao.h:51
const OrthographyData * pData
Definition: MeroiticCursive.h:55
Definition: OrthographyResults.h:26
void setReportOnPartial(bool x)
Definition: FontFace.cpp:866
std::string _vendorURL
Definition: FontFace.h:111
@ SEMIMODULATED
Definition: FontFace.h:68
WEIGHT
Definition: FontFace.h:62
unsigned getCharacterCount(void) const
Definition: FontFace.cpp:952
const OrthographyData * pData
Definition: PolytonicGreek.h:83
@ NID_POSTSCRIPT
Definition: FontFace.h:77
const OrthographyData * pData
Definition: MeroiticHieroglyphs.h:53
const OrthographyData * pData
Definition: Sundanese.h:55
std::string _subFamily
Definition: FontFace.h:101
@ SMALL_CAPS
Definition: FontFace.h:60
@ NID_VENDOR
Definition: FontFace.h:79
const OrthographyData * pData
Definition: Joyo.h:2003
const LicenseData * pData
Definition: Freeware.h:43
#define START_RANGE_PAIR
Definition: OrthographyData.h:22
const OrthographyData * pData
Definition: Kannada.h:77
bool _checkLicense(const std::string &test, const LicenseData *pData)
Definition: FontFace.cpp:837
bool hasUnicodeValue(UTF32) const
Definition: FontFace.cpp:636
@ SERIF
Definition: FontFace.h:58
const OrthographyData * pData
Definition: Arabic.h:62
const LicenseData * pData
Definition: Utopia.h:42
std::string getLicenseReport(void) const
Definition: FontFace.cpp:916
const char * url
Definition: LicenseData.h:30
void _checkOrthographies(void)
Definition: FontFace.cpp:419
@ NID_LICENSE
Definition: FontFace.h:84
const OrthographyData * pData
Definition: Food.h:54
const OrthographyData * pData
Definition: TaiTham.h:62
@ NID_RESERVED
Definition: FontFace.h:86
const OrthographyData * pData
Definition: Bamum.h:53
void _storeCopyrightSummary(const std::string ©rightString)
Definition: FontFace.cpp:762
const OrthographyData * pData
Definition: Rejang.h:54
const OrthographyData * pData
Definition: Telugu.h:146
const LicenseData * pData
Definition: UnknownLicense.h:42
@ NID_PREF_SUBFAM
Definition: FontFace.h:88
const OrthographyData * pData
Definition: Catalan.h:76
const OrthographyData * pData
Definition: ZhuYinFuHao.h:54
std::set< UTF32 > _unicodeValues
Definition: FontFace.h:136
STYLE _style
Definition: FontFace.h:117
bool _checkOrthography(const OrthographyData *pData)
Definition: FontFace.cpp:334
@ W500
Definition: FontFace.h:62
const OrthographyData * pData
Definition: Tifinagh.h:99
const OrthographyData * pData
Definition: WesternEuropean.h:65
const OrthographyData * pData
Definition: IgboOnwu.h:84
const OrthographyData * pData
Definition: MathematicalLatin.h:113
@ FANTASY
Definition: FontFace.h:58
const OrthographyData * pData
Definition: Farsi.h:60
const OrthographyData * pData
Definition: EgyptianHieroglyphs.h:53
const OrthographyData * pData
Definition: VedicExtensions.h:53
const OrthographyData * pData
Definition: Brahmi.h:59
@ NID_URL_VENDOR
Definition: FontFace.h:82
const OrthographyData * pData
Definition: CypriotSyllabary.h:60
const OrthographyData * pData
Definition: CanadianSyllabics.h:58
bool hasFixedSizes(void) const
Definition: FontFace.cpp:1024
virtual void end(const std::string &key)=0
const OrthographyData * pData
Definition: Gujarati.h:134
const OrthographyData * pData
Definition: Georgian.h:61
const LicenseData * pData
Definition: STIX.h:46
const OrthographyData * pData
Definition: Lepcha.h:57
@ W400
Definition: FontFace.h:62
FAMILY _genericFamily
Definition: FontFace.h:116
const OrthographyData * pData
Definition: MathematicalGreek.h:64
const OrthographyData * pData
Definition: Romanian.h:62
@ NID_FULL_NAME
Definition: FontFace.h:75
const OrthographyData * pData
Definition: Hebrew.h:54
@ W300
Definition: FontFace.h:62
const OrthographyData * pData
Definition: NewTaiLue.h:50
const OrthographyData * pData
Definition: PanAfricanLatin.h:364
const LicenseData * pData
Definition: MIT.h:42
VARIANT getVariant(void) const
Definition: FontFace.cpp:979
virtual void startList(const std::string &key)=0
const OrthographyData * pData
Definition: Thai.h:56
const OrthographyData * pData
Definition: SylotiNagri.h:53
const OrthographyData * pData
Definition: Afrikaans.h:91
const LicenseData * pData
Definition: XFree86.h:42
const OrthographyData * pData
Definition: Sinhala.h:131
const OrthographyData * pData
Definition: Myanmar.h:64
const OrthographyData * pData
Definition: Turkish.h:70
const OrthographyData * pData
Definition: PhagsPa.h:44
const OrthographyData * pData
Definition: Mongolian.h:57
FT_Library get()
Definition: FontLibrary.cpp:41
std::string _licenseURL
Definition: FontFace.h:105
const OrthographyData * pData
Definition: Vietnamese.h:187
FT_Face _face
Definition: FontFace.h:96
virtual void addKeyValuePair(const std::string &key, const std::string &value)=0
const LicenseData * pData
Definition: BitstreamVera.h:44