mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-14 21:29:53 +00:00
1960 lines
73 KiB
Plaintext
1960 lines
73 KiB
Plaintext
|
; Version: 3.18
|
|||
|
; Created: Friday, October 20, 1989 at 9:46:43 PM
|
|||
|
;
|
|||
|
; File Script.a
|
|||
|
;
|
|||
|
; Assembler Interface to the Macintosh Libraries
|
|||
|
; Copyright Apple Computer, Inc. 1986-1992
|
|||
|
; All Rights Reserved
|
|||
|
;
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Script Manager equates file.
|
|||
|
;
|
|||
|
; This file contains all equates for the script environment, shared
|
|||
|
; equates for the script interface systems, equates that are special for
|
|||
|
; the Roman Interface System, and all equates for the script interface
|
|||
|
; system package.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
;
|
|||
|
; Change History (most recent first):
|
|||
|
;
|
|||
|
; <54> 10/16/92 PKE For new IM: Add trap macros for new names for old routines.
|
|||
|
; <53> 7/1/92 DCL This file is the replacement for the now obsolete ScriptEqu.a.
|
|||
|
; Changed the 'including' name to match the new file name.
|
|||
|
; <52> 6/23/92 SMB #1029263,<pke>: Added new flag, smsfSynchUnstyledTE, to the
|
|||
|
; 'itlb' flags field to handle font & keyboard synchronization for
|
|||
|
; unstyled TE.
|
|||
|
; <51> 4/21/92 DCL #1027048 Added smCharBopomofo,
|
|||
|
; smTransRuleBaseFormat,smTransHangulFormat,
|
|||
|
; smTransPreDoubleByting, smTransPreLowerCasing, Itl5,
|
|||
|
; RuleBasedTrslRecord.
|
|||
|
; <50> 4/8/92 PKE #1026516,<cv>: Move SCxxx interfaces for some ScriptMgr routines
|
|||
|
; from private interfaces (ScriptPriv.a) to public (here).
|
|||
|
; <49> 4/3/92 gbm Change smKeyDisabState to a kinder, gentler spelling.
|
|||
|
; (smKeyDisableState)
|
|||
|
; <48> 4/3/92 PKE #1026378,<cv>: Add CharType constants smCharContextualLR and
|
|||
|
; smCharNonContextualLR; already used for Thai and Cyrillic.
|
|||
|
; <47> 3/30/92 PKE #1022875,<ha>: Fix previous comment - got confused by new checkin
|
|||
|
; procedure and gave this file another file's comment.
|
|||
|
; <46> 3/30/92 PKE #1022875,<ha>: Add smKeyRoman verb for KeyScript (to use in KSWP)
|
|||
|
; that sets keyboard script to Roman only if other scripts are
|
|||
|
; installed; otherwise, it does nothing, and the corresponding
|
|||
|
; KSWP key combination is not stripped from the event queue.
|
|||
|
; <45> 2/10/92 YS 1014691, added a flag 'smfUseAssocFontInfo' in smGenFlags.
|
|||
|
; <44> 1/13/92 PKE 1019369, add smKeyDisabState verb for GetEnvirons to get the
|
|||
|
; current keyboard disable state.
|
|||
|
; <43> 12/11/91 PKE Define new public interfaces SCGetScriptRoutineAddr,
|
|||
|
; SCSetScriptRoutineAddr, SCGetQDPatchAddr, SCSetQDPatchAddr which
|
|||
|
; are implemented by one-byte script extension.
|
|||
|
; <42> 11/25/91 PKE Define new smScriptFlags bit smsfUnivExt. Define new KeyScript
|
|||
|
; verbs smKeySetDirLeftRight, smKeySetDirRightLeft.
|
|||
|
; <41> 9/27/91 SMB For Cube-E (and Bruges) - define system direction bit,
|
|||
|
; itlcSysDirection, for itlcSysFlags and added bit definitions,
|
|||
|
; itlcShowIcon and itlcDualCaret, for the itlcFlags.
|
|||
|
; <40> 9/25/91 PKE For Cube-E (and Bruges): Add itlcSysFlags field to ItlcRecord.
|
|||
|
; <39> 8/20/91 KSM pke,#Bruges: Added a new script code smAllScripts to indicate
|
|||
|
; meaning no preference for script code or any script code.
|
|||
|
; <38> 8/15/91 MH correct the definition of romanFlags. Assembler operator
|
|||
|
; precedence (+ before <<) caused the old expression to evaluate
|
|||
|
; to 32 instead of 7. Parentheses have been added to override the
|
|||
|
; precedence.
|
|||
|
; <37> 8/14/91 JL Took ':' off of field names in the TogglePB record.
|
|||
|
; <36> 1/30/91 gbm sab, #38: Change the <20>already including this file<6C> variable to
|
|||
|
; all uppercase (for security reasons)
|
|||
|
; <35> 1/28/91 PKE bbm: Add constants for use with CharType and Transliterate on
|
|||
|
; Chinese and Korean systems.
|
|||
|
; <34> 1/10/91 PKE (csd) Change names for <20>ring<6E> and <20>breve<76> constants (too
|
|||
|
; ambiguous) to <20>ringMark<72> and <20>breveMark<72>.
|
|||
|
; <33> 1/2/91 PKE (bbm) Updated comments and rearranged a few constants to match
|
|||
|
; latest Inside Mac summary. Added tokenCaret as correct spelling
|
|||
|
; for tokenCarat.
|
|||
|
; <32> 12/15/90 PKE (KSM) Update some new constants used with 2-byte script systems.
|
|||
|
; <31> 12/14/90 SMB (csd) I forgot the approval signature for the previous change.
|
|||
|
; <30> 12/14/90 SMB Moving KeyScript verb, smKeyModalDialog, to ScriptPriv.a.
|
|||
|
; <29> 9/16/90 PKE In NItl4Rec, rename <20>resHeader1<72> field to <20>format<61>, since that
|
|||
|
; is how we now use it.
|
|||
|
; <28> 9/15/90 SMB (PKE) Added itl2FormatOffset constant: offset to format word in
|
|||
|
; itl2 header. Defined format code, hdrExtensionsExist, indicating
|
|||
|
; presence of length fields and an additional offset/length pair
|
|||
|
; for FindScriptTable.
|
|||
|
; <27> 9/10/90 PKE Add smCurrentScript constant. Add more FIS constants from Joel
|
|||
|
; Cannon.
|
|||
|
; <26> 8/23/90 PKE (per JT) Restored smFISClassXXX constants to original values
|
|||
|
; (backed out of part of change <5>).
|
|||
|
; <25> 8/16/90 SMB Added new KeyScript verb for ModalDialogs so that the About
|
|||
|
; Keyboards menu item can be disabled.
|
|||
|
; <24> 8/5/90 SMB Added new KeyScript verb to disable the keyboard menu when a
|
|||
|
; KCHR is being moved into or out of the System file.
|
|||
|
; <23> 8/2/90 PKE Added smSystemScript constant (meta-script code, designates the
|
|||
|
; system script). Moved obsolete script codes to end of their section.
|
|||
|
; Added constants for values of scriptRedraw field. Cleaned up
|
|||
|
; negative KeyScript verbs: deleted smKeyLastScript synonym, added
|
|||
|
; smKeyDisableKybds and smKeyEnableKybds, renumbered
|
|||
|
; smKeyNextInputMethod and smKeySwapInputMethod. Rearranged file
|
|||
|
; to move routine selectors and macros to end, group other parts
|
|||
|
; more logically.
|
|||
|
; <22> 7/17/90 PKE Changed reserved field in ItlbRecord to itlbEncoding (contains
|
|||
|
; ID of itl5, optional char encoding resource), and changed name
|
|||
|
; of corresponding GetScript verb. In NItl4Rec, changed
|
|||
|
; itl4HeaderSize to nItl4HeaderSize to avoid name conflict with
|
|||
|
; Itl4Rec. Fixed a few comments.
|
|||
|
; <21> 6/22/90 PKE Moved language codes to a new file, LanguageEqu.a, and
|
|||
|
; rearranged the new ones. Added smExtArabic as synonym for
|
|||
|
; smSindhi, smEastEurRoman as synonym for smSlavic.
|
|||
|
; <20> 6/20/90 PKE Changed tentative value for smCharFISHangul to eliminate
|
|||
|
; conflict with Arabic/Hebrew; added smCharExtAscii and
|
|||
|
; smCharBidirect. Added smEthiopic (synonym for smGeez) plus about
|
|||
|
; 80 new language codes covering most languages we are likely to
|
|||
|
; handle; also added some synonyms for existing language codes.
|
|||
|
; Changed resLength6 field in NItl4Rec to whtSpListLength.
|
|||
|
; <19> 6/12/90 PKE Fixed a misspelled constant name: toeknRightSingGuillemet. Added
|
|||
|
; new calendar code calPersian, per Hani Abdelazim. Added
|
|||
|
; smKeySwapScript as synonym for smKeyLastScript (using new
|
|||
|
; terminology), and added several new KeyScript verbs that may be
|
|||
|
; implemented by script systems. Still need to renumber
|
|||
|
; smCharFISHangul, since it conflicts with Arabic/Hebrew CharType
|
|||
|
; values. Also need to convert itl2 header offsets into a record,
|
|||
|
; and add constant names for all characters in Roman font.
|
|||
|
; <18> 5/31/90 PKE Added new GetScript verbs: smScriptValidStyles,
|
|||
|
; smScriptAliasStyle. Added new fields to ItlbExtRecord:
|
|||
|
; itlbValidStyles, itlbAliasStyle.
|
|||
|
; <17> 5/24/90 PKE Changed selectors to account for new numer/denom scaling
|
|||
|
; parameters in NPortionText, NDrawJust, NMeasureJust,
|
|||
|
; NChar2Pixel, and NPixel2Char.
|
|||
|
; <16> 5/21/90 PKE Added smfNameTagEnab constant for flag bit, enables script tag
|
|||
|
; in Finder names.
|
|||
|
; <15> 5/18/90 PKE Added new tokens tokenEllipsis and tokenCenterDot. Fixed
|
|||
|
; spelling of tokenTilde. Changed truncMarkOffset to
|
|||
|
; whtSpListOffset in NItl4Rec.
|
|||
|
; <14> 5/11/90 PKE Added new constants smTradChinese, smSimpChinese,
|
|||
|
; langTradChinese, langSimpChinese. Deleted smMaldivian!
|
|||
|
; <13> 5/1/90 PKE Added constants for negative KeyScript verbs and for
|
|||
|
; TruncText/TruncString results.
|
|||
|
; <12> 4/27/90 gbm prevent redefinition errors by avoiding multiple inclusion
|
|||
|
; <11> 3/23/90 PKE Deleted special roman font equates that were new for 7.0 (see
|
|||
|
; <1.9>), since we now get this information from a resource.
|
|||
|
; <10> 3/21/90 PKE Just corrected previous comment.
|
|||
|
; <9> 3/21/90 PKE Added smScriptAppFondSize and smScriptHelpFondSize verbs for
|
|||
|
; GetScript/SetScript. Added fields in ItlbExtRecord for Help Mgr
|
|||
|
; font & size. Rearranged the length fields in NItl4Rec to be
|
|||
|
; correct.
|
|||
|
; <8> 3/21/90 SMB Adding ItlbExtRecord which is needed for auto initialization of
|
|||
|
; scripts. Also added smsfAutoInit bit in smScriptFlags and
|
|||
|
; smUprHalfCharSet. Added FindScriptTableOffset and
|
|||
|
; FindScriptTableLen.
|
|||
|
; <7> 3/7/90 JAL Official MPW version
|
|||
|
; <6> 3/5/90 PKE For MPW release: Changed the selectors for TruncString and
|
|||
|
; TruncText to have the same values as the temporary NTruncXxx
|
|||
|
; selectors (i.e., to include the truncWhere parameter). Deleted
|
|||
|
; the NTruncXxx selectors and macros. This change should put this
|
|||
|
; file into releasable shape.
|
|||
|
; <5> 3/2/90 PKE Removed version number constants: smgrVers (Script Mgr),
|
|||
|
; romanVers (Roman script system). Removed definitions of private
|
|||
|
; constants that had already been conditionalized out and moved to
|
|||
|
; ScriptPriv.a: smLastEVerb, smLastSVerb, smLowCall, sisHighCall,
|
|||
|
; fisHighCall. Corrected smFISClassXXX constants. Removed 7.0
|
|||
|
; conditionalization in itlcRecord, and renamed the now-shortened
|
|||
|
; reserved area from itlcReserved2 to itlcReserved3. Removed
|
|||
|
; DateTimeRec (conditionalized out anyway). Gave new names
|
|||
|
; <09>IUNSortFrame<6D> and <20>nItl4Rec<65> to the extended versions of
|
|||
|
; IUSortFrame and Itl4Rec, and unconditionalized the old versions
|
|||
|
; so they don<6F>t change. Removed all bigBangEquates conditionals.
|
|||
|
; <4> 1/17/90 PKE Added itlcRegionCode field to itlcRecord. Fixed some tabs and
|
|||
|
; comments.
|
|||
|
; <3> 1/17/90 PKE Added new constants: smCyrillic as synonym for smRussian, new
|
|||
|
; smRegionCode verb for GetEnvirons, and several new langXxx
|
|||
|
; constants.
|
|||
|
; <2> 1/11/90 PKE Added macros for new interfaces: NPortionText, NDrawJust,
|
|||
|
; NMeasureJust, NChar2Pixel, NPixel2Char. Added smXxxStyleRun
|
|||
|
; constants used in new interfaces. Moved definitions of
|
|||
|
; sisHighCall and fisHighCall from here to ScriptPriv.a. Updated
|
|||
|
; header to BBS format.
|
|||
|
; <1> 12/17/89 CCH Adding for the first time into BBS.
|
|||
|
; (BBS versions above, EASE versions below)
|
|||
|
; <2.7> 11/8/89 PKE Add temporary interfaces NTruncString and NTruncText for the
|
|||
|
; new-style Trunc routines that expect a truncWhere parameter.
|
|||
|
; Eventually, the standard Trunc routine interfaces will be
|
|||
|
; changed to use this parameter. Add constants for truncWhere
|
|||
|
; parameter.
|
|||
|
; <2.6> 10/2/89 PKE Added smKCHRCache verb for GetEnvirons.
|
|||
|
; <2.5> 9/19/89 PKE Add 8 length words to Itl4Rec. Add wordTableLen and wrapTableLen
|
|||
|
; offsets for new length block in itl2 header.
|
|||
|
; <2.4> 9/17/89 PKE Added smDoubleByte verb for Get/Set Environs. Moved definitions
|
|||
|
; of smLastEVerb, smLastSVerb, and smLowCall/smLowCall60x to
|
|||
|
; ScriptPriv.a so we can conditionalize them; they don't need to
|
|||
|
; be public anyway. Added langKorean. Updated romanVers for 7.0.
|
|||
|
; <2.3> 9/15/89 PKE Added back selector and macro for NFindWord (!), but use it
|
|||
|
; differently. Also add selectors and macros for
|
|||
|
; TruncText,TruncString, ReplaceText. Added itl2Handle to
|
|||
|
; IUSortFrame. Add smLowCall60x. Define truncMarkOffset field in
|
|||
|
; Itl4Rec.
|
|||
|
; <2.2> 9/5/89 PKE Get rid of NFindWord selector; it was a bad idea. The 7.0 glue
|
|||
|
; code now routes calls with the old FindWord selector to the new
|
|||
|
; FindWord when possible. Leave conditionals for future use.
|
|||
|
; <2.1> 9/4/89 PKE Add NFindWord selector and macro. Eventually, FindWord will use
|
|||
|
; the same selector, but for now we will keep them separate so
|
|||
|
; that we can do 6.0.4 and 6.0.5 builds.
|
|||
|
; <2.0> 8/5/89 PKE NEEDED FOR 6.0.4: Corrected selector for RawPrinterValues.
|
|||
|
; <1.9> 6/23/89 PKE For 7.0: Make Script Manager version 7.xx for Big Bang, add new
|
|||
|
; GetScript/SetScript verbs for font info, add new font constants
|
|||
|
; for Roman.
|
|||
|
; <1.8> 6/6/89 PKE Added toggleOutOfRange constant (will also be in MPW 3.1)
|
|||
|
; <<3C>1.7> 5/25/89 MSH Ported from main EASE sources.
|
|||
|
; <1.6> 5/25/89 PKE More additions (will be in MPW 3.1)- added smGeez,
|
|||
|
; genCdevRangeBit, and new token types for IntlTokenize.
|
|||
|
; <1.5> 4/23/89 PKE Corrections & additions to match MPW 3.1 ScriptEqu.a; moved
|
|||
|
; _LwrString & DateTimeRec definitions elsewhere to match MPW 3.0.
|
|||
|
; <1.4> 4/7/89 PKE Added new itl2 table offsets (moved here from ScriptPriv.a);
|
|||
|
; added names for new ToggleDate/ValidDate flags bits
|
|||
|
; <1.3> 3/28/89 PKE Added script icon location info to itlcRecord.
|
|||
|
; <1.2> 2/14/89 PKE Updated to use MPW 3.0 final ScriptEqu.a equate names; also
|
|||
|
; added smCharLeft & smCharRight and fixed weekOfYearMask &
|
|||
|
; cantReadUtilities to match MPW version; fixed _GetFormatOrder
|
|||
|
; macro (wrong in MPW)
|
|||
|
; <1.1> 12/2/88 PKE Commented macros that had code as DC.Ws; sync'ed with Projector
|
|||
|
; <1.0> 11/9/88 CCH Adding to EASE.
|
|||
|
; (old EASE history below)
|
|||
|
; <1.4> 10/27/88 LDC Mods by Carl Hewitt and Brian McGhie in the process of putting
|
|||
|
; Script Manager in ROM
|
|||
|
; <1.3> 10/10/88 BBM updated to version 2.11.
|
|||
|
; <1.2> 10/10/88 BBM updated to version 2.0.
|
|||
|
; 9/30/88 ldc Added twelveHourBit for ValidDate
|
|||
|
; 9/23/88 ldc Bumped version
|
|||
|
; <<3C>1.1> 9/14/88 CCH Updated EASE with the current rev of this file.
|
|||
|
; (pre-EASE history below)
|
|||
|
; 9/7/88 ldc Added fEmptyFormatString to FormatResultType
|
|||
|
; 7/25/88 ldc Changed names of DateTime error equs for Keithen
|
|||
|
; 7/12/88 ldc Added macintosh character set extension equates
|
|||
|
; 7/8/88 ldc Bumped version for first pass at Altair
|
|||
|
; 6/28/88 ldc Commented out _ScriptUtil for MPW 3.0
|
|||
|
; 6/28/88 smb Added delimPad as a new token for the tokenizer. Spelling fix
|
|||
|
; from langFinish to langFinnish.
|
|||
|
; 6/27/88 ldc Bumped version number
|
|||
|
; 6/23/88 ldc Bumped version number
|
|||
|
; 6/13/88 ldc Bumped version number
|
|||
|
; 6/7/88 med Bumped version number
|
|||
|
; 4/1/88 smb Added number format equates (used by Numberparts record) back
|
|||
|
; from nScriptEqu.priv.
|
|||
|
; 3/24/88 smb Modified NumFormatString to hide private info and made number
|
|||
|
; format equates private (see nScriptEqu.priv); added
|
|||
|
; ScriptRunStatus and UntokenTable records.
|
|||
|
; 3/21/88 med Added interface for VisibleLength procedure
|
|||
|
; 3/19/88 ldc changed fNoRoomFill to reserved
|
|||
|
; 3/15/88 smb Updated to resemble the Pascal version of this file, nScript.p,
|
|||
|
; and to reflect the Script Manager 2.0 ERS.
|
|||
|
; 3/14/88 ldc Added version to number parts table
|
|||
|
; 2/23/88 ldc Changed error codes
|
|||
|
; 1/13/88 med Misc equate changes
|
|||
|
; 1/6/88 med Added PortionText, FindScriptRun macros
|
|||
|
; 1/4/88 med Added itl4 record definition
|
|||
|
; 11/16/87 med Added dispatches, fixed smScriptFlags, make TokenResults record
|
|||
|
; 11/10/87 med Added itl3,4 equates
|
|||
|
; 10/28/87 med Added new verbs for sm1.2 routines
|
|||
|
; 8/21/87 med Added general flags to itlc
|
|||
|
; 8/18/87 med Added smCharPortion verb
|
|||
|
; 8/15/87 med Filled out itlc record for new keyboard
|
|||
|
; 7/18/87 med Added bits for contextual scripts
|
|||
|
; 7/7/87 med Added environment flags verb
|
|||
|
; 5/20/87 med Added some scriptFlags constants requested by Paris
|
|||
|
|
|||
|
IF &TYPE('__INCLUDINGSCRIPT__') = 'UNDEFINED' THEN
|
|||
|
__INCLUDINGSCRIPT__ SET 1
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
; Script System constants.
|
|||
|
|
|||
|
smSystemScript EQU -1 ; designates system script <23>
|
|||
|
smCurrentScript EQU -2 ; designates current font script <27><33>
|
|||
|
smAllScripts EQU -3 ; designates any script <39>
|
|||
|
|
|||
|
smRoman EQU 0 ; Roman
|
|||
|
smJapanese EQU 1 ; Japanese
|
|||
|
smTradChinese EQU 2 ; Traditional Chinese <14>
|
|||
|
smKorean EQU 3 ; Korean
|
|||
|
smArabic EQU 4 ; Arabic
|
|||
|
smHebrew EQU 5 ; Hebrew
|
|||
|
smGreek EQU 6 ; Greek
|
|||
|
smCyrillic EQU 7 ; Cyrillic <3>
|
|||
|
smRSymbol EQU 8 ; Right-left symbols
|
|||
|
smDevanagari EQU 9 ; Devanagari
|
|||
|
smGurmukhi EQU 10 ; Gurmukhi
|
|||
|
smGujarati EQU 11 ; Gujarati
|
|||
|
smOriya EQU 12 ; Oriya
|
|||
|
smBengali EQU 13 ; Bengali
|
|||
|
smTamil EQU 14 ; Tamil
|
|||
|
smTelugu EQU 15 ; Telugu
|
|||
|
smKannada EQU 16 ; Kannada/Kanarese
|
|||
|
smMalayalam EQU 17 ; Malayalam
|
|||
|
smSinhalese EQU 18 ; Sinhalese
|
|||
|
smBurmese EQU 19 ; Burmese
|
|||
|
smKhmer EQU 20 ; Khmer/Cambodian
|
|||
|
smThai EQU 21 ; Thai
|
|||
|
smLaotian EQU 22 ; Laotian
|
|||
|
smGeorgian EQU 23 ; Georgian
|
|||
|
smArmenian EQU 24 ; Armenian
|
|||
|
smSimpChinese EQU 25 ; Simplified Chinese <14>
|
|||
|
smTibetan EQU 26 ; Tibetan
|
|||
|
smMongolian EQU 27 ; Mongolian
|
|||
|
smGeez EQU 28 ; Geez/Ethiopic <1.6>
|
|||
|
smEthiopic EQU 28 ; Synonym for smGeez <20>
|
|||
|
smEastEurRoman EQU 29 ; Extended Roman for Slavic & Baltic langs <21>
|
|||
|
smVietnamese EQU 30 ; Extended Roman for Vietnamese
|
|||
|
smExtArabic EQU 31 ; Extended Arabic for Sindhi, etc. <21>
|
|||
|
smUninterp EQU 32 ; uninterpreted symbols, e.g. palette symbols
|
|||
|
|
|||
|
; Obsolete names for script systems (kept for backward compatibility).
|
|||
|
|
|||
|
smChinese EQU 2 ; (use smTradChinese or smSimpChinese). <14>
|
|||
|
smRussian EQU 7 ; (old name for smCyrillic).
|
|||
|
;smMaldivian EQU 25 ; (no more smMaldivian!) <14>
|
|||
|
smAmharic EQU 28 ; (old name for smGeez)
|
|||
|
smSlavic EQU 29 ; (old name for smEastEurRoman)
|
|||
|
smSindhi EQU 31 ; (old name for smExtArabic) <21>
|
|||
|
|
|||
|
; Language codes - moved to LanguageEqu.a <21>
|
|||
|
|
|||
|
; Calendar Codes
|
|||
|
|
|||
|
calGregorian EQU 0
|
|||
|
calArabicCivil EQU 1
|
|||
|
calArabicLunar EQU 2
|
|||
|
calJapanese EQU 3
|
|||
|
calJewish EQU 4
|
|||
|
calCoptic EQU 5
|
|||
|
calPersian EQU 6 ; <19>
|
|||
|
|
|||
|
; Integer Format Codes
|
|||
|
|
|||
|
intWestern EQU 0
|
|||
|
intArabic EQU 1
|
|||
|
intRoman EQU 2
|
|||
|
intJapanese EQU 3
|
|||
|
intEuropean EQU 4
|
|||
|
intOutputMask EQU $8000
|
|||
|
|
|||
|
; CharByte byte types.
|
|||
|
|
|||
|
smSingleByte EQU 0
|
|||
|
smFirstByte EQU -1
|
|||
|
smLastByte EQU 1
|
|||
|
smMiddleByte EQU 2
|
|||
|
|
|||
|
; CharType field masks
|
|||
|
|
|||
|
smcTypeMask EQU $000F
|
|||
|
smcReserved EQU $00F0
|
|||
|
smcClassMask EQU $0F00
|
|||
|
smcOrientationMask EQU $1000 ; two-byte script glyph orientation <27><33>
|
|||
|
smcRightMask EQU $2000
|
|||
|
smcUpperMask EQU $4000
|
|||
|
smcDoubleMask EQU $8000
|
|||
|
|
|||
|
; Basic CharType character types.
|
|||
|
|
|||
|
smCharPunct EQU $0000
|
|||
|
smCharAscii EQU $0001
|
|||
|
smCharEuro EQU $0007
|
|||
|
smCharExtAscii EQU $0007 ; More correct synonym for smCharEuro <20>
|
|||
|
|
|||
|
; Additional CharType character types for script systems.
|
|||
|
|
|||
|
smCharKatakana EQU $0002 ; Japanese Katakana <32>
|
|||
|
smCharHiragana EQU $0003 ; Japanese Hiragana <32>
|
|||
|
smCharIdeographic EQU $0004 ; Hanzi, Kanji, Hanja <32>
|
|||
|
smCharTwoByteGreek EQU $0005 ; 2-byte Greek in Far East systems <32>
|
|||
|
smCharTwoByteRussian EQU $0006 ; 2-byte Cyrillic in Far East systems <32>
|
|||
|
smCharBidirect EQU $0008 ; Arabic, Hebrew <20>
|
|||
|
smCharContextualLR EQU $0009 ; Contextual left-right: Thai, Indic scripts <48>
|
|||
|
smCharNonContextualLR EQU $000A ; Non-contextual left-right: Cyrillic, Greek <48>
|
|||
|
smCharHangul EQU $000C ; Korean Hangul <20><32>
|
|||
|
smCharJamo EQU $000D ; Korean Jamo <35>
|
|||
|
smCharBopomofo EQU $000E ; Chinese Bopomofo <51>
|
|||
|
|
|||
|
; old names for some of above, for backward compatibility
|
|||
|
smCharFISKana EQU $0002 ; Katakana
|
|||
|
smCharFISGana EQU $0003 ; Hiragana
|
|||
|
smCharFISIdeo EQU $0004 ; Hanzi, Kanji, Hanja
|
|||
|
smCharFISGreek EQU $0005 ; 2-byte Greek in Far East systems
|
|||
|
smCharFISRussian EQU $0006 ; 2-byte Cyrillic in Far East systems
|
|||
|
|
|||
|
; CharType punctuation sub-types.
|
|||
|
|
|||
|
smPunctNormal EQU $0000
|
|||
|
smPunctNumber EQU $0100
|
|||
|
smPunctSymbol EQU $0200
|
|||
|
smPunctBlank EQU $0300 ; NBSP is PunctNormal
|
|||
|
|
|||
|
; CharType punctuation sub-types for two-byte systems <27>
|
|||
|
|
|||
|
smPunctRepeat EQU $0400 ; repeat marker <27><32><33>
|
|||
|
smPunctGraphic EQU $0500 ; line graphics <27><32>
|
|||
|
|
|||
|
; CharType Katakana and Hiragana sub-types for two-byte systems <27>
|
|||
|
|
|||
|
smKanaSmall EQU $0100 ; small kana character <27>
|
|||
|
smKanaHardOK EQU $0200 ; can have dakuten <27>
|
|||
|
smKanaSoftOK EQU $0300 ; can have dakuten or han-dakuten <27>
|
|||
|
|
|||
|
; CharType Ideographic sub-types for two-byte systems
|
|||
|
|
|||
|
smIdeographicLevel1 EQU $0000 ; level 1 char <32>
|
|||
|
smIdeographicLevel2 EQU $0100 ; level 2 char <32>
|
|||
|
smIdeographicUser EQU $0200 ; user char <32>
|
|||
|
; old names for some of above, for backward compatibility
|
|||
|
smFISClassLvl1 EQU $0000 ; level 1 char <5><26>
|
|||
|
smFISClassLvl2 EQU $0100 ; level 2 char <5><26>
|
|||
|
smFISClassUser EQU $0200 ; user char <5><26>
|
|||
|
|
|||
|
; CharType Jamo sub-types for Korean systems <35>
|
|||
|
|
|||
|
smJamoJaeum EQU $0000 ; simple consonant char <35>
|
|||
|
smJamoBogJaeum EQU $0100 ; complex consonant char <35>
|
|||
|
smJamoMoeum EQU $0200 ; simple vowel char <35>
|
|||
|
smJamoBogMoeum EQU $0300 ; complex consonant char <35>
|
|||
|
|
|||
|
; CharType glyph orientation for two-byte systems <27>
|
|||
|
|
|||
|
smCharHorizontal EQU $0000 ; horizontal character form, or for both <27>
|
|||
|
smCharVertical EQU $1000 ; vertical character form <27>
|
|||
|
|
|||
|
; CharType directions
|
|||
|
|
|||
|
smCharLeft EQU $0000
|
|||
|
smCharRight EQU $2000
|
|||
|
|
|||
|
; CharType case modifers.
|
|||
|
|
|||
|
smCharLower EQU $0000
|
|||
|
smCharUpper EQU $4000
|
|||
|
|
|||
|
; CharType character size modifiers (1 or multiple bytes).
|
|||
|
|
|||
|
smChar1byte EQU $0000
|
|||
|
smChar2byte EQU $8000
|
|||
|
|
|||
|
; Char2Pixel directions.
|
|||
|
|
|||
|
smLeftCaret EQU 0 ; Place caret for left block.
|
|||
|
smRightCaret EQU -1 ; Place caret for right block.
|
|||
|
smHilite EQU 1 ; Direction is TESysJust.
|
|||
|
|
|||
|
; Transliterate target types for Roman.
|
|||
|
|
|||
|
smTransAscii EQU 0 ; convert to ASCII
|
|||
|
smTransNative EQU 1 ; convert to font script <33>
|
|||
|
smTransCase EQU $FE ; convert case for all text
|
|||
|
smTransSystem EQU $FF ; convert to system script
|
|||
|
|
|||
|
; Transliterate target types for two-byte scripts <35>
|
|||
|
|
|||
|
smTransAscii1 EQU 2 ; 1-byte Roman
|
|||
|
smTransAscii2 EQU 3 ; 2-byte Roman
|
|||
|
smTransKana1 EQU 4 ; 1-byte Japanese Katakana
|
|||
|
smTransKana2 EQU 5 ; 2-byte Japanese Katakana
|
|||
|
; (no 1-byte hiragana)
|
|||
|
smTransGana2 EQU 7 ; 2-byte Japanese Hiragana
|
|||
|
smTransHangul2 EQU 8 ; 2-byte Korean Hangul <35>
|
|||
|
smTransJamo2 EQU 9 ; 2-byte Korean Jamo <35>
|
|||
|
smTransBopomofo2 EQU 10 ; 2-byte Chinese Bopomofo <35>
|
|||
|
|
|||
|
; Transliterate target modifiers.
|
|||
|
|
|||
|
smTransLower EQU $4000 ; target becomes lowercase <33>
|
|||
|
smTransUpper EQU $8000 ; target becomes uppercase <33>
|
|||
|
|
|||
|
; Transliterate resource format numbers
|
|||
|
|
|||
|
smTransRuleBaseFormat EQU 1 ; Rule based trsl resource format */
|
|||
|
smTransHangulFormat EQU 2 ; Table based Hangul trsl resource format*/
|
|||
|
|
|||
|
; Transliterate property flags
|
|||
|
|
|||
|
smTransPreDoubleByting EQU 1 ; Convert all text to double byte before transliteration*/
|
|||
|
smTransPreLowerCasing EQU 2 ; Convert all text to lower case before transliteration*/
|
|||
|
|
|||
|
; Transliterate source mask - general.
|
|||
|
|
|||
|
smMaskAll EQU $FFFFFFFF ; Convert all text
|
|||
|
|
|||
|
; Transliterate source masks for Roman.
|
|||
|
|
|||
|
smMaskAscii EQU $00000001 ; 2^smTransAscii
|
|||
|
smMaskNative EQU $00000002 ; 2^smTransNative
|
|||
|
|
|||
|
; Transliterate source masks for two-byte scripts. <35>
|
|||
|
|
|||
|
smMaskAscii1 EQU $00000004 ; 2^smTransAscii1
|
|||
|
smMaskAscii2 EQU $00000008 ; 2^smTransAscii2
|
|||
|
smMaskKana1 EQU $00000010 ; 2^smTransKana1
|
|||
|
smMaskKana2 EQU $00000020 ; 2^smTransKana2
|
|||
|
smMaskGana2 EQU $00000080 ; 2^smTransGana2
|
|||
|
smMaskHangul2 EQU $00000100 ; 2^smTransHangul2 <35>
|
|||
|
smMaskJamo2 EQU $00000200 ; 2^smTransJamo2 <35>
|
|||
|
smMaskBopomofo2 EQU $00000400 ; 2^smTransBopomofo2 <35>
|
|||
|
|
|||
|
; Result values from GetEnvirons, SetEnvirons, GetScript and SetScript calls.
|
|||
|
|
|||
|
smNotInstalled EQU 0 ; routine not available in script
|
|||
|
smBadVerb EQU -1 ; Bad verb passed to a routine.
|
|||
|
smBadScript EQU -2 ; Bad script code passed to a routine.
|
|||
|
|
|||
|
; Values for script redraw flag <23>
|
|||
|
|
|||
|
smRedrawChar EQU 0 ; redraw character only
|
|||
|
smRedrawWord EQU 1 ; redraw entire word (2-byte systems)
|
|||
|
smRedrawLine EQU -1 ; redraw entire line (bidirectional systems)
|
|||
|
|
|||
|
; Result values from StyledLineBreak
|
|||
|
|
|||
|
smBreakWord EQU 0 ; could break at word boundary
|
|||
|
smBreakChar EQU 1 ; had to break at char boundary
|
|||
|
smBreakOverflow EQU 2 ; text too short, width subtracted
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; GetEnvirons and SetEnvirons verbs.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
smVersion EQU 0 ; Script Manager version number. <33>
|
|||
|
smMunged EQU 2 ; Globals change count.
|
|||
|
smEnabled EQU 4 ; Count of enabled scripts, incl Roman. <33>
|
|||
|
smBidirect EQU 6 ; At least one bidirectional script. <33>
|
|||
|
smFontForce EQU 8 ; Force font flag.
|
|||
|
smIntlForce EQU 10 ; Force intl flag.
|
|||
|
smForced EQU 12 ; Script was forced to system script. <33>
|
|||
|
smDefault EQU 14 ; Script was defaulted to Roman script. <33>
|
|||
|
smPrint EQU 16 ; Printer action routine.
|
|||
|
smSysScript EQU 18 ; System script.
|
|||
|
smLastScript EQU 20 ; Last keyboard script.
|
|||
|
smKeyScript EQU 22 ; Keyboard script.
|
|||
|
smSysRef EQU 24 ; System folder refNum.
|
|||
|
smKeyCache EQU 26 ; Obsolete <33>
|
|||
|
smKeySwap EQU 28 ; Swapping table handle. <33>
|
|||
|
smGenFlags EQU 30 ; general flags long
|
|||
|
smOverride EQU 32 ; script override flags
|
|||
|
smCharPortion EQU 34 ; Ch vs SpExtra proportion
|
|||
|
; New for System 7.0: <2.4>
|
|||
|
smDoubleByte EQU 36 ; Flag for double-byte script installed <2.4>
|
|||
|
smKCHRCache EQU 38 ; Returns pointer to KCHR cache <2.6>
|
|||
|
smRegionCode EQU 40 ; Returns current region code (verXxx) <3>
|
|||
|
smKeyDisableState EQU 42 ; Returns current keyboard disable state <44>
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; GetScript and SetScript verbs.
|
|||
|
; Note: verbs private to script systems are negative, while
|
|||
|
; those general across script systems are non-negative
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
smScriptVersion EQU 0 ; Script software version.
|
|||
|
smScriptMunged EQU 2 ; Script entry changed count.
|
|||
|
smScriptEnabled EQU 4 ; Script enabled flag.
|
|||
|
smScriptRight EQU 6 ; Right to left flag.
|
|||
|
smScriptJust EQU 8 ; Justification flag.
|
|||
|
smScriptRedraw EQU 10 ; Word redraw flag.
|
|||
|
smScriptSysFond EQU 12 ; Preferred system font.
|
|||
|
smScriptAppFond EQU 14 ; Preferred Application font.
|
|||
|
smScriptBundle EQU 16 ; Beginning of itlb verbs.
|
|||
|
smScriptNumber EQU 16 ; Script itl0 id.
|
|||
|
smScriptDate EQU 18 ; Script itl1 id.
|
|||
|
smScriptSort EQU 20 ; Script itl2 id.
|
|||
|
smScriptFlags EQU 22 ; Script flags
|
|||
|
smScriptToken EQU 24 ; Script itl4 id.
|
|||
|
smScriptEncoding EQU 26 ; id of optional itl5, if present. <22>
|
|||
|
smScriptLang EQU 28 ; Current language for script
|
|||
|
smScriptNumDate EQU 30 ; Script Number/Date formats
|
|||
|
smScriptKeys EQU 32 ; Script KCHR id.
|
|||
|
smScriptIcon EQU 34 ; ID # of SICN or kcs#/kcs4/kcs8 suite.
|
|||
|
smScriptPrint EQU 36 ; Script printer action routine.
|
|||
|
smScriptTrap EQU 38 ; Trap entry pointer.
|
|||
|
smScriptCreator EQU 40 ; Script file creator.
|
|||
|
smScriptFile EQU 42 ; Script file name.
|
|||
|
smScriptName EQU 44 ; Script name.
|
|||
|
; There is a hole here for old Kanji private verbs 46-76
|
|||
|
|
|||
|
; New for System 7.0: <1.9>
|
|||
|
smScriptMonoFondSize EQU 78 ; default monospace FOND (hi) & size (lo)
|
|||
|
smScriptPrefFondSize EQU 80 ; preferred FOND (hi) & size (lo)
|
|||
|
smScriptSmallFondSize EQU 82 ; default small FOND (hi) & size (lo)
|
|||
|
smScriptSysFondSize EQU 84 ; default system FOND (hi) & size (lo)
|
|||
|
smScriptAppFondSize EQU 86 ; default application FOND (hi) & size (lo) <9>
|
|||
|
smScriptHelpFondSize EQU 88 ; default Help Mgr FOND (hi) & size (lo) <9>
|
|||
|
smScriptValidStyles EQU 90 ; mask of valid styles for script <18>
|
|||
|
smScriptAliasStyle EQU 92 ; style (set) to use for aliases <18>
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Negative verbs for KeyScript <13><23>
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
smKeyNextScript EQU -1 ; Switch to next available script
|
|||
|
smKeySysScript EQU -2 ; Switch to the system script
|
|||
|
smKeySwapScript EQU -3 ; Switch to previously-used script <19>
|
|||
|
|
|||
|
; New for System 7.0
|
|||
|
smKeyNextKybd EQU -4 ; Switch to next keyboard in current keyscript
|
|||
|
smKeySwapKybd EQU -5 ; Switch to previously-used keyboard in current keyscript
|
|||
|
; (smKeySwapKybd is not implemented in System 7.0)
|
|||
|
smKeyDisableKybds EQU -6 ; Disable keyboards not in system or Roman script <23>
|
|||
|
smKeyEnableKybds EQU -7 ; Re-enable keyboards for all enabled scripts <23>
|
|||
|
|
|||
|
; Not currently implemented in System, may be implemented by script systems <19>
|
|||
|
; (Renumbered smKeyNextInputMethod, smKeySwapInputMethod) <23>
|
|||
|
smKeyToggleInline EQU -8 ; Toggle inline input for current keyscript
|
|||
|
smKeyToggleDirection EQU -9 ; Toggle default line direction (TESysJust)
|
|||
|
smKeyNextInputMethod EQU -10 ; Switch to next input method in current keyscript <23>
|
|||
|
smKeySwapInputMethod EQU -11 ; Switch to last-used input method in cur keyscript <23>
|
|||
|
|
|||
|
smKeyDisableKybdSwitch EQU -12 ; Disable switching from the current keyboard <24>
|
|||
|
|
|||
|
smKeySetDirLeftRight EQU -15 ; Set default line dir to left-right, align left <42>
|
|||
|
smKeySetDirRightLeft EQU -16 ; Set default line dir to right-left, align right <42>
|
|||
|
smKeyRoman EQU -17 ; Set keyscript to Roman. Does nothing if Roman-only <46>
|
|||
|
; system, unlike KeyScript(smRoman) which forces <46>
|
|||
|
; an update to current default keyboard for Roman) <46>
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Bits in the smScriptFlags word (bits above 8 are non-static)
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
smsfIntellCP EQU 0 ; script has intelligent cut & paste
|
|||
|
smsfSingByte EQU 1 ; script has only single bytes
|
|||
|
smsfNatCase EQU 2 ; native chars have upper & lower case
|
|||
|
smsfContext EQU 3 ; script is contextual <33>
|
|||
|
smsfNoForceFont EQU 4 ; script will not force characters
|
|||
|
smsfB0Digits EQU 5 ; script has alternate digits at B0-B9
|
|||
|
smsfAutoInit EQU 6 ; auto initialize the script <8>
|
|||
|
smsfUnivExt EQU 7 ; script is handled by universal extension <42>
|
|||
|
smsfSynchUnstyledTE EQU 8 ; script synchronizes for unstyled TE <52>
|
|||
|
smsfForms EQU 13 ; uses contextual forms for letters
|
|||
|
smsfLigatures EQU 14 ; uses contextual ligatures
|
|||
|
smsfReverse EQU 15 ; reverses native text, right-left
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Bits in the smGenFlags long. First (high-order) byte is set from itlc flags byte.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
smfShowIcon EQU 31 ; show icon even if only one script
|
|||
|
smfDualCaret EQU 30 ; use dual caret for mixed direction text
|
|||
|
smfNameTagEnab EQU 29 ; reserved for internal use <16>
|
|||
|
smfUseAssocFontInfo EQU 28 ; Use the associated font info for FontMetrics calls <45>
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Bits in the itlcFlags byte.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
itlcShowIcon EQU 7 ; Show icon even if only one script <41>
|
|||
|
itlcDualCaret EQU 6 ; Use dual caret for mixed direction text <41>
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Bits in the itlcSysFlags word.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
itlcSysDirection EQU 15 ; System direction - left to right/right to left <41>
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Roman script constants.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
; The following are here for backward compatibility, but should not be used. <19>
|
|||
|
; This information should be obtained using GetScript.
|
|||
|
romanSysFond EQU $3FFF ; system font id number.
|
|||
|
romanAppFond EQU 3 ; application font id number.
|
|||
|
romanFlags EQU (1<<smsfIntellCP)+(1<<smsfSingByte)+(1<<smsfNatCase) ; roman settings
|
|||
|
|
|||
|
; Script Manager font equates.
|
|||
|
|
|||
|
smFondStart EQU $4000 ; start from 16K.
|
|||
|
smFondEnd EQU $C000 ; past end of range at 48K.
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Simple script constants.
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
smUprHalfCharSet EQU $80 ; first character code in upper half of Macintosh Character Set <8>
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Macintosh character set extensions
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
diaeresisUprY EQU $D9 ; <20>
|
|||
|
fraction EQU $DA ; <20>
|
|||
|
intlCurrency EQU $DB ; <20>
|
|||
|
leftSingGuillemet EQU $DC ; <20>
|
|||
|
rightSingGuillemet EQU $DD ; <20>
|
|||
|
fiLigature EQU $DE ; <20>
|
|||
|
flLigature EQU $DF ; <20>
|
|||
|
dblDagger EQU $E0 ; <20>
|
|||
|
centeredDot EQU $E1 ; <20>
|
|||
|
baseSingQuote EQU $E2 ; <20>
|
|||
|
baseDblQuote EQU $E3 ; <20>
|
|||
|
perThousand EQU $E4 ; <20>
|
|||
|
circumflexUprA EQU $E5 ; <20>
|
|||
|
circumflexUprE EQU $E6 ; <20>
|
|||
|
acuteUprA EQU $E7 ; <20>
|
|||
|
diaeresisUprE EQU $E8 ; <20>
|
|||
|
graveUprE EQU $E9 ; <20>
|
|||
|
acuteUprI EQU $EA ; <20>
|
|||
|
circumflexUprI EQU $EB ; <20>
|
|||
|
diaeresisUprI EQU $EC ; <20>
|
|||
|
graveUprI EQU $ED ; <20>
|
|||
|
acuteUprO EQU $EE ; <20>
|
|||
|
circumflexUprO EQU $EF ; <20>
|
|||
|
appleLogo EQU $F0 ; <20>
|
|||
|
graveUprO EQU $F1 ; <20>
|
|||
|
acuteUprU EQU $F2 ; <20>
|
|||
|
circumflexUprU EQU $F3 ; <20>
|
|||
|
graveUprU EQU $F4 ; <20>
|
|||
|
dotlessLwrI EQU $F5 ; <20>
|
|||
|
circumflex EQU $F6 ; <20>
|
|||
|
tilde EQU $F7 ; <20>
|
|||
|
macron EQU $F8 ; <20>
|
|||
|
breveMark EQU $F9 ; <20> <34>
|
|||
|
overDot EQU $FA ; <20>
|
|||
|
ringMark EQU $FB ; <20> <34>
|
|||
|
cedilla EQU $FC ; <20>
|
|||
|
doubleAcute EQU $FD ; <20>
|
|||
|
ogonek EQU $FE ; <20>
|
|||
|
hachek EQU $FF ; (don't type it here - breaks MPW tools!)
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Other new constants for 7.0 <2.7>
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
; Constants for truncWhere argument in TruncString and TruncText <2.7>
|
|||
|
|
|||
|
smTruncEnd EQU 0 ; Truncate at end
|
|||
|
smTruncMiddle EQU $4000 ; Truncate in middle
|
|||
|
|
|||
|
; Constants for TruncString and TruncText results <13>
|
|||
|
|
|||
|
smNotTruncated EQU 0 ; No truncation was necessary
|
|||
|
smTruncated EQU 1 ; Truncation performed
|
|||
|
smTruncErr EQU -1 ; General error
|
|||
|
|
|||
|
; Constants for styleRunPosition argument in NPortionText, NDrawJust, NMeasureJust, <2>
|
|||
|
; NChar2Pixel, and NPixel2Char.
|
|||
|
|
|||
|
smOnlyStyleRun EQU 0 ; This is the only style run on the line.
|
|||
|
smLeftStyleRun EQU 1 ; This is leftmost of multiple style runs on the line.
|
|||
|
smRightStyleRun EQU 2 ; This is rightmost of multiple style runs on the line.
|
|||
|
smMiddleStyleRun EQU 3 ; There are multiple style runs on the line and this<69>
|
|||
|
; <20>is neither the leftmost nor the rightmost.
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Record declarations for itlc, itlb, itl2, itl4
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Record declaration for international configuration resource (type itlc).
|
|||
|
|
|||
|
ItlcRecord record 0
|
|||
|
itlcSystem ds.w 1 ; default system script.
|
|||
|
itlcReserved ds.w 1 ; reserved
|
|||
|
itlcFontForce ds.b 1 ; default font force flag.
|
|||
|
itlcIntlForce ds.b 1 ; default intl force flag.
|
|||
|
itlcOldKybd ds.b 1 ; MacPlus intl keybd flag <33>
|
|||
|
itlcFlags ds.b 1 ; general flags
|
|||
|
itlcIconOffset ds.w 1 ; keyboard icon offset (not in 7.0) <1.3><33>
|
|||
|
itlcIconSide ds.b 1 ; keybd icon side (R=0,L=$FF) (not 7.0) <1.3><33>
|
|||
|
itlcIconRsvd ds.b 1 ; rsvd for other icon info <1.3><33>
|
|||
|
itlcRegionCode ds.w 1 ; preferred verXxx code <4>
|
|||
|
itlcSysFlags ds.w 1 ; flags for setting system globals <40>
|
|||
|
itlcReserved4 ds.b 32 ; for future use <4><5><40>
|
|||
|
itlcSize equ * ; size of script itlc.
|
|||
|
endr
|
|||
|
|
|||
|
; Record declaration for international bundle resource (type itlb).
|
|||
|
|
|||
|
ItlbRecord record 0
|
|||
|
itlbNumber ds.w 1 ; itl0 ID number.
|
|||
|
itlbDate ds.w 1 ; itl1 ID number.
|
|||
|
itlbSort ds.w 1 ; itl2 ID number.
|
|||
|
itlbFlags ds.w 1 ; Script Flags.
|
|||
|
itlbToken ds.w 1 ; itl4 ID number.
|
|||
|
itlbEncoding ds.w 1 ; itl5 ID # (optional; char encoding). <22>
|
|||
|
itlbLang ds.w 1 ; current language for script
|
|||
|
itlbNumRep ds.b 1 ; number representation code
|
|||
|
itlbDateRep ds.b 1 ; date representation code
|
|||
|
itlbKeys ds.w 1 ; KCHR id number.
|
|||
|
itlbIcon ds.w 1 ; ID # of SICN or kcs#/kcs4/kcs8 suite.
|
|||
|
itlbSize equ * ; size of bundle.
|
|||
|
endr
|
|||
|
|
|||
|
; Extended itlb to support auto initialization of scripts <8>
|
|||
|
ItlbExtRecord record 0
|
|||
|
base ds ItlbRecord ; un-extended itlbRecord
|
|||
|
itlbLocalSize ds.l 1 ; size of script's local record
|
|||
|
itlbMonoFond ds.w 1 ; default monospace FOND ID
|
|||
|
itlbMonoSize ds.w 1 ; default monospace font size
|
|||
|
itlbPrefFond ds.w 1 ; preferred FOND ID
|
|||
|
itlbPrefSize ds.w 1 ; preferred font size
|
|||
|
itlbSmallFond ds.w 1 ; default small FOND ID
|
|||
|
itlbSmallSize ds.w 1 ; default small font size
|
|||
|
itlbSysFond ds.w 1 ; default system FOND ID
|
|||
|
itlbSysSize ds.w 1 ; default system font size
|
|||
|
itlbAppFond ds.w 1 ; default application FOND ID
|
|||
|
itlbAppSize ds.w 1 ; default application font size
|
|||
|
itlbHelpFond ds.w 1 ; default Help Mgr FOND ID <9>
|
|||
|
itlbHelpSize ds.w 1 ; default Help Mgr font size <9>
|
|||
|
itlbValidStyles ds.b 1 ; mask of valid styles for script <18>
|
|||
|
itlbAliasStyle ds.b 1 ; style (set) to mark aliases <18>
|
|||
|
itlbExtSize equ * ; size of ItlbExtRecord
|
|||
|
endr
|
|||
|
|
|||
|
; itl2 routine vector offsets.
|
|||
|
|
|||
|
initHook EQU 0
|
|||
|
fetchHook EQU 2
|
|||
|
vernierHook EQU 4
|
|||
|
projectHook EQU 6
|
|||
|
rsvdHook EQU 8
|
|||
|
exitHook EQU 10
|
|||
|
|
|||
|
; Note that the value of itl2FlagsOffset is equal
|
|||
|
; to the value of rsvdHook. In the old itl2
|
|||
|
; format the value at this location was an
|
|||
|
; unused routine offset. In the new itl2
|
|||
|
; format, the value at this location is a flag
|
|||
|
; ($ffff) indicating the new format that includes
|
|||
|
; the offsets to the tables for LwrString and
|
|||
|
; tables for the Roman versions of the CharType,
|
|||
|
; Transliterate and FindWord.
|
|||
|
|
|||
|
itl2FlagsOffset EQU 8
|
|||
|
; itl2 table offsets
|
|||
|
|
|||
|
typeListOffset EQU 12
|
|||
|
classArrayOffset EQU 14
|
|||
|
upperListOffset EQU 16
|
|||
|
lowerListOffset EQU 18
|
|||
|
upperNoMarkListOffset EQU 20
|
|||
|
wordTableOffset EQU 22
|
|||
|
wrapTableOffset EQU 24
|
|||
|
noMarkListOffset EQU 26
|
|||
|
itl2VersionOffset EQU 28
|
|||
|
itl2FormatOffset EQU 30 ; <28>
|
|||
|
|
|||
|
; New for System 7.0:<2.5>
|
|||
|
; itl2 table/code lengths.
|
|||
|
|
|||
|
wordTableLen EQU 54 ; <2.5>
|
|||
|
wrapTableLen EQU 56 ; <2.5>
|
|||
|
findScriptTableOffset EQU 60 ; <8>
|
|||
|
findScriptTableLen EQU 62 ; <8>
|
|||
|
|
|||
|
; New for System 7.0:
|
|||
|
; itl2FormatOffset definitions
|
|||
|
hdrExtensionsExist EQU 1 ; <28>
|
|||
|
|
|||
|
; String data structure for itl2 stack frames.
|
|||
|
|
|||
|
IUStrData record 0
|
|||
|
curChar ds.w 1 ; current character.
|
|||
|
mapChar ds.w 1 ; projected character.
|
|||
|
decChar ds.w 1 ; decision char for weak equality.
|
|||
|
bufChar ds.b 1 ; buffer for expansion.
|
|||
|
justAfter ds.b 1 ; boolean for AE vs ligature-AE.
|
|||
|
ignChar ds.b 1 ; flag: ignore char.
|
|||
|
noFetch ds.b 1 ; flag: no fetch of next.
|
|||
|
strCnt ds.w 1 ; length word.
|
|||
|
strPtr ds.l 1 ; current ptr to string.
|
|||
|
endr
|
|||
|
|
|||
|
; Stack frame for itl2 sorting routines.
|
|||
|
|
|||
|
IUSortFrame record {oldA6},decrement
|
|||
|
result ds.w 1
|
|||
|
aStrText ds.l 1
|
|||
|
bStrText ds.l 1
|
|||
|
aStrLen ds.w 1
|
|||
|
bStrLen ds.w 1
|
|||
|
return ds.l 1
|
|||
|
oldA6 ds.l 1
|
|||
|
aInfo ds IUStrData
|
|||
|
bInfo ds IUStrData
|
|||
|
wantMag ds.b 1 ; 0 to use primary differences only; else 1 <33>
|
|||
|
weakEq ds.b 1 ; Signals at most weak equality.
|
|||
|
msLock ds.b 1 ; (obsolete, not used)
|
|||
|
weakMag ds.b 1 ; -1 to force magnitude result (-1,0,1); else 0 <33>
|
|||
|
supStorage ds.b 18 ; extra storage.
|
|||
|
weakAPtr ds.l 1 ; sup. pointer
|
|||
|
weakBPtr ds.l 1 ; sup. pointer
|
|||
|
lkSize equ * ; frame size.
|
|||
|
paramBytes equ aStrText-return
|
|||
|
endr
|
|||
|
|
|||
|
; New for System 7.0:
|
|||
|
; New stack frame for itl2 sorting routines in System 7.0; adds itl2Handle field. <5>
|
|||
|
|
|||
|
IUNSortFrame record {oldA6},decrement
|
|||
|
result ds.w 1
|
|||
|
aStrText ds.l 1
|
|||
|
bStrText ds.l 1
|
|||
|
aStrLen ds.w 1
|
|||
|
bStrLen ds.w 1
|
|||
|
return ds.l 1
|
|||
|
oldA6 ds.l 1
|
|||
|
aInfo ds IUStrData
|
|||
|
bInfo ds IUStrData
|
|||
|
wantMag ds.b 1 ; 0 to use primary differences only; else 1 <33>
|
|||
|
weakEq ds.b 1 ; Signals at most weak equality.
|
|||
|
msLock ds.b 1 ; (obsolete, not used)
|
|||
|
weakMag ds.b 1 ; -1 to force magnitude result (-1,0,1); else 0 <33>
|
|||
|
supStorage ds.b 18 ; extra storage.
|
|||
|
weakAPtr ds.l 1 ; sup. pointer
|
|||
|
weakBPtr ds.l 1 ; sup. pointer
|
|||
|
itl2Handle ds.l 1 ; itl2 handle, if supplied <2.3>
|
|||
|
lkSize equ * ; frame size.
|
|||
|
paramBytes equ aStrText-return
|
|||
|
endr
|
|||
|
|
|||
|
Itl4Rec record 0,increment ; (added comments <33>)
|
|||
|
flags ds.w 1 ; reserved
|
|||
|
resourceType ds.l 1 ; contains 'itl4'
|
|||
|
resourceNum ds.w 1 ; resource ID
|
|||
|
version ds.w 1 ; version number
|
|||
|
resHeader1 ds.l 1 ; reserved
|
|||
|
resHeader2 ds.l 1 ; reserved
|
|||
|
numTables ds.w 1 ; number of tables, one-based
|
|||
|
; the following offsets are from beginning of resource
|
|||
|
mapOffset ds.l 1 ; offset to table that maps byte to token
|
|||
|
strOffset ds.l 1 ; offset to routine that copies canonical string
|
|||
|
fetchOffset ds.l 1 ; offset to routine that gets next byte of character
|
|||
|
unTokenOffset ds.l 1 ; offset to table that maps token to canonical string
|
|||
|
defPartsOffset ds.l 1 ; offset to default number parts table
|
|||
|
resOffset6 ds.l 1 ; reserved
|
|||
|
resOffset7 ds.l 1 ; reserved
|
|||
|
resOffset8 ds.l 1 ; reserved
|
|||
|
itl4HeaderSize equ *
|
|||
|
; the rest is data pointed to by offsets.
|
|||
|
endr
|
|||
|
|
|||
|
; New for System 7.0: <5>
|
|||
|
|
|||
|
NItl4Rec record 0,increment ; (added comments <33>)
|
|||
|
flags ds.w 1 ; reserved
|
|||
|
resourceType ds.l 1 ; contains 'itl4'
|
|||
|
resourceNum ds.w 1 ; resource ID
|
|||
|
version ds.w 1 ; version number
|
|||
|
format ds.w 1 ; format code <29>
|
|||
|
resHeader ds.w 1 ; reserved <29>
|
|||
|
resHeader2 ds.l 1 ; reserved
|
|||
|
numTables ds.w 1 ; number of tables, one-based
|
|||
|
; the following offsets are from beginning of resource
|
|||
|
mapOffset ds.l 1 ; offset to table that maps byte to token
|
|||
|
strOffset ds.l 1 ; offset to routine that copies canonical string
|
|||
|
fetchOffset ds.l 1 ; offset to routine that gets next byte of character
|
|||
|
unTokenOffset ds.l 1 ; offset to table that maps token to canonical string
|
|||
|
defPartsOffset ds.l 1 ; offset to default number parts table
|
|||
|
whtSpListOffset ds.l 1 ; offset to white space code list <2.3><15>
|
|||
|
resOffset7 ds.l 1 ; reserved
|
|||
|
resOffset8 ds.l 1 ; reserved
|
|||
|
resLength1 ds.w 1 ; reserved <2.5>
|
|||
|
resLength2 ds.w 1 ; reserved <2.5>
|
|||
|
resLength3 ds.w 1 ; reserved <2.5>
|
|||
|
unTokenLength ds.w 1 ; length of untoken table <2.5><9>
|
|||
|
defPartsLength ds.w 1 ; length of default number parts table <2.5><9>
|
|||
|
whtSpListLength ds.w 1 ; length of white space code list <2.5><9><20>
|
|||
|
resLength7 ds.w 1 ; reserved <2.5>
|
|||
|
resLength8 ds.w 1 ; reserved <2.5>
|
|||
|
nItl4HeaderSize equ * ; <22>
|
|||
|
; the rest is data pointed to by offsets.
|
|||
|
endr
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Record declarations and constants for date/time/location handling
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
LongDateRec record 0 ; zero any fields not used!
|
|||
|
era ds.w 1
|
|||
|
year ds.w 1
|
|||
|
month ds.w 1
|
|||
|
day ds.w 1
|
|||
|
hour ds.w 1
|
|||
|
minute ds.w 1
|
|||
|
second ds.w 1
|
|||
|
dayOfWeek ds.w 1
|
|||
|
dayOfYear ds.w 1
|
|||
|
weekOfYear ds.w 1
|
|||
|
pm ds.w 1
|
|||
|
ldReserved ds.w 3
|
|||
|
LongDateRecSize equ *
|
|||
|
endR
|
|||
|
|
|||
|
LongDateTime record 0 ; record for comp type
|
|||
|
highLong ds.l 1
|
|||
|
lowLong ds.l 1
|
|||
|
endR
|
|||
|
|
|||
|
; date equates constants
|
|||
|
|
|||
|
LongDateField record 0 ;DateField: enum type
|
|||
|
eraField ds.b 1
|
|||
|
yearField ds.b 1
|
|||
|
monthField ds.b 1
|
|||
|
dayField ds.b 1
|
|||
|
hourField ds.b 1
|
|||
|
minuteField ds.b 1
|
|||
|
secondField ds.b 1
|
|||
|
dayOfWeekField ds.b 1
|
|||
|
dayOfYearField ds.b 1
|
|||
|
weekOfYearField ds.b 1
|
|||
|
pmField ds.b 1
|
|||
|
res1Field ds.b 1
|
|||
|
res2Field ds.b 1
|
|||
|
res3Field ds.b 1
|
|||
|
|
|||
|
maxDateField equ pmField ; currently largest used field
|
|||
|
|
|||
|
eraMask equ 1<<eraField
|
|||
|
yearMask equ 1<<yearField
|
|||
|
monthMask equ 1<<monthField
|
|||
|
dayMask equ 1<<dayField
|
|||
|
hourMask equ 1<<hourField
|
|||
|
minuteMask equ 1<<minuteField
|
|||
|
secondMask equ 1<<secondField
|
|||
|
dayOfWeekMask equ 1<<dayOfWeekField
|
|||
|
dayOfYearMask equ 1<<dayOfYearField
|
|||
|
weekOfYearMask equ 1<<weekOfYearField
|
|||
|
pmMask equ 1<<pmField
|
|||
|
|
|||
|
dateStdMask equ eraMask++yearMask++monthMask++dayMask++hourMask++minuteMask++secondMask
|
|||
|
endR
|
|||
|
|
|||
|
smallDateBit EQU 31 ; Restrict valid date/time to range of Time global
|
|||
|
togChar12HourBit EQU 30 ; If toggling hour by char, accept hours 1..12 only
|
|||
|
togCharZCycleBit EQU 29 ; Modifier for togChar12HourBit: accept hours 0..11 only
|
|||
|
togDelta12HourBit EQU 28 ; If toggling hour up/down, restrict to 12-hour range (am/pm)
|
|||
|
genCdevRangeBit EQU 27 ; Restrict date/time to range used by genl CDEV
|
|||
|
validDateFields EQU -1
|
|||
|
|
|||
|
|
|||
|
TogglePB record 0
|
|||
|
togFlags ds.l 1 ; longint; caller normally sets low word to dateStdMask = $7F
|
|||
|
amChars ds.l 1 ; ResType; from 'itl0', but uppercased <33>
|
|||
|
pmChars ds.l 1 ; ResType; from 'itl0', but uppercased <33>
|
|||
|
reserved ds.l 4 ; array [0..3] of Longint
|
|||
|
endR
|
|||
|
|
|||
|
ToggleResults record 0
|
|||
|
toggleUndefined ds.b 1
|
|||
|
toggleOk ds.b 1
|
|||
|
toggleBadField ds.b 1
|
|||
|
toggleBadDelta ds.b 1
|
|||
|
toggleBadChar ds.b 1
|
|||
|
toggleUnknown ds.b 1
|
|||
|
toggleBadNum ds.b 1 ; can't use char as number
|
|||
|
toggleOutOfRange EQU * ; synonym for toggleErr3
|
|||
|
toggleErr3 ds.b 1 ; reserved
|
|||
|
toggleErr4 ds.b 1 ; reserved
|
|||
|
toggleErr5 ds.b 1 ; reserved
|
|||
|
endR
|
|||
|
|
|||
|
MachineLocation record 0
|
|||
|
latitude ds.l 1 ; fract
|
|||
|
longitude ds.l 1 ; fract
|
|||
|
dlsDelta ds.b 1 ; signed byte
|
|||
|
gmtDelta ds.b 3 ; 3 byte signed integer
|
|||
|
endR
|
|||
|
|
|||
|
|
|||
|
; String2Date/String2Time status values
|
|||
|
|
|||
|
fatalDateTime EQU $8000 ; String2Date and String2Time mask to a fatal error
|
|||
|
longDateFound EQU 1 ; String2Date mask to long date found
|
|||
|
leftOverChars EQU 2 ; String2Date & Time mask to warn of left over characters
|
|||
|
sepNotIntlSep EQU 4 ; String2Date & Time mask to warn of non-standard separators
|
|||
|
fieldOrderNotIntl EQU 8 ; String2Date & Time mask to warn of non-standard field order
|
|||
|
extraneousStrings EQU 16 ; String2Date & Time mask to warn of unparsable strings in text
|
|||
|
tooManySeps EQU 32 ; String2Date & Time mask to warn of too many separators
|
|||
|
sepNotConsistent EQU 64 ; String2Date & Time mask to warn of inconsistent separators
|
|||
|
tokenErr EQU fatalDateTime + 256 ; String2Date & Time mask for 'tokenizer err encountered'
|
|||
|
cantReadUtilities EQU fatalDateTime + 512 ;
|
|||
|
dateTimeNotFound EQU fatalDateTime + 1024 ; String2Date mask for 'date was not found'
|
|||
|
dateTimeInvalid EQU fatalDateTime + 2048 ; Invalid time/date e.g. 13:61PM
|
|||
|
|
|||
|
|
|||
|
DateOrders RECORD 0,INCREMENT
|
|||
|
mdy DS.B 1
|
|||
|
dmy DS.B 1
|
|||
|
ymd DS.B 1
|
|||
|
myd DS.B 1
|
|||
|
dym DS.B 1
|
|||
|
ydm DS.B 1
|
|||
|
ENDR
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Constants and record declarations for tokenizer (added comments <33>)
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
tokenIntl EQU 4 ; the itl resource number for the tokenizer
|
|||
|
|
|||
|
tokenEmpty EQU -1 ; used internally as an empty flag
|
|||
|
tokenUnknown EQU 0 ; chars that do not match a defined token type
|
|||
|
tokenWhite EQU 1 ; white space
|
|||
|
tokenLeftLit EQU 2 ; literal begin
|
|||
|
tokenRightLit EQU 3 ; literal end
|
|||
|
tokenAlpha EQU 4 ; alphabetic
|
|||
|
tokenNumeric EQU 5 ; numeric
|
|||
|
tokenNewLine EQU 6 ; new line
|
|||
|
tokenLeftComment EQU 7 ; open comment
|
|||
|
tokenRightComment EQU 8 ; close comment
|
|||
|
tokenLiteral EQU 9 ; literal
|
|||
|
tokenEscape EQU 10 ; character escape (e.g. '\' in "\n", "\t")
|
|||
|
tokenAltNum EQU 11 ; alternate number (e.g. $B0-B9 in Arabic,Hebrew)
|
|||
|
tokenRealNum EQU 12 ; real number
|
|||
|
tokenAltReal EQU 13 ; alternate real number
|
|||
|
tokenReserve1 EQU 14 ; reserved
|
|||
|
tokenReserve2 EQU 15 ; reserved
|
|||
|
tokenLeftParen EQU 16 ; open parenthesis
|
|||
|
tokenRightParen EQU 17 ; close parenthesis
|
|||
|
tokenLeftBracket EQU 18 ; open square bracket
|
|||
|
tokenRightBracket EQU 19 ; close square bracket
|
|||
|
tokenLeftCurly EQU 20 ; open curly bracket
|
|||
|
tokenRightCurly EQU 21 ; close curly bracket
|
|||
|
tokenLeftEnclose EQU 22 ; open guillemet
|
|||
|
tokenRightEnclose EQU 23 ; close guillemet
|
|||
|
tokenPlus EQU 24
|
|||
|
tokenMinus EQU 25
|
|||
|
tokenAsterisk EQU 26 ; times/multiply
|
|||
|
tokenDivide EQU 27
|
|||
|
tokenPlusMinus EQU 28 ; plus or minus symbol
|
|||
|
tokenSlash EQU 29
|
|||
|
tokenBackSlash EQU 30
|
|||
|
tokenLess EQU 31 ; less than symbol
|
|||
|
tokenGreat EQU 32 ; greater than symbol
|
|||
|
tokenEqual EQU 33
|
|||
|
tokenLessEqual2 EQU 34 ; less than or equal, 2 characters (e.g. <=)
|
|||
|
tokenLessEqual1 EQU 35 ; less than or equal, 1 character
|
|||
|
tokenGreatEqual2 EQU 36 ; greater than or equal, 2 characters (e.g. >=)
|
|||
|
tokenGreatEqual1 EQU 37 ; greater than or equal, 1 character
|
|||
|
token2Equal EQU 38 ; double equal (e.g. ==)
|
|||
|
tokenColonEqual EQU 39 ; colon equal
|
|||
|
tokenNotEqual EQU 40 ; not equal, 1 character
|
|||
|
tokenLessGreat EQU 41 ; less/greater, Pascal not equal (e.g. <>)
|
|||
|
tokenExclamEqual EQU 42 ; exclamation equal, C not equal (e.g. !=)
|
|||
|
tokenExclam EQU 43 ; exclamation point
|
|||
|
tokenTilde EQU 44 ; centered tilde (fix spelling <15>)
|
|||
|
tokenComma EQU 45
|
|||
|
tokenPeriod EQU 46
|
|||
|
tokenLeft2Quote EQU 47 ; open double quote
|
|||
|
tokenRight2Quote EQU 48 ; close double quote
|
|||
|
tokenLeft1Quote EQU 49 ; open single quote
|
|||
|
tokenRight1Quote EQU 50 ; close single quote
|
|||
|
token2Quote EQU 51 ; double quote
|
|||
|
token1Quote EQU 52 ; single quote
|
|||
|
tokenSemicolon EQU 53
|
|||
|
tokenPercent EQU 54
|
|||
|
tokenCaret EQU 55 ; (fix spelling <33>)
|
|||
|
tokenUnderline EQU 56
|
|||
|
tokenAmpersand EQU 57
|
|||
|
tokenAtSign EQU 58
|
|||
|
tokenBar EQU 59 ; vertical bar
|
|||
|
tokenQuestion EQU 60
|
|||
|
tokenPi EQU 61 ; lower-case pi
|
|||
|
tokenRoot EQU 62 ; square root symbol
|
|||
|
tokenSigma EQU 63 ; capital sigma
|
|||
|
tokenIntegral EQU 64 ; integral sign
|
|||
|
tokenMicro EQU 65
|
|||
|
tokenCapPi EQU 66 ; capital pi
|
|||
|
tokenInfinity EQU 67
|
|||
|
tokenColon EQU 68
|
|||
|
tokenHash EQU 69 ; e.g. #
|
|||
|
tokenDollar EQU 70
|
|||
|
tokenNoBreakSpace EQU 71 ; non-breaking space
|
|||
|
tokenFraction EQU 72
|
|||
|
tokenIntlCurrency EQU 73
|
|||
|
tokenLeftSingGuillemet EQU 74
|
|||
|
tokenRightSingGuillemet EQU 75 ; (Fixed spelling <19>)
|
|||
|
tokenPerThousand EQU 76
|
|||
|
tokenEllipsis EQU 77 ; <15>
|
|||
|
tokenCenterDot EQU 78 ; <15>
|
|||
|
tokenNil EQU 127
|
|||
|
|
|||
|
delimPad EQU -2
|
|||
|
|
|||
|
; obsolete, misspelled token names kept for backward compatibility (moved here <33>)
|
|||
|
|
|||
|
tokenTilda EQU 44 ; keep wrong spelling for backward compatibility <15>
|
|||
|
tokenCarat EQU 55
|
|||
|
|
|||
|
TokenResults record 0
|
|||
|
tokenOK ds.b 1
|
|||
|
tokenOverflow ds.b 1
|
|||
|
stringOverflow ds.b 1
|
|||
|
badDelim ds.b 1
|
|||
|
badEnding ds.b 1
|
|||
|
crash ds.b 1
|
|||
|
endr
|
|||
|
|
|||
|
TokenBlock RECORD 0,INCR ; (added comments <33>)
|
|||
|
source ds.l 1 ; pointer to stream of characters
|
|||
|
sourceLength ds.l 1 ; length of source stream
|
|||
|
tokenList ds.l 1 ; pointer to array of tokens
|
|||
|
tokenLength ds.l 1 ; maximum length of TokenList
|
|||
|
tokenCount ds.l 1 ; number tokens generated by tokenizer
|
|||
|
stringList ds.l 1 ; pointer to stream of identifiers
|
|||
|
stringLength ds.l 1 ; length of string list
|
|||
|
stringCount ds.l 1 ; number of bytes currently used
|
|||
|
doString ds.b 1 ; Boolean: make strings & put into StringList
|
|||
|
doAppend ds.b 1 ; Boolean: append to TokenList rather than replace
|
|||
|
doAlphanumeric ds.b 1 ; Boolean: identifiers may include numeric
|
|||
|
doNest ds.b 1 ; Boolean: do comments nest?
|
|||
|
leftDelims ds.w 2
|
|||
|
rightDelims ds.w 2
|
|||
|
leftComment ds.l 2
|
|||
|
rightComment ds.l 2
|
|||
|
escapeCode ds.w 1 ; escape symbol code
|
|||
|
decimalCode ds.w 1
|
|||
|
itlResource ds.l 1 ; handle to itl4 resource of current script
|
|||
|
reserved ds.l 8 ; must be zero!
|
|||
|
ENDR
|
|||
|
|
|||
|
TokenRec RECORD 0,INCR ; (added comments <33>)
|
|||
|
theToken ds.w 1 ; TokenType
|
|||
|
position ds.l 1 ; Ptr into original source
|
|||
|
length ds.l 1 ; length of text in original source
|
|||
|
stringPosition ds.l 1 ; StringPtr to copy of identifier
|
|||
|
tokenRecSize equ *
|
|||
|
ENDR
|
|||
|
|
|||
|
UntokenTable Record 0, INCR
|
|||
|
len ds.w 1
|
|||
|
lastToken ds.w 1
|
|||
|
index ds.w 256 ; index table; last = lastToken
|
|||
|
;list of pascal strings here. index pointers are from front of table
|
|||
|
Endr
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Record declarations and constants for formatted number handling
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
; FormatClass enumeration
|
|||
|
|
|||
|
fPositive EQU 0
|
|||
|
fNegative EQU 1
|
|||
|
fZero EQU 2
|
|||
|
|
|||
|
; FormatResultType enumeration
|
|||
|
|
|||
|
fFormatOK EQU 0
|
|||
|
fBestGuess EQU 1
|
|||
|
fOutOfSynch EQU 2
|
|||
|
fSpuriousChars EQU 3
|
|||
|
fMissingDelimiter EQU 4
|
|||
|
fExtraDecimal EQU 5
|
|||
|
fMissingLiteral EQU 6
|
|||
|
fExtraExp EQU 7
|
|||
|
fFormatOverflow EQU 8
|
|||
|
fFormStrIsNAN EQU 9
|
|||
|
fBadPartsTable EQU 10
|
|||
|
fExtraPercent EQU 11
|
|||
|
fExtraSeparator EQU 12
|
|||
|
fEmptyFormatString EQU 13
|
|||
|
|
|||
|
WideChar record 0,increment
|
|||
|
a ds.b 2 ; PACKED ARRAY[0..1] OF CHAR
|
|||
|
ORG a
|
|||
|
b ds.w 1 ; INTEGER
|
|||
|
endr
|
|||
|
|
|||
|
WideCharArr record 0,increment
|
|||
|
size ds.w 1 ; INTEGER
|
|||
|
data ds.w 10 ; PACKED ARRAY[0..9] OF WideChar
|
|||
|
endr
|
|||
|
|
|||
|
fVNumber EQU 0 ; first version of NumFormatString
|
|||
|
|
|||
|
NumFormatString record 0,increment
|
|||
|
fLength ds.b 1 ; length of format String
|
|||
|
fVersion ds.b 1 ; version number
|
|||
|
data ds.b 254 ; private data <33>
|
|||
|
endr
|
|||
|
|
|||
|
;Number format equates
|
|||
|
|
|||
|
tokLeftQuote EQU 1
|
|||
|
tokRightQuote EQU 2
|
|||
|
tokLeadPlacer EQU 3
|
|||
|
tokLeader EQU 4
|
|||
|
tokNonLeader EQU 5
|
|||
|
tokZeroLead EQU 6
|
|||
|
tokPercent EQU 7
|
|||
|
tokPlusSign EQU 8
|
|||
|
tokMinusSign EQU 9
|
|||
|
tokThousands EQU 10
|
|||
|
tokSeparator EQU 12 ; 11 is reserved
|
|||
|
tokEscape EQU 13
|
|||
|
tokDecPoint EQU 14
|
|||
|
tokEPlus EQU 15
|
|||
|
tokEMinus EQU 16
|
|||
|
tokMaxSymbols EQU 31
|
|||
|
|
|||
|
NumberParts record 0,increment
|
|||
|
version ds.w 1 ; integer
|
|||
|
data ds.w tokMaxSymbols ; ARRAY[tokLeftQuote..tokMaxSymbols] OF WideChar
|
|||
|
pePlus ds WideCharArr ; 64
|
|||
|
peMinus ds WideCharArr ; 86
|
|||
|
peMinusPlus ds WideCharArr ; 108
|
|||
|
altNumTable ds WideCharArr ; 130
|
|||
|
reserved ds.b 20
|
|||
|
numberPartsSize equ *
|
|||
|
curNumberPartsVersion equ 1
|
|||
|
endr
|
|||
|
|
|||
|
TableDirectoryRecord record 0,increment
|
|||
|
tableSignature ds.l 1 ; 4 byte long table name */
|
|||
|
reserved ds.l 1 ; Reserved for internal use */
|
|||
|
tableStartOffset ds.l 1 ; Table start offset in byte*/
|
|||
|
tableSize ds.l 1 ; Table size in byte*/
|
|||
|
endr
|
|||
|
|
|||
|
Itl5Record record 0,increment
|
|||
|
versionNumber ds.l 1 ; itl5 resource version number */
|
|||
|
numberOfTables ds.w 1 ; Number of tables it contains */
|
|||
|
reserved ds.w 3 ; Reserved for internal use */
|
|||
|
tableDirectory ds TableDirectoryRecord ; Table directory records */
|
|||
|
endr
|
|||
|
|
|||
|
RuleBasedTrslRecord record 0,increment
|
|||
|
sourceType ds.w 1 ; Transliterate target type for the LHS of the rule */
|
|||
|
targetType ds.w 1 ; Transliterate target type for the RHS of the rule */
|
|||
|
formatNumber ds.w 1 ; Transliterate resource format number */
|
|||
|
propertyFlag ds.w 1 ; Transliterate property flags */
|
|||
|
numberOfRules ds.w 1 ; Number of rules following this field */
|
|||
|
endr
|
|||
|
|
|||
|
|
|||
|
|
|||
|
FVector record 0,increment
|
|||
|
start ds.w 1 ; INTEGER
|
|||
|
length ds.w 1 ; INTEGER
|
|||
|
endr
|
|||
|
|
|||
|
TripleInt record 0,increment
|
|||
|
zzz1 ds FVector
|
|||
|
zzz2 ds FVector
|
|||
|
zzz3 ds FVector
|
|||
|
endr
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Record for FindScriptRun result
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
ScriptRunStatus record 0,increment
|
|||
|
script ds.b 1
|
|||
|
variant ds.b 1
|
|||
|
endr
|
|||
|
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
; Selectors and macros for the Script Manager trap call, _ScriptUtil
|
|||
|
; -----------------------------------------------------------------------------
|
|||
|
|
|||
|
Macro
|
|||
|
DefSMgrRoutine &name,&selector,&argSize,&returnSize
|
|||
|
sm&name: equ &selector**$FFFF
|
|||
|
smSel&name: equ (1<<31)++(&returnSize<<24)++(&argSize<<16)++sm&name
|
|||
|
endm
|
|||
|
|
|||
|
; Trap routine selectors: script manager 1.0
|
|||
|
|
|||
|
smFontScript EQU 0
|
|||
|
smIntlScript EQU 2
|
|||
|
smKybdScript EQU 4
|
|||
|
smFont2Script EQU 6
|
|||
|
smGetEnvirons EQU 8
|
|||
|
smSetEnvirons EQU 10
|
|||
|
smGetScript EQU 12
|
|||
|
smSetScript EQU 14
|
|||
|
smHighCall EQU smSetScript ; boundary between script mgr & script systems
|
|||
|
smCharByte EQU 16
|
|||
|
smCharType EQU 18
|
|||
|
smPixel2Char EQU 20
|
|||
|
smChar2Pixel EQU 22
|
|||
|
smTranslit EQU 24
|
|||
|
smFindWord EQU 26
|
|||
|
smHiliteText EQU 28
|
|||
|
smDrawJust EQU 30
|
|||
|
smMeasureJust EQU 32
|
|||
|
smParseTable EQU 34
|
|||
|
|
|||
|
; Full Trap routine selectors: script manager 1.0
|
|||
|
|
|||
|
; format newBit return/args
|
|||
|
smSelFontScript EQU (1<<31)++($0200<<16)++smFontScript
|
|||
|
smSelIntlScript EQU (1<<31)++($0200<<16)++smIntlScript
|
|||
|
smSelKybdScript EQU (1<<31)++($0002<<16)++smKybdScript
|
|||
|
smSelFont2Script EQU (1<<31)++($0202<<16)++smFont2Script
|
|||
|
smSelGetEnvirons EQU (1<<31)++($0402<<16)++smGetEnvirons
|
|||
|
smSelSetEnvirons EQU (1<<31)++($0206<<16)++smSetEnvirons
|
|||
|
smSelGetScript EQU (1<<31)++($0404<<16)++smGetScript
|
|||
|
smSelSetScript EQU (1<<31)++($0208<<16)++smSetScript
|
|||
|
smSelCharType EQU (1<<31)++($0206<<16)++smCharType
|
|||
|
smSelCharByte EQU (1<<31)++($0206<<16)++smCharByte
|
|||
|
smSelPixel2Char EQU (1<<31)++($020E<<16)++smPixel2Char
|
|||
|
smSelChar2Pixel EQU (1<<31)++($020C<<16)++smChar2Pixel
|
|||
|
smSelTranslit EQU (1<<31)++($020E<<16)++smTranslit
|
|||
|
smSelFindWord EQU (1<<31)++($0012<<16)++smFindWord
|
|||
|
smSelHiliteText EQU (1<<31)++($000E<<16)++smHiliteText
|
|||
|
smSelDrawJust EQU (1<<31)++($0008<<16)++smDrawJust
|
|||
|
smSelMeasureJust EQU (1<<31)++($000C<<16)++smMeasureJust
|
|||
|
smSelParseTable EQU (1<<31)++($0204<<16)++smParseTable
|
|||
|
|
|||
|
; selectors for general script manager 2.0 routines
|
|||
|
|
|||
|
DefSmgrRoutine StyledLineBreak, -2,28,2
|
|||
|
DefSmgrRoutine GetFormatOrder, -4,18,0
|
|||
|
DefSmgrRoutine IntlTokenize, -6,4,2
|
|||
|
|
|||
|
DefSmgrRoutine InitDateCache, -8,4,2
|
|||
|
DefSmgrRoutine String2Date, -10,20,2
|
|||
|
DefSmgrRoutine String2Time, -12,20,2
|
|||
|
|
|||
|
DefSmgrRoutine LongDate2Secs, -14,8,0
|
|||
|
DefSmgrRoutine LongSecs2Date, -16,8,0
|
|||
|
DefSmgrRoutine ToggleDate, -18,14,2
|
|||
|
|
|||
|
DefSmgrRoutine Str2Format, -20,12,2
|
|||
|
DefSmgrRoutine Format2Str, -22,16,2
|
|||
|
DefSmgrRoutine FormatX2Str, -24,16,2
|
|||
|
DefSmgrRoutine FormatStr2X, -26,16,2
|
|||
|
DefSmgrRoutine ValidDate, -28,12,2
|
|||
|
|
|||
|
; selectors for script-specific script manager 2.0 routines
|
|||
|
|
|||
|
DefSmgrRoutine PortionText, 36,8,4
|
|||
|
DefSmgrRoutine FindScriptRun, 38,12,2
|
|||
|
DefSmgrRoutine VisibleLength, 40,8,4
|
|||
|
DefSmgrRoutine IsSpecialFont, 42,2,2 ; implemented only by two-byte scripts
|
|||
|
DefSmgrRoutine RawPrinterValues, 44,22,2 ; implemented only by two-byte scripts
|
|||
|
|
|||
|
; selectors for general script manager 7.0 routines <2.1><2.4>
|
|||
|
|
|||
|
DefSmgrRoutine NFindWord, -30,18,0 ; smSel<65> = $8012FFE2 <2.3>
|
|||
|
DefSmgrRoutine TruncString, -32,8,2 ; smSel<65> = $8208FFE0 <2.3><2.7><6>
|
|||
|
DefSmgrRoutine TruncText, -34,12,2 ; smSel<65> = $820CFFDE <2.3><2.7><6>
|
|||
|
DefSmgrRoutine ReplaceText, -36,12,2 ; smSel<65> = $820CFFDC <2.3>
|
|||
|
|
|||
|
; selectors for script-specific script manager 7.0 routines <2>
|
|||
|
|
|||
|
DefSmgrRoutine NPixel2Char, 46,34,2 ; $8222002E <2><17>
|
|||
|
DefSmgrRoutine NChar2Pixel, 48,28,2 ; $821C0030 <2><17>
|
|||
|
DefSmgrRoutine NDrawJust, 50,22,0 ; $80160032 <2><17>
|
|||
|
DefSmgrRoutine NMeasureJust, 52,26,0 ; $801A0034 <2><17>
|
|||
|
DefSmgrRoutine NPortionText, 54,18,4 ; $84120036 <2><17>
|
|||
|
|
|||
|
; selectors for general script manager 7.1 routines <2.1><2.4>
|
|||
|
|
|||
|
DefSmgrRoutine SCLwrString, -74,10,0 ; smSel<65> = $800AFFB6 <50>
|
|||
|
|
|||
|
; function codes for SCLwrString <50>
|
|||
|
sclwrDoLower equ $0000 ; where these bits go in _LowerText <50>
|
|||
|
sclwrDoStrip equ $0200 ; where these bits go in _StripText <50>
|
|||
|
sclwrDoUpper equ $0400 ; where these bits go in _UpperText <50>
|
|||
|
sclwrDoStripUpper equ $0600 ; where these bits go in _StripUpperText <50>
|
|||
|
|
|||
|
; selectors for script-specific script manager 7.1 routines <43>
|
|||
|
|
|||
|
DefSmgrRoutine GetUtilityAddress, 56, 4, 4 ; $84040038 implemented only by one-byte scripts
|
|||
|
DefSmgrRoutine SetUtilityAddress, 58, 8, 0 ; $8008003A implemented only by one-byte scripts
|
|||
|
DefSmgrRoutine GetQDPatchAddress, 60, 6, 4 ; $8406003C implemented only by one-byte scripts
|
|||
|
DefSmgrRoutine SetQDPatchAddress, 62, 10, 0 ; $800A003E implemented only by one-byte scripts
|
|||
|
|
|||
|
smSelGetScriptUtilityAddress EQU (1<<30)++smSelGetUtilityAddress ; <43><54>
|
|||
|
smSelSetScriptUtilityAddress EQU (1<<30)++smSelSetUtilityAddress ; <43><54>
|
|||
|
smSelGetScriptQDPatchAddress EQU (1<<30)++smSelGetQDPatchAddress ; <43><54>
|
|||
|
smSelSetScriptQDPatchAddress EQU (1<<30)++smSelSetQDPatchAddress ; <43><54>
|
|||
|
|
|||
|
smSelCharacterByteType EQU (1<<30)++smSelCharByte ; <50><54>
|
|||
|
smSelCharacterType EQU (1<<30)++smSelCharType ; <50><54>
|
|||
|
smSelTransliterateText EQU (1<<30)++smSelTranslit ; <50><54>
|
|||
|
smSelFindWordBreaks EQU (1<<30)++smSelFindWord ; <50><54>
|
|||
|
smSelFillParseTable EQU (1<<30)++smSelParseTable ; <50><54>
|
|||
|
|
|||
|
;------------------------------------------------------------------------------
|
|||
|
; Trap routine macros: Script Manager 1.0
|
|||
|
|
|||
|
macro
|
|||
|
_FontScript
|
|||
|
move.l #smSelFontScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_IntlScript
|
|||
|
move.l #smSelIntlScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_KeyScript
|
|||
|
move.l #smSelKybdScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_Font2Script
|
|||
|
move.l #smSelFont2Script,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_FontToScript
|
|||
|
move.l #smSelFont2Script,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_GetEnvirons
|
|||
|
move.l #smSelGetEnvirons,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_GetScriptManagerVariable
|
|||
|
move.l #smSelGetEnvirons,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_SetEnvirons
|
|||
|
move.l #smSelSetEnvirons,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_SetScriptManagerVariable
|
|||
|
move.l #smSelSetEnvirons,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_GetScript
|
|||
|
move.l #smSelGetScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_GetScriptVariable
|
|||
|
move.l #smSelGetScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_SetScript
|
|||
|
move.l #smSelSetScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_SetScriptVariable
|
|||
|
move.l #smSelSetScript,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_CharByte
|
|||
|
move.l #smSelCharByte,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_CharType
|
|||
|
move.l #smSelCharType,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_Pixel2Char
|
|||
|
move.l #smSelPixel2Char,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_Char2Pixel
|
|||
|
move.l #smSelChar2Pixel,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_Transliterate
|
|||
|
move.l #smSelTranslit,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_FindWord
|
|||
|
move.l #smSelFindWord,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_HiliteText
|
|||
|
move.l #smSelHiliteText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_DrawJust
|
|||
|
move.l #smSelDrawJust,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_MeasureJust
|
|||
|
move.l #smSelMeasureJust,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_ParseTable
|
|||
|
move.l #smSelParseTable,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
;------------------------------------------------------------------------------
|
|||
|
; Trap routine macros: Script Manager 2.0
|
|||
|
|
|||
|
macro
|
|||
|
_GetFormatOrder
|
|||
|
move.l #smSelGetFormatOrder,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_StyledLineBreak
|
|||
|
move.l #smSelStyledLineBreak,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_IntlTokenize
|
|||
|
move.l #smSelIntlTokenize,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_InitDateCache
|
|||
|
move.l #smSelInitDateCache,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_String2Date
|
|||
|
move.l #smSelString2Date,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_StringToDate
|
|||
|
move.l #smSelString2Date,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_String2Time
|
|||
|
move.l #smSelString2Time,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_StringToTime
|
|||
|
move.l #smSelString2Time,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_LongSecs2Date
|
|||
|
move.l #smSelLongSecs2Date,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_LongSecondsToDate
|
|||
|
move.l #smSelLongSecs2Date,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_LongDate2Secs
|
|||
|
move.l #smSelLongDate2Secs,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_LongDateToSeconds
|
|||
|
move.l #smSelLongDate2Secs,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_Str2Format
|
|||
|
move.l #smSelStr2Format,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_StringToFormatRec
|
|||
|
move.l #smSelStr2Format,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_Format2Str
|
|||
|
move.l #smSelFormat2Str,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_FormatRecToString
|
|||
|
move.l #smSelFormat2Str,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_FormatX2Str
|
|||
|
move.l #smSelFormatX2Str,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_ExtendedToString
|
|||
|
move.l #smSelFormatX2Str,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_FormatStr2X
|
|||
|
move.l #smSelFormatStr2X,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_StringToExtended
|
|||
|
move.l #smSelFormatStr2X,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_ValidDate
|
|||
|
move.l #smSelValidDate,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_ToggleDate
|
|||
|
move.l #smSelToggleDate,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_PortionText
|
|||
|
move.l #smSelPortionText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_FindScriptRun
|
|||
|
move.l #smSelFindScriptRun,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_ReadLocation
|
|||
|
movea.l (sp)+,A0
|
|||
|
move.l #$000C00E4,D0
|
|||
|
_ReadXPRam
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_WriteLocation
|
|||
|
movea.l (sp)+,A0
|
|||
|
move.l #$000C00E4,D0
|
|||
|
_WriteXPRam
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_VisibleLength
|
|||
|
move.l #smSelVisibleLength,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_IsSpecialFont
|
|||
|
move.l #smSelIsSpecialFont,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_RawPrinterValues
|
|||
|
move.l #smSelRawPrinterValues,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
|
|||
|
;------------------------------------------------------------------------------
|
|||
|
; Trap routine macros: Script Manager 7.0 <2.1>
|
|||
|
|
|||
|
macro
|
|||
|
_NFindWord ; <2.3>
|
|||
|
move.l #smSelNFindWord,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_TruncString ; <2.3>
|
|||
|
move.l #smSelTruncString,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_TruncText ; <2.3>
|
|||
|
move.l #smSelTruncText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_ReplaceText ; <2.3>
|
|||
|
move.l #smSelReplaceText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_NPixel2Char ; <2>
|
|||
|
move.l #smSelNPixel2Char,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_PixelToChar
|
|||
|
move.l #smSelNPixel2Char,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_NChar2Pixel ; <2>
|
|||
|
move.l #smSelNChar2Pixel,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_CharToPixel
|
|||
|
move.l #smSelNChar2Pixel,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_NDrawJust ; <2>
|
|||
|
move.l #smSelNDrawJust,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_DrawJustified
|
|||
|
move.l #smSelNDrawJust,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_NMeasureJust ; <2>
|
|||
|
move.l #smSelNMeasureJust,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_MeasureJustified
|
|||
|
move.l #smSelNMeasureJust,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_NPortionText ; <2>
|
|||
|
move.l #smSelNPortionText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro ; <54>
|
|||
|
_PortionLine
|
|||
|
move.l #smSelNPortionText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
;------------------------------------------------------------------------------
|
|||
|
; Trap routine macros: Script Manager 7.1 <43>
|
|||
|
|
|||
|
macro
|
|||
|
_GetScriptUtilityAddress ; <54>
|
|||
|
move.l #smSelGetScriptUtilityAddress,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_SetScriptUtilityAddress ; <54>
|
|||
|
move.l #smSelSetScriptUtilityAddress,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_GetScriptQDPatchAddress ; <54>
|
|||
|
move.l #smSelGetScriptQDPatchAddress,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_SetScriptQDPatchAddress ; <54>
|
|||
|
move.l #smSelSetScriptQDPatchAddress,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_LowercaseText ; <54>
|
|||
|
move.w #sclwrDoLower,-(sp)
|
|||
|
move.l #smSelSCLwrString,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_StripDiacritics ; <54>
|
|||
|
move.w #sclwrDoStrip,-(sp)
|
|||
|
move.l #smSelSCLwrString,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_UppercaseText ; <54>
|
|||
|
move.w #sclwrDoUpper,-(sp)
|
|||
|
move.l #smSelSCLwrString,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_UppercaseStripDiacritics ; <54>
|
|||
|
move.w #sclwrDoStripUpper,-(sp)
|
|||
|
move.l #smSelSCLwrString,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_CharacterByteType ; <54>
|
|||
|
move.l #smSelCharacterByteType,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_CharacterType ; <54>
|
|||
|
move.l #smSelCharacterType,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_TransliterateText ; <54>
|
|||
|
move.l #smSelTransliterateText,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_FindWordBreaks ; <54>
|
|||
|
move.l #smSelFindWordBreaks,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
macro
|
|||
|
_FillParseTable ; <54>
|
|||
|
move.l #smSelFillParseTable,-(sp)
|
|||
|
_ScriptUtil
|
|||
|
endm
|
|||
|
|
|||
|
|
|||
|
ENDIF ; ...already included
|