X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/b75a7d8f3b4adbae880cab104ce2c6a50eee4db2..HEAD:/icuSources/test/letest/PortableFontInstance.h diff --git a/icuSources/test/letest/PortableFontInstance.h b/icuSources/test/letest/PortableFontInstance.h index 0375d151..a8d86348 100644 --- a/icuSources/test/letest/PortableFontInstance.h +++ b/icuSources/test/letest/PortableFontInstance.h @@ -1,8 +1,10 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * - * Copyright (C) 1999-2003, International Business Machines + * Copyright (C) 1999-2015, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -30,11 +32,12 @@ class PortableFontInstance : public LEFontInstance, protected FontTableCache private: FILE *fFile; - float fPointSize; - le_int32 fUnitsPerEM; - le_int32 fAscent; - le_int32 fDescent; - le_int32 fLeading; + float fPointSize; + le_int32 fUnitsPerEM; + le_uint32 fFontChecksum; + le_int32 fAscent; + le_int32 fDescent; + le_int32 fLeading; const SFNTDirectory *fDirectory; le_uint16 fDirPower; @@ -43,6 +46,10 @@ private: float fDeviceScaleX; float fDeviceScaleY; + const NAMETable *fNAMETable; + le_uint16 fNameCount; + le_uint16 fNameStringOffset; + CMAPMapper *fCMAPMapper; const HMTXTable *fHMTXTable; @@ -53,69 +60,62 @@ private: const DirectoryEntry *findTable(LETag tag) const; const void *readTable(LETag tag, le_uint32 *length) const; - void deleteTable(const void *table) const; void getMetrics(); CMAPMapper *findUnicodeMapper(); protected: - const void *readFontTable(LETag tableTag) const; + const void *readFontTable(LETag tableTag) const { size_t ignored; return readFontTable(tableTag, ignored); } + const void *readFontTable(LETag tableTag, size_t &length) const; public: - PortableFontInstance(char *fileName, float pointSize, LEErrorCode &status); + PortableFontInstance(const char *fileName, float pointSize, LEErrorCode &status); virtual ~PortableFontInstance(); - virtual const void *getFontTable(LETag tableTag) const; + virtual const void *getFontTable(LETag tableTag, size_t &length) const; + + virtual const char *getNameString(le_uint16 nameID, le_uint16 platform, le_uint16 encoding, le_uint16 language) const; + + virtual const LEUnicode16 *getUnicodeNameString(le_uint16 nameID, le_uint16 platform, le_uint16 encoding, le_uint16 language) const; + + virtual void deleteNameString(const char *name) const; + + virtual void deleteNameString(const LEUnicode16 *name) const; + + virtual le_int32 getUnitsPerEM() const; - virtual le_int32 getUnitsPerEM() const - { - return fUnitsPerEM; - }; + virtual le_uint32 getFontChecksum() const; - virtual le_int32 getAscent() const - { - return fAscent; - } + virtual le_uint32 getRawChecksum() const; - virtual le_int32 getDescent() const - { - return fDescent; - } + virtual le_int32 getAscent() const; - virtual le_int32 getLeading() const - { - return fLeading; - } + virtual le_int32 getDescent() const; - virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const - { - return fCMAPMapper->unicodeToGlyph(ch); - } + virtual le_int32 getLeading() const; + + // We really want to inherit this method from the superclass, but some compilers + // issue a warning if we don't implement it... + virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper, le_bool filterZeroWidth) const; + + // We really want to inherit this method from the superclass, but some compilers + // issue a warning if we don't implement it... + virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch, const LECharMapper *mapper) const; + + virtual LEGlyphID mapCharToGlyph(LEUnicode32 ch) const; virtual void getGlyphAdvance(LEGlyphID glyph, LEPoint &advance) const; virtual le_bool getGlyphPoint(LEGlyphID glyph, le_int32 pointNumber, LEPoint &point) const; - float getXPixelsPerEm() const - { - return fPointSize; - }; - - float getYPixelsPerEm() const - { - return fPointSize; - }; - - float getScaleFactorX() const - { - return 1.0; - } - - float getScaleFactorY() const - { - return 1.0; - } + float getXPixelsPerEm() const; + + float getYPixelsPerEm() const; + + float getScaleFactorX() const; + + float getScaleFactorY() const; };