| // Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT |
| // file at the top-level directory of this distribution. |
| // |
| // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or |
| // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
| // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your |
| // option. This file may not be copied, modified, or distributed |
| // except according to those terms. |
| |
| use crate::array::CFArrayRef; |
| use crate::base::{ |
| Boolean, CFAllocatorRef, CFComparisonResult, CFIndex, CFOptionFlags, CFRange, CFTypeID, |
| ConstStr255Param, ConstStringPtr, SInt32, StringPtr, UInt32, UInt8, UTF32Char, |
| }; |
| use crate::characterset::CFCharacterSetRef; |
| use crate::data::CFDataRef; |
| use crate::dictionary::CFDictionaryRef; |
| use crate::locale::CFLocaleRef; |
| use std::os::raw::{c_char, c_double, c_ulong, c_ushort, c_void}; |
| |
| pub type CFStringCompareFlags = CFOptionFlags; |
| pub const kCFCompareCaseInsensitive: CFStringCompareFlags = 1; |
| pub const kCFCompareBackwards: CFStringCompareFlags = 4; |
| pub const kCFCompareAnchored: CFStringCompareFlags = 8; |
| pub const kCFCompareNonliteral: CFStringCompareFlags = 16; |
| pub const kCFCompareLocalized: CFStringCompareFlags = 32; |
| pub const kCFCompareNumerically: CFStringCompareFlags = 64; |
| pub const kCFCompareDiacriticInsensitive: CFStringCompareFlags = 128; |
| pub const kCFCompareWidthInsensitive: CFStringCompareFlags = 256; |
| pub const kCFCompareForcedOrdering: CFStringCompareFlags = 512; |
| |
| pub type CFStringEncoding = UInt32; |
| pub type UniChar = c_ushort; |
| |
| // macOS built-in encodings. |
| |
| pub const kCFStringEncodingMacRoman: CFStringEncoding = 0; |
| pub const kCFStringEncodingWindowsLatin1: CFStringEncoding = 0x0500; |
| pub const kCFStringEncodingISOLatin1: CFStringEncoding = 0x0201; |
| pub const kCFStringEncodingNextStepLatin: CFStringEncoding = 0x0B01; |
| pub const kCFStringEncodingASCII: CFStringEncoding = 0x0600; |
| pub const kCFStringEncodingUnicode: CFStringEncoding = 0x0100; |
| pub const kCFStringEncodingUTF8: CFStringEncoding = 0x08000100; |
| pub const kCFStringEncodingNonLossyASCII: CFStringEncoding = 0x0BFF; |
| |
| pub const kCFStringEncodingUTF16: CFStringEncoding = 0x0100; |
| pub const kCFStringEncodingUTF16BE: CFStringEncoding = 0x10000100; |
| pub const kCFStringEncodingUTF16LE: CFStringEncoding = 0x14000100; |
| pub const kCFStringEncodingUTF32: CFStringEncoding = 0x0c000100; |
| pub const kCFStringEncodingUTF32BE: CFStringEncoding = 0x18000100; |
| pub const kCFStringEncodingUTF32LE: CFStringEncoding = 0x1c000100; |
| |
| // CFStringEncodingExt.h |
| // External encodings, except those defined above. |
| pub const kCFStringEncodingMacJapanese: CFStringEncoding = 1; |
| pub const kCFStringEncodingMacChineseTrad: CFStringEncoding = 2; |
| pub const kCFStringEncodingMacKorean: CFStringEncoding = 3; |
| pub const kCFStringEncodingMacArabic: CFStringEncoding = 4; |
| pub const kCFStringEncodingMacHebrew: CFStringEncoding = 5; |
| pub const kCFStringEncodingMacGreek: CFStringEncoding = 6; |
| pub const kCFStringEncodingMacCyrillic: CFStringEncoding = 7; |
| pub const kCFStringEncodingMacDevanagari: CFStringEncoding = 9; |
| pub const kCFStringEncodingMacGurmukhi: CFStringEncoding = 10; |
| pub const kCFStringEncodingMacGujarati: CFStringEncoding = 11; |
| pub const kCFStringEncodingMacOriya: CFStringEncoding = 12; |
| pub const kCFStringEncodingMacBengali: CFStringEncoding = 13; |
| pub const kCFStringEncodingMacTamil: CFStringEncoding = 14; |
| pub const kCFStringEncodingMacTelugu: CFStringEncoding = 15; |
| pub const kCFStringEncodingMacKannada: CFStringEncoding = 16; |
| pub const kCFStringEncodingMacMalayalam: CFStringEncoding = 17; |
| pub const kCFStringEncodingMacSinhalese: CFStringEncoding = 18; |
| pub const kCFStringEncodingMacBurmese: CFStringEncoding = 19; |
| pub const kCFStringEncodingMacKhmer: CFStringEncoding = 20; |
| pub const kCFStringEncodingMacThai: CFStringEncoding = 21; |
| pub const kCFStringEncodingMacLaotian: CFStringEncoding = 22; |
| pub const kCFStringEncodingMacGeorgian: CFStringEncoding = 23; |
| pub const kCFStringEncodingMacArmenian: CFStringEncoding = 24; |
| pub const kCFStringEncodingMacChineseSimp: CFStringEncoding = 25; |
| pub const kCFStringEncodingMacTibetan: CFStringEncoding = 26; |
| pub const kCFStringEncodingMacMongolian: CFStringEncoding = 27; |
| pub const kCFStringEncodingMacEthiopic: CFStringEncoding = 28; |
| pub const kCFStringEncodingMacCentralEurRoman: CFStringEncoding = 29; |
| pub const kCFStringEncodingMacVietnamese: CFStringEncoding = 30; |
| pub const kCFStringEncodingMacExtArabic: CFStringEncoding = 31; |
| pub const kCFStringEncodingMacSymbol: CFStringEncoding = 33; |
| pub const kCFStringEncodingMacDingbats: CFStringEncoding = 34; |
| pub const kCFStringEncodingMacTurkish: CFStringEncoding = 35; |
| pub const kCFStringEncodingMacCroatian: CFStringEncoding = 36; |
| pub const kCFStringEncodingMacIcelandic: CFStringEncoding = 37; |
| pub const kCFStringEncodingMacRomanian: CFStringEncoding = 38; |
| pub const kCFStringEncodingMacCeltic: CFStringEncoding = 39; |
| pub const kCFStringEncodingMacGaelic: CFStringEncoding = 40; |
| pub const kCFStringEncodingMacFarsi: CFStringEncoding = 0x8C; |
| pub const kCFStringEncodingMacUkrainian: CFStringEncoding = 0x98; |
| pub const kCFStringEncodingMacInuit: CFStringEncoding = 0xEC; |
| pub const kCFStringEncodingMacVT100: CFStringEncoding = 0xFC; |
| pub const kCFStringEncodingMacHFS: CFStringEncoding = 0xFF; |
| pub const kCFStringEncodingISOLatin2: CFStringEncoding = 0x0202; |
| pub const kCFStringEncodingISOLatin3: CFStringEncoding = 0x0203; |
| pub const kCFStringEncodingISOLatin4: CFStringEncoding = 0x0204; |
| pub const kCFStringEncodingISOLatinCyrillic: CFStringEncoding = 0x0205; |
| pub const kCFStringEncodingISOLatinArabic: CFStringEncoding = 0x0206; |
| pub const kCFStringEncodingISOLatinGreek: CFStringEncoding = 0x0207; |
| pub const kCFStringEncodingISOLatinHebrew: CFStringEncoding = 0x0208; |
| pub const kCFStringEncodingISOLatin5: CFStringEncoding = 0x0209; |
| pub const kCFStringEncodingISOLatin6: CFStringEncoding = 0x020A; |
| pub const kCFStringEncodingISOLatinThai: CFStringEncoding = 0x020B; |
| pub const kCFStringEncodingISOLatin7: CFStringEncoding = 0x020D; |
| pub const kCFStringEncodingISOLatin8: CFStringEncoding = 0x020E; |
| pub const kCFStringEncodingISOLatin9: CFStringEncoding = 0x020F; |
| pub const kCFStringEncodingISOLatin10: CFStringEncoding = 0x0210; |
| pub const kCFStringEncodingDOSLatinUS: CFStringEncoding = 0x0400; |
| pub const kCFStringEncodingDOSGreek: CFStringEncoding = 0x0405; |
| pub const kCFStringEncodingDOSBalticRim: CFStringEncoding = 0x0406; |
| pub const kCFStringEncodingDOSLatin1: CFStringEncoding = 0x0410; |
| pub const kCFStringEncodingDOSGreek1: CFStringEncoding = 0x0411; |
| pub const kCFStringEncodingDOSLatin2: CFStringEncoding = 0x0412; |
| pub const kCFStringEncodingDOSCyrillic: CFStringEncoding = 0x0413; |
| pub const kCFStringEncodingDOSTurkish: CFStringEncoding = 0x0414; |
| pub const kCFStringEncodingDOSPortuguese: CFStringEncoding = 0x0415; |
| pub const kCFStringEncodingDOSIcelandic: CFStringEncoding = 0x0416; |
| pub const kCFStringEncodingDOSHebrew: CFStringEncoding = 0x0417; |
| pub const kCFStringEncodingDOSCanadianFrench: CFStringEncoding = 0x0418; |
| pub const kCFStringEncodingDOSArabic: CFStringEncoding = 0x0419; |
| pub const kCFStringEncodingDOSNordic: CFStringEncoding = 0x041A; |
| pub const kCFStringEncodingDOSRussian: CFStringEncoding = 0x041B; |
| pub const kCFStringEncodingDOSGreek2: CFStringEncoding = 0x041C; |
| pub const kCFStringEncodingDOSThai: CFStringEncoding = 0x041D; |
| pub const kCFStringEncodingDOSJapanese: CFStringEncoding = 0x0420; |
| pub const kCFStringEncodingDOSChineseSimplif: CFStringEncoding = 0x0421; |
| pub const kCFStringEncodingDOSKorean: CFStringEncoding = 0x0422; |
| pub const kCFStringEncodingDOSChineseTrad: CFStringEncoding = 0x0423; |
| pub const kCFStringEncodingWindowsLatin2: CFStringEncoding = 0x0501; |
| pub const kCFStringEncodingWindowsCyrillic: CFStringEncoding = 0x0502; |
| pub const kCFStringEncodingWindowsGreek: CFStringEncoding = 0x0503; |
| pub const kCFStringEncodingWindowsLatin5: CFStringEncoding = 0x0504; |
| pub const kCFStringEncodingWindowsHebrew: CFStringEncoding = 0x0505; |
| pub const kCFStringEncodingWindowsArabic: CFStringEncoding = 0x0506; |
| pub const kCFStringEncodingWindowsBalticRim: CFStringEncoding = 0x0507; |
| pub const kCFStringEncodingWindowsVietnamese: CFStringEncoding = 0x0508; |
| pub const kCFStringEncodingWindowsKoreanJohab: CFStringEncoding = 0x0510; |
| pub const kCFStringEncodingANSEL: CFStringEncoding = 0x0601; |
| pub const kCFStringEncodingJIS_X0201_76: CFStringEncoding = 0x0620; |
| pub const kCFStringEncodingJIS_X0208_83: CFStringEncoding = 0x0621; |
| pub const kCFStringEncodingJIS_X0208_90: CFStringEncoding = 0x0622; |
| pub const kCFStringEncodingJIS_X0212_90: CFStringEncoding = 0x0623; |
| pub const kCFStringEncodingJIS_C6226_78: CFStringEncoding = 0x0624; |
| pub const kCFStringEncodingShiftJIS_X0213: CFStringEncoding = 0x0628; |
| pub const kCFStringEncodingShiftJIS_X0213_MenKuTen: CFStringEncoding = 0x0629; |
| pub const kCFStringEncodingGB_2312_80: CFStringEncoding = 0x0630; |
| pub const kCFStringEncodingGBK_95: CFStringEncoding = 0x0631; |
| pub const kCFStringEncodingGB_18030_2000: CFStringEncoding = 0x0632; |
| pub const kCFStringEncodingKSC_5601_87: CFStringEncoding = 0x0640; |
| pub const kCFStringEncodingKSC_5601_92_Johab: CFStringEncoding = 0x0641; |
| pub const kCFStringEncodingCNS_11643_92_P1: CFStringEncoding = 0x0651; |
| pub const kCFStringEncodingCNS_11643_92_P2: CFStringEncoding = 0x0652; |
| pub const kCFStringEncodingCNS_11643_92_P3: CFStringEncoding = 0x0653; |
| pub const kCFStringEncodingISO_2022_JP: CFStringEncoding = 0x0820; |
| pub const kCFStringEncodingISO_2022_JP_2: CFStringEncoding = 0x0821; |
| pub const kCFStringEncodingISO_2022_JP_1: CFStringEncoding = 0x0822; |
| pub const kCFStringEncodingISO_2022_JP_3: CFStringEncoding = 0x0823; |
| pub const kCFStringEncodingISO_2022_CN: CFStringEncoding = 0x0830; |
| pub const kCFStringEncodingISO_2022_CN_EXT: CFStringEncoding = 0x0831; |
| pub const kCFStringEncodingISO_2022_KR: CFStringEncoding = 0x0840; |
| pub const kCFStringEncodingEUC_JP: CFStringEncoding = 0x0920; |
| pub const kCFStringEncodingEUC_CN: CFStringEncoding = 0x0930; |
| pub const kCFStringEncodingEUC_TW: CFStringEncoding = 0x0931; |
| pub const kCFStringEncodingEUC_KR: CFStringEncoding = 0x0940; |
| pub const kCFStringEncodingShiftJIS: CFStringEncoding = 0x0A01; |
| pub const kCFStringEncodingKOI8_R: CFStringEncoding = 0x0A02; |
| pub const kCFStringEncodingBig5: CFStringEncoding = 0x0A03; |
| pub const kCFStringEncodingMacRomanLatin1: CFStringEncoding = 0x0A04; |
| pub const kCFStringEncodingHZ_GB_2312: CFStringEncoding = 0x0A05; |
| pub const kCFStringEncodingBig5_HKSCS_1999: CFStringEncoding = 0x0A06; |
| pub const kCFStringEncodingVISCII: CFStringEncoding = 0x0A07; |
| pub const kCFStringEncodingKOI8_U: CFStringEncoding = 0x0A08; |
| pub const kCFStringEncodingBig5_E: CFStringEncoding = 0x0A09; |
| pub const kCFStringEncodingNextStepJapanese: CFStringEncoding = 0x0B02; |
| pub const kCFStringEncodingEBCDIC_US: CFStringEncoding = 0x0C01; |
| pub const kCFStringEncodingEBCDIC_CP037: CFStringEncoding = 0x0C02; |
| pub const kCFStringEncodingUTF7: CFStringEncoding = 0x04000100; |
| pub const kCFStringEncodingUTF7_IMAP: CFStringEncoding = 0x0A10; |
| pub const kCFStringEncodingShiftJIS_X0213_00: CFStringEncoding = 0x0628; /* Deprecated */ |
| |
| pub const kCFStringEncodingInvalidId: u32 = 0xffffffff; |
| |
| pub type CFStringNormalizationForm = CFIndex; |
| pub const kCFStringNormalizationFormD: CFStringNormalizationForm = 0; |
| pub const kCFStringNormalizationFormKD: CFStringNormalizationForm = 1; |
| pub const kCFStringNormalizationFormC: CFStringNormalizationForm = 2; |
| pub const kCFStringNormalizationFormKC: CFStringNormalizationForm = 3; |
| |
| #[repr(C)] |
| pub struct __CFString(c_void); |
| |
| pub type CFStringRef = *const __CFString; |
| pub type CFMutableStringRef = *mut __CFString; |
| |
| /* todo: The source code of the following functions is right in CFString.h */ |
| /* |
| pub fn CFStringGetLongCharacterForSurrogatePair(surrogateHigh: UniChar, surrogateLow: UniChar) -> UTF32Char; |
| pub fn CFStringGetSurrogatePairForLongCharacter(character: UTF32Char, surrogates: *mut UniChar) -> Boolean; |
| pub fn CFStringIsSurrogateHighCharacter(character: UniChar) -> Boolean; |
| pub fn CFStringIsSurrogateLowCharacter(character: UniChar) -> Boolean; |
| pub fn CFStringInitInlineBuffer(str: CFStringRef, buf: *mut CFStringInlineBuffer, range: CFRange); |
| pub fn CFStringGetCharacterFromInlineBuffer(buf: *mut CFStringInlineBuffer, idx: CFIndex) -> UniChar; |
| */ |
| |
| extern "C" { |
| /* |
| * CFString.h |
| */ |
| |
| // N.B. organized according to "Functions by task" in docs |
| |
| /* CFString */ |
| /* Creating a CFString */ |
| //fn CFSTR |
| pub fn CFStringCreateArrayBySeparatingStrings( |
| alloc: CFAllocatorRef, |
| theString: CFStringRef, |
| separatorString: CFStringRef, |
| ) -> CFArrayRef; |
| pub fn CFStringCreateByCombiningStrings( |
| alloc: CFAllocatorRef, |
| theArray: CFArrayRef, |
| separatorString: CFStringRef, |
| ) -> CFStringRef; |
| pub fn CFStringCreateCopy(alloc: CFAllocatorRef, theString: CFStringRef) -> CFStringRef; |
| pub fn CFStringCreateFromExternalRepresentation( |
| alloc: CFAllocatorRef, |
| data: CFDataRef, |
| encoding: CFStringEncoding, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithBytes( |
| alloc: CFAllocatorRef, |
| bytes: *const UInt8, |
| numBytes: CFIndex, |
| encoding: CFStringEncoding, |
| isExternalRepresentation: Boolean, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithBytesNoCopy( |
| alloc: CFAllocatorRef, |
| bytes: *const UInt8, |
| numBytes: CFIndex, |
| encoding: CFStringEncoding, |
| isExternalRepresentation: Boolean, |
| contentsDeallocator: CFAllocatorRef, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithCharacters( |
| alloc: CFAllocatorRef, |
| chars: *const UniChar, |
| numChars: CFIndex, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithCharactersNoCopy( |
| alloc: CFAllocatorRef, |
| chars: *const UniChar, |
| numChars: CFIndex, |
| contentsDeallocator: CFAllocatorRef, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithCString( |
| alloc: CFAllocatorRef, |
| cStr: *const c_char, |
| encoding: CFStringEncoding, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithCStringNoCopy( |
| alloc: CFAllocatorRef, |
| cStr: *const c_char, |
| encoding: CFStringEncoding, |
| contentsDeallocator: CFAllocatorRef, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithFormat( |
| alloc: CFAllocatorRef, |
| formatOptions: CFDictionaryRef, |
| format: CFStringRef, |
| ... |
| ) -> CFStringRef; |
| //pub fn CFStringCreateWithFormatAndArguments(alloc: CFAllocatorRef, formatOptions: CFDictionaryRef, format: CFStringRef, arguments: va_list) -> CFStringRef; |
| pub fn CFStringCreateWithPascalString( |
| alloc: CFAllocatorRef, |
| pStr: ConstStr255Param, |
| encoding: CFStringEncoding, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithPascalStringNoCopy( |
| alloc: CFAllocatorRef, |
| pStr: ConstStr255Param, |
| encoding: CFStringEncoding, |
| contentsDeallocator: CFAllocatorRef, |
| ) -> CFStringRef; |
| pub fn CFStringCreateWithSubstring( |
| alloc: CFAllocatorRef, |
| str: CFStringRef, |
| range: CFRange, |
| ) -> CFStringRef; |
| |
| /* Searching Strings */ |
| pub fn CFStringCreateArrayWithFindResults( |
| alloc: CFAllocatorRef, |
| theString: CFStringRef, |
| stringToFind: CFStringRef, |
| rangeToSearch: CFRange, |
| compareOptions: CFStringCompareFlags, |
| ) -> CFArrayRef; |
| pub fn CFStringFind( |
| theString: CFStringRef, |
| stringToFind: CFStringRef, |
| compareOptions: CFStringCompareFlags, |
| ) -> CFRange; |
| pub fn CFStringFindCharacterFromSet( |
| theString: CFStringRef, |
| theSet: CFCharacterSetRef, |
| rangeToSearch: CFRange, |
| searchOptions: CFStringCompareFlags, |
| result: *mut CFRange, |
| ) -> Boolean; |
| pub fn CFStringFindWithOptions( |
| theString: CFStringRef, |
| stringToFind: CFStringRef, |
| rangeToSearch: CFRange, |
| searchOptions: CFStringCompareFlags, |
| result: *mut CFRange, |
| ) -> Boolean; |
| pub fn CFStringFindWithOptionsAndLocale( |
| theString: CFStringRef, |
| stringToFind: CFStringRef, |
| rangeToSearch: CFRange, |
| searchOptions: CFStringCompareFlags, |
| locale: CFLocaleRef, |
| result: *mut CFRange, |
| ) -> Boolean; |
| pub fn CFStringGetLineBounds( |
| theString: CFStringRef, |
| range: CFRange, |
| lineBeginIndex: *mut CFIndex, |
| lineEndIndex: *mut CFIndex, |
| contentsEndIndex: *mut CFIndex, |
| ); |
| |
| /* Comparing Strings */ |
| pub fn CFStringCompare( |
| theString1: CFStringRef, |
| theString2: CFStringRef, |
| compareOptions: CFStringCompareFlags, |
| ) -> CFComparisonResult; |
| pub fn CFStringCompareWithOptions( |
| theString1: CFStringRef, |
| theString2: CFStringRef, |
| rangeToCompare: CFRange, |
| compareOptions: CFStringCompareFlags, |
| ) -> CFComparisonResult; |
| pub fn CFStringCompareWithOptionsAndLocale( |
| theString1: CFStringRef, |
| theString2: CFStringRef, |
| rangeToCompare: CFRange, |
| compareOptions: CFStringCompareFlags, |
| locale: CFLocaleRef, |
| ) -> CFComparisonResult; |
| pub fn CFStringHasPrefix(theString: CFStringRef, prefix: CFStringRef) -> Boolean; |
| pub fn CFStringHasSuffix(theString: CFStringRef, suffix: CFStringRef) -> Boolean; |
| |
| /* Accessing Characters */ |
| pub fn CFStringCreateExternalRepresentation( |
| alloc: CFAllocatorRef, |
| theString: CFStringRef, |
| encoding: CFStringEncoding, |
| lossByte: UInt8, |
| ) -> CFDataRef; |
| pub fn CFStringGetBytes( |
| theString: CFStringRef, |
| range: CFRange, |
| encoding: CFStringEncoding, |
| lossByte: UInt8, |
| isExternalRepresentation: Boolean, |
| buffer: *mut UInt8, |
| maxBufLen: CFIndex, |
| usedBufLen: *mut CFIndex, |
| ) -> CFIndex; |
| pub fn CFStringGetCharacterAtIndex(theString: CFStringRef, idx: CFIndex) -> UniChar; |
| pub fn CFStringGetCharacters(theString: CFStringRef, range: CFRange, buffer: *mut UniChar); |
| pub fn CFStringGetCharactersPtr(theString: CFStringRef) -> *const UniChar; |
| pub fn CFStringGetCString( |
| theString: CFStringRef, |
| buffer: *mut c_char, |
| bufferSize: CFIndex, |
| encoding: CFStringEncoding, |
| ) -> Boolean; |
| pub fn CFStringGetCStringPtr( |
| theString: CFStringRef, |
| encoding: CFStringEncoding, |
| ) -> *const c_char; |
| pub fn CFStringGetLength(theString: CFStringRef) -> CFIndex; |
| pub fn CFStringGetPascalString( |
| theString: CFStringRef, |
| buffer: StringPtr, |
| bufferSize: CFIndex, |
| encoding: CFStringEncoding, |
| ) -> Boolean; |
| pub fn CFStringGetPascalStringPtr( |
| theString: CFStringRef, |
| encoding: CFStringEncoding, |
| ) -> ConstStringPtr; |
| pub fn CFStringGetRangeOfComposedCharactersAtIndex( |
| theString: CFStringRef, |
| theIndex: CFIndex, |
| ) -> CFRange; |
| |
| /* Working With Hyphenation */ |
| pub fn CFStringGetHyphenationLocationBeforeIndex( |
| string: CFStringRef, |
| location: CFIndex, |
| limitRange: CFRange, |
| options: CFOptionFlags, |
| locale: CFLocaleRef, |
| character: *mut UTF32Char, |
| ) -> CFIndex; |
| pub fn CFStringIsHyphenationAvailableForLocale(locale: CFLocaleRef) -> Boolean; |
| |
| /* Working With Encodings */ |
| pub fn CFStringConvertEncodingToIANACharSetName(encoding: CFStringEncoding) -> CFStringRef; |
| pub fn CFStringConvertEncodingToNSStringEncoding(encoding: CFStringEncoding) -> c_ulong; |
| pub fn CFStringConvertEncodingToWindowsCodepage(encoding: CFStringEncoding) -> UInt32; |
| pub fn CFStringConvertIANACharSetNameToEncoding(theString: CFStringRef) -> CFStringEncoding; |
| pub fn CFStringConvertNSStringEncodingToEncoding(encoding: c_ulong) -> CFStringEncoding; |
| pub fn CFStringConvertWindowsCodepageToEncoding(codepage: UInt32) -> CFStringEncoding; |
| pub fn CFStringGetFastestEncoding(theString: CFStringRef) -> CFStringEncoding; |
| pub fn CFStringGetListOfAvailableEncodings() -> *const CFStringEncoding; |
| pub fn CFStringGetMaximumSizeForEncoding( |
| length: CFIndex, |
| encoding: CFStringEncoding, |
| ) -> CFIndex; |
| pub fn CFStringGetMostCompatibleMacStringEncoding( |
| encoding: CFStringEncoding, |
| ) -> CFStringEncoding; |
| pub fn CFStringGetNameOfEncoding(encoding: CFStringEncoding) -> CFStringRef; |
| pub fn CFStringGetSmallestEncoding(theString: CFStringRef) -> CFStringEncoding; |
| pub fn CFStringGetSystemEncoding() -> CFStringEncoding; |
| pub fn CFStringIsEncodingAvailable(encoding: CFStringEncoding) -> Boolean; |
| |
| /* Getting Numeric Values */ |
| pub fn CFStringGetDoubleValue(str: CFStringRef) -> c_double; |
| pub fn CFStringGetIntValue(str: CFStringRef) -> SInt32; |
| |
| /* Getting String Properties */ |
| pub fn CFShowStr(str: CFStringRef); |
| pub fn CFStringGetTypeID() -> CFTypeID; |
| |
| /* String File System Representations */ |
| pub fn CFStringCreateWithFileSystemRepresentation( |
| alloc: CFAllocatorRef, |
| buffer: *const c_char, |
| ) -> CFStringRef; |
| pub fn CFStringGetFileSystemRepresentation( |
| string: CFStringRef, |
| buffer: *mut c_char, |
| maxBufLen: CFIndex, |
| ) -> Boolean; |
| pub fn CFStringGetMaximumSizeOfFileSystemRepresentation(string: CFStringRef) -> CFIndex; |
| |
| /* Getting Paragraph Bounds */ |
| pub fn CFStringGetParagraphBounds( |
| string: CFStringRef, |
| range: CFRange, |
| parBeginIndex: *mut CFIndex, |
| parEndIndex: *mut CFIndex, |
| contentsEndIndex: *mut CFIndex, |
| ); |
| |
| /* CFMutableString */ |
| /* CFMutableString Miscellaneous Functions */ |
| pub fn CFStringAppend(theString: CFMutableStringRef, appendedString: CFStringRef); |
| pub fn CFStringAppendCharacters( |
| theString: CFMutableStringRef, |
| chars: *const UniChar, |
| numChars: CFIndex, |
| ); |
| pub fn CFStringAppendCString( |
| theString: CFMutableStringRef, |
| cStr: *const c_char, |
| encoding: CFStringEncoding, |
| ); |
| pub fn CFStringAppendFormat( |
| theString: CFMutableStringRef, |
| formatOptions: CFDictionaryRef, |
| format: CFStringRef, |
| ... |
| ); |
| //pub fn CFStringAppendFormatAndArguments(theString: CFMutableStringRef, formatOptions: CFDictionaryRef, format: CFStringRef, arguments: va_list); |
| pub fn CFStringAppendPascalString( |
| theString: CFMutableStringRef, |
| pStr: ConstStr255Param, |
| encoding: CFStringEncoding, |
| ); |
| pub fn CFStringCapitalize(theString: CFMutableStringRef, locale: CFLocaleRef); |
| pub fn CFStringCreateMutable(alloc: CFAllocatorRef, maxLength: CFIndex) -> CFMutableStringRef; |
| pub fn CFStringCreateMutableCopy( |
| alloc: CFAllocatorRef, |
| maxLength: CFIndex, |
| theString: CFStringRef, |
| ) -> CFMutableStringRef; |
| pub fn CFStringCreateMutableWithExternalCharactersNoCopy( |
| alloc: CFAllocatorRef, |
| chars: *mut UniChar, |
| numChars: CFIndex, |
| capacity: CFIndex, |
| externalCharactersAllocator: CFAllocatorRef, |
| ) -> CFMutableStringRef; |
| pub fn CFStringDelete(theString: CFMutableStringRef, range: CFRange); |
| pub fn CFStringFindAndReplace( |
| theString: CFMutableStringRef, |
| stringToFind: CFStringRef, |
| replacementString: CFStringRef, |
| rangeToSearch: CFRange, |
| compareOptions: CFStringCompareFlags, |
| ) -> CFIndex; |
| pub fn CFStringFold( |
| theString: CFMutableStringRef, |
| theFlags: CFStringCompareFlags, |
| theLocale: CFLocaleRef, |
| ); |
| pub fn CFStringInsert(str: CFMutableStringRef, idx: CFIndex, insertedStr: CFStringRef); |
| pub fn CFStringLowercase(theString: CFMutableStringRef, locale: CFLocaleRef); |
| pub fn CFStringNormalize(theString: CFMutableStringRef, theForm: CFStringNormalizationForm); |
| pub fn CFStringPad( |
| theString: CFMutableStringRef, |
| padString: CFStringRef, |
| length: CFIndex, |
| indexIntoPad: CFIndex, |
| ); |
| pub fn CFStringReplace(theString: CFMutableStringRef, range: CFRange, replacement: CFStringRef); |
| pub fn CFStringReplaceAll(theString: CFMutableStringRef, replacement: CFStringRef); |
| pub fn CFStringSetExternalCharactersNoCopy( |
| theString: CFMutableStringRef, |
| chars: *mut UniChar, |
| length: CFIndex, |
| capacity: CFIndex, |
| ); |
| pub fn CFStringTransform( |
| string: CFMutableStringRef, |
| range: *mut CFRange, |
| transform: CFStringRef, |
| reverse: Boolean, |
| ) -> Boolean; |
| pub fn CFStringTrim(theString: CFMutableStringRef, trimString: CFStringRef); |
| pub fn CFStringTrimWhitespace(theString: CFMutableStringRef); |
| pub fn CFStringUppercase(theString: CFMutableStringRef, locale: CFLocaleRef); |
| } |