FONTAINE  1.0
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
FontFace Class Reference

#include <FontFace.h>

Classes

struct  compare
 

Public Types

enum  FAMILY {
  SERIF, SANS, CURSIVE, FANTASY,
  MONOSPACE
}
 
enum  STYLE { NORMAL, ITALIC, OBLIQUE }
 
enum  VARIANT { NORMAL_VARIANT, SMALL_CAPS }
 
enum  WEIGHT {
  NORMAL_WEIGHT, BOLD, W100, W200,
  W300, W400, W500, W600,
  W700, W800, W900
}
 
enum  STROKE { UNMODULATED, SEMIMODULATED, MODULATED }
 
enum  NAMEID {
  NID_COPYRIGHT =0, NID_FONT_FAMILY =1, NID_FONT_SUBFAM =2, NID_UNIQUE_ID =3,
  NID_FULL_NAME =4, NID_VERSION =5, NID_POSTSCRIPT =6, NID_TRADEMARK =7,
  NID_VENDOR =8, NID_DESIGNER =9, NID_DESCRIPTION =10, NID_URL_VENDOR =11,
  NID_URL_DESIGNER =12, NID_LICENSE =13, NID_URL_LICENSE =14, NID_RESERVED =15,
  NID_PREF_NAME =16, NID_PREF_SUBFAM =17, NID_MAC_FULLNAME =18, NID_SAMPLETEXT =19,
  NID_FINDFONT_NM =20
}
 

Public Member Functions

 FontFace (FontLibrary &library, const std::string &fileName)
 
 ~FontFace ()
 
bool hasUnicodeValue (UTF32) const
 
std::string getBasicReport (void) const
 
std::string getOrthographyReport (void) const
 
void setReportOnMissing (bool x)
 
void setReportOnFragmentary (bool x)
 
void setReportOnPartial (bool x)
 
void setReportOnFull (bool x)
 
const std::string & getFileName (void) const
 
const std::string & getCommonName (void) const
 
const std::string & getNativeName (void) const
 
const std::string & getSubFamily (void) const
 
std::string getLicenseReport (void) const
 
const std::string & getCopyright (void) const
 
unsigned getGlyphCount (void) const
 
unsigned getCharacterCount (void) const
 
FAMILY getFamily (void) const
 
STYLE getStyle (void) const
 
VARIANT getVariant (void) const
 
WEIGHT getWeight (void) const
 
STROKE getStroke (void) const
 
bool hasVerticalMetrics (void) const
 
bool isFixedWidth (void) const
 
bool hasFixedSizes (void) const
 
void fillReport (MLR *mlr)
 

Private Member Functions

UTF8String _getPlatform3Encoding1String (unsigned length, const FT_Byte *string) const
 
UTF8String _getPlatform1Encoding0String (unsigned length, const FT_Byte *string) const
 
UTF8String _getStringFromTrueTypeFont (FT_SfntName &fontName) const
 
unsigned int _getUnicodeValues (void)
 
bool _checkOrthography (const OrthographyData *pData)
 
void _checkOrthographies (void)
 
bool _checkLicense (const std::string &test, const LicenseData *pData)
 
bool _checkAllKnownLicenses (const std::string &licenseString)
 
void _storeCopyrightSummary (const std::string &copyrightString)
 
void _checkLicenses (void)
 

Private Attributes

FT_Face _face
 
std::string _fileName
 
std::string _commonName
 
std::string _nativeName
 
std::string _subFamily
 
std::string _copyright
 
std::string _licenseURL
 
std::string _version
 
std::string _vendor
 
std::string _designer
 
std::string _vendorURL
 
std::string _designerURL
 
unsigned _glyphCount
 
FAMILY _genericFamily
 
STYLE _style
 
VARIANT _variant
 
WEIGHT _weight
 
STROKE _stroke
 
std::vector< const OrthographyResults * > _supportedOrthographies
 
const LicenseData_licenseData
 
bool _hasVerticalMetrics
 
bool _isFixedWidth
 
bool _hasFixedSizes
 
std::set< UTF32_unicodeValues
 
bool _reportMissing
 
bool _reportFragmentary
 
bool _reportPartial
 
bool _reportFull
 

Member Enumeration Documentation

◆ FAMILY

Enumerator
SERIF 
SANS 
CURSIVE 
FANTASY 
MONOSPACE 

◆ NAMEID

Enumerator
NID_COPYRIGHT 
NID_FONT_FAMILY 
NID_FONT_SUBFAM 
NID_UNIQUE_ID 
NID_FULL_NAME 
NID_VERSION 
NID_POSTSCRIPT 
NID_TRADEMARK 
NID_VENDOR 
NID_DESIGNER 
NID_DESCRIPTION 
NID_URL_VENDOR 
NID_URL_DESIGNER 
NID_LICENSE 
NID_URL_LICENSE 
NID_RESERVED 
NID_PREF_NAME 
NID_PREF_SUBFAM 
NID_MAC_FULLNAME 
NID_SAMPLETEXT 
NID_FINDFONT_NM 

◆ STROKE

Enumerator
UNMODULATED 
SEMIMODULATED 
MODULATED 

◆ STYLE

Enumerator
NORMAL 
ITALIC 
OBLIQUE 

◆ VARIANT

Enumerator
NORMAL_VARIANT 
SMALL_CAPS 

◆ WEIGHT

Enumerator
NORMAL_WEIGHT 
BOLD 
W100 
W200 
W300 
W400 
W500 
W600 
W700 
W800 
W900 

Constructor & Destructor Documentation

◆ FontFace()

FontFace::FontFace ( FontLibrary library,
const std::string &  fileName 
)

◆ ~FontFace()

FontFace::~FontFace ( )

References _face.

Member Function Documentation

◆ _checkAllKnownLicenses()

bool FontFace::_checkAllKnownLicenses ( const std::string &  licenseString)
private

◆ _checkLicense()

bool FontFace::_checkLicense ( const std::string &  test,
const LicenseData pData 
)
private

◆ _checkLicenses()

void FontFace::_checkLicenses ( void  )
private

◆ _checkOrthographies()

void FontFace::_checkOrthographies ( void  )
private

References _checkOrthography(), hasUnicodeValue(), PhagsPa::pData, TaiLe::pData, Carian::pData, NewTaiLue::pData, Miao::pData, Venda::pData, Euro::pData, Kaithi::pData, OlChiki::pData, SylotiNagri::pData, VedicExtensions::pData, Gothic::pData, Bamum::pData, KayahLi::pData, OldSouthArabian::pData, LinearBIdeograms::pData, MeroiticHieroglyphs::pData, EgyptianHieroglyphs::pData, Runic::pData, Yi::pData, ZhuYinFuHao::pData, ChessSymbols::pData, Hangul::pData, Cherokee::pData, Food::pData, Rejang::pData, Hebrew::pData, Ogham::pData, MeroiticCursive::pData, Syriac::pData, Thaana::pData, MeeteiMayak::pData, Saurashtra::pData, Batak::pData, Balinese::pData, Buginese::pData, Sundanese::pData, TaiViet::pData, Thai::pData, MathematicalNumerals::pData, BasicCyrillic::pData, Khmer::pData, Javanese::pData, Jamo::pData, Lepcha::pData, Mongolian::pData, ClaudianLetters::pData, Kana::pData, CanadianSyllabics::pData, Glagolitic::pData, LatinLigatures::pData, Emoticons::pData, Armenian::pData, MendeKikakui::pData, Chakma::pData, Cham::pData, Brahmi::pData, Farsi::pData, Limbu::pData, CypriotSyllabary::pData, Ahom::pData, Astronomy::pData, Georgian::pData, BasicLatin::pData, TaiTham::pData, Romanian::pData, Uighur::pData, Arabic::pData, LinearBSyllabary::pData, Myanmar::pData, MathematicalGreek::pData, ArchaicGreekLetters::pData, WesternEuropean::pData, Kazakh::pData, Devanagari::pData, Pashto::pData, Tibetan::pData, AleutCyrillic::pData, Hanunoo::pData, Coptic::pData, Kharoshthi::pData, Turkish::pData, BasicGreek::pData, AleutLatin::pData, Urdu::pData, Ethiopic::pData, Currencies::pData, Catalan::pData, Polynesian::pData, Kannada::pData, Pinyin::pData, Bengali::pData, Sindhi::pData, PolytonicGreek::pData, IgboOnwu::pData, Osmanya::pData, Lao::pData, Dutch::pData, Afrikaans::pData, Baltic::pData, Tifinagh::pData, Nko::pData, MathematicalLatin::pData, Tamil::pData, Gurmukhi::pData, Sinhala::pData, Gujarati::pData, CentralEuropean::pData, Oriya::pData, IPA::pData, MathematicalOperators::pData, Telugu::pData, Malayalam::pData, Kokuji::pData, Vietnamese::pData, Vai::pData, PanAfricanLatin::pData, Jinmeiyo::pData, HongKongSupplementaryCharacterSet::pData, SouthKoreanHanja::pData, Joyo::pData, TraditionalChinese::pData, and SimplifiedChinese::pData.

Referenced by FontFace().

◆ _checkOrthography()

bool FontFace::_checkOrthography ( const OrthographyData pData)
private

◆ _getPlatform1Encoding0String()

UTF8String FontFace::_getPlatform1Encoding0String ( unsigned  length,
const FT_Byte *  string 
) const
private

◆ _getPlatform3Encoding1String()

UTF8String FontFace::_getPlatform3Encoding1String ( unsigned  length,
const FT_Byte *  string 
) const
private

◆ _getStringFromTrueTypeFont()

UTF8String FontFace::_getStringFromTrueTypeFont ( FT_SfntName &  fontName) const
private

◆ _getUnicodeValues()

unsigned int FontFace::_getUnicodeValues ( void  )
private

References _face, and _unicodeValues.

Referenced by FontFace().

◆ _storeCopyrightSummary()

void FontFace::_storeCopyrightSummary ( const std::string &  copyrightString)
private

◆ fillReport()

void FontFace::fillReport ( MLR mlr)

◆ getBasicReport()

std::string FontFace::getBasicReport ( void  ) const

◆ getCharacterCount()

unsigned FontFace::getCharacterCount ( void  ) const

References _unicodeValues.

◆ getCommonName()

const std::string & FontFace::getCommonName ( void  ) const

References _commonName.

◆ getCopyright()

const std::string & FontFace::getCopyright ( void  ) const

References _copyright.

◆ getFamily()

FontFace::FAMILY FontFace::getFamily ( void  ) const

References _genericFamily.

◆ getFileName()

const std::string & FontFace::getFileName ( void  ) const

References _fileName.

◆ getGlyphCount()

unsigned FontFace::getGlyphCount ( void  ) const

References _glyphCount.

◆ getLicenseReport()

std::string FontFace::getLicenseReport ( void  ) const

◆ getNativeName()

const std::string & FontFace::getNativeName ( void  ) const

References _nativeName.

◆ getOrthographyReport()

std::string FontFace::getOrthographyReport ( void  ) const

◆ getStroke()

FontFace::STROKE FontFace::getStroke ( void  ) const

References _stroke.

◆ getStyle()

FontFace::STYLE FontFace::getStyle ( void  ) const

References _style.

◆ getSubFamily()

const std::string & FontFace::getSubFamily ( void  ) const

References _subFamily.

◆ getVariant()

FontFace::VARIANT FontFace::getVariant ( void  ) const

References _variant.

◆ getWeight()

FontFace::WEIGHT FontFace::getWeight ( void  ) const

References _weight.

◆ hasFixedSizes()

bool FontFace::hasFixedSizes ( void  ) const

References _hasFixedSizes.

◆ hasUnicodeValue()

bool FontFace::hasUnicodeValue ( UTF32  v) const

References _unicodeValues.

Referenced by _checkOrthographies(), and _checkOrthography().

◆ hasVerticalMetrics()

bool FontFace::hasVerticalMetrics ( void  ) const

References _hasVerticalMetrics.

◆ isFixedWidth()

bool FontFace::isFixedWidth ( void  ) const

References _isFixedWidth.

◆ setReportOnFragmentary()

void FontFace::setReportOnFragmentary ( bool  x)

References _reportFragmentary.

Referenced by main().

◆ setReportOnFull()

void FontFace::setReportOnFull ( bool  x)

References _reportFull.

Referenced by main().

◆ setReportOnMissing()

void FontFace::setReportOnMissing ( bool  x)

References _reportMissing.

Referenced by main().

◆ setReportOnPartial()

void FontFace::setReportOnPartial ( bool  x)

References _reportPartial.

Referenced by main().

Member Data Documentation

◆ _commonName

std::string FontFace::_commonName
private

◆ _copyright

std::string FontFace::_copyright
private

◆ _designer

std::string FontFace::_designer
private

Referenced by fillReport(), and FontFace().

◆ _designerURL

std::string FontFace::_designerURL
private

Referenced by fillReport(), and FontFace().

◆ _face

FT_Face FontFace::_face
private

◆ _fileName

std::string FontFace::_fileName
private

Referenced by FontFace(), and getFileName().

◆ _genericFamily

FAMILY FontFace::_genericFamily
private

Referenced by getFamily().

◆ _glyphCount

unsigned FontFace::_glyphCount
private

Referenced by fillReport(), FontFace(), and getGlyphCount().

◆ _hasFixedSizes

bool FontFace::_hasFixedSizes
private

◆ _hasVerticalMetrics

bool FontFace::_hasVerticalMetrics
private

◆ _isFixedWidth

bool FontFace::_isFixedWidth
private

◆ _licenseData

const LicenseData* FontFace::_licenseData
private

◆ _licenseURL

std::string FontFace::_licenseURL
private

Referenced by _checkLicenses(), and fillReport().

◆ _nativeName

std::string FontFace::_nativeName
private

◆ _reportFragmentary

bool FontFace::_reportFragmentary
private

◆ _reportFull

bool FontFace::_reportFull
private

◆ _reportMissing

bool FontFace::_reportMissing
private

◆ _reportPartial

bool FontFace::_reportPartial
private

◆ _stroke

STROKE FontFace::_stroke
private

Referenced by getStroke().

◆ _style

STYLE FontFace::_style
private

◆ _subFamily

std::string FontFace::_subFamily
private

◆ _supportedOrthographies

std::vector< const OrthographyResults * > FontFace::_supportedOrthographies
private

◆ _unicodeValues

std::set<UTF32> FontFace::_unicodeValues
private

◆ _variant

VARIANT FontFace::_variant
private

Referenced by getVariant().

◆ _vendor

std::string FontFace::_vendor
private

Referenced by fillReport(), and FontFace().

◆ _vendorURL

std::string FontFace::_vendorURL
private

Referenced by fillReport(), and FontFace().

◆ _version

std::string FontFace::_version
private

Referenced by fillReport(), and FontFace().

◆ _weight

WEIGHT FontFace::_weight
private

The documentation for this class was generated from the following files: