//************************************************************************************** // Filename: CStyleToEncoding.cp // Copyright © 2000 Tomasz Kukielka. All rights reserved. // // Description: // //************************************************************************************** // Revision History: // Sunday, October 8, 2000 - Original //************************************************************************************** #include "CStyleToEncoding.h" #include "CTextRunsToUnicode.h" CStyleToEncoding::CStyleToEncoding() { } CStyleToEncoding::~CStyleToEncoding() { } inline TextEncoding CStyleToEncoding::FontToEncoding(SInt16 inFont) { TextEncoding outEncoding; ScriptCode theScript = ( inFont >= 0x4000 ) ? ( ( inFont - 0x3E00 ) >> 9 ) : smRoman ; ::UpgradeScriptInfoToTextEncoding ( theScript, kTextLanguageDontCare, kTextRegionDontCare, NULL, &outEncoding ); return outEncoding; } void CStyleToEncoding::StyleRunsToEncodingRuns(TEStyles *inStyles, TArray * &outRunsArray) { Assert_(inStyles != NULL); SInt16 runCount = inStyles->scrpNStyles; Assert_(outRunsArray == NULL); outRunsArray = NEW TArray (); Assert_( inStyles->scrpStyleTab[0].scrpStartChar == 0 ); EncodingRun oneRun; for( SInt16 i = 0; i < runCount; i++ ) { oneRun.enc = FontToEncoding( inStyles->scrpStyleTab[i].scrpFont ); if( (i+1) < runCount) { oneRun.len = inStyles->scrpStyleTab[i+1].scrpStartChar - inStyles->scrpStyleTab[i].scrpStartChar; } else { } } }