summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/LanguageAnalysis.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/LanguageAnalysis.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/LanguageAnalysis.h')
-rw-r--r--common/quicktime_win32/LanguageAnalysis.h624
1 files changed, 624 insertions, 0 deletions
diff --git a/common/quicktime_win32/LanguageAnalysis.h b/common/quicktime_win32/LanguageAnalysis.h
new file mode 100644
index 0000000..ac8ed20
--- /dev/null
+++ b/common/quicktime_win32/LanguageAnalysis.h
@@ -0,0 +1,624 @@
+/*
+ File: LanguageAnalysis.h
+
+ Contains: Language Analysis Manager Interfaces
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1996-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 __LANGUAGEANALYSIS__
+#define __LANGUAGEANALYSIS__
+
+#ifndef __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+#ifndef __FILES__
+#include <Files.h>
+#endif
+
+#ifndef __TEXTCOMMON__
+#include <TextCommon.h>
+#endif
+
+#ifndef __MACERRORS__
+#include <MacErrors.h>
+#endif
+
+#ifndef __AEREGISTRY__
+#include <AERegistry.h>
+#endif
+
+#ifndef __DICTIONARY__
+#include <Dictionary.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
+
+typedef struct OpaqueLAEnvironmentRef* LAEnvironmentRef;
+typedef struct OpaqueLAContextRef* LAContextRef;
+typedef AEKeyword LAPropertyKey;
+typedef DescType LAPropertyType;
+/*
+ Data structure for high level API
+*/
+struct LAMorphemeRec {
+ ByteCount sourceTextLength;
+ LogicalAddress sourceTextPtr;
+ ByteCount morphemeTextLength;
+ LogicalAddress morphemeTextPtr;
+ UInt32 partOfSpeech;
+};
+typedef struct LAMorphemeRec LAMorphemeRec;
+struct LAMorphemesArray {
+ ItemCount morphemesCount;
+ ByteCount processedTextLength;
+ ByteCount morphemesTextLength;
+ LAMorphemeRec morphemes[1];
+};
+typedef struct LAMorphemesArray LAMorphemesArray;
+typedef LAMorphemesArray * LAMorphemesArrayPtr;
+enum {
+ kLAMorphemesArrayVersion = 0
+};
+
+/*
+ Definitions for result path/bundle structure
+*/
+typedef AERecord LAMorphemeBundle;
+typedef AERecord LAMorphemePath;
+typedef AERecord LAMorpheme;
+typedef AERecord LAHomograph;
+enum {
+ keyAELAMorphemeBundle = FOUR_CHAR_CODE('lmfb'),
+ keyAELAMorphemePath = FOUR_CHAR_CODE('lmfp'),
+ keyAELAMorpheme = FOUR_CHAR_CODE('lmfn'),
+ keyAELAHomograph = FOUR_CHAR_CODE('lmfh')
+};
+
+enum {
+ typeLAMorphemeBundle = typeAERecord,
+ typeLAMorphemePath = typeAERecord,
+ typeLAMorpheme = typeAEList,
+ typeLAHomograph = typeAEList
+};
+
+/*
+ Definitions for morpheme/homograph information
+*/
+enum {
+ keyAEMorphemePartOfSpeechCode = FOUR_CHAR_CODE('lamc'),
+ keyAEMorphemeTextRange = FOUR_CHAR_CODE('lamt')
+};
+
+enum {
+ typeAEMorphemePartOfSpeechCode = FOUR_CHAR_CODE('lamc'),
+ typeAEMorphemeTextRange = FOUR_CHAR_CODE('lamt')
+};
+
+typedef UInt32 MorphemePartOfSpeech;
+struct MorphemeTextRange {
+ UInt32 sourceOffset;
+ UInt32 length;
+};
+typedef struct MorphemeTextRange MorphemeTextRange;
+/*
+ Mask for High level API convert flags
+*/
+enum {
+ kLAEndOfSourceTextMask = 0x00000001
+};
+
+/*
+ Constants for leading/trailing path of analysis function
+*/
+enum {
+ kLADefaultEdge = 0,
+ kLAFreeEdge = 1,
+ kLAIncompleteEdge = 2
+};
+
+/*
+ Constants for confirm and shift function
+*/
+enum {
+ kLAAllMorphemes = 0
+};
+
+
+/*
+ Library version
+*/
+/*
+ * LALibraryVersion()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( UInt32 )
+LALibraryVersion(void);
+
+
+/*
+ High level API
+*/
+/*
+ * LATextToMorphemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LATextToMorphemes(
+ LAContextRef context,
+ TextEncoding preferedEncoding,
+ ByteCount textLength,
+ ConstLogicalAddress sourceText,
+ ByteCount bufferSize,
+ OptionBits convertFlags,
+ UInt32 structureVersion,
+ ByteCount * acceptedLength,
+ LAMorphemesArrayPtr resultBuffer);
+
+
+/*
+ Handling Context
+*/
+/*
+ * LAOpenAnalysisContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAOpenAnalysisContext(
+ LAEnvironmentRef environ,
+ LAContextRef * context);
+
+
+/*
+ * LACloseAnalysisContext()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LACloseAnalysisContext(LAContextRef context);
+
+
+/*
+ Handling Environment
+*/
+/*
+ * LAGetEnvironmentList()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetEnvironmentList(
+ UInt32 maxCount,
+ UInt32 * actualCount,
+ LAEnvironmentRef environmentList[]);
+
+
+/*
+ * LAGetEnvironmentName()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetEnvironmentName(
+ LAEnvironmentRef environment,
+ Str63 environmentName);
+
+
+/*
+ * LAGetEnvironmentRef()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetEnvironmentRef(
+ ConstStr63Param targetEnvironmentName,
+ LAEnvironmentRef * environment);
+
+
+/*
+ * LACreateCustomEnvironment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LACreateCustomEnvironment(
+ LAEnvironmentRef baseEnvironment,
+ ConstStr63Param newEnvironmentName,
+ Boolean persistent,
+ LAEnvironmentRef * newEnvironment);
+
+
+/*
+ * LADeleteCustomEnvironment()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LADeleteCustomEnvironment(LAEnvironmentRef environment);
+
+
+/*
+ Handling dictionries
+*/
+/*
+ * LAOpenDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAOpenDictionary(
+ LAEnvironmentRef environ,
+ const FSSpec * dictionary);
+
+
+/*
+ * LACloseDictionary()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LACloseDictionary(
+ LAEnvironmentRef environ,
+ const FSSpec * dictionary);
+
+
+/*
+ * LAListAvailableDictionaries()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAListAvailableDictionaries(
+ LAEnvironmentRef environ,
+ ItemCount maxCount,
+ ItemCount * actualCount,
+ FSSpec dictionaryList[],
+ Boolean opened[]);
+
+
+/*
+ * LAAddNewWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAAddNewWord(
+ LAEnvironmentRef environ,
+ const FSSpec * dictionary,
+ const AEDesc * dataList);
+
+
+/*
+ Analyzing text
+*/
+/*
+ * LAMorphemeAnalysis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAMorphemeAnalysis(
+ LAContextRef context,
+ ConstUniCharArrayPtr text,
+ UniCharCount textLength,
+ LAMorphemePath * leadingPath,
+ LAMorphemePath * trailingPath,
+ ItemCount pathCount,
+ LAMorphemeBundle * result);
+
+
+/*
+ * LAContinuousMorphemeAnalysis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAContinuousMorphemeAnalysis(
+ LAContextRef context,
+ ConstUniCharArrayPtr text,
+ UniCharCount textLength,
+ Boolean incrementalText,
+ LAMorphemePath * leadingPath,
+ LAMorphemePath * trailingPath,
+ Boolean * modified);
+
+
+/*
+ * LAGetMorphemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAGetMorphemes(
+ LAContextRef context,
+ LAMorphemePath * result);
+
+
+/*
+ * LAShiftMorphemes()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAShiftMorphemes(
+ LAContextRef context,
+ ItemCount morphemeCount,
+ LAMorphemePath * path,
+ UniCharCount * shiftedLength);
+
+
+/*
+ * LAResetAnalysis()
+ *
+ * Availability:
+ * Non-Carbon CFM: in LanguageAnalysisLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+LAResetAnalysis(LAContextRef context);
+
+
+/*
+ Check Language Analysis Manager availability
+*/
+#if TARGET_RT_MAC_CFM
+#ifdef __cplusplus
+ inline pascal Boolean LALanguageAnalysisAvailable() { return (LALibraryVersion != (void*)kUnresolvedCFragSymbolAddress); }
+#else
+ #define LALanguageAnalysisAvailable() ((LALibraryVersion != (void*)kUnresolvedCFragSymbolAddress)
+#endif
+#elif TARGET_RT_MAC_MACHO
+/* Language Analysis Manager is always available on OS X */
+#ifdef __cplusplus
+ inline pascal Boolean LALanguageAnalysisAvailable() { return true; }
+#else
+ #define LALanguageAnalysisAvailable() (true)
+#endif
+#endif /* */
+
+/*
+=============================================================================================
+ Definitions for Japanese Analysis Module
+=============================================================================================
+*/
+/*
+ Names for default environments for Japanese analysis
+*/
+#define kLAJapaneseKanaKanjiEnvironment "\pKanaKanjiConversion"
+#define kLAJapaneseMorphemeAnalysisEnvironment "\pJapaneseMorphemeAnalysis"
+#define kLAJapaneseTTSEnvironment "\pJapaneseTextToSpeech"
+/*
+ File cretor for dictionary of Apple Japanese access method
+*/
+enum {
+ kAppleJapaneseDictionarySignature = FOUR_CHAR_CODE('jlan')
+};
+
+/*
+ Engine limitations
+*/
+enum {
+ kMaxInputLengthOfAppleJapaneseEngine = 200
+};
+
+/*
+ Definitions of information in the path/bundle
+*/
+
+typedef MorphemePartOfSpeech JapanesePartOfSpeech;
+typedef UInt16 HomographWeight;
+typedef UInt8 HomographAccent;
+/*
+ AE keywords and type definitions for morpheme/homograph information
+*/
+enum {
+ keyAEHomographDicInfo = FOUR_CHAR_CODE('lahd'),
+ keyAEHomographWeight = FOUR_CHAR_CODE('lahw'),
+ keyAEHomographAccent = FOUR_CHAR_CODE('laha')
+};
+
+enum {
+ typeAEHomographDicInfo = FOUR_CHAR_CODE('lahd'),
+ typeAEHomographWeight = typeShortInteger,
+ typeAEHomographAccent = FOUR_CHAR_CODE('laha')
+};
+
+/*
+ Structure for dictionary information of homograph
+*/
+struct HomographDicInfoRec {
+ DCMDictionaryID dictionaryID;
+ DCMUniqueID uniqueID;
+};
+typedef struct HomographDicInfoRec HomographDicInfoRec;
+/*
+=============================================================================================
+ Definitions for Japanese part of speeches
+=============================================================================================
+*/
+/*
+ Masks for part of speeches
+*/
+enum {
+ kLASpeechRoughClassMask = 0x0000F000,
+ kLASpeechMediumClassMask = 0x0000FF00,
+ kLASpeechStrictClassMask = 0x0000FFF0,
+ kLASpeechKatsuyouMask = 0x0000000F
+};
+
+
+/*
+ Part of speeches
+*/
+enum {
+ kLASpeechMeishi = 0x00000000, /* noun */
+ kLASpeechFutsuuMeishi = 0x00000000, /* general noun */
+ kLASpeechJinmei = 0x00000100, /* person name */
+ kLASpeechJinmeiSei = 0x00000110, /* family name */
+ kLASpeechJinmeiMei = 0x00000120, /* first name */
+ kLASpeechChimei = 0x00000200, /* place name */
+ kLASpeechSetsubiChimei = 0x00000210, /* place name with suffix */
+ kLASpeechSoshikimei = 0x00000300, /* organization name */
+ kLASpeechKoyuuMeishi = 0x00000400, /* proper noun */
+ kLASpeechSahenMeishi = 0x00000500, /* special noun */
+ kLASpeechKeidouMeishi = 0x00000600, /* special noun */
+ kLASpeechRentaishi = 0x00001000,
+ kLASpeechFukushi = 0x00002000, /* adverb */
+ kLASpeechSetsuzokushi = 0x00003000, /* conjunction */
+ kLASpeechKandoushi = 0x00004000,
+ kLASpeechDoushi = 0x00005000, /* verb */
+ kLASpeechGodanDoushi = 0x00005000,
+ kLASpeechKagyouGodan = 0x00005000,
+ kLASpeechSagyouGodan = 0x00005010,
+ kLASpeechTagyouGodan = 0x00005020,
+ kLASpeechNagyouGodan = 0x00005030,
+ kLASpeechMagyouGodan = 0x00005040,
+ kLASpeechRagyouGodan = 0x00005050,
+ kLASpeechWagyouGodan = 0x00005060,
+ kLASpeechGagyouGodan = 0x00005070,
+ kLASpeechBagyouGodan = 0x00005080,
+ kLASpeechIchidanDoushi = 0x00005100,
+ kLASpeechKahenDoushi = 0x00005200,
+ kLASpeechSahenDoushi = 0x00005300,
+ kLASpeechZahenDoushi = 0x00005400,
+ kLASpeechKeiyoushi = 0x00006000, /* adjective */
+ kLASpeechKeiyoudoushi = 0x00007000,
+ kLASpeechSettougo = 0x00008000, /* prefix*/
+ kLASpeechSuujiSettougo = 0x00008100, /* prefix for numbers */
+ kLASpeechSetsubigo = 0x00009000, /* suffix */
+ kLASpeechJinmeiSetsubigo = 0x00009100, /* suffix for person name */
+ kLASpeechChimeiSetsubigo = 0x00009200, /* suffix for place name */
+ kLASpeechSoshikimeiSetsubigo = 0x00009300, /* suffix for organization name */
+ kLASpeechSuujiSetsubigo = 0x00009400, /* suffix for numbers */
+ kLASpeechMuhinshi = 0x0000A000, /* no category */
+ kLASpeechTankanji = 0x0000A000, /* character */
+ kLASpeechKigou = 0x0000A100, /* symbol */
+ kLASpeechKuten = 0x0000A110,
+ kLASpeechTouten = 0x0000A120,
+ kLASpeechSuushi = 0x0000A200, /* numbers */
+ kLASpeechDokuritsugo = 0x0000A300,
+ kLASpeechSeiku = 0x0000A400,
+ kLASpeechJodoushi = 0x0000B000, /* auxiliary verb */
+ kLASpeechJoshi = 0x0000C000 /* postpositional particle */
+};
+
+
+/*
+ Conjugations
+ */
+enum {
+ kLASpeechKatsuyouGokan = 0x00000001, /* stem */
+ kLASpeechKatsuyouMizen = 0x00000002,
+ kLASpeechKatsuyouRenyou = 0x00000003,
+ kLASpeechKatsuyouSyuushi = 0x00000004,
+ kLASpeechKatsuyouRentai = 0x00000005,
+ kLASpeechKatsuyouKatei = 0x00000006,
+ kLASpeechKatsuyouMeirei = 0x00000007
+};
+
+
+
+#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 /* __LANGUAGEANALYSIS__ */
+