* Full author contact details are available in file CREDITS.
*/
-#import <Carbon/Carbon.h>
#import <Cocoa/Cocoa.h>
#import <AvailabilityMacros.h>
NSString * lang_ = toString(lang);
if ([NSSpellChecker instancesRespondToSelector:@selector(availableLanguages)]) {
NSArray * languages = [speller->checker availableLanguages];
-
+
for (NSString *element in languages) {
if (0 == [element caseInsensitiveCompare:lang_]) {
result = element;
SpellCheckResult result = SPELL_CHECK_FAILED;
int start = 0;
int length = [word_ length];
-
+
[speller->misspelled release];
speller->misspelled = nil;
result = SPELL_CHECK_LEARNED;
}
} else {
+#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1050)
NSUInteger capacity = [speller->misspelled count] + 1;
+#else
+ int capacity = [speller->misspelled count] + 1;
+#endif
NSMutableArray * misspelled = [NSMutableArray arrayWithCapacity:capacity];
[misspelled addObjectsFromArray:speller->misspelled];
[misspelled addObject:[NSValue valueWithRange:match]];
// Mac OS X 10.6 only
NSInteger slen = [word_ length];
NSRange range = { 0, slen };
-
- if ([NSSpellChecker instancesRespondToSelector:@selector(guessesForWordRange:)]) {
- result = [speller->checker guessesForWordRange:range
- inString:word_
- language:lang_
- inSpellDocumentWithTag:speller->doctag];
- } else {
- [speller->checker setLanguage:lang_];
- result = [speller->checker guessesForWord:word_];
- }
+
+ result = [speller->checker guessesForWordRange:range
+ inString:word_
+ language:lang_
+ inSpellDocumentWithTag:speller->doctag];
#else
[speller->checker setLanguage:lang_];
result = [speller->checker guessesForWord:word_];
if ([NSSpellChecker instancesRespondToSelector:@selector(learnWord:)])
[speller->checker learnWord:word_];
-
+
[word_ release];
[pool release];
#endif
if ([NSSpellChecker instancesRespondToSelector:@selector(unlearnWord:)])
[speller->checker unlearnWord:word_];
-
+
[word_ release];
[pool release];
#endif
void AppleSpeller_misspelledWord(AppleSpeller speller, int index, int * start, int * length)
{
+#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1050)
NSRange range = [[speller->misspelled objectAtIndex:(NSUInteger)index] rangeValue];
+#else
+ NSRange range = [[speller->misspelled objectAtIndex:index] rangeValue];
+#endif
*start = range.location;
*length = range.length;
}
int AppleSpeller_hasLanguage(AppleSpeller speller, const char * lang)
{
+#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 1050)
return toLanguage(speller, lang) != nil;
+#else
+ return true;
+#endif
}