/* File: Script.r Contains: Script Manager interfaces Version: Technology: System 7.5+ Release: QuickTime 4.0 Copyright: © 1986-1998 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_R__ #define __SCRIPT_R__ #ifndef __CONDITIONALMACROS_R__ #include "ConditionalMacros.r" #endif #define smSystemScript (-1) /* designates system script. */ #define smCurrentScript (-2) /* designates current font script. */ #define smAllScripts (-3) /* designates any script */ #define smRoman 0 #define smJapanese 1 #define smTradChinese 2 /* Traditional Chinese */ #define smKorean 3 #define smArabic 4 #define smHebrew 5 #define smGreek 6 #define smCyrillic 7 #define smRSymbol 8 /* Right-left symbol */ #define smDevanagari 9 #define smGurmukhi 10 #define smGujarati 11 #define smOriya 12 #define smBengali 13 #define smTamil 14 #define smTelugu 15 #define smKannada 16 /* Kannada/Kanarese */ #define smMalayalam 17 #define smSinhalese 18 #define smBurmese 19 #define smKhmer 20 /* Khmer/Cambodian */ #define smThai 21 #define smLao 22 #define smGeorgian 23 #define smArmenian 24 #define smSimpChinese 25 /* Simplified Chinese */ #define smTibetan 26 #define smMongolian 27 #define smEthiopic 28 #define smGeez 28 /* Synonym for smEthiopic */ #define smCentralEuroRoman 29 /* For Czech, Slovak, Polish, Hungarian, Baltic langs */ #define smVietnamese 30 #define smExtArabic 31 /* extended Arabic */ #define smUninterp 32 /* uninterpreted symbols, e.g. palette symbols */ #define smChinese 2 /* (Use smTradChinese or smSimpChinese) */ #define smRussian 7 /* Use smCyrillic */ /* smMaldivian = 25: deleted, no code for Maldivian */ #define smLaotian 22 /* Use smLao */ #define smAmharic 28 /* Use smEthiopic or smGeez */ #define smSlavic 29 /* Use smCentralEuroRoman */ #define smEastEurRoman 29 /* Use smCentralEuroRoman */ #define smSindhi 31 /* Use smExtArabic */ #define smKlingon 32 #define langEnglish 0 /* smRoman script */ #define langFrench 1 /* smRoman script */ #define langGerman 2 /* smRoman script */ #define langItalian 3 /* smRoman script */ #define langDutch 4 /* smRoman script */ #define langSwedish 5 /* smRoman script */ #define langSpanish 6 /* smRoman script */ #define langDanish 7 /* smRoman script */ #define langPortuguese 8 /* smRoman script */ #define langNorwegian 9 /* smRoman script */ #define langHebrew 10 /* smHebrew script */ #define langJapanese 11 /* smJapanese script */ #define langArabic 12 /* smArabic script */ #define langFinnish 13 /* smRoman script */ #define langGreek 14 /* Greek script using smRoman script code */ #define langIcelandic 15 /* modified smRoman/Icelandic script */ #define langMaltese 16 /* Roman script */ #define langTurkish 17 /* modified smRoman/Turkish script */ #define langCroatian 18 /* modified smRoman/Croatian script */ #define langTradChinese 19 /* Chinese (Mandarin) in traditional characters */ #define langUrdu 20 /* smArabic script */ #define langHindi 21 /* smDevanagari script */ #define langThai 22 /* smThai script */ #define langKorean 23 /* smKorean script */ #define langLithuanian 24 /* smCentralEuroRoman script */ #define langPolish 25 /* smCentralEuroRoman script */ #define langHungarian 26 /* smCentralEuroRoman script */ #define langEstonian 27 /* smCentralEuroRoman script */ #define langLatvian 28 /* smCentralEuroRoman script */ #define langSami 29 /* language of the Sami people of N. Scandinavia */ #define langFaroese 30 /* modified smRoman/Icelandic script */ #define langFarsi 31 /* modified smArabic/Farsi script */ #define langPersian 31 /* Synonym for langFarsi */ #define langRussian 32 /* smCyrillic script */ #define langSimpChinese 33 /* Chinese (Mandarin) in simplified characters */ #define langFlemish 34 /* smRoman script */ #define langIrishGaelic 35 /* smRoman or modified smRoman/Celtic script (without dot above) */ #define langAlbanian 36 /* smRoman script */ #define langRomanian 37 /* modified smRoman/Romanian script */ #define langCzech 38 /* smCentralEuroRoman script */ #define langSlovak 39 /* smCentralEuroRoman script */ #define langSlovenian 40 /* modified smRoman/Croatian script */ #define langYiddish 41 /* smHebrew script */ #define langSerbian 42 /* smCyrillic script */ #define langMacedonian 43 /* smCyrillic script */ #define langBulgarian 44 /* smCyrillic script */ #define langUkrainian 45 /* modified smCyrillic/Ukrainian script */ #define langByelorussian 46 /* smCyrillic script */ #define langBelorussian 46 /* Synonym for langByelorussian */ #define langUzbek 47 /* Cyrillic script */ #define langKazakh 48 /* Cyrillic script */ #define langAzerbaijani 49 /* Azerbaijani in Cyrillic script */ #define langAzerbaijanAr 50 /* Azerbaijani in Arabic script */ #define langArmenian 51 /* smArmenian script */ #define langGeorgian 52 /* smGeorgian script */ #define langMoldavian 53 /* smCyrillic script */ #define langKirghiz 54 /* Cyrillic script */ #define langTajiki 55 /* Cyrillic script */ #define langTurkmen 56 /* Cyrillic script */ #define langMongolian 57 /* Mongolian in smMongolian script */ #define langMongolianCyr 58 /* Mongolian in Cyrillic script */ #define langPashto 59 /* Arabic script */ #define langKurdish 60 /* smArabic script */ #define langKashmiri 61 /* Arabic script */ #define langSindhi 62 /* Arabic script */ #define langTibetan 63 /* smTibetan script */ #define langNepali 64 /* smDevanagari script */ #define langSanskrit 65 /* smDevanagari script */ #define langMarathi 66 /* smDevanagari script */ #define langBengali 67 /* smBengali script */ #define langAssamese 68 /* smBengali script */ #define langGujarati 69 /* smGujarati script */ #define langPunjabi 70 /* smGurmukhi script */ #define langOriya 71 /* smOriya script */ #define langMalayalam 72 /* smMalayalam script */ #define langKannada 73 /* smKannada script */ #define langTamil 74 /* smTamil script */ #define langTelugu 75 /* smTelugu script */ #define langSinhalese 76 /* smSinhalese script */ #define langBurmese 77 /* smBurmese script */ #define langKhmer 78 /* smKhmer script */ #define langLao 79 /* smLao script */ #define langVietnamese 80 /* smVietnamese script */ #define langIndonesian 81 /* smRoman script */ #define langTagalog 82 /* Roman script */ #define langMalayRoman 83 /* Malay in smRoman script */ #define langMalayArabic 84 /* Malay in Arabic script */ #define langAmharic 85 /* smEthiopic script */ #define langTigrinya 86 /* smEthiopic script */ #define langOromo 87 /* smEthiopic script */ #define langSomali 88 /* smRoman script */ #define langSwahili 89 /* smRoman script */ #define langKinyarwanda 90 /* smRoman script */ #define langRuanda 90 /* synonym for langKinyarwanda */ #define langRundi 91 /* smRoman script */ #define langNyanja 92 /* smRoman script */ #define langChewa 92 /* synonym for langNyanja */ #define langMalagasy 93 /* smRoman script */ #define langEsperanto 94 /* Roman script */ #define langWelsh 128 /* modified smRoman/Celtic script */ #define langBasque 129 /* smRoman script */ #define langCatalan 130 /* smRoman script */ #define langLatin 131 /* smRoman script */ #define langQuechua 132 /* smRoman script */ #define langGuarani 133 /* smRoman script */ #define langAymara 134 /* smRoman script */ #define langTatar 135 /* Cyrillic script */ #define langUighur 136 /* Arabic script */ #define langDzongkha 137 /* (lang of Bhutan) smTibetan script */ #define langJavaneseRom 138 /* Javanese in smRoman script */ #define langSundaneseRom 139 /* Sundanese in smRoman script */ #define langGalician 140 /* smRoman script */ #define langAfrikaans 141 /* smRoman script */ #define langBreton 142 /* smRoman or modified smRoman/Celtic script */ #define langInuktitut 143 /* Inuit script using smEthiopic script code */ #define langScottishGaelic 144 /* smRoman or modified smRoman/Celtic script */ #define langManxGaelic 145 /* smRoman or modified smRoman/Celtic script */ #define langIrishGaelicScript 146 /* modified smRoman/Gaelic script (using dot above) */ #define langTongan 147 /* smRoman script */ #define langGreekPoly 148 /* smGreek script */ #define langGreenlandic 149 /* smRoman script */ #define langUnspecified 32767 /* Special code for use in resources (such as 'itlm') */ #define langPortugese 8 /* Use langPortuguese */ #define langMalta 16 /* Use langMaltese */ #define langYugoslavian 18 /* (use langCroatian, langSerbian, etc.) */ #define langChinese 19 /* (use langTradChinese or langSimpChinese) */ #define langLettish 28 /* Use langLatvian */ #define langLapponian 29 /* Use langSami */ #define langLappish 29 /* Use langSami */ #define langSaamisk 29 /* Use langSami */ #define langFaeroese 30 /* Use langFaroese */ #define langIrish 35 /* Use langIrishGaelic */ #define langGalla 87 /* Use langOromo */ #define langAfricaans 141 /* Use langAfrikaans */ /* P/N ISO codes comments */ #define verUS 0 /* en_US */ #define verFrance 1 /* F fr_FR */ #define verBritain 2 /* B en_GB */ #define verGermany 3 /* D de_DE */ #define verItaly 4 /* T it_IT */ #define verNetherlands 5 /* N nl_NL */ #define verFlemish 6 /* FN nl_BE Flemish (Dutch) for Belgium */ #define verSweden 7 /* S sv_SE */ #define verSpain 8 /* E es_ES Spanish for Spain */ #define verDenmark 9 /* DK da_DK */ #define verPortugal 10 /* PO pt_PT Portuguese for Portugal */ #define verFrCanada 11 /* C fr_CA French for Canada */ #define verNorway 12 /* H no_NO BokmŒl */ #define verIsrael 13 /* HB iw_IL Hebrew */ #define verJapan 14 /* J ja_JP */ #define verAustralia 15 /* X en_AU English for Australia */ #define verArabic 16 /* AB ar Arabic for N Africa, Arabian peninsula, Levant */ #define verFinland 17 /* K fi_FI */ #define verFrSwiss 18 /* SF fr_CH French Swiss */ #define verGrSwiss 19 /* SD de_CH German Swiss */ #define verGreece 20 /* GR el_GR Monotonic Greek (modern) */ #define verIceland 21 /* IS is_IS */ #define verMalta 22 /* MA mt_MT */ #define verCyprus 23 /* CY _CY Greek or Turkish language? Checking... */ #define verTurkey 24 /* TU tr_TR */ #define verYugoCroatian 25 /* YU Croatian for Yugoslavia; now use verCroatia (68) */ #define verNetherlandsComma 26 /* ID for KCHR resource - Dutch */ #define verBelgiumLuxPoint 27 /* ID for KCHR resource - Belgium */ #define verCanadaComma 28 /* ID for KCHR resource - Canadian ISO */ #define verCanadaPoint 29 /* ID for KCHR resource - Canadian; now unused */ #define vervariantPortugal 30 /* ID for resource; now unused */ #define vervariantNorway 31 /* ID for resource; now unused */ #define vervariantDenmark 32 /* ID for KCHR resource - Danish Mac Plus */ #define verIndiaHindi 33 /* hi_IN Hindi for India */ #define verPakistanUrdu 34 /* UR ur_PK Urdu for Pakistan */ #define verTurkishModified 35 #define verItalianSwiss 36 /* ST it_CH Italian Swiss */ #define verInternational 37 /* Z en English for international use */ /* 38 is unassigned */ #define verRomania 39 /* RO ro_RO */ #define verGreecePoly 40 /* Polytonic Greek (classical) */ #define verLithuania 41 /* LT lt_LT */ #define verPoland 42 /* PL pl_PL */ #define verHungary 43 /* MG hu_HU */ #define verEstonia 44 /* EE et_EE */ #define verLatvia 45 /* LV lv_LV */ #define verSami 46 /* se */ #define verFaroeIsl 47 /* FA fo_FO */ #define verIran 48 /* PS fa_IR Persian/Farsi */ #define verRussia 49 /* RS ru_RU Russian */ #define verIreland 50 /* GA ga_IE Irish Gaelic for Ireland (without dot above) */ #define verKorea 51 /* KH ko_KR */ #define verChina 52 /* CH zh_CN Simplified Chinese */ #define verTaiwan 53 /* TA zh_TW Traditional Chinese */ #define verThailand 54 /* TH th_TH */ #define verScriptGeneric 55 /* SS Generic script system (no language or script) */ #define verCzech 56 /* CZ cs_CZ */ #define verSlovak 57 /* SL sk_SK */ #define verFarEastGeneric 58 /* FE Generic Far East system (no language or script) */ #define verMagyar 59 /* Unused; see verHungary */ #define verBengali 60 /* bn Bangladesh or India */ #define verByeloRussian 61 /* BY be_BY */ #define verUkraine 62 /* UA uk_UA */ /* 63 is unassigned */ #define verGreeceAlt 64 /* unused */ #define verSerbian 65 /* SR sr_YU, sh_YU */ #define verSlovenian 66 /* SV sl_SI */ #define verMacedonian 67 /* MD mk_MK */ #define verCroatia 68 /* CR hr_HR, sh_HR */ /* 69 is unassigned */ /* 70 is unassigned */ #define verBrazil 71 /* BR pt_BR Portuguese for Brazil */ #define verBulgaria 72 /* BG bg_BG */ #define verCatalonia 73 /* CA ca_ES Catalan for Spain */ #define verMultilingual 74 /* ZM (no language or script) */ #define verScottishGaelic 75 /* GD gd */ #define verManxGaelic 76 /* GV gv Isle of Man */ #define verBreton 77 /* BZ br */ #define verNunavut 78 /* IU iu_CA Inuktitut for Canada */ #define verWelsh 79 /* CU cy */ /* 80 is ID for KCHR resource - Canadian CSA */ #define verIrishGaelicScript 81 /* GS ga_IE Irish Gaelic for Ireland (using dot above) */ #define verEngCanada 82 /* V en_CA English for Canada */ #define verBhutan 83 /* BH dz_BT Dzongkha for Bhutan */ #define verArmenian 84 /* HY hy_AM */ #define verGeorgian 85 /* KR ka_GE */ #define verSpLatinAmerica 86 /* LA es Spanish for Latin America */ /* 87 is ID for KCHR resource - Spanish ISO */ #define verTonga 88 /* TS to_TO */ /* 89 is ID for KCHR resource - Polish Modified */ /* 90 is ID for KCHR resource - Catalan ISO */ #define verFrenchUniversal 91 /* fr French generic */ #define verAustria 92 /* AU de_AT German for Austria */ /* Y 93 is unused alternate for verSpLatinAmerica */ #define verGujarati 94 /* gu_IN */ #define verPunjabi 95 /* pa Pakistan or India */ #define verIndiaUrdu 96 /* ur_IN Urdu for India */ #define verVietnam 97 /* vi_VN */ #define verFrBelgium 98 /* BF fr_BE French for Belgium */ #define verUzbek 99 /* BD uz_UZ */ #define verSingapore 100 /* SG */ #define verNynorsk 101 /* NY _NO Norwegian Nynorsk */ #define verAfrikaans 102 /* AK af_ZA */ #define verEsperanto 103 /* eo */ #define verMarathi 104 /* mr_IN */ #define verTibetan 105 /* bo */ #define verNepal 106 /* ne_NP */ #define verGreenland 107 /* kl */ #define verFrBelgiumLux 6 /* Incorrect; 6 is Flemish, not French, for Belgium; use verFlemish */ #define verBelgiumLux 6 /* Use verFlemish */ #define verArabia 16 /* Use verArabic */ #define verYugoslavia 25 /* Use verYugoCroatian (same number, now unused), or newer verCroatia */ #define verIndia 33 /* Use verIndiaHindi */ #define verPakistan 34 /* Use verPakistanUrdu */ #define verRumania 39 /* Alternate for verRomania */ #define verGreekAncient 40 /* Use verGreecePoly */ #define verLapland 46 /* Use verSami */ #define verFaeroeIsl 47 /* Use verFaroeIsl */ #define verGenericFE 58 /* Use verFarEastGeneric */ #define verBelarus 61 /* Alternate for verByelorussian */ #define verUkrania 62 /* Use verUkraine */ #define verAlternateGr 64 /* Use verGreeceAlt */ #define verSerbia 65 /* Alternate for verSerbian */ #define verSlovenia 66 /* Alternate for verSlovenian */ #define verMacedonia 67 /* Alternate for verMacedonian */ #define verBrittany 77 /* Alternate for verBreton */ #define verWales 79 /* Alternate for verWelsh */ #define verArmenia 84 /* Alternate for verArmenian */ #define verGeorgia 85 /* Alternate for verGeorgian */ #define verAustriaGerman 92 /* Use verAustria */ #define verTibet 105 /* Use verTibetan */ /*----------------------------KSWP ¥ Keyboard Swapping----------------------------------*/ type 'KSWP' { /* The expression below that calculates the number of elements in the array is complicated because of the way that $$ResourceSize works. $$ResourceSize returns the size of the resource. When derez'ing a resource, the size of the resource is known from the start. When rez'ing a resource, however, the size starts out at zero and is incremented each time a field is appended to the resource data. In other words, while rez'ing, $$ResourceSize rarely returns the final size of the resource. When rez'ing a KSWP, the array size expression is not evaluated until all of the array elements have been parsed. Since each array element is 4 bytes long (if you add up all the fields), the number of array elements is the size of the resource at that point divided by four. Since the preprocessor value of "DeRez" is zero when Rez'ing, the expression is equivalent to $$ResourceSize / 4. When derez'ing a KSWP, the value of $$ResourceSize is constant: always the total size of the resource, in bytes. Since the resource contains 4 bytes of fill at the end (which happens to be the size of an array element), we have to take that in consideration when calculating the size of the array. Note that the preprocessor value of "DeRez" is one, when derez'ing. */ wide array [$$ResourceSize / 4 - DeRez]{ hex integer Roman, Japanese, TradChinese, /* script code or verb */ Chinese = 2, Korean, Arabic, Hebrew, Greek, Cyrillic, Thai = 21, SimpChinese = 25, CentralEuroRoman = 29, Rotate = -1, System = -2, Alternate = -3, RotateKybd = -4, /* <20> */ ToggleDirection = -9, SetDirLeftRight = -15, SetDirRightLeft = -16, RomanIfOthers = -17; /* <25> */ unsigned byte; /* virtual key code */ /* Modifiers */ fill bit; /* rControlOn,rControlOff*/ fill bit; /* rOptionOn,rOptionOff */ fill bit; /* rShiftOn,rShiftOff */ boolean controlOff, controlOn; boolean optionOff, optionOn; fill bit; /* capsLockOn,capsLockOff*/ boolean shiftOff, shiftOn; boolean commandOff, commandOn; }; fill long; }; #endif /* __SCRIPT_R__ */