summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/Fonts.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/Fonts.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/Fonts.h')
-rw-r--r--common/quicktime_win32/Fonts.h1164
1 files changed, 1164 insertions, 0 deletions
diff --git a/common/quicktime_win32/Fonts.h b/common/quicktime_win32/Fonts.h
new file mode 100644
index 0000000..4be7ed6
--- /dev/null
+++ b/common/quicktime_win32/Fonts.h
@@ -0,0 +1,1164 @@
+/*
+ File: Fonts.h
+
+ Contains: Public interface to the Font Manager.
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
+
+ Bugs?: For bug reports, consult the following page on
+ the World Wide Web:
+
+ http://developer.apple.com/bugreporter/
+
+*/
+#ifndef __FONTS__
+#define __FONTS__
+
+#ifndef __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+#ifndef __FILES__
+#include <Files.h>
+#endif
+
+#ifndef __MACERRORS__
+#include <MacErrors.h>
+#endif
+
+#ifndef __TEXTCOMMON__
+#include <TextCommon.h>
+#endif
+
+#ifndef __ATSTYPES__
+#include <ATSTypes.h>
+#endif
+
+#ifndef __QUICKDRAW__
+#include <Quickdraw.h>
+#endif
+
+
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=mac68k
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+enum {
+ systemFont = 0,
+ applFont = 1
+};
+
+enum {
+ kFMDefaultOptions = kNilOptions
+};
+
+/* Activation contexts */
+enum {
+ kFMDefaultActivationContext = kFMDefaultOptions,
+ kFMGlobalActivationContext = 0x00000001,
+ kFMLocalActivationContext = kFMDefaultActivationContext
+};
+
+/* Iteration scopes */
+enum {
+ kFMDefaultIterationScope = kFMDefaultOptions,
+ kFMGlobalIterationScope = 0x00000001,
+ kFMLocalIterationScope = kFMDefaultIterationScope
+};
+
+
+/* kPlatformDefaultGuiFontID is used in QuickTime 3.0. */
+#if TARGET_OS_MAC
+enum {
+ kPlatformDefaultGuiFontID = applFont
+};
+
+#else
+enum {
+ kPlatformDefaultGuiFontID = -1
+};
+
+#endif /* TARGET_OS_MAC */
+
+enum {
+ commandMark = 17,
+ checkMark = 18,
+ diamondMark = 19,
+ appleMark = 20
+};
+
+enum {
+ propFont = 36864L,
+ prpFntH = 36865L,
+ prpFntW = 36866L,
+ prpFntHW = 36867L,
+ fixedFont = 45056L,
+ fxdFntH = 45057L,
+ fxdFntW = 45058L,
+ fxdFntHW = 45059L,
+ fontWid = 44208L
+};
+
+struct FMInput {
+ short family;
+ short size;
+ Style face;
+ Boolean needBits;
+ short device;
+ Point numer;
+ Point denom;
+};
+typedef struct FMInput FMInput;
+struct FMOutput {
+ short errNum;
+ Handle fontHandle;
+ UInt8 boldPixels;
+ UInt8 italicPixels;
+ UInt8 ulOffset;
+ UInt8 ulShadow;
+ UInt8 ulThick;
+ UInt8 shadowPixels;
+ SInt8 extra;
+ UInt8 ascent;
+ UInt8 descent;
+ UInt8 widMax;
+ SInt8 leading;
+ SInt8 curStyle;
+ Point numer;
+ Point denom;
+};
+typedef struct FMOutput FMOutput;
+typedef FMOutput * FMOutputPtr;
+typedef FMOutputPtr FMOutPtr;
+struct FMetricRec {
+ Fixed ascent; /*base line to top*/
+ Fixed descent; /*base line to bottom*/
+ Fixed leading; /*leading between lines*/
+ Fixed widMax; /*maximum character width*/
+ Handle wTabHandle; /*handle to font width table*/
+};
+typedef struct FMetricRec FMetricRec;
+typedef FMetricRec * FMetricRecPtr;
+typedef FMetricRecPtr * FMetricRecHandle;
+#if CALL_NOT_IN_CARBON
+/*
+ * InitFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+InitFonts(void) ONEWORDINLINE(0xA8FE);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * GetFontName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetFontName(
+ short familyID,
+ Str255 name) ONEWORDINLINE(0xA8FF);
+
+
+/*
+ * GetFNum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+GetFNum(
+ ConstStr255Param name,
+ short * familyID) ONEWORDINLINE(0xA900);
+
+
+/*
+ * RealFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+RealFont(
+ short fontNum,
+ short size) ONEWORDINLINE(0xA902);
+
+
+#if CALL_NOT_IN_CARBON
+/*
+ * SetFontLock()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+SetFontLock(Boolean lockFlag) ONEWORDINLINE(0xA903);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * FMSwapFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( FMOutPtr )
+FMSwapFont(const FMInput * inRec) ONEWORDINLINE(0xA901);
+
+
+/*
+ * SetFScaleDisable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetFScaleDisable(Boolean fscaleDisable) ONEWORDINLINE(0xA834);
+
+
+/*
+ * FontMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+FontMetrics(FMetricRecPtr theMetrics) ONEWORDINLINE(0xA835);
+
+
+/*
+ * SetFractEnable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetFractEnable(Boolean fractEnable) ONEWORDINLINE(0xA814);
+
+
+/*
+ * GetDefFontSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetDefFontSize(void) FIVEWORDINLINE(0x3EB8, 0x0BA8, 0x6604, 0x3EBC, 0x000C);
+
+
+/*
+ * IsOutline()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsOutline(
+ Point numer,
+ Point denom) TWOWORDINLINE(0x7000, 0xA854);
+
+
+/*
+ * SetOutlinePreferred()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetOutlinePreferred(Boolean outlinePreferred) TWOWORDINLINE(0x7001, 0xA854);
+
+
+/*
+ * GetOutlinePreferred()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetOutlinePreferred(void) TWOWORDINLINE(0x7009, 0xA854);
+
+
+/*
+ * OutlineMetrics()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+OutlineMetrics(
+ short byteCount,
+ const void * textPtr,
+ Point numer,
+ Point denom,
+ short * yMax,
+ short * yMin,
+ FixedPtr awArray,
+ FixedPtr lsbArray,
+ RectPtr boundsArray) TWOWORDINLINE(0x7008, 0xA854);
+
+
+/*
+ * SetPreserveGlyph()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+SetPreserveGlyph(Boolean preserveGlyph) TWOWORDINLINE(0x700A, 0xA854);
+
+
+/*
+ * GetPreserveGlyph()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+GetPreserveGlyph(void) TWOWORDINLINE(0x700B, 0xA854);
+
+
+#if CALL_NOT_IN_CARBON
+/*
+ * FlushFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( OSErr )
+FlushFonts(void) TWOWORDINLINE(0x700C, 0xA854);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if CALL_NOT_IN_CARBON
+/*
+ * getfnum()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getfnum(
+ const char * theName,
+ short * familyID);
+
+
+/*
+ * getfontname()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+getfontname(
+ short familyID,
+ char * theName);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * GetSysFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetSysFont(void) TWOWORDINLINE(0x3EB8, 0x0BA6);
+
+
+/*
+ * GetAppFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( short )
+GetAppFont(void) TWOWORDINLINE(0x3EB8, 0x0984);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Extended font data functions (available only with Mac OS 8.5 or later) */
+/*--------------------------------------------------------------------------------------*/
+/*
+ * SetAntiAliasedTextEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+SetAntiAliasedTextEnabled(
+ Boolean iEnable,
+ SInt16 iMinFontSize) TWOWORDINLINE(0x7011, 0xA854);
+
+
+/*
+ * IsAntiAliasedTextEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+IsAntiAliasedTextEnabled(SInt16 * oMinFontSize) TWOWORDINLINE(0x7012, 0xA854);
+
+
+/*
+ * QDTextBounds()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+QDTextBounds(
+ short byteCount,
+ const void * textAddr,
+ Rect * bounds) TWOWORDINLINE(0x7013, 0xA854);
+
+
+/*
+ * FetchFontInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.6 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+FetchFontInfo(
+ SInt16 fontID,
+ SInt16 fontSize,
+ SInt16 fontStyle,
+ FontInfo * info) TWOWORDINLINE(0x7014, 0xA854);
+
+
+/*--------------------------------------------------------------------------------------*/
+/* Font access and data management functions (available only with Mac OS 9.0 or later) */
+/*--------------------------------------------------------------------------------------*/
+/* Enumeration */
+/*
+ * FMCreateFontFamilyIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMCreateFontFamilyIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontFamilyIterator * ioIterator);
+
+
+/*
+ * FMDisposeFontFamilyIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDisposeFontFamilyIterator(FMFontFamilyIterator * ioIterator);
+
+
+/*
+ * FMResetFontFamilyIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMResetFontFamilyIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontFamilyIterator * ioIterator);
+
+
+/*
+ * FMGetNextFontFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetNextFontFamily(
+ FMFontFamilyIterator * ioIterator,
+ FMFontFamily * oFontFamily);
+
+
+/*
+ * FMCreateFontIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMCreateFontIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontIterator * ioIterator);
+
+
+/*
+ * FMDisposeFontIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDisposeFontIterator(FMFontIterator * ioIterator);
+
+
+/*
+ * FMResetFontIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMResetFontIterator(
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions,
+ FMFontIterator * ioIterator);
+
+
+/*
+ * FMGetNextFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetNextFont(
+ FMFontIterator * ioIterator,
+ FMFont * oFont);
+
+
+/* Font families */
+/*
+ * FMCreateFontFamilyInstanceIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMCreateFontFamilyInstanceIterator(
+ FMFontFamily iFontFamily,
+ FMFontFamilyInstanceIterator * ioIterator);
+
+
+/*
+ * FMDisposeFontFamilyInstanceIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDisposeFontFamilyInstanceIterator(FMFontFamilyInstanceIterator * ioIterator);
+
+
+/*
+ * FMResetFontFamilyInstanceIterator()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMResetFontFamilyInstanceIterator(
+ FMFontFamily iFontFamily,
+ FMFontFamilyInstanceIterator * ioIterator);
+
+
+/*
+ * FMGetNextFontFamilyInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetNextFontFamilyInstance(
+ FMFontFamilyInstanceIterator * ioIterator,
+ FMFont * oFont,
+ FMFontStyle * oStyle, /* can be NULL */
+ FMFontSize * oSize); /* can be NULL */
+
+
+/*
+ * FMGetFontFamilyFromName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FMFontFamily )
+FMGetFontFamilyFromName(ConstStr255Param iName);
+
+
+/*
+ * FMGetFontFamilyName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyName(
+ FMFontFamily iFontFamily,
+ Str255 oName);
+
+
+/*
+ * FMGetFontFamilyTextEncoding()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyTextEncoding(
+ FMFontFamily iFontFamily,
+ TextEncoding * oTextEncoding);
+
+
+/*
+ * FMGetFontFamilyGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyGeneration(
+ FMFontFamily iFontFamily,
+ FMGeneration * oGeneration);
+
+
+/* Fonts */
+/*
+ * FMGetFontFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFormat(
+ FMFont iFont,
+ FourCharCode * oFormat);
+
+
+/*
+ * FMGetFontTableDirectory()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontTableDirectory(
+ FMFont iFont,
+ ByteCount iLength,
+ void * iBuffer,
+ ByteCount * oActualLength); /* can be NULL */
+
+
+/*
+ * FMGetFontTable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontTable(
+ FMFont iFont,
+ FourCharCode iTag,
+ ByteOffset iOffset,
+ ByteCount iLength,
+ void * iBuffer,
+ ByteCount * oActualLength); /* can be NULL */
+
+
+/*
+ * FMGetFontGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontGeneration(
+ FMFont iFont,
+ FMGeneration * oGeneration);
+
+
+/*
+ * FMGetFontContainer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontContainer(
+ FMFont iFont,
+ FSSpec * oFontContainer);
+
+
+/* Conversion */
+/*
+ * FMGetFontFromFontFamilyInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFromFontFamilyInstance(
+ FMFontFamily iFontFamily,
+ FMFontStyle iStyle,
+ FMFont * oFont,
+ FMFontStyle * oIntrinsicStyle); /* can be NULL */
+
+
+/*
+ * FMGetFontFamilyInstanceFromFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyInstanceFromFont(
+ FMFont iFont,
+ FMFontFamily * oFontFamily,
+ FMFontStyle * oStyle);
+
+
+/*
+ * FMGetATSFontRefFromFont()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( ATSFontRef )
+FMGetATSFontRefFromFont(FMFont iFont);
+
+
+/*
+ * FMGetATSFontFamilyRefFromFontFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( ATSFontFamilyRef )
+FMGetATSFontFamilyRefFromFontFamily(FMFontFamily iFamily);
+
+
+/*
+ * FMGetFontFromATSFontRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( FMFont )
+FMGetFontFromATSFontRef(ATSFontRef iFont);
+
+
+/*
+ * FMGetFontFamilyFromATSFontFamilyRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( FMFontFamily )
+FMGetFontFamilyFromATSFontFamilyRef(ATSFontFamilyRef iFamily);
+
+
+/* Activation */
+/*
+ * FMActivateFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMActivateFonts(
+ const FSSpec * iFontContainer,
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions);
+
+
+/*
+ * FMDeactivateFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FMDeactivateFonts(
+ const FSSpec * iFontContainer,
+ const FMFilter * iFilter, /* can be NULL */
+ void * iRefCon,
+ OptionBits iOptions);
+
+
+/*
+ * FMGetGeneration()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontManager 9.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FMGeneration )
+FMGetGeneration(void);
+
+
+/* Container Access */
+/*
+ * FMGetFontContainerFromFontFamilyInstance()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontContainerFromFontFamilyInstance(
+ FMFontFamily iFontFamily,
+ FMFontStyle iStyle,
+ FMFontSize iFontSize,
+ FSSpec * oFontContainer);
+
+
+/*
+ * FMGetFontFamilyResource()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API_C( OSStatus )
+FMGetFontFamilyResource(
+ FMFontFamily iFontFamily,
+ FMFontStyle iFontStyle,
+ FMFontSize iFontSize,
+ ByteCount iBufferSize,
+ void * ioBuffer,
+ ByteCount * oSize); /* can be NULL */
+
+
+
+typedef FMFontFamily FontFamilyID;
+typedef FMFontSize FontPointSize;
+/*--------------------------------------------------------------------------------------*/
+/* Deprecated constant and type definitions */
+/*--------------------------------------------------------------------------------------*/
+/* The font identifier constants are deprecated; use GetFNum or FMGetFontFamilyFromName
+ to find a font family from a standard QuickDraw name.
+*/
+enum {
+ kFMUseGlobalScopeOption = 0x00000001
+};
+
+enum {
+ kFontIDNewYork = 2,
+ kFontIDGeneva = 3,
+ kFontIDMonaco = 4,
+ kFontIDVenice = 5,
+ kFontIDLondon = 6,
+ kFontIDAthens = 7,
+ kFontIDSanFrancisco = 8,
+ kFontIDToronto = 9,
+ kFontIDCairo = 11,
+ kFontIDLosAngeles = 12,
+ kFontIDTimes = 20,
+ kFontIDHelvetica = 21,
+ kFontIDCourier = 22,
+ kFontIDSymbol = 23,
+ kFontIDMobile = 24
+};
+
+/* The following data structures referenced by the low memory global variables of the
+ Font Manager are deprecated on Mac OS X and CarbonLib 1.1. The low memory global
+ variables are not shared between processes and may result in inconsistencies
+ compared to previous releases of the system software. Changes made to the
+ information contained in the low memory global variables, including any
+ indirectly referenced width tables, font family records, and font records, are
+ not reflected in the global state of the Font Manager and may only be accessed
+ through the font access and data management functions of the Font Manager or ATS.
+*/
+struct WidEntry {
+ short widStyle; /*style entry applies to*/
+};
+typedef struct WidEntry WidEntry;
+struct WidTable {
+ short numWidths; /*number of entries - 1*/
+};
+typedef struct WidTable WidTable;
+struct AsscEntry {
+ short fontSize;
+ short fontStyle;
+ short fontID; /*font resource ID*/
+};
+typedef struct AsscEntry AsscEntry;
+struct FontAssoc {
+ short numAssoc; /*number of entries - 1*/
+};
+typedef struct FontAssoc FontAssoc;
+struct StyleTable {
+ short fontClass;
+ long offset;
+ long reserved;
+ char indexes[48];
+};
+typedef struct StyleTable StyleTable;
+struct NameTable {
+ short stringCount;
+ Str255 baseFontName;
+};
+typedef struct NameTable NameTable;
+struct KernPair {
+ char kernFirst; /*1st character of kerned pair*/
+ char kernSecond; /*2nd character of kerned pair*/
+ short kernWidth; /*kerning in 1pt fixed format*/
+};
+typedef struct KernPair KernPair;
+struct KernEntry {
+ short kernStyle; /*style the entry applies to*/
+ short kernLength; /*length of this entry*/
+};
+typedef struct KernEntry KernEntry;
+struct KernTable {
+ short numKerns; /*number of kerning entries*/
+};
+typedef struct KernTable KernTable;
+struct WidthTable {
+ Fixed tabData[256]; /*character widths*/
+ Handle tabFont; /*font record used to build table*/
+ long sExtra; /*space extra used for table*/
+ long style; /*extra due to style*/
+ short fID; /*font family ID*/
+ short fSize; /*font size request*/
+ short face; /*style (face) request*/
+ short device; /*device requested*/
+ Point inNumer; /*scale factors requested*/
+ Point inDenom; /*scale factors requested*/
+ short aFID; /*actual font family ID for table*/
+ Handle fHand; /*family record used to build up table*/
+ Boolean usedFam; /*used fixed point family widths*/
+ UInt8 aFace; /*actual face produced*/
+ short vOutput; /*vertical scale output value*/
+ short hOutput; /*horizontal scale output value*/
+ short vFactor; /*vertical scale output value*/
+ short hFactor; /*horizontal scale output value*/
+ short aSize; /*actual size of actual font used*/
+ short tabSize; /*total size of table*/
+};
+typedef struct WidthTable WidthTable;
+typedef WidthTable * WidthTablePtr;
+typedef WidthTablePtr * WidthTableHdl;
+struct FamRec {
+ short ffFlags; /*flags for family*/
+ short ffFamID; /*family ID number*/
+ short ffFirstChar; /*ASCII code of 1st character*/
+ short ffLastChar; /*ASCII code of last character*/
+ short ffAscent; /*maximum ascent for 1pt font*/
+ short ffDescent; /*maximum descent for 1pt font*/
+ short ffLeading; /*maximum leading for 1pt font*/
+ short ffWidMax; /*maximum widMax for 1pt font*/
+ long ffWTabOff; /*offset to width table*/
+ long ffKernOff; /*offset to kerning table*/
+ long ffStylOff; /*offset to style mapping table*/
+ short ffProperty[9]; /*style property info*/
+ short ffIntl[2]; /*for international use*/
+ short ffVersion; /*version number*/
+};
+typedef struct FamRec FamRec;
+struct FontRec {
+ short fontType; /*font type*/
+ short firstChar; /*ASCII code of first character*/
+ short lastChar; /*ASCII code of last character*/
+ short widMax; /*maximum character width*/
+ short kernMax; /*negative of maximum character kern*/
+ short nDescent; /*negative of descent*/
+ short fRectWidth; /*width of font rectangle*/
+ short fRectHeight; /*height of font rectangle*/
+ unsigned short owTLoc; /*offset to offset/width table*/
+ short ascent; /*ascent*/
+ short descent; /*descent*/
+ short leading; /*leading*/
+ short rowWords; /*row width of bit image / 2 */
+};
+typedef struct FontRec FontRec;
+typedef FontRec * FontRecPtr;
+typedef FontRecPtr * FontRecHdl;
+/*--------------------------------------------------------------------------------------*/
+#if OLDROUTINENAMES
+enum {
+ newYork = kFontIDNewYork,
+ geneva = kFontIDGeneva,
+ monaco = kFontIDMonaco,
+ venice = kFontIDVenice,
+ london = kFontIDLondon,
+ athens = kFontIDAthens,
+ sanFran = kFontIDSanFrancisco,
+ toronto = kFontIDToronto,
+ cairo = kFontIDCairo,
+ losAngeles = kFontIDLosAngeles,
+ times = kFontIDTimes,
+ helvetica = kFontIDHelvetica,
+ courier = kFontIDCourier,
+ symbol = kFontIDSymbol,
+ mobile = kFontIDMobile
+};
+
+#endif /* OLDROUTINENAMES */
+
+/*--------------------------------------------------------------------------------------*/
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(pop)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack()
+#endif
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __FONTS__ */
+