You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1422 lines
65 KiB
1422 lines
65 KiB
/* |
|
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__ */ |
|
|
|
|