diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/Script.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/quicktime_win32/Script.h')
| -rw-r--r-- | common/quicktime_win32/Script.h | 1422 |
1 files changed, 1422 insertions, 0 deletions
diff --git a/common/quicktime_win32/Script.h b/common/quicktime_win32/Script.h new file mode 100644 index 0000000..55131dd --- /dev/null +++ b/common/quicktime_win32/Script.h @@ -0,0 +1,1422 @@ +/* + File: Script.h + + Contains: Script Manager interfaces + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1986-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 __SCRIPT__ +#define __SCRIPT__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __INTLRESOURCES__ +#include <IntlResources.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 + +/* Meta script codes:*/ +enum { + smSystemScript = -1, /* designates system script.*/ + smCurrentScript = -2, /* designates current font script.*/ + smAllScripts = -3 /* designates any script*/ +}; + +/* + Script codes: + These specify a Mac OS encoding that is related to a FOND ID range. + Some of the encodings have several variants (e.g. for different localized systems) + which all share the same script code. + Not all of these script codes are currently supported by Apple software. + Notes: + - Script code 0 (smRoman) is also used (instead of smGreek) for the Greek encoding + in the Greek localized system. + - Script code 28 (smEthiopic) is also used for the Inuit encoding in the Inuktitut + system. +*/ +enum { + smRoman = 0, + smJapanese = 1, + smTradChinese = 2, /* Traditional Chinese*/ + smKorean = 3, + smArabic = 4, + smHebrew = 5, + smGreek = 6, + smCyrillic = 7, + smRSymbol = 8, /* Right-left symbol*/ + smDevanagari = 9, + smGurmukhi = 10, + smGujarati = 11, + smOriya = 12, + smBengali = 13, + smTamil = 14, + smTelugu = 15, + smKannada = 16, /* Kannada/Kanarese*/ + smMalayalam = 17, + smSinhalese = 18, + smBurmese = 19, + smKhmer = 20, /* Khmer/Cambodian*/ + smThai = 21, + smLao = 22, + smGeorgian = 23, + smArmenian = 24, + smSimpChinese = 25, /* Simplified Chinese*/ + smTibetan = 26, + smMongolian = 27, + smEthiopic = 28, + smGeez = 28, /* Synonym for smEthiopic*/ + smCentralEuroRoman = 29, /* For Czech, Slovak, Polish, Hungarian, Baltic langs*/ + smVietnamese = 30, + smExtArabic = 31, /* extended Arabic*/ + smUninterp = 32 /* uninterpreted symbols, e.g. palette symbols*/ +}; + +/* Extended script code for full Unicode input*/ +enum { + smUnicodeScript = 0x7E +}; + +/* Obsolete script code names (kept for backward compatibility):*/ +enum { + smChinese = 2, /* (Use smTradChinese or smSimpChinese)*/ + smRussian = 7, /* Use smCyrillic*/ + /* smMaldivian = 25: deleted, no code for Maldivian*/ + smLaotian = 22, /* Use smLao */ + smAmharic = 28, /* Use smEthiopic or smGeez*/ + smSlavic = 29, /* Use smCentralEuroRoman*/ + smEastEurRoman = 29, /* Use smCentralEuroRoman*/ + smSindhi = 31, /* Use smExtArabic*/ + smKlingon = 32 +}; + +/* + Language codes: + These specify a language implemented using a particular Mac OS encoding. + Not all of these language codes are currently supported by Apple software. +*/ +enum { + langEnglish = 0, /* smRoman script*/ + langFrench = 1, /* smRoman script*/ + langGerman = 2, /* smRoman script*/ + langItalian = 3, /* smRoman script*/ + langDutch = 4, /* smRoman script*/ + langSwedish = 5, /* smRoman script*/ + langSpanish = 6, /* smRoman script*/ + langDanish = 7, /* smRoman script*/ + langPortuguese = 8, /* smRoman script*/ + langNorwegian = 9, /* smRoman script*/ + langHebrew = 10, /* smHebrew script*/ + langJapanese = 11, /* smJapanese script*/ + langArabic = 12, /* smArabic script*/ + langFinnish = 13, /* smRoman script*/ + langGreek = 14, /* Greek script using smRoman script code*/ + langIcelandic = 15, /* modified smRoman/Icelandic script*/ + langMaltese = 16, /* Roman script*/ + langTurkish = 17, /* modified smRoman/Turkish script*/ + langCroatian = 18, /* modified smRoman/Croatian script*/ + langTradChinese = 19, /* Chinese (Mandarin) in traditional characters*/ + langUrdu = 20, /* smArabic script*/ + langHindi = 21, /* smDevanagari script*/ + langThai = 22, /* smThai script*/ + langKorean = 23 /* smKorean script*/ +}; + +enum { + langLithuanian = 24, /* smCentralEuroRoman script*/ + langPolish = 25, /* smCentralEuroRoman script*/ + langHungarian = 26, /* smCentralEuroRoman script*/ + langEstonian = 27, /* smCentralEuroRoman script*/ + langLatvian = 28, /* smCentralEuroRoman script*/ + langSami = 29, /* language of the Sami people of N. Scandinavia */ + langFaroese = 30, /* modified smRoman/Icelandic script */ + langFarsi = 31, /* modified smArabic/Farsi script*/ + langPersian = 31, /* Synonym for langFarsi*/ + langRussian = 32, /* smCyrillic script*/ + langSimpChinese = 33, /* Chinese (Mandarin) in simplified characters*/ + langFlemish = 34, /* smRoman script*/ + langIrishGaelic = 35, /* smRoman or modified smRoman/Celtic script (without dot above) */ + langAlbanian = 36, /* smRoman script*/ + langRomanian = 37, /* modified smRoman/Romanian script*/ + langCzech = 38, /* smCentralEuroRoman script*/ + langSlovak = 39, /* smCentralEuroRoman script*/ + langSlovenian = 40, /* modified smRoman/Croatian script*/ + langYiddish = 41, /* smHebrew script*/ + langSerbian = 42, /* smCyrillic script*/ + langMacedonian = 43, /* smCyrillic script*/ + langBulgarian = 44, /* smCyrillic script*/ + langUkrainian = 45, /* modified smCyrillic/Ukrainian script*/ + langByelorussian = 46, /* smCyrillic script*/ + langBelorussian = 46 /* Synonym for langByelorussian */ +}; + +enum { + langUzbek = 47, /* Cyrillic script*/ + langKazakh = 48, /* Cyrillic script*/ + langAzerbaijani = 49, /* Azerbaijani in Cyrillic script*/ + langAzerbaijanAr = 50, /* Azerbaijani in Arabic script*/ + langArmenian = 51, /* smArmenian script*/ + langGeorgian = 52, /* smGeorgian script*/ + langMoldavian = 53, /* smCyrillic script*/ + langKirghiz = 54, /* Cyrillic script*/ + langTajiki = 55, /* Cyrillic script*/ + langTurkmen = 56, /* Cyrillic script*/ + langMongolian = 57, /* Mongolian in smMongolian script*/ + langMongolianCyr = 58, /* Mongolian in Cyrillic script*/ + langPashto = 59, /* Arabic script*/ + langKurdish = 60, /* smArabic script*/ + langKashmiri = 61, /* Arabic script*/ + langSindhi = 62, /* Arabic script*/ + langTibetan = 63, /* smTibetan script*/ + langNepali = 64, /* smDevanagari script*/ + langSanskrit = 65, /* smDevanagari script*/ + langMarathi = 66, /* smDevanagari script*/ + langBengali = 67, /* smBengali script*/ + langAssamese = 68, /* smBengali script*/ + langGujarati = 69, /* smGujarati script*/ + langPunjabi = 70 /* smGurmukhi script*/ +}; + +enum { + langOriya = 71, /* smOriya script*/ + langMalayalam = 72, /* smMalayalam script*/ + langKannada = 73, /* smKannada script*/ + langTamil = 74, /* smTamil script*/ + langTelugu = 75, /* smTelugu script*/ + langSinhalese = 76, /* smSinhalese script*/ + langBurmese = 77, /* smBurmese script*/ + langKhmer = 78, /* smKhmer script*/ + langLao = 79, /* smLao script*/ + langVietnamese = 80, /* smVietnamese script*/ + langIndonesian = 81, /* smRoman script*/ + langTagalog = 82, /* Roman script*/ + langMalayRoman = 83, /* Malay in smRoman script*/ + langMalayArabic = 84, /* Malay in Arabic script*/ + langAmharic = 85, /* smEthiopic script*/ + langTigrinya = 86, /* smEthiopic script*/ + langOromo = 87, /* smEthiopic script*/ + langSomali = 88, /* smRoman script*/ + langSwahili = 89, /* smRoman script*/ + langKinyarwanda = 90, /* smRoman script*/ + langRuanda = 90, /* synonym for langKinyarwanda*/ + langRundi = 91, /* smRoman script*/ + langNyanja = 92, /* smRoman script*/ + langChewa = 92, /* synonym for langNyanja*/ + langMalagasy = 93, /* smRoman script*/ + langEsperanto = 94 /* Roman script*/ +}; + +enum { + langWelsh = 128, /* modified smRoman/Celtic script*/ + langBasque = 129, /* smRoman script*/ + langCatalan = 130, /* smRoman script*/ + langLatin = 131, /* smRoman script*/ + langQuechua = 132, /* smRoman script*/ + langGuarani = 133, /* smRoman script*/ + langAymara = 134, /* smRoman script*/ + langTatar = 135, /* Cyrillic script*/ + langUighur = 136, /* Arabic script*/ + langDzongkha = 137, /* (lang of Bhutan) smTibetan script*/ + langJavaneseRom = 138, /* Javanese in smRoman script*/ + langSundaneseRom = 139, /* Sundanese in smRoman script*/ + langGalician = 140, /* smRoman script*/ + langAfrikaans = 141 /* smRoman script */ +}; + +enum { + langBreton = 142, /* smRoman or modified smRoman/Celtic script */ + langInuktitut = 143, /* Inuit script using smEthiopic script code */ + langScottishGaelic = 144, /* smRoman or modified smRoman/Celtic script */ + langManxGaelic = 145, /* smRoman or modified smRoman/Celtic script */ + langIrishGaelicScript = 146, /* modified smRoman/Gaelic script (using dot above) */ + langTongan = 147, /* smRoman script */ + langGreekPoly = 148, /* smGreek script */ + langGreenlandic = 149, /* smRoman script */ + langAzerbaijanRoman = 150 /* Azerbaijani in Roman script */ +}; + +enum { + langUnspecified = 32767 /* Special code for use in resources (such as 'itlm') */ +}; + +/* + Obsolete language code names (kept for backward compatibility): + Misspelled, ambiguous, misleading, considered pejorative, archaic, etc. +*/ +enum { + langPortugese = 8, /* Use langPortuguese*/ + langMalta = 16, /* Use langMaltese*/ + langYugoslavian = 18, /* (use langCroatian, langSerbian, etc.)*/ + langChinese = 19, /* (use langTradChinese or langSimpChinese)*/ + langLettish = 28, /* Use langLatvian */ + langLapponian = 29, /* Use langSami*/ + langLappish = 29, /* Use langSami*/ + langSaamisk = 29, /* Use langSami */ + langFaeroese = 30, /* Use langFaroese */ + langIrish = 35, /* Use langIrishGaelic */ + langGalla = 87, /* Use langOromo */ + langAfricaans = 141 /* Use langAfrikaans */ +}; + +/* + Region codes: + These typically specify a combination of a language code and a particular region. + Some of these numeric values are reserved just for extra resource IDs associated + with certain regions; these are not actual region codes, and are noted in the comments. + Not all of the region codes are currently supported by Apple software. + When relevant, the following list also provides: + - The Apple part number (P/N) code for software localized for the specified region. + - The two-letter ISO language and country codes (from ISO 639 and ISO 3166). The + language code (lowercase) is first, then '_', then the country code (uppercase). +*/ + +enum { + /* P/N ISO codes comments*/ + verUS = 0, /* en_US*/ + verFrance = 1, /* F fr_FR*/ + verBritain = 2, /* B en_GB*/ + verGermany = 3, /* D de_DE*/ + verItaly = 4, /* T it_IT*/ + verNetherlands = 5, /* N nl_NL*/ + verFlemish = 6, /* FN nl_BE Flemish (Dutch) for Belgium */ + verSweden = 7, /* S sv_SE*/ + verSpain = 8, /* E es_ES Spanish for Spain*/ + verDenmark = 9, /* DK da_DK*/ + verPortugal = 10, /* PO pt_PT Portuguese for Portugal*/ + verFrCanada = 11, /* C fr_CA French for Canada*/ + verNorway = 12, /* H no_NO,nb_NO Bokm.l*/ + verIsrael = 13, /* HB he_IL,iw_IL Hebrew*/ + verJapan = 14, /* J ja_JP*/ + verAustralia = 15, /* X en_AU English for Australia*/ + verArabic = 16, /* AB ar Arabic for N Africa, Arabian peninsula, Levant*/ + verFinland = 17, /* K fi_FI*/ + verFrSwiss = 18, /* SF fr_CH French Swiss*/ + verGrSwiss = 19, /* SD de_CH German Swiss*/ + verGreece = 20, /* GR el_GR Monotonic Greek (modern)*/ + verIceland = 21, /* IS is_IS*/ + verMalta = 22, /* MA mt_MT*/ + verCyprus = 23, /* CY _CY Greek or Turkish language? Checking...*/ + verTurkey = 24, /* TU tr_TR*/ + verYugoCroatian = 25 /* YU Croatian for Yugoslavia; now use verCroatia (68)*/ +}; + +enum { + verNetherlandsComma = 26, /* ID for KCHR resource - Dutch*/ + verBelgiumLuxPoint = 27, /* ID for KCHR resource - Belgium*/ + verCanadaComma = 28, /* ID for KCHR resource - Canadian ISO*/ + verCanadaPoint = 29, /* ID for KCHR resource - Canadian; now unused*/ + vervariantPortugal = 30, /* ID for resource; now unused*/ + vervariantNorway = 31, /* ID for resource; now unused*/ + vervariantDenmark = 32 /* ID for KCHR resource - Danish Mac Plus*/ +}; + +enum { + verIndiaHindi = 33, /* hi_IN Hindi for India*/ + verPakistanUrdu = 34, /* UR ur_PK Urdu for Pakistan */ + verTurkishModified = 35, + verItalianSwiss = 36, /* ST it_CH Italian Swiss*/ + verInternational = 37, /* Z en English for international use */ + /* 38 is unassigned*/ + verRomania = 39, /* RO ro_RO*/ + verGreecePoly = 40, /* grc Polytonic Greek (classical) */ + verLithuania = 41, /* LT lt_LT*/ + verPoland = 42, /* PL pl_PL*/ + verHungary = 43, /* MG hu_HU*/ + verEstonia = 44, /* EE et_EE*/ + verLatvia = 45, /* LV lv_LV*/ + verSami = 46, /* se */ + verFaroeIsl = 47, /* FA fo_FO */ + verIran = 48, /* PS fa_IR Persian/Farsi*/ + verRussia = 49, /* RS ru_RU Russian*/ + verIreland = 50, /* GA ga_IE Irish Gaelic for Ireland (without dot above) */ + verKorea = 51, /* KH ko_KR*/ + verChina = 52, /* CH zh_CN Simplified Chinese*/ + verTaiwan = 53, /* TA zh_TW Traditional Chinese*/ + verThailand = 54, /* TH th_TH*/ + verScriptGeneric = 55, /* SS Generic script system (no language or script) */ + verCzech = 56, /* CZ cs_CZ*/ + verSlovak = 57, /* SL sk_SK*/ + verFarEastGeneric = 58, /* FE Generic Far East system (no language or script) */ + verMagyar = 59, /* Unused; see verHungary*/ + verBengali = 60, /* bn Bangladesh or India*/ + verByeloRussian = 61 /* BY be_BY*/ +}; + +enum { + verUkraine = 62, /* UA uk_UA*/ + /* 63 is unassigned*/ + verGreeceAlt = 64, /* unused */ + verSerbian = 65, /* SR sr_YU,sh_YU */ + verSlovenian = 66, /* SV sl_SI */ + verMacedonian = 67, /* MD mk_MK */ + verCroatia = 68, /* CR hr_HR,sh_HR*/ + /* 69 is unassigned*/ + verGermanReformed = 70, /* de_DE Reformed orthography (used formerly unassigned 70) */ + verBrazil = 71, /* BR pt_BR Portuguese for Brazil*/ + verBulgaria = 72, /* BG bg_BG*/ + verCatalonia = 73, /* CA ca_ES Catalan for Spain*/ + verMultilingual = 74, /* ZM mul (no language or script)*/ + verScottishGaelic = 75, /* GD gd*/ + verManxGaelic = 76, /* GV gv Isle of Man*/ + verBreton = 77, /* BZ br*/ + verNunavut = 78, /* IU iu_CA Inuktitut for Canada*/ + verWelsh = 79, /* CU cy*/ + /* 80 is ID for KCHR resource - Canadian CSA*/ + verIrishGaelicScript = 81, /* GS ga_IE Irish Gaelic for Ireland (using dot above)*/ + verEngCanada = 82, /* V en_CA English for Canada*/ + verBhutan = 83, /* BH dz_BT Dzongkha for Bhutan*/ + verArmenian = 84, /* HY hy_AM*/ + verGeorgian = 85, /* KR ka_GE*/ + verSpLatinAmerica = 86, /* LA es Spanish for Latin America*/ + /* 87 is ID for KCHR resource - Spanish ISO*/ + verTonga = 88, /* TS to_TO*/ + /* 89 is ID for KCHR resource - Polish Modified*/ + /* 90 is ID for KCHR resource - Catalan ISO*/ + verFrenchUniversal = 91, /* fr French generic*/ + verAustria = 92, /* AU de_AT German for Austria*/ + /* Y 93 is unused alternate for verSpLatinAmerica*/ + verGujarati = 94, /* gu_IN*/ + verPunjabi = 95, /* pa Pakistan or India*/ + verIndiaUrdu = 96, /* ur_IN Urdu for India*/ + verVietnam = 97 /* vi_VN*/ +}; + +enum { + verFrBelgium = 98, /* BF fr_BE French for Belgium */ + verUzbek = 99, /* BD uz_UZ */ + verSingapore = 100, /* SG */ + verNynorsk = 101, /* NY nn_NO Norwegian Nynorsk */ + verAfrikaans = 102, /* AK af_ZA */ + verEsperanto = 103, /* eo */ + verMarathi = 104, /* mr_IN */ + verTibetan = 105, /* bo */ + verNepal = 106, /* ne_NP */ + verGreenland = 107, /* kl */ + verIrelandEnglish = 108 /* en_IE English for Ireland, with Euro for currency*/ +}; + +/* + Other extra resource IDs assigned in the same number space: + 179 is ID for KCHR & itl_ resources - Cornish + 581 is ID for KCHR resource - Irish Gaelic script alternate + 582 is ID for KCHR resource - Ogham + 779 is ID for KCHR resource - Welsh alternate + 1111 is ID for KCHR resource - French numeric +*/ + +/* + Obsolete region code names (kept for backward compatibility): + Misspelled or alternate form, ambiguous, misleading, considered pejorative, archaic, etc. +*/ +enum { + verFrBelgiumLux = 6, /* Incorrect; 6 is Flemish, not French, for Belgium; use verFlemish */ + verBelgiumLux = 6, /* Use verFlemish*/ + verArabia = 16, /* Use verArabic*/ + verYugoslavia = 25, /* Use verYugoCroatian (same number, now unused), or newer verCroatia*/ + verIndia = 33, /* Use verIndiaHindi*/ + verPakistan = 34, /* Use verPakistanUrdu */ + verRumania = 39, /* Alternate for verRomania */ + verGreekAncient = 40, /* Use verGreecePoly */ + verLapland = 46, /* Use verSami */ + verFaeroeIsl = 47, /* Use verFaroeIsl */ + verGenericFE = 58, /* Use verFarEastGeneric */ + verBelarus = 61, /* Alternate for verByelorussian */ + verUkrania = 62, /* Use verUkraine*/ + verAlternateGr = 64, /* Use verGreeceAlt */ + verSerbia = 65, /* Alternate for verSerbian */ + verSlovenia = 66, /* Alternate for verSlovenian */ + verMacedonia = 67, /* Alternate for verMacedonian */ + verBrittany = 77, /* Alternate for verBreton */ + verWales = 79, /* Alternate for verWelsh */ + verArmenia = 84, /* Alternate for verArmenian */ + verGeorgia = 85, /* Alternate for verGeorgian */ + verAustriaGerman = 92, /* Use verAustria */ + verTibet = 105 /* Use verTibetan */ +}; + +enum { + minCountry = verUS, + maxCountry = verGreenland +}; + +enum { + /* Calendar Codes */ + calGregorian = 0, + calArabicCivil = 1, + calArabicLunar = 2, + calJapanese = 3, + calJewish = 4, + calCoptic = 5, + calPersian = 6 +}; + +enum { + /* Integer Format Codes */ + intWestern = 0, + intArabic = 1, + intRoman = 2, + intJapanese = 3, + intEuropean = 4, + intOutputMask = 0x8000 +}; + +enum { + /* CharByte byte types */ + smSingleByte = 0, + smFirstByte = -1, + smLastByte = 1, + smMiddleByte = 2 +}; + +enum { + /* CharType field masks */ + smcTypeMask = 0x000F, + smcReserved = 0x00F0, + smcClassMask = 0x0F00, + smcOrientationMask = 0x1000, /*two-byte script glyph orientation*/ + smcRightMask = 0x2000, + smcUpperMask = 0x4000, + smcDoubleMask = 0x8000 +}; + +enum { + /* Basic CharType character types */ + smCharPunct = 0x0000, + smCharAscii = 0x0001, + smCharEuro = 0x0007, + smCharExtAscii = 0x0007, /* More correct synonym for smCharEuro */ + /* Additional CharType character types for script systems */ + smCharKatakana = 0x0002, /*Japanese Katakana*/ + smCharHiragana = 0x0003, /*Japanese Hiragana*/ + smCharIdeographic = 0x0004, /*Hanzi, Kanji, Hanja*/ + smCharTwoByteGreek = 0x0005, /*2-byte Greek in Far East systems*/ + smCharTwoByteRussian = 0x0006, /*2-byte Cyrillic in Far East systems*/ + smCharBidirect = 0x0008, /*Arabic/Hebrew*/ + smCharContextualLR = 0x0009, /*Contextual left-right: Thai, Indic scripts*/ + smCharNonContextualLR = 0x000A, /*Non-contextual left-right: Cyrillic, Greek*/ + smCharHangul = 0x000C, /*Korean Hangul*/ + smCharJamo = 0x000D, /*Korean Jamo*/ + smCharBopomofo = 0x000E, /*Chinese Bopomofo*/ + smCharGanaKana = 0x000F, /*Shared for Japanese Hiragana & Katakana*/ + /* old names for some of above, for backward compatibility */ + smCharFISKana = 0x0002, /*Katakana*/ + smCharFISGana = 0x0003, /*Hiragana*/ + smCharFISIdeo = 0x0004 /*Hanzi, Kanji, Hanja*/ +}; + +enum { + smCharFISGreek = 0x0005, /*2-byte Greek in Far East systems*/ + smCharFISRussian = 0x0006, /*2-byte Cyrillic in Far East systems*/ + /* CharType classes for punctuation (smCharPunct) */ + smPunctNormal = 0x0000, + smPunctNumber = 0x0100, + smPunctSymbol = 0x0200, + smPunctBlank = 0x0300, /* Additional CharType classes for punctuation in two-byte systems */ + smPunctRepeat = 0x0400, /* repeat marker */ + smPunctGraphic = 0x0500, /* line graphics */ + /* CharType Katakana and Hiragana classes for two-byte systems */ + smKanaSmall = 0x0100, /*small kana character*/ + smKanaHardOK = 0x0200, /*can have dakuten*/ + smKanaSoftOK = 0x0300, /*can have dakuten or han-dakuten*/ + /* CharType Ideographic classes for two-byte systems */ + smIdeographicLevel1 = 0x0000, /*level 1 char*/ + smIdeographicLevel2 = 0x0100, /*level 2 char*/ + smIdeographicUser = 0x0200, /*user char*/ + /* old names for above, for backward compatibility */ + smFISClassLvl1 = 0x0000, /*level 1 char*/ + smFISClassLvl2 = 0x0100, /*level 2 char*/ + smFISClassUser = 0x0200, /*user char*/ + /* CharType Jamo classes for Korean systems */ + smJamoJaeum = 0x0000, /*simple consonant char*/ + smJamoBogJaeum = 0x0100, /*complex consonant char*/ + smJamoMoeum = 0x0200, /*simple vowel char*/ + smJamoBogMoeum = 0x0300 /*complex vowel char*/ +}; + +enum { + /* CharType glyph orientation for two-byte systems */ + smCharHorizontal = 0x0000, /* horizontal character form, or for both */ + smCharVertical = 0x1000, /* vertical character form */ + /* CharType directions */ + smCharLeft = 0x0000, + smCharRight = 0x2000, /* CharType case modifers */ + smCharLower = 0x0000, + smCharUpper = 0x4000, /* CharType character size modifiers (1 or multiple bytes). */ + smChar1byte = 0x0000, + smChar2byte = 0x8000 +}; + +enum { + /* TransliterateText target types for Roman */ + smTransAscii = 0, /*convert to ASCII*/ + smTransNative = 1, /*convert to font script*/ + smTransCase = 0xFE, /*convert case for all text*/ + smTransSystem = 0xFF, /*convert to system script*/ + /* TransliterateText target types for two-byte scripts */ + smTransAscii1 = 2, /*1-byte Roman*/ + smTransAscii2 = 3, /*2-byte Roman*/ + smTransKana1 = 4, /*1-byte Japanese Katakana*/ + smTransKana2 = 5 /*2-byte Japanese Katakana*/ +}; + +enum { + smTransGana2 = 7, /*2-byte Japanese Hiragana (no 1-byte Hiragana)*/ + smTransHangul2 = 8, /*2-byte Korean Hangul*/ + smTransJamo2 = 9, /*2-byte Korean Jamo*/ + smTransBopomofo2 = 10, /*2-byte Chinese Bopomofo*/ + /* TransliterateText target modifiers */ + smTransLower = 0x4000, /*target becomes lowercase*/ + smTransUpper = 0x8000, /*target becomes uppercase*/ + /* TransliterateText resource format numbers */ + smTransRuleBaseFormat = 1, /*Rule based trsl resource format */ + smTransHangulFormat = 2, /*Table based Hangul trsl resource format*/ + /* TransliterateText property flags */ + smTransPreDoubleByting = 1, /*Convert all text to double byte before transliteration*/ + smTransPreLowerCasing = 2 /*Convert all text to lower case before transliteration*/ +}; + +enum { + /* TransliterateText source mask - general */ + smMaskAll = (long)0xFFFFFFFF, /*Convert all text*/ + /* TransliterateText source masks */ + smMaskAscii = 0x00000001, /*2^smTransAscii*/ + smMaskNative = 0x00000002, /*2^smTransNative*/ + /* TransliterateText source masks for two-byte scripts */ + smMaskAscii1 = 0x00000004, /*2^smTransAscii1*/ + smMaskAscii2 = 0x00000008, /*2^smTransAscii2*/ + smMaskKana1 = 0x00000010, /*2^smTransKana1*/ + smMaskKana2 = 0x00000020, /*2^smTransKana2*/ + smMaskGana2 = 0x00000080, /*2^smTransGana2*/ + smMaskHangul2 = 0x00000100, /*2^smTransHangul2*/ + smMaskJamo2 = 0x00000200, /*2^smTransJamo2*/ + smMaskBopomofo2 = 0x00000400 /*2^smTransBopomofo2*/ +}; + +enum { + /* Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. */ + smNotInstalled = 0, /*routine not available in script*/ + smBadVerb = -1, /*Bad verb passed to a routine*/ + smBadScript = -2 /*Bad script code passed to a routine*/ +}; + +enum { + /* Values for script redraw flag. */ + smRedrawChar = 0, /*Redraw character only*/ + smRedrawWord = 1, /*Redraw entire word (2-byte systems)*/ + smRedrawLine = -1 /*Redraw entire line (bidirectional systems)*/ +}; + +enum { + /* GetScriptManagerVariable and SetScriptManagerVariable verbs */ + smVersion = 0, /*Script Manager version number*/ + smMunged = 2, /*Globals change count*/ + smEnabled = 4, /*Count of enabled scripts, incl Roman*/ + smBidirect = 6, /*At least one bidirectional script*/ + smFontForce = 8, /*Force font flag*/ + smIntlForce = 10, /*Force intl flag*/ + smForced = 12, /*Script was forced to system script*/ + smDefault = 14, /*Script was defaulted to Roman script*/ + smPrint = 16, /*Printer action routine*/ + smSysScript = 18, /*System script*/ + smLastScript = 20, /*Last keyboard script*/ + smKeyScript = 22, /*Keyboard script*/ + smSysRef = 24, /*System folder refNum*/ + smKeyCache = 26, /*obsolete*/ + smKeySwap = 28, /*Swapping table handle*/ + smGenFlags = 30, /*General flags long*/ + smOverride = 32, /*Script override flags*/ + smCharPortion = 34, /*Ch vs SpExtra proportion*/ + /* New for System 7.0: */ + smDoubleByte = 36, /*Flag for double-byte script installed*/ + smKCHRCache = 38, /*Returns pointer to KCHR cache*/ + smRegionCode = 40, /*Returns current region code (verXxx)*/ + smKeyDisableState = 42 /*Returns current keyboard disable state*/ +}; + +enum { + /* GetScriptVariable and SetScriptVariable verbs. */ + /* Note: Verbs private to script systems are negative, while */ + /* those general across script systems are non-negative. */ + smScriptVersion = 0, /*Script software version*/ + smScriptMunged = 2, /*Script entry changed count*/ + smScriptEnabled = 4, /*Script enabled flag*/ + smScriptRight = 6, /*Right to left flag*/ + smScriptJust = 8, /*Justification flag*/ + smScriptRedraw = 10, /*Word redraw flag*/ + smScriptSysFond = 12, /*Preferred system font*/ + smScriptAppFond = 14, /*Preferred Application font*/ + smScriptBundle = 16, /*Beginning of itlb verbs*/ + smScriptNumber = 16, /*Script itl0 id*/ + smScriptDate = 18, /*Script itl1 id*/ + smScriptSort = 20, /*Script itl2 id*/ + smScriptFlags = 22, /*flags word*/ + smScriptToken = 24, /*Script itl4 id*/ + smScriptEncoding = 26, /*id of optional itl5, if present*/ + smScriptLang = 28 /*Current language for script*/ +}; + +enum { + smScriptNumDate = 30, /*Script Number/Date formats.*/ + smScriptKeys = 32, /*Script KCHR id*/ + smScriptIcon = 34, /*ID # of SICN or kcs#/kcs4/kcs8 suite*/ + smScriptPrint = 36, /*Script printer action routine*/ + smScriptTrap = 38, /*Trap entry pointer*/ + smScriptCreator = 40, /*Script file creator*/ + smScriptFile = 42, /*Script file name*/ + smScriptName = 44, /*Script name*/ + /* There is a hole here for old Kanji private verbs 46-76 */ + /* New for System 7.0: */ + smScriptMonoFondSize = 78, /*default monospace FOND (hi) & size (lo)*/ + smScriptPrefFondSize = 80, /*preferred FOND (hi) & size (lo)*/ + smScriptSmallFondSize = 82, /*default small FOND (hi) & size (lo)*/ + smScriptSysFondSize = 84, /*default system FOND (hi) & size (lo)*/ + smScriptAppFondSize = 86, /*default app FOND (hi) & size (lo)*/ + smScriptHelpFondSize = 88, /*default Help Mgr FOND (hi) & size (lo)*/ + smScriptValidStyles = 90, /*mask of valid styles for script*/ + smScriptAliasStyle = 92 /*style (set) to use for aliases*/ +}; + +/* special negative verbs for Get/SetScriptVariable that were associated with WorldScriptI */ +/* move them here to be public */ +enum { + /* WorldScript private verbs */ + smLayoutCache = -309, /* HiWrd(param) is # entries, LoWrd is max input length*/ + smOldVerbSupport = -311, /* param is added to old verbs to map to WSI verb*/ + smSetKashidas = -291, /* param is ON or OFF, old verb = -36*/ + smSetKashProp = -287, /* param is kashida proportion, old verb = -32*/ + smScriptSysBase = -281, /* param is associated font to use w/ system font (old verb = -26)*/ + smScriptAppBase = -283, /* param is associated font to use w/ app font (old verb = -28)*/ + smScriptFntBase = -285, /* param is associated font to use w/ all other fonts (old verb = -30)*/ + smScriptLigatures = -263, /* old verb = -8*/ + smScriptNumbers = -267 /* old verb = -12*/ +}; + +enum { + /* Special script code values for International Utilities */ + iuSystemScript = -1, /* <obsolete> system script */ + iuCurrentScript = -2 /* <obsolete> current script (for font of grafPort) */ +}; + +enum { + /* Negative verbs for KeyScript */ + smKeyNextScript = -1, /* Switch to next available script */ + smKeySysScript = -2, /* Switch to the system script */ + smKeySwapScript = -3, /* Switch to previously-used script */ + /* New for System 7.0: */ + smKeyNextKybd = -4, /* Switch to next keyboard in current keyscript */ + smKeySwapKybd = -5, /* Switch to previously-used keyboard in current keyscript */ + smKeyDisableKybds = -6, /* Disable keyboards not in system or Roman script */ + smKeyEnableKybds = -7, /* Re-enable keyboards for all enabled scripts */ + smKeyToggleInline = -8, /* Toggle inline input for current keyscript */ + smKeyToggleDirection = -9, /* Toggle default line direction (TESysJust) */ + smKeyNextInputMethod = -10, /* Switch to next input method in current keyscript */ + smKeySwapInputMethod = -11, /* Switch to last-used input method in current keyscript */ + smKeyDisableKybdSwitch = -12, /* Disable switching from the current keyboard */ + smKeySetDirLeftRight = -15, /* Set default line dir to left-right, align left */ + smKeySetDirRightLeft = -16, /* Set default line dir to right-left, align right */ + smKeyRoman = -17 /* Set keyscript to Roman. Does nothing if Roman-only system, unlike KeyScript(smRoman) which forces an update to current default Roman keyboard */ +}; + +/* Optional font and keyboard script synchronization */ +enum { + /* One more flag in the smGenFlags long. */ + smfDisableKeyScriptSync = 27 /*Disable font and keyboard script synchronization*/ +}; + +enum { + /* We should define masks, too. */ + smfDisableKeyScriptSyncMask = 1L << smfDisableKeyScriptSync /*Disable font and keyboard script synchronization mask*/ +}; + +enum { + /* Force keyboard script switching flag and mask for zero and positive KeyScript verbs */ + smKeyForceKeyScriptBit = 7, /* Force keyboard script switching flag */ + smKeyForceKeyScriptMask = 1 << smKeyForceKeyScriptBit /* its mask */ +}; + +enum { + /* Bits in the smScriptFlags word */ + /* (bits above 8 are non-static) */ + smsfIntellCP = 0, /*Script has intelligent cut & paste*/ + smsfSingByte = 1, /*Script has only single bytes*/ + smsfNatCase = 2, /*Native chars have upper & lower case*/ + smsfContext = 3, /*Script is contextual*/ + smsfNoForceFont = 4, /*Script will not force characters*/ + smsfB0Digits = 5, /*Script has alternate digits at B0-B9*/ + smsfAutoInit = 6, /*Auto initialize the script*/ + smsfUnivExt = 7, /*Script is handled by universal extension*/ + smsfSynchUnstyledTE = 8, /*Script synchronizes for unstyled TE*/ + smsfForms = 13, /*Uses contextual forms for letters*/ + smsfLigatures = 14, /*Uses contextual ligatures*/ + smsfReverse = 15, /*Reverses native text, right-left*/ + /* Bits in the smGenFlags long. */ + /* First (high-order) byte is set from itlc flags byte. */ + smfShowIcon = 31, /*Show icon even if only one script*/ + smfDualCaret = 30, /*Use dual caret for mixed direction text*/ + smfNameTagEnab = 29, /*Reserved for internal use*/ + smfUseAssocFontInfo = 28 /*Use the associated font info for FontMetrics calls <48>*/ +}; + +enum { + /* Roman script constants */ + /* The following are here for backward compatibility, but should not be used. */ + /* This information should be obtained using GetScript. */ + romanSysFond = 0x3FFF, /*system font id number*/ + romanAppFond = 3, /*application font id number*/ + romanFlags = 0x0007, /*roman settings*/ + /* Script Manager font equates. */ + smFondStart = 0x4000, /*start from 16K*/ + smFondEnd = 0xC000, /*past end of range at 48K*/ + /* Miscellaneous font equates. */ + smUprHalfCharSet = 0x80 /*first char code in top half of std char set*/ +}; + +enum { + /* Character Set Extensions */ + diaeresisUprY = 0xD9, + fraction = 0xDA, + intlCurrency = 0xDB, + leftSingGuillemet = 0xDC, + rightSingGuillemet = 0xDD, + fiLigature = 0xDE, + flLigature = 0xDF, + dblDagger = 0xE0, + centeredDot = 0xE1, + baseSingQuote = 0xE2, + baseDblQuote = 0xE3, + perThousand = 0xE4, + circumflexUprA = 0xE5, + circumflexUprE = 0xE6, + acuteUprA = 0xE7, + diaeresisUprE = 0xE8, + graveUprE = 0xE9, + acuteUprI = 0xEA, + circumflexUprI = 0xEB, + diaeresisUprI = 0xEC, + graveUprI = 0xED, + acuteUprO = 0xEE, + circumflexUprO = 0xEF, + appleLogo = 0xF0, + graveUprO = 0xF1, + acuteUprU = 0xF2, + circumflexUprU = 0xF3, + graveUprU = 0xF4, + dotlessLwrI = 0xF5, + circumflex = 0xF6, + tilde = 0xF7, + macron = 0xF8, + breveMark = 0xF9, + overDot = 0xFA, + ringMark = 0xFB, + cedilla = 0xFC, + doubleAcute = 0xFD, + ogonek = 0xFE, + hachek = 0xFF +}; + +enum { + /* ScriptTokenType values */ + tokenIntl = 4, /*the itl resource number of the tokenizer*/ + tokenEmpty = -1 /*used internally as an empty flag*/ +}; + +enum { + tokenUnknown = 0, /*chars that do not match a defined token type*/ + tokenWhite = 1, /*white space*/ + tokenLeftLit = 2, /*literal begin*/ + tokenRightLit = 3, /*literal end*/ + tokenAlpha = 4, /*alphabetic*/ + tokenNumeric = 5, /*numeric*/ + tokenNewLine = 6, /*new line*/ + tokenLeftComment = 7, /*open comment*/ + tokenRightComment = 8, /*close comment*/ + tokenLiteral = 9, /*literal*/ + tokenEscape = 10, /*character escape (e.g. '\' in "\n", "\t")*/ + tokenAltNum = 11, /*alternate number (e.g. $B0-B9 in Arabic,Hebrew)*/ + tokenRealNum = 12, /*real number*/ + tokenAltReal = 13, /*alternate real number*/ + tokenReserve1 = 14, /*reserved*/ + tokenReserve2 = 15, /*reserved*/ + tokenLeftParen = 16, /*open parenthesis*/ + tokenRightParen = 17, /*close parenthesis*/ + tokenLeftBracket = 18, /*open square bracket*/ + tokenRightBracket = 19 /*close square bracket*/ +}; + +enum { + tokenLeftCurly = 20, /*open curly bracket*/ + tokenRightCurly = 21, /*close curly bracket*/ + tokenLeftEnclose = 22, /*open guillemet*/ + tokenRightEnclose = 23, /*close guillemet*/ + tokenPlus = 24, + tokenMinus = 25, + tokenAsterisk = 26, /*times/multiply*/ + tokenDivide = 27, + tokenPlusMinus = 28, /*plus or minus symbol*/ + tokenSlash = 29, + tokenBackSlash = 30, + tokenLess = 31, /*less than symbol*/ + tokenGreat = 32, /*greater than symbol*/ + tokenEqual = 33, + tokenLessEqual2 = 34, /*less than or equal, 2 characters (e.g. <=)*/ + tokenLessEqual1 = 35, /*less than or equal, 1 character*/ + tokenGreatEqual2 = 36, /*greater than or equal, 2 characters (e.g. >=)*/ + tokenGreatEqual1 = 37, /*greater than or equal, 1 character*/ + token2Equal = 38, /*double equal (e.g. ==)*/ + tokenColonEqual = 39 /*colon equal*/ +}; + +enum { + tokenNotEqual = 40, /*not equal, 1 character*/ + tokenLessGreat = 41, /*less/greater, Pascal not equal (e.g. <>)*/ + tokenExclamEqual = 42, /*exclamation equal, C not equal (e.g. !=)*/ + tokenExclam = 43, /*exclamation point*/ + tokenTilde = 44, /*centered tilde*/ + tokenComma = 45, + tokenPeriod = 46, + tokenLeft2Quote = 47, /*open double quote*/ + tokenRight2Quote = 48, /*close double quote*/ + tokenLeft1Quote = 49, /*open single quote*/ + tokenRight1Quote = 50, /*close single quote*/ + token2Quote = 51, /*double quote*/ + token1Quote = 52, /*single quote*/ + tokenSemicolon = 53, + tokenPercent = 54, + tokenCaret = 55, + tokenUnderline = 56, + tokenAmpersand = 57, + tokenAtSign = 58, + tokenBar = 59 /*vertical bar*/ +}; + +enum { + tokenQuestion = 60, + tokenPi = 61, /*lower-case pi*/ + tokenRoot = 62, /*square root symbol*/ + tokenSigma = 63, /*capital sigma*/ + tokenIntegral = 64, /*integral sign*/ + tokenMicro = 65, + tokenCapPi = 66, /*capital pi*/ + tokenInfinity = 67, + tokenColon = 68, + tokenHash = 69, /*e.g. #*/ + tokenDollar = 70, + tokenNoBreakSpace = 71, /*non-breaking space*/ + tokenFraction = 72, + tokenIntlCurrency = 73, + tokenLeftSingGuillemet = 74, + tokenRightSingGuillemet = 75, + tokenPerThousand = 76, + tokenEllipsis = 77, + tokenCenterDot = 78, + tokenNil = 127 +}; + +enum { + delimPad = -2, /* obsolete, misspelled token names kept for backward compatibility */ + tokenTilda = 44, + tokenCarat = 55 +}; + +enum { + /* Table selectors for GetItlTable */ + smWordSelectTable = 0, /* get word select break table from 'itl2' */ + smWordWrapTable = 1, /* get word wrap break table from 'itl2' */ + smNumberPartsTable = 2, /* get default number parts table from 'itl4' */ + smUnTokenTable = 3, /* get unToken table from 'itl4' */ + smWhiteSpaceList = 4, /* get white space list from 'itl4' */ + iuWordSelectTable = 0, /* <obsolete> get word select break table from 'itl2' */ + iuWordWrapTable = 1, /* <obsolete> get word wrap break table from 'itl2' */ + iuNumberPartsTable = 2, /* <obsolete> get default number parts table from 'itl4' */ + iuUnTokenTable = 3, /* <obsolete> get unToken table from 'itl4' */ + iuWhiteSpaceList = 4 /* <obsolete> get white space list from 'itl4' */ +}; + +/* end of stuff moved from Packages.h */ +enum { + tokenOK = 0, /* TokenResults */ + tokenOverflow = 1, /* TokenResults */ + stringOverflow = 2, /* TokenResults */ + badDelim = 3, /* TokenResults */ + badEnding = 4, /* TokenResults */ + crash = 5 /* TokenResults */ +}; + +typedef SInt8 TokenResults; +typedef char CharByteTable[256]; +/* "TokenType" was renamed to "ScriptTokenType" because of a name collisions*/ +typedef short ScriptTokenType; +#if TARGET_OS_MAC +typedef ScriptTokenType TokenType; +#endif /* TARGET_OS_MAC */ + +typedef ScriptTokenType DelimType[2]; +typedef ScriptTokenType CommentType[4]; +struct TokenRec { + ScriptTokenType theToken; + Ptr position; /*pointer into original source*/ + long length; /*length of text in original source*/ + StringPtr stringPosition; /*Pascal/C string copy of identifier*/ +}; +typedef struct TokenRec TokenRec; +typedef TokenRec * TokenRecPtr; +struct TokenBlock { + Ptr source; /*pointer to stream of characters*/ + long sourceLength; /*length of source stream*/ + Ptr tokenList; /*pointer to array of tokens*/ + long tokenLength; /*maximum length of TokenList*/ + long tokenCount; /*number tokens generated by tokenizer*/ + Ptr stringList; /*pointer to stream of identifiers*/ + long stringLength; /*length of string list*/ + long stringCount; /*number of bytes currently used*/ + Boolean doString; /*make strings & put into StringList*/ + Boolean doAppend; /*append to TokenList rather than replace*/ + Boolean doAlphanumeric; /*identifiers may include numeric*/ + Boolean doNest; /*do comments nest?*/ + ScriptTokenType leftDelims[2]; + ScriptTokenType rightDelims[2]; + ScriptTokenType leftComment[4]; + ScriptTokenType rightComment[4]; + ScriptTokenType escapeCode; /*escape symbol code*/ + ScriptTokenType decimalCode; + Handle itlResource; /*handle to itl4 resource of current script*/ + long reserved[8]; /*must be zero!*/ +}; +typedef struct TokenBlock TokenBlock; +typedef TokenBlock * TokenBlockPtr; +/* + * GetSysDirection() + * + * 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 ) +GetSysDirection(void) TWOWORDINLINE(0x3EB8, 0x0BAC); + + +/* + * SetSysDirection() + * + * 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 ) +SetSysDirection(short value) TWOWORDINLINE(0x31DF, 0x0BAC); + + +/* + * FontScript() + * + * 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 ) +FontScript(void) FOURWORDINLINE(0x2F3C, 0x8200, 0x0000, 0xA8B5); + + +/* + * IntlScript() + * + * 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 ) +IntlScript(void) FOURWORDINLINE(0x2F3C, 0x8200, 0x0002, 0xA8B5); + + +/* + * FontToScript() + * + * 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 ) +FontToScript(short fontNumber) FOURWORDINLINE(0x2F3C, 0x8202, 0x0006, 0xA8B5); + + +/* + * GetScriptManagerVariable() + * + * 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( long ) +GetScriptManagerVariable(short selector) FOURWORDINLINE(0x2F3C, 0x8402, 0x0008, 0xA8B5); + + +/* + * SetScriptManagerVariable() + * + * 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 ) +SetScriptManagerVariable( + short selector, + long param) FOURWORDINLINE(0x2F3C, 0x8206, 0x000A, 0xA8B5); + + +/* + * GetScriptVariable() + * + * 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( long ) +GetScriptVariable( + short script, + short selector) FOURWORDINLINE(0x2F3C, 0x8404, 0x000C, 0xA8B5); + + +/* + * SetScriptVariable() + * + * 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 ) +SetScriptVariable( + short script, + short selector, + long param) FOURWORDINLINE(0x2F3C, 0x8208, 0x000E, 0xA8B5); + + +/* + * CharacterByteType() + * + * 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 ) +CharacterByteType( + Ptr textBuf, + short textOffset, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC206, 0x0010, 0xA8B5); + + +/* + * CharacterType() + * + * 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 ) +CharacterType( + Ptr textBuf, + short textOffset, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC206, 0x0012, 0xA8B5); + + +/* + * TransliterateText() + * + * 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 ) +TransliterateText( + Handle srcHandle, + Handle dstHandle, + short target, + long srcMask, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC20E, 0x0018, 0xA8B5); + + +/* + * FillParseTable() + * + * 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 ) +FillParseTable( + CharByteTable table, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC204, 0x0022, 0xA8B5); + + +/* + * GetIntlResource() + * + * 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( Handle ) +GetIntlResource(short theID) THREEWORDINLINE(0x3F3C, 0x0006, 0xA9ED); + + +/* + * ClearIntlResourceCache() + * + * 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 ) +ClearIntlResourceCache(void) THREEWORDINLINE(0x3F3C, 0x0018, 0xA9ED); + + +/* + * GetIntlResourceTable() + * + * 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 ) +GetIntlResourceTable( + ScriptCode script, + short tableCode, + Handle * itlHandle, + long * offset, + long * length) THREEWORDINLINE(0x3F3C, 0x0024, 0xA9ED); + + +#if CALL_NOT_IN_CARBON +/* + * GetScriptUtilityAddress() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( UniversalProcPtr ) +GetScriptUtilityAddress( + short selector, + Boolean Before, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC404, 0x0038, 0xA8B5); + + +/* + * SetScriptUtilityAddress() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +SetScriptUtilityAddress( + short selector, + Boolean Before, + UniversalProcPtr routineAddr, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC008, 0x003A, 0xA8B5); + + +/* + * GetScriptQDPatchAddress() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( UniversalProcPtr ) +GetScriptQDPatchAddress( + short trapNum, + Boolean Before, + Boolean forPrinting, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC406, 0x003C, 0xA8B5); + + +/* + * SetScriptQDPatchAddress() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +SetScriptQDPatchAddress( + short trapNum, + Boolean Before, + Boolean forPrinting, + UniversalProcPtr routineAddr, + ScriptCode script) FOURWORDINLINE(0x2F3C, 0xC00A, 0x003E, 0xA8B5); + + +/* + * SetIntlResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +SetIntlResource( + short refNum, + short theID, + Handle intlHandle) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9ED); + + +/* + * CharByte() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( short ) +CharByte( + Ptr textBuf, + short textOffset) FOURWORDINLINE(0x2F3C, 0x8206, 0x0010, 0xA8B5); + + +/* + * CharType() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( short ) +CharType( + Ptr textBuf, + short textOffset) FOURWORDINLINE(0x2F3C, 0x8206, 0x0012, 0xA8B5); + + +/* + * Transliterate() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( OSErr ) +Transliterate( + Handle srcHandle, + Handle dstHandle, + short target, + long srcMask) FOURWORDINLINE(0x2F3C, 0x820E, 0x0018, 0xA8B5); + + +/* + * ParseTable() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( Boolean ) +ParseTable(CharByteTable table) FOURWORDINLINE(0x2F3C, 0x8204, 0x0022, 0xA8B5); + + + +#endif /* CALL_NOT_IN_CARBON */ + +/* + * IntlTokenize() + * + * 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( TokenResults ) +IntlTokenize(TokenBlockPtr tokenParam) FOURWORDINLINE(0x2F3C, 0x8204, 0xFFFA, 0xA8B5); + + +#if OLDROUTINENAMES +#define SetSysJust(newJust) SetSysDirection(newJust) +#define GetSysJust() GetSysDirection() +#define Font2Script(fontNumber) FontToScript(fontNumber) +#define GetEnvirons(verb) GetScriptManagerVariable(verb) +#define SetEnvirons(verb, param) SetScriptManagerVariable(verb, param) +#define GetScript(script, verb) GetScriptVariable(script, verb) +#define SetScript(script, verb, param) SetScriptVariable(script, verb, param) +#define IUGetIntl(theID) GetIntlResource(theID) +#define IUSetIntl(refNum, theID, intlHandle) SetIntlResource(refNum, theID, intlHandle) +#define IUClearCache() ClearIntlResourceCache() +#define IUGetItlTable(script, tableCode, itlHandle, offset, length) \ + GetIntlResourceTable(script, tableCode, itlHandle, offset, length) +#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 /* __SCRIPT__ */ + |