![]() | InDesign SDK 20.5 |
#include <IPMFont.h>

Public Types | |
| enum | { kMaxDesignVectorSize = 5 } |
| enum | FontProtection { kInvalid = 0, kNormal, kNoOutlines, kNoPrinting, kNoEmbedding, kNoPDFEmbedding, kRestrictedPrinting } |
| enum | FontStatus { kFontInstalled = 0x01, kFontNotAvailable = 0x10, kFontFauxed = 0x11, kFontSubstituted = 0x12, kFontUnknown = 0xFF } |
| enum | FontTechnology { kType1Font, kTrueTypeFont, kCIDFont, kBitmapFont, kATCFont, kUnknownTechnology = -1 } |
| enum | FontType { kType1FontType, kTrueTypeFontType, kCIDFontType, kATCFontType, kBitmapFontType, kOCFFontType, kOpenTypeCFFFontType, kOpenTypeCIDFontType, kOpenTypeTTFontType, kUnknownFontType = -1 } |
| enum | BaselineType { kBaselineDefault, kBaselineRoman, kBaselineEmBoxTop, kBaselineEmBoxBottom, kBaselineEmBoxCenter, kBaselineICFBoxTop, kBaselineICFBoxBottom, kBaselineICFBoxCenter, kNumBaselines, kBaselineInvalid = 0x7fffFFFF } |
| enum | FontWeightType { kFontWeightThin = 100, kFontWeightExtraLight = 200, kFontWeightLight = 300, kFontWeightNormal = 400, kFontWeightMedium = 500, kFontWeightSemiBold = 600, kFontWeightBold = 700, kFontWeightExtraBold = 800, kFontWeightHeavy = 900, kFontWeight_Unknown = 0xFFFFFFFF } |
| enum | FontWidthType { kFontWidthUltraCondensed = 100, kFontWidthExtraCondensed = 200, kFontWidthCondensed = 300, kFontWidthSemiCondensed = 400, kFontWidthMedium = 500, kFontWidthSemiExpanded = 600, kFontWidthExpanded = 700, kFontWidthExtraExpanded = 800, kFontWidthUltraExpanded = 900, kFontWidth_Unknown = 0xFFFFFFFF } |
| enum | FontXHeightType { kFontXHeightAny = 100, kFontXHeightNoFit = 200, kFontXHeightConstantSmall = 300, kFontXHeightConstantStandard = 400, kFontXHeightConstantLarge = 500, kFontXHeightDuckingSmall = 600, kFontXHeightDuckingStandard = 700, kFontXHeightDuckingLarge = 800, kFontXHeight_Unknown = 0xFFFFFFFF } |
| enum | FontContrastType { kFontContrastAny = 100, kFontContrastNoFit = 200, kFontContrastNone = 300, kFontContrastVeryLow = 400, kFontContrastLow = 500, kFontContrastMediumLow = 600, kFontContrastMedium = 700, kFontContrastMediumHigh = 800, kFontContrastHigh = 900, kFontContrastVeryHigh = 1000, kFontContrast_Unknown = 0xFFFFFFFF } |
| enum | FontCapStyleType { kFontCapStyleNone = 100, kFontCapStyleStandard = 200, kFontCapStyleCapsOnly = 300, kFontCapStyleUnknown = 0xffffffff } |
| enum | FontNumberStyleType { kFontNumberStyleNone = 100, kFontNumberStyleLowerCase = 200, kFontNumberStyleUpperCase = 300, kFontNumberStyleUnknown = 0xffffffff } |
Public Member Functions | |
| virtual CTFontDict * | GetCTFontDict () const =0 |
| virtual std::string | GetPostScriptName () const =0 |
| virtual void | AppendFullName (PMString &s) const =0 |
| virtual void | AppendFullNameNative (PMString &s) const =0 |
| virtual void | AppendFamilyName (PMString &s) const =0 |
| virtual void | AppendFamilyNameNative (PMString &s) const =0 |
| virtual void | AppendStyleName (PMString &s) const =0 |
| virtual void | AppendStyleNameNative (PMString &s) const =0 |
| virtual void | AppendFontName (PMString &s, bool16 originalNameWhenMissing=kFalse) const =0 |
| virtual int32 | GetNumDesignAxes () const =0 |
| virtual void | AppendNthDesignAxisName (int32 index, PMString &s) const =0 |
| virtual void | GetNthDesignAxisLimits (int32 index, Fixed *min, Fixed *max) const =0 |
| virtual Fixed * | AccessDesignVector ()=0 |
| virtual const Fixed * | AccessDesignVector () const =0 |
| virtual int32 | FillOutMMInstances (Fixed *array, int32 *numberFit) const =0 |
| virtual void | AppendMMInstanceName (int32 which, PMString &s) const =0 |
| virtual PMRect | GetFontBBox () const =0 |
| virtual Text::GlyphID | GetNotDefinedGlyph () const =0 |
| virtual int32 | GetNumGlyphs () const =0 |
| virtual bool16 | UsesStandardEncoding () const =0 |
| virtual int32 | GetWritingScript () const =0 |
| virtual bool16 | AppendVersion (PMString &s) const =0 |
| virtual K2Vector< PMString > * | GetFullPath () const =0 |
| virtual K2Vector < FontProtection > * | GetProtection () const =0 |
| virtual FontStatus | GetFontStatus () const =0 |
| virtual FontTechnology | GetFontTechnology () const =0 |
| virtual IPMFont::FontTechnology | GetGlyphTechnology (Text::GlyphID glyphID) const =0 |
| virtual FontType | GetFontType () const =0 |
| virtual IFontMgr::FontStyleBits | GetFontStyle () const =0 |
| virtual PMReal | GetAscent (PMReal pointsize) const =0 |
| virtual PMReal | GetDescent (PMReal pointsize) const =0 |
| virtual PMReal | GetCapHeight (PMReal pointsize) const =0 |
| virtual PMReal | GetXHeight (PMReal pointsize) const =0 |
| virtual PMReal | GetEmBoxHeight (PMReal pointsize, bool16 vertical) const =0 |
| virtual void | GetICFBoxInsets (PMReal pointsize, PMReal *fromLineTop, PMReal *fromLineBottom, bool16 vertical) const =0 |
| virtual PMRect | GetEmBox () const =0 |
| virtual PMRect | GetICFBox () const =0 |
| virtual void | TranslateBaseline (PMRealGlyphPoint *strikes, int32 numStrikes, PMMatrix *matrix, BaselineType fromBaseline, BaselineType toBaseline, IFontMgr::WritingDirection writingDirection) const =0 |
| virtual PMReal | GetHorizEmBoxDepth () const =0 |
| virtual PMReal | GetHorizICFBoxDepth () const =0 |
| virtual bool16 | VerticalMetricsProportionalByDefault () const =0 |
| virtual bool16 | HorizontalMetricsProportionalByDefault () const =0 |
| virtual void | GetUnderlinePosition (PMReal *yOffset, PMReal *thickness, PMReal xScale=1.0, PMReal yScale=1.0, bool16 vertical=kFalse, bool16 isTcy=kFalse) const =0 |
| virtual bool16 | AllowFakeLigatureSubstitutions () const =0 |
| virtual int32 | DoLigatures (PMRealGlyphPoint *strikes, int32 *numStrikes, char *changeAttr=nil, bool16 tryOpenType=kTrue) const =0 |
| virtual bool16 | HasOTFeature (const char feature[4], const char script[4]=0, const char language[4]=kDefaultLanguageTag) const =0 |
| virtual int32 | CountOTFeatures (const char script[4]=0, const char language[4]=kDefaultLanguageTag) const =0 |
| virtual const char * | NewOTFeaturesList (const char script[4]=0, const char language[4]=kDefaultLanguageTag) const =0 |
| virtual bool16 | GetIsEPSFont () const =0 |
| virtual bool16 | GetIsEmbeddedFont () const =0 |
| virtual bool16 | GetHasOutlines () const =0 |
| virtual bool16 | GetFontRegistry (PMString *fontRegistryString) const =0 |
| virtual bool16 | GetFontOrdering (PMString *fontOrderingString) const =0 |
| virtual int32 | GetFontCIDSupplementNumber () const =0 |
| virtual bool16 | IsValidGlyphID (Text::GlyphID checkGlyphID) const =0 |
| virtual PMString | GetPlatformDependentName (IFontMgr::OriginalOS platformOS=IFontMgr::kOriginalUnknownOS) const =0 |
| virtual void | GetGlyphIDs (const WideString &textString, K2Vector< Text::GlyphID > &glyphIDs, bool16 vertical=kFalse) const =0 |
| virtual void | AppendGlyphIDs (const UTF16TextChar *textBuffer, int32 numUTF16Chars, K2Vector< Text::GlyphID > &glyphIDs, bool16 vertical=kFalse) const =0 |
| virtual Text::GlyphID | GetGlyphID (UTF32TextChar character, bool16 vertical=kFalse) const =0 |
| virtual Text::GlyphID | GetPlatformGlyphID (const char *charString, int32 bytesPerChar=1, bool16 vertical=kFalse, CTEncoding *encoding=nil) const =0 |
| virtual void | GetPlatformGlyphIDs (const char *charString, int32 stringLength, K2Vector< Text::GlyphID > &glyphIDs, bool16 vertical=kFalse, CTEncoding *encoding=nil) const =0 |
| virtual void | GetCharacterBoundaries (const UTF16TextChar *text, int32 utf16WordLength, K2Vector< size_t > &offsets) const =0 |
| virtual bool16 | IsDefinedAndValidGlyph (Text::GlyphID checkGlyphID) const =0 |
| virtual int32 | GetNumValidGlyphIDRanges () const =0 |
| virtual void | GetNthValidGlyphIDRange (int32 nthRange, Text::GlyphID &firstGlyphID, Text::GlyphID &lastGlyphID) const =0 |
| virtual bool16 | IsEqual (const IPMFont *compareFont) const =0 |
| virtual bool16 | GetOTGlyphAccess (Text::GlyphID glyphID, GlyphAccessData *glyphAccessData, int32 featureToSearchCount, const char *featuresToSearch) const =0 |
| virtual bool16 | GetAllOTGlyphAccess (Text::GlyphID glyphID, K2Vector< GlyphAccessData > &glyphAccessData) const =0 |
| virtual void | GetFontFiles (K2Vector< IDFile > &outFiles) const =0 |
| virtual bool16 | GetCIDMojikumiTsume (Text::GlyphID cid, bool16 vertical, PMReal &leftTsume, PMReal &rightTsume) const =0 |
| virtual bool16 | GetCIDMojikumiClass (Text::GlyphID cid, bool16 vertical, MojikumiClass &mojikumiClass) const =0 |
| virtual int32 | GetNumAlternates (Text::GlyphID glyphID, const char *feature) const =0 |
| virtual IPMFont * | QueryComponentFontAndGlyphID (Text::GlyphID glyphID, Text::GlyphID &componentGlyphID) const =0 |
| virtual int32 | GetNumGlyphNames () const =0 |
| virtual std::string | GetGlyphName (Text::GlyphID glyphID) const =0 |
| virtual CTEncoding * | GetCTEncoding () const =0 |
| virtual bool16 | IsCFF () const =0 |
| virtual PMReal | GetATCBaselineShift (Text::GlyphID glyphID) const =0 |
| virtual bool16 | AppendVendorID (PMString &vendorName) const =0 |
| virtual bool16 | AppendCopyrightString (PMString &s) const =0 |
| virtual bool16 | AppendLicenseInfoURL (PMString &s) const =0 |
| virtual bool16 | IsSVGFont () const =0 |
| virtual bool16 | IsSBIXFont () const =0 |
| virtual bool16 | IsColorFont () const =0 |
| virtual bool16 | HasValidSVGOTDescForGlyph (Text::GlyphID glyphId) const =0 |
| virtual bool16 | IsEmojiFont () const =0 |
| virtual bool16 | IsTypekitDesktopFont () const =0 |
| virtual PMString | GetTypekitFontID () const =0 |
| virtual PMString | GetFontSytlisticName (const char featureTag[4]) const =0 |
| virtual bool16 | IsColorTextAvailable () const =0 |
| virtual bool16 | GetFontInstallTime (std::time_t &installTime)=0 |
| virtual FontWeightType | GetFontWeight () const =0 |
| virtual FontWidthType | GetFontWidth () const =0 |
| virtual FontXHeightType | GetFontXHeight () const =0 |
| virtual FontContrastType | GetFontContrast () const =0 |
| virtual FontCapStyleType | GetFontCapStyleType ()=0 |
| virtual FontNumberStyleType | GetFontNumberStyleType ()=0 |
| virtual bool16 | IsVariableFont () const =0 |
| virtual bool16 | SetNthVariableDesignAxes (int32 n)=0 |
| virtual void | SetNthVariableDesignAxes (Fixed *designAxes)=0 |
| virtual bool16 | IsNthDesignAxisHidden (int32 n)=0 |
Public Member Functions inherited from grRefCountedObj | |
| grRefCountedObj () | |
| virtual | ~grRefCountedObj ()=0 |
| virtual void | AddRef () const |
| virtual void | Release () const |
Additional Inherited Members | |
Protected Attributes inherited from grRefCountedObj | |
| int32 | fRefCount |
This is a shell over the CoolType API for fonts. The native CoolType api is in the form of ::GetFontValue(font, key, void*, length) This interface makes fonts much easier to deal with.
Font Protection
| enum IPMFont::FontStatus |
Font Status
Font Technologies
| enum IPMFont::FontType |
Font Types
Enum for the font weight.
| pure virtual |
| pure virtual |
| pure virtual |
AllowFakeLigatureSubstitutions
| pure virtual |
Gets the copyright string from the font.
| s | copyright string |
| pure virtual |
Family name
| s | String to append name to. |
| pure virtual |
Native family name in the language of the script of the font.
| s | String to append name to. |
| pure virtual |
Font name is postscript name of the font.
| s | String to append name to. |
| originalNameWhenMissing | If kFalse will return the postscript name of available font that is replacing the missing font. If kTrue gives the postscript name of the missing font. |
| pure virtual |
Full name includes information for family name and style name. Not always the same as FamilyName+' '+StyleName. Determined by the font.
| s | String to append name to. |
| pure virtual |
Native full name includes information for family name and style name in the language of the script of the font.
| s | String to append name to. |
| pure virtual |
For a buffer append the glyphIDs.
| textBuffer | IN Unicode values to get glyphids from |
| glyphIDs | OUT glyphIDs are appended |
| vertical | IN get vertical glyphs if kTrue |
| pure virtual |
Gets the license information from the font.
| s | license string |
| pure virtual |
Appends multiple master instance name.
| which | index of instance. 0 based and must be less than number of instances. |
| s | name of instance. used in font style menu. |
| pure virtual |
Get name of multiple master axis for index value. Only useful for multiple master fonts. Example of names are "OpticalSize", "Weight", and "Width"
| index | index into multiple master axes. 0 based and must be less than GetNumDesignAxes |
| s | name of axis. |
| pure virtual |
Style name
| s | String to append name to. |
| pure virtual |
Style name in the language of the script of the font.
| s | String to append name to. |
| pure virtual |
Gets the vendor id from the font.
| vendorName | version id |
| pure virtual |
Gets the version string of the font.
| s | version string |
| pure virtual |
CountOTFeatures. This is NOT an efficient call for ATC (composite) fonts. The value isn't cached because of the various script & language tags, and combining the lists from multiple component fonts isn't cheap.
| pure virtual |
applies ligatures - non OpenType ligatures that are looked for are fi, fl, ff, ffi, ffl
| strikes | IN strikes to apply ligature to. OUT ligature applied strikes. |
| *numStrikes | IN number of strikes in strikes array. OUT number of strikes after ligature applied. |
| *changeAttr | filled out like in CTOTFeature |
| tryOpenType | try appling opentype ligature feature "liga" |
| pure virtual |
Fills array with number of multiple master instances on the system for this font
| *array | array of axes information. |
| *numberFit | IN number of fixed in array. OUT number actually needed. This is number of instances times the number of design axes. Pass nil array and 0 to find out size needed for array. |
| pure virtual |
Get all unicode and Opentype features that produces the glyphID passed in.
| glyphID | glyph to get access for |
| glyphAccessData | returns results |
For a given pointsize get the font's ascent.
| pointsize | point size it get ascent for |
| pure virtual |
Gets baseline shift for an ATC glyph
This returns the ATC baseline shift (in horizontal writing mode) for 'glyphID' in a 1-unit-em instance of the font. If the font is not an ATC font, or if the ATC component font that 'glyphID' is associated with does not specify a baseline shift, this method returns 0.
For example, if an ATC font is created such that a particular component font's glyphs are to be shifted upward by 200 font units (relative to a 1000-unit-em font) in horizontal writing mode, then this method will return -0.2 for all glyphs in that component font.
Most clients do not need to concern themselves with this API since other metrics APIs take the baseline shift into account. This API is useful for only those clients who set vertical text by themselves using horizontal text metrics, since they will need to adjust the vertical text by the ATC baseline shift also.
| glyphID | glyphID to get baseline shift for |
Height of a capital 'X' if outline of X is available. Otherwise bbox height.
| pointsize | point size it get cap height for |
| pure virtual |
Determines boundaries of characters in a text string
For example, this may be used to determine the length of a multiple unicode value sequence encoded in unicode 3.0 encoding.
Note: GetCharacterBoundaries recognizes surrogate pairs as single characters. It also recognizes Unicode value sequences containing Apple "transcoding hints" as single characters.
| text | IN unicode values to get boundries for |
| utf16WordLength | IN length of text |
| offsets | OUT Long integer array supplied by the caller. On a successful return, each integer in the array is a byte offset to the beginning of each character in the text string. One extra offset to the next byte after the last character in the text string is returned at the end. Consequently, The byte length of ith character can be calculated by offsets[i+1] - offsets[i]. |
| pure virtual |
Get the mojikumi class of the given CID
| cid | CID to be searched |
| vertical | kTrue if glyph is being drawn upright in vertical text |
| mojikumiClass | if font is CID font and has known mojikumi class info then this param will be modified to return the class |
| pure virtual |
Get the mojikumi tsume of the given CID
| cid | CID to be searched |
| vertical | kTrue if glyph is being drawn upright in vertical text |
| leftTsume | if font is CID font and has known mojikumi tsume info then this param will be modified to return the tsume (-1.0 - 0.0) |
| rightTsume | if font is CID font and has known mojikumi tsume info then this param will be modified to return the tsume (-1.0 - 0.0) |
| pure virtual |
This method is used internally
| pure virtual |
Get Cooltype dictionary
For a given pointsize get the font's descent.
| pointsize | point size it get descent for |
| pure virtual |
Get font em-box. describes the left, top, right, and bottom edges (in horizontal writing mode) of the ideographic em-box of a 1-unit-em font. This value will be defined for every font (including non-CJK fonts, where it can be used to em-box-align these fonts alongside CJK fonts), barring any internal error.
Height of em-box
| pointsize | point size it get em-box height for |
| vertical | if kTrue figure out for vertical text. |
| pure virtual |
Get font bounding box. This is the bounding box of a 1 point font. It is the union of the bounding box of each character in the font where the character is drawn at the point <0,0>.
| pure virtual |
Get the caps style of the font based on some calculation heuristics. FOR INTERNAL USE ONLY.
| pure virtual |
If this font is a kCIDFont technology font, then this is the supplement number for this font. Example is 4
| pure virtual |
Gets the contrast class of the font. This value is retrieved from the OS/2 table of a font. Some fonts may not have the OS/2 table or the version of the table in which this value is present.
Get the files used by this font.
| outFiles | Vector of files used by this font |
| pure virtual |
| installTime | [OUT] An integral value the representing the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC. Client code should use appropriate library methods to convert this value to a convenient human-friendly format. |
| pure virtual |
Get the Numbering style of the font based on some calculation heiristics. FOR INTERNAL USE ONLY.
| pure virtual |
If this font is a kCIDFont technology font, then this is the CID ordering for this font. Example is "Japan1"
| fontOrderingString |
| pure virtual |
If this font is a kCIDFont technology font, then this is the CID registry for this font. Example is of Registry ordering supplement value (also know as ROS) is "Adobe-Japan1-4" so the registry is "Adobe".
| fontRegistryString | registry |
| pure virtual |
Get status of font. Use to find out if a font is available on a machine.
| pure virtual |
Gets font style bits
| pure virtual |
Get the stylisticSet name of the font
| featureTag | Open type feature tag corresponding to the stylistic set eg: ss01,ss02 |
NOTE:-This API should be called only when virtual bool16 HasOTFeature(const char feature[4], const char script[4] = 0, const char language[4] = kDefaultLanguageTag) returns true for a given stylistic set feature tag
| pure virtual |
Get technology of font. See also GetFontType
| pure virtual |
Get type of font.
| pure virtual |
Gets the weight class of the font. This value is retrieved from the OS/2 table of a font. Some fonts may not have the OS/2 table or the version of the table in which this value is present.
| pure virtual |
Gets the width class of the font. This value is retrieved from the OS/2 table of a font. Some fonts may not have the OS/2 table or the version of the table in which this value is present.
| pure virtual |
Gets the x-height class of the font. This value is retrieved from the OS/2 table of a font. Some fonts may not have the OS/2 table or the version of the table in which this value is present.
Gets a vector of paths to the font file. Type 1 fonts have more than one file.
| pure virtual |
For a single unicode character get the glyphIDs.
| character | IN Unicode value to get glyphid |
| vertical | IN get vertical glyphs if kTrue |
| pure virtual |
For a whole string or characters get the glyphIDs.
| textString | IN Unicode values to get glyphids from |
| glyphIDs | OUT glyphIDs |
| vertical | IN get vertical glyphs if kTrue |
| pure virtual |
Gets name of a glyph.
Returns the glyph name for the glyphid in the font.
| glyphID | glyphID to get name for |
| pure virtual |
Get technology of font's glyph. Only different from GetFontTechnology for ATC fonts.
| pure virtual |
This will be kFalse if outlines are not available for this font (ie, it is a pure bitmap font). It will return kTrue if outlines are available. Note that this value says nothing about the accessibility of outlines (ie, outline protected fonts will still return kTrue).
| pure virtual |
Returns the distance from the Roman baseline to the em-box bottom for the horizontal writing mode. This is used to calculate roman baseline offset for both horizontal and vertical text, since InDesign draws vertical text and horizontal text the same (the pen location is at the roman baseline).
| pure virtual |
Returns the distance from the Roman baseline to the ICF box bottom for the horizontal writing mode. This is used to calculate roman baseline offset for both horizontal and vertical text, since InDesign draws vertical text and horizontal text the same (the pen location is at the roman baseline).
| pure virtual |
Get ICF box. describing the left, top, right, and bottom edges (in horizontal writing mode) of the Ideographic Character Face (ICF) box of a 1-unit-em font. This value will be defined for every font (including non-CJK fonts), barring any internal error.
| pure virtual |
Calculate inset of Ideographic Character Face (ICF) box from embox
| pointsize | point size it get insets for |
| fromLineTop | distance of ICF top from embox top |
| fromLineBottom | distance of ICF bottom from embox bottom |
| vertical | if kTrue figure out for vertical text. |
| pure virtual |
Returns if this font is embedded
| pure virtual |
Returns if this font is from an EPS.
| pure virtual |
Get glyph id of not defined glyph for this font
| pure virtual |
Get axis limit of multiple master font for index value. Only useful for multiple master fonts.
| index | index into multiple master axes. 0 based and must be less than GetNumDesignAxes |
| min | minimum value |
| max | maximum value |
| pure virtual |
Gets the nth range of valid glyph ids. Use GetNumValidGlyphIDRanges to determine number of ranges.
| nthRange | range to get |
| firstGlyphID | OUT first glyph id of range |
| lastGlyphID | OUT last glyph id of range |
| pure virtual |
Find the number of alternates for this glyphID for a given feature
| glyphID | glyph to get number of alternates for |
| feature | feature to look for alternates |
| pure virtual |
Get number of multiple master axes. 0 for non multiple master fonts.
| pure virtual |
Gets the number of glyph names. If this font's technology is kType1Font then this method returns the number of the glyphs available in this font. This will also attempt to return names for TrueType fonts. Note, it's possible that some or all of the names returned are empty strings ("") because the True Type font doesn't have names available.
To get the number of glyphs in the font, use IPMFont::GetNumGlyphs.
| pure virtual |
Returns number of glyphs in font. For ATC fonts this is really max glyph id. ATC fonts do not have continuous glyph ids.
| pure virtual |
Gets number of glyph id ranges for this font. Use with GetNthValidGlyphIDRange to determine valid glyphids.
| pure virtual |
Get unicode and Opentype feature that produces the glyphID passed in.
| glyphID | glyph to get access for |
| glyphAccessData | pass in preferences and returns results |
| featureToSearchCount | number of OpenType features to search. -1 to search all available |
| featuresToSearch | OpenType features to search. use nil if count is -1 |
| pure virtual |
Provides the platform dependent name. On the Windows OS, this is the equivalent of the lfFaceName in a LOGFONT. On the Mac OS, this is the equivalent of the FOND name.
| platformOS | The operating system for which the name is needed. platformOS can be any of kOriginalMacOS, kOriginalWinOS, or kOriginalUnknownOS. If kOriginalUnknownOS is given, the first match for a given writing script is returned. |
| pure virtual |
For a single platform character get the glyphIDs.
| character | IN value to get glyphid |
| stringLength | IN length of charString in bytes |
| vertical | IN get vertical glyphs if kTrue |
| encoding | IN encoding. If it is not provided, platform encoding is used. |
| pure virtual |
For a char string get the glyphIDs.
| charString | IN platform values to get glyphids from |
| stringLength | IN length of charString in bytes |
| glyphIDs | OUT glyphIDs |
| vertical | IN get vertical glyphs if kTrue |
| encoding | IN encoding. If it is not provided, platform encoding is used. |
| pure virtual |
Gets the postscript name of the font.
| pure virtual |
Get font's protection values.
| pure virtual |
Get the typekit ID of the font
| pure virtual |
Get position for underline
| yOffset | |
| thickness | |
| xScale | |
| yScale | |
| vertical | |
| isTcy |
| pure virtual |
Get primary writing script of font. Usage of this should be phased out as fonts can now support multiple scripts and no one script may really be primary.
Height of small 'x' if outline of x is available. Otherwise 2/3 of bbox height.
| pointsize | point size it get x height for |
| pure virtual |
Font has OpenType feature. See http://partners.adobe.com:80/asn/tech/type/opentype/feattags.jsp for listing of OpenType features.
| feature | four char's reprosenting the feature tag. |
| pure virtual |
Whether the font has SVG glyph description for a particular glyphId.
| glyphId | [IN] id of the glyph to check for SVG description |
| pure virtual |
Returns true for fonts which contain proportional horizontal metrics. Set to true for CJK fonts which have proportional horizontal widths for characters that are typically full-width. For example, glyphs encoded in Unicode's Hiragana and Katakana blocks are usually full-width; in some fonts they are proportional-width. This is true for fonts like windows MS P Mincho and MS P Gothic. Only the glyphs' actual widths are checked; the client may use HasOTFeature() to check whether proportional metric layout features such as 'palt' and 'vpal' are present.
| pure virtual |
Whether the font is CFF (Compact Font Format)
Note that the font may be of Type 1 or CID font technology.
| pure virtual |
A way to tell if this is font has SVG or SBIX Table..
| pure virtual |
Checks to see if checkGlyphID is in the range of glyphs for this font and that it is defined. Uses GetNthValidGlyphIDRange
| checkGlyphID | Glyph id to check |
| pure virtual |
A way to tell if this is an Emoji Font..
| pure virtual |
Compare the two IPMFonts to decide if they are the same. This means postscipt name, font type, and MM axis information are all the same. We compare CTFontDict and MM axis data. If the font is missing the postscript name is the name of the available font that replaces the missing one. Use AppendFontName(name, kTrue) to font out the missing postscript name.
| *compareFont | font to compare with |
| pure virtual |
Returns if the Nth design axis of variable fornt is hidden or not. If kTrue, then it is hidden.
| n | is the Index of design Axis |
| pure virtual |
A way to tell if this is font has SBIX Table..
| pure virtual |
A way to tell if this is an SVG Font..
| pure virtual |
A way to tell if the font came from Typekit Desktop.
| pure virtual |
Checks to see if checkGlyphID is in the range of glyphs for this font.
| checkGlyphID | Glyph id to check |
| pure virtual |
| pure virtual |
PeekOTFeatures
| pure virtual |
Gets the component font for a glyph id. Only useful for ATC fonts.
| glyphID | glyphID to find font for |
| componentGlyphID | glyphID in component font |
| pure virtual |
Sets the Nth instance's design axes of variable font.
| n | Index of instance in variable font dict |
| pure virtual |
Sets a variable instance's design axes of variable font, given design axes values.
| designAxes | Array of design axis values |
| pure virtual |
Translate baseline
| *strikes | If non-NULL, pointer to an array of PMRealGlyphPoint's with numStrikes valid entries. Only the strikes' pt.xPosition (in the case of TopToBottom writing) or pt.yPosition (in the case of LeftToRight writing) will be read and modified. They are assumed to be in device space. |
| numStrikes | Number of entries in the strikes array, if the strikes parameter is non-NULL. |
| *matrix | The matrix that the strikes were scaled by. Pass NULL for the identity matrix. |
| fromBaseline | The baseline of the input strikes/points. |
| toBaseline | The desired baseline. |
| writingDirection |
| pure virtual |
This is true if and only if this fonts technology key is kType1Font and the default type 1 encoding vector associated with this font is the PostScript "StandardEncoding" vector.
| pure virtual |
Returns true for fonts which contain proportional vertical metrics.