You initialize MLTE by calling the
TXNInitTextension
function. You need to call this function only once. Calling it more than once returns the result code
kTXNAlreadyInitializedErr
and has no effect. If for some reason you want to initialize MLTE again while your application is running, you must first call the
TXNTerminateTextension
function.
Listing 3-2 shows how you can initialize MLTE using a
MyInitializeMLTE
function. You call the
MyInitializeMLTE
function from your application's one-time-only initialization function.
Listing 3-2 Initializing MLTE
void MyInitializeMLTE (void) { OSErr status; // ---------------Setting Up a Font Description----------------------- TXNInitOptions options; // initialization options TXNMacOSPreferredFontDescription defaults; // font description defaults.fontID = kTXNDefaultFontName; // use default font defaults.pointSize = kTXNDefaultFontSize; // use default text size defaults.fontStyle = kTXNDefaultFontStyle; // use default text style defaults.encoding = kTXNSystemDefaultEncoding; // use default encoding // ---------------Assigning Initialization Options------------------- // Support movies, sound, and graphics embedded in text data. options = kTXNWantMoviesMask | kTXNWantSoundMask | kTXNWantGraphicsMask; // -----------Calling the MLTE Initialization Function----------------- // Pass an array of font descriptions. // In this case, there is 1 description in the array. // Pass initialization options. status = TXNInitTextension (&defaults, 1, options); if (status != noErr) // Call your function to handle the error. MyAlertUser (eNoInitialization); }