30 #include "GRRefCountedObj.h" 31 #include "CTextEnum.h" 32 #include "InterfacePtr.h" 36 #include "OTFeature.h" 39 class KinsokuCharType;
43 typedef int16 MojikumiClass;
46 #define kDefaultScriptTag "DFLT" 47 #define kDefaultLanguageTag "dflt" 93 enum { kMaxDesignVectorSize = 5 };
309 kFontInstalled = 0x01,
311 kFontNotAvailable = 0x10,
315 kFontSubstituted = 0x12,
400 virtual IFontMgr::FontStyleBits
GetFontStyle()
const = 0;
413 virtual bool16 GetWindowsLogFont(LOGFONT *logfont)
const = 0;
494 kBaselineEmBoxBottom,
496 kBaselineEmBoxCenter,
500 kBaselineICFBoxBottom,
502 kBaselineICFBoxCenter,
506 kBaselineInvalid = 0x7fffFFFF
521 virtual void TranslateBaseline(
PMRealGlyphPoint *strikes, int32 numStrikes,
PMMatrix *matrix, BaselineType fromBaseline, BaselineType toBaseline, IFontMgr::WritingDirection writingDirection)
const = 0;
587 virtual int32
DoLigatures(
PMRealGlyphPoint* strikes, int32 *numStrikes,
char *changeAttr = nil, bool16 tryOpenType = kTrue)
const = 0;
596 virtual bool16
HasOTFeature(
const char feature[4],
const char script[4] = 0,
const char language[4] = kDefaultLanguageTag)
const = 0;
605 virtual int32
CountOTFeatures(
const char script[4] = 0,
const char language[4] = kDefaultLanguageTag)
const = 0;
612 virtual const char*
NewOTFeaturesList(
const char script[4] = 0,
const char language[4] = kDefaultLanguageTag)
const = 0;
667 virtual bool16
IsValidGlyphID(Text::GlyphID checkGlyphID)
const = 0;
717 virtual Text::GlyphID
GetPlatformGlyphID(
const char* charString, int32 bytesPerChar = 1,
718 bool16 vertical = kFalse, CTEncoding *encoding = nil)
const = 0;
729 CTEncoding *encoding = nil)
const = 0;
769 virtual void GetNthValidGlyphIDRange(int32 nthRange, Text::GlyphID &firstGlyphID, Text::GlyphID &lastGlyphID)
const = 0;
789 virtual bool16
GetOTGlyphAccess(Text::GlyphID glyphID,
GlyphAccessData * glyphAccessData, int32 featureToSearchCount,
const char * featuresToSearch)
const = 0;
826 virtual bool16
GetCIDMojikumiClass(Text::GlyphID cid, bool16 vertical, MojikumiClass& mojikumiClass)
const = 0;
835 virtual int32
GetNumAlternates(Text::GlyphID glyphID,
const char* feature)
const = 0;
868 virtual std::string
GetGlyphName(Text::GlyphID glyphID)
const = 0;
882 virtual bool16
IsCFF()
const = 0;
1004 virtual bool16 IsColorTextAvailable()
const = 0;
1011 kFontWeightThin = 100,
1012 kFontWeightExtraLight = 200,
1013 kFontWeightLight = 300,
1014 kFontWeightNormal = 400,
1015 kFontWeightMedium = 500,
1016 kFontWeightSemiBold = 600,
1017 kFontWeightBold = 700,
1018 kFontWeightExtraBold = 800,
1019 kFontWeightHeavy = 900,
1020 kFontWeight_Unknown = 0xFFFFFFFF,
1024 kFontWidthUltraCondensed = 100,
1046 kFontXHeightAny = 100,
1067 kFontContrastAny = 100,
1091 kFontCapStyleNone = 100,
1092 kFontCapStyleStandard = 200,
1093 kFontCapStyleCapsOnly = 300,
1094 kFontCapStyleUnknown = 0xffffffff
1098 kFontNumberStyleNone = 100,
1099 kFontNumberStyleLowerCase = 200,
1100 kFontNumberStyleUpperCase = 300,
1101 kFontNumberStyleUnknown = 0xffffffff
1102 } FontNumberStyleType;
1210 { Release_(fFace); }
1224 {
reset(AddRef_(p.get()));
return *
this; }
1226 {
reset(AddRef_(p.
get()));
return *
this; }
1238 ASSERT_MSG(fFace != nil,
"About to use nil interface ptr!");
1263 fFace =
const_cast<IPMFont*
>(p);
1269 static void Release_(
IPMFont* p)