Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
/*
File: HITextUtils.h Contains: Text utilities provided by HIToolbox. Version: QuickTime 7.3 Copyright: (c) 2007 (c)2002 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 __HITEXTUTILS__
#define __HITEXTUTILS__
#ifndef __MACTYPES__
#include <MacTypes.h>
#endif
#ifndef __COREFOUNDATION__
#include <CoreFoundation.h>
#endif
#ifndef __TEXTCOMMON__
#include <TextCommon.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" { #endif
#if PRAGMA_IMPORT
#pragma import on
#endif
/*
* GetTextAndEncodingFromCFString() * * Summary: * Converts the contents of a CFString to the one- or two-byte * encoding that most accurately represents the original Unicode * characters in the string. * * Discussion: * Because the Macintosh toolbox has had, until Carbon, little * support for Unicode, you may often find that your applications * need to translate a CFString (containing Unicode characters) back * to a one- or two-byte encoding of the string in order to draw, * measure, or otherwise use the text in the string. * GetTextAndEncodingFromCFString is a utility that may be helpful * to do this, in some circumstances. The Carbon toolbox uses this * API itself when translating CFStrings to Pascal strings. * GetTextAndEncodingFromCFString attempts to convert the Unicode * characters in the string to the closest non-Unicode * representation of the string. For example, a string containing * only Unicode characters that are present in the MacRoman one-byte * encoding will be translated to MacRoman, and * kTextEncodingMacRoman will be returned as the encoding of the * text. A string containing Unicode characters that are present in * the MacJapanese two-byte encoding will be translated to * MacJapanese (Shift-JIS), and kTextEncodingMacJapanese will be * returned as the encoding of the text. * GetTextAndEncodingFromCFString is designed to be used for simple * strings which contain only text from a single language. It is not * designed to translate strings with multiple runs of text from * different languages, and will only return the first run of such a * string; for example, if you pass it a string containing a run of * Roman characters followed by a run of Japanese characters, it * will only return the Roman characters in the output buffer. For * more complex text translation, you should call the Unicode * converter directly (see ConvertFromUnicodeToTextRun, which * GetTextAndEncodingFromCFString uses internally). * * Parameters: * * inString: * The string to convert. * * outText: * The output buffer in which to place the converted text. * * inTextMaxLength: * The length in bytes of the input buffer. * * outTextLength: * On exit, contains the length in bytes of the text that was * placed into the output buffer. * * outEncoding: * On exit, contains the encoding of the text that was placed into * the output buffer. * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.2.5 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( OSStatus ) GetTextAndEncodingFromCFString( CFStringRef inString, BytePtr outText, ByteCount inTextMaxLength, ByteCount * outTextLength, TextEncoding * outEncoding); /* can be NULL */
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
} #endif
#endif /* __HITEXTUTILS__ */
|