summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/FontSync.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/FontSync.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/FontSync.h')
-rw-r--r--common/quicktime_win32/FontSync.h603
1 files changed, 603 insertions, 0 deletions
diff --git a/common/quicktime_win32/FontSync.h b/common/quicktime_win32/FontSync.h
new file mode 100644
index 0000000..ca57d5b
--- /dev/null
+++ b/common/quicktime_win32/FontSync.h
@@ -0,0 +1,603 @@
+/*
+ File: FontSync.h
+
+ Contains: Public interface for FontSync
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1999-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 __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+#ifndef __FILES__
+#include <Files.h>
+#endif
+
+#ifndef __MACERRORS__
+#include <MacErrors.h>
+#endif
+
+#ifndef __FONTS__
+#include <Fonts.h>
+#endif
+
+#ifndef __SFNTTYPES__
+#include <SFNTTypes.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=power
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+
+/* Matching Options */
+typedef UInt32 FNSMatchOptions;
+enum {
+ kFNSMatchNames = 0x00000001, /* font names must match */
+ kFNSMatchTechnology = 0x00000002, /* scaler technology must match */
+ kFNSMatchGlyphs = 0x00000004, /* glyph data must match */
+ kFNSMatchEncodings = 0x00000008, /* cmaps must match */
+ kFNSMatchQDMetrics = 0x00000010, /* QuickDraw Text metrics must match */
+ kFNSMatchATSUMetrics = 0x00000020, /* ATSUI metrics (incl. vertical) must match */
+ kFNSMatchKerning = 0x00000040, /* kerning data must match */
+ kFNSMatchWSLayout = 0x00000080, /* WorldScript layout tables must match */
+ kFNSMatchAATLayout = 0x00000100, /* AAT (incl. OpenType) layout tables must match */
+ kFNSMatchPrintEncoding = 0x00000200, /* PostScript font and glyph names and re-encoding vector must match */
+ kFNSMissingDataNoMatch = (unsigned long)0x80000000, /* treat missing data as mismatch */
+ kFNSMatchAll = (unsigned long)0xFFFFFFFF, /* everything must match */
+ kFNSMatchDefaults = 0 /* use global default match options */
+};
+
+/*
+ * FNSMatchDefaultsGet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( FNSMatchOptions )
+FNSMatchDefaultsGet(void);
+
+
+
+/* Version control */
+typedef UInt32 FNSObjectVersion;
+enum {
+ kFNSVersionDontCare = 0,
+ kFNSCurSysInfoVersion = 1
+};
+
+/* No features defined yet.*/
+typedef UInt32 FNSFeatureFlags;
+/*
+ The FontSync library version number is binary-coded decimal:
+ 8 bits of major version, 4 minor version and 4 bits revision.
+*/
+struct FNSSysInfo {
+ FNSObjectVersion iSysInfoVersion; /* fill this in before calling FNSSysInfoGet*/
+ FNSFeatureFlags oFeatures;
+ FNSObjectVersion oCurRefVersion;
+ FNSObjectVersion oMinRefVersion;
+ FNSObjectVersion oCurProfileVersion;
+ FNSObjectVersion oMinProfileVersion;
+ UInt16 oFontSyncVersion;
+};
+typedef struct FNSSysInfo FNSSysInfo;
+/*
+ * FNSSysInfoGet()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+FNSSysInfoGet(FNSSysInfo * ioInfo);
+
+
+
+/* FontSync References */
+typedef struct OpaqueFNSFontReference* FNSFontReference;
+/*
+ * FNSReferenceGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceGetVersion(
+ FNSFontReference iReference,
+ FNSObjectVersion * oVersion);
+
+
+/*
+ * FNSReferenceDispose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceDispose(FNSFontReference iReference);
+
+
+/*
+ * FNSReferenceMatch()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceMatch(
+ FNSFontReference iReference1,
+ FNSFontReference iReference2,
+ FNSMatchOptions iOptions,
+ FNSMatchOptions * oFailedMatchOptions); /* can be NULL */
+
+
+/*
+ * FNSReferenceFlattenedSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceFlattenedSize(
+ FNSFontReference iReference,
+ ByteCount * oFlattenedSize);
+
+
+/*
+ * FNSReferenceFlatten()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceFlatten(
+ FNSFontReference iReference,
+ void * oFlatReference, /* can be NULL */
+ ByteCount * oFlattenedSize); /* can be NULL */
+
+
+/*
+ * FNSReferenceUnflatten()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceUnflatten(
+ const void * iFlatReference,
+ ByteCount iFlattenedSize,
+ FNSFontReference * oReference);
+
+
+
+/* FontSync Profiles */
+enum {
+ kFNSCreatorDefault = 0,
+ kFNSProfileFileType = FOUR_CHAR_CODE('fnsp')
+};
+
+typedef struct OpaqueFNSFontProfile* FNSFontProfile;
+/*
+ * FNSProfileCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCreate(
+ const FSSpec * iFile,
+ FourCharCode iCreator,
+ ItemCount iEstNumRefs,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontProfile * oProfile);
+
+
+/*
+ * FNSProfileOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileOpen(
+ const FSSpec * iFile,
+ Boolean iOpenForWrite,
+ FNSFontProfile * oProfile);
+
+
+
+/*
+ * FNSProfileCreateWithFSRef()
+ *
+ * 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 )
+FNSProfileCreateWithFSRef(
+ const FSRef * iParentDirectory,
+ UniCharCount iNameLength,
+ const UniChar * iName,
+ FourCharCode iCreator,
+ ItemCount iEstNumRefs,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontProfile * oProfile);
+
+
+/*
+ * FNSProfileOpenWithFSRef()
+ *
+ * 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 )
+FNSProfileOpenWithFSRef(
+ const FSRef * iFile,
+ Boolean iOpenForWrite,
+ FNSFontProfile * oProfile);
+
+
+/*
+ * FNSProfileGetVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileGetVersion(
+ FNSFontProfile iProfile,
+ FNSObjectVersion * oVersion);
+
+
+/*
+ * FNSProfileCompact()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCompact(FNSFontProfile iProfile);
+
+
+/*
+ * FNSProfileClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileClose(FNSFontProfile iProfile);
+
+
+/*
+ * FNSProfileAddReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileAddReference(
+ FNSFontProfile iProfile,
+ FNSFontReference iReference);
+
+
+/*
+ * FNSProfileRemoveReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileRemoveReference(
+ FNSFontProfile iProfile,
+ FNSFontReference iReference);
+
+
+/*
+ * FNSProfileRemoveIndReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileRemoveIndReference(
+ FNSFontProfile iProfile,
+ UInt32 iIndex);
+
+
+/*
+ * FNSProfileClear()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileClear(FNSFontProfile iProfile);
+
+
+/*
+ * FNSProfileCountReferences()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileCountReferences(
+ FNSFontProfile iProfile,
+ ItemCount * oCount);
+
+
+/*
+ * FNSProfileGetIndReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileGetIndReference(
+ FNSFontProfile iProfile,
+ UInt32 iWhichReference,
+ FNSFontReference * oReference);
+
+
+/*
+ * FNSProfileMatchReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSProfileMatchReference(
+ FNSFontProfile iProfile,
+ FNSFontReference iReference,
+ FNSMatchOptions iMatchOptions,
+ ItemCount iOutputSize,
+ UInt32 oIndices[], /* can be NULL */
+ ItemCount * oNumMatches); /* can be NULL */
+
+
+
+/* Mapping to and from Font Objects */
+/*
+ * FNSReferenceCreate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceCreate(
+ FMFont iFont,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontReference * oReference);
+
+
+/*
+ * FNSReferenceMatchFonts()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceMatchFonts(
+ FNSFontReference iReference,
+ FNSMatchOptions iMatchOptions,
+ ItemCount iOutputSize,
+ FMFont oFonts[], /* can be NULL */
+ ItemCount * oNumMatches); /* can be NULL */
+
+
+
+/* Mapping to and from Font Families */
+/*
+ * FNSReferenceCreateFromFamily()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceCreateFromFamily(
+ FMFontFamily iFamily,
+ FMFontStyle iStyle,
+ FNSObjectVersion iDesiredVersion,
+ FNSFontReference * oReference, /* can be NULL */
+ FMFontStyle * oActualStyle); /* can be NULL */
+
+
+/*
+ * FNSReferenceMatchFamilies()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceMatchFamilies(
+ FNSFontReference iReference,
+ FNSMatchOptions iMatchOptions,
+ ItemCount iOutputSize,
+ FMFontFamilyInstance oFonts[], /* can be NULL */
+ ItemCount * oNumMatches); /* can be NULL */
+
+
+
+/* UI Support */
+/*
+ * FNSReferenceGetFamilyInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceGetFamilyInfo(
+ FNSFontReference iReference,
+ Str255 oFamilyName, /* can be NULL */
+ ScriptCode * oFamilyNameScript, /* can be NULL */
+ FMFontStyle * oActualStyle); /* can be NULL */
+
+
+/*
+ * FNSReferenceCountNames()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceCountNames(
+ FNSFontReference iReference,
+ ItemCount * oNameCount);
+
+
+/*
+ * FNSReferenceGetIndName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceGetIndName(
+ FNSFontReference iReference,
+ ItemCount iFontNameIndex,
+ ByteCount iMaximumNameLength,
+ Ptr oName, /* can be NULL */
+ ByteCount * oActualNameLength, /* can be NULL */
+ FontNameCode * oFontNameCode, /* can be NULL */
+ FontPlatformCode * oFontNamePlatform, /* can be NULL */
+ FontScriptCode * oFontNameScript, /* can be NULL */
+ FontLanguageCode * oFontNameLanguage); /* can be NULL */
+
+
+/*
+ * FNSReferenceFindName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( OSStatus )
+FNSReferenceFindName(
+ FNSFontReference iReference,
+ FontNameCode iFontNameCode,
+ FontPlatformCode iFontNamePlatform,
+ FontScriptCode iFontNameScript,
+ FontLanguageCode iFontNameLanguage,
+ ByteCount iMaximumNameLength,
+ Ptr oName, /* can be NULL */
+ ByteCount * oActualNameLength, /* can be NULL */
+ ItemCount * oFontNameIndex); /* can be NULL */
+
+
+/* Miscellany */
+/*
+ * FNSEnabled()
+ *
+ * Availability:
+ * Non-Carbon CFM: in FontSyncLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( Boolean )
+FNSEnabled(void);
+
+
+
+#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