Revision: 28554
http://sourceforge.net/p/bibdesk/svn/28554
Author: hofman
Date: 2024-01-05 19:26:02 +0000 (Fri, 05 Jan 2024)
Log Message:
-----------
use NSSTring category method to get string encoding from encoding name
Modified Paths:
--------------
trunk/bibdesk/BDSKAsynchronousWebParser.m
trunk/bibdesk/BDSKDBLPGroupServer.m
trunk/bibdesk/BDSKDOIParser.m
trunk/bibdesk/BDSKMODSParser.m
trunk/bibdesk/BDSKTextImportController.m
trunk/bibdesk/BDSKWebGroup.m
trunk/bibdesk/NSFileManager_BDSKExtensions.m
Modified: trunk/bibdesk/BDSKAsynchronousWebParser.m
===================================================================
--- trunk/bibdesk/BDSKAsynchronousWebParser.m 2024-01-05 19:05:26 UTC (rev
28553)
+++ trunk/bibdesk/BDSKAsynchronousWebParser.m 2024-01-05 19:26:02 UTC (rev
28554)
@@ -216,10 +216,8 @@
NSString *string = nil;
NSData *data = [self data];
NSString *encodingName = [[download response] textEncodingName];
- NSStringEncoding encoding = kCFStringEncodingInvalidId;
+ NSStringEncoding encoding = [NSString
encodingForIANACharSetName:encodingName];
- if (nil != encodingName)
- encoding =
CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((__bridge
CFStringRef)encodingName));
if (encoding != kCFStringEncodingInvalidId)
string = [[NSString alloc] initWithData:data encoding:encoding];
if (nil == string && encoding != NSUTF8StringEncoding)
Modified: trunk/bibdesk/BDSKDBLPGroupServer.m
===================================================================
--- trunk/bibdesk/BDSKDBLPGroupServer.m 2024-01-05 19:05:26 UTC (rev 28553)
+++ trunk/bibdesk/BDSKDBLPGroupServer.m 2024-01-05 19:26:02 UTC (rev 28554)
@@ -363,12 +363,9 @@
if (i != NSNotFound) {
isBibTeX = YES;
NSString *encodingName = [response textEncodingName];
- CFStringEncoding cfEncoding = kCFStringEncodingInvalidId;
- NSStringEncoding nsEncoding = NSUTF8StringEncoding;
- if (encodingName != nil)
- cfEncoding =
CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)encodingName);
- if (cfEncoding != kCFStringEncodingInvalidId)
- nsEncoding =
CFStringConvertEncodingToNSStringEncoding(cfEncoding);
+ NSStringEncoding nsEncoding = [NSString
encodingForIANACharSetName:encodingName];
+ if (nsEncoding == kCFStringEncodingInvalidId)
+ nsEncoding = NSUTF8StringEncoding;
NSString *btString = [[[NSString alloc] initWithData:data
encoding:nsEncoding] autorelease];
pubs = [BDSKBibTeXParser itemsFromString:btString owner:group
error:NULL];
[bibtexFetches replaceObjectAtIndex:i withObject:pubs];
Modified: trunk/bibdesk/BDSKDOIParser.m
===================================================================
--- trunk/bibdesk/BDSKDOIParser.m 2024-01-05 19:05:26 UTC (rev 28553)
+++ trunk/bibdesk/BDSKDOIParser.m 2024-01-05 19:26:02 UTC (rev 28554)
@@ -42,6 +42,7 @@
#import "NSError_BDSKExtensions.h"
#import "BibItem.h"
#import "BDSKDownloader.h"
+#import "NSString_BDSKExtensions.h"
#import <AGRegex/AGRegex.h>
@implementation BDSKDOIParser
@@ -82,9 +83,7 @@
BibItem *item = nil;
if (data) {
NSString *bibtexString = nil;
- NSStringEncoding encoding = kCFStringEncodingInvalidId;
- if (encodingName)
- encoding =
CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((__bridge
CFStringRef)encodingName));
+ NSStringEncoding encoding = [NSString
encodingForIANACharSetName:encodingName];
if (encoding == kCFStringEncodingInvalidId)
encoding = NSUTF8StringEncoding;
bibtexString = [[[[NSString alloc] initWithData:data
encoding:encoding] autorelease] stringByRemovingSurroundingWhitespace];
Modified: trunk/bibdesk/BDSKMODSParser.m
===================================================================
--- trunk/bibdesk/BDSKMODSParser.m 2024-01-05 19:05:26 UTC (rev 28553)
+++ trunk/bibdesk/BDSKMODSParser.m 2024-01-05 19:26:02 UTC (rev 28554)
@@ -38,6 +38,7 @@
#import "BDSKMODSParser.h"
#import "BDSKMARCParser.h"
+#import "NSString_BDSKExtensions.h"
@interface NSString (BDSKMODSParserExtensions)
- (BOOL)isMODSString;
@@ -73,14 +74,9 @@
NSData *xmlData = [marcDoc XMLData];
NSString *encodingName = [marcDoc characterEncoding];
- NSStringEncoding encoding = 0;
- if (encodingName) {
- CFStringEncoding cfEnc =
CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)encodingName);
- if (kCFStringEncodingInvalidId == cfEnc)
- encoding = NSUTF8StringEncoding;
- else
- encoding = CFStringConvertEncodingToNSStringEncoding(cfEnc);
- }
+ NSStringEncoding encoding = [NSString
encodingForIANACharSetName:encodingName];
+ if (encoding == kCFStringEncodingInvalidId)
+ encoding = NSUTF8StringEncoding;
NSString *xmlString = [[NSString alloc] initWithData:xmlData
encoding:encoding];
NSArray *parsedItems = [BDSKMARCParser itemsFromMARCXMLString:xmlString
error:outError];
Modified: trunk/bibdesk/BDSKTextImportController.m
===================================================================
--- trunk/bibdesk/BDSKTextImportController.m 2024-01-05 19:05:26 UTC (rev
28553)
+++ trunk/bibdesk/BDSKTextImportController.m 2024-01-05 19:26:02 UTC (rev
28554)
@@ -68,6 +68,7 @@
#import "NSAttributedString_BDSKExtensions.h"
#import "NSColor_BDSKExtensions.h"
#import "NSTableView_BDSKExtensions.h"
+#import "NSString_BDSKExtensions.h"
#define BDSKTextImportControllerFrameAutosaveName @"BDSKTextImportController
Frame Autosave Name"
@@ -1350,13 +1351,9 @@
if(string == nil) {
NSString *encodingName = [dataSource textEncodingName];
- CFStringEncoding cfEncoding = kCFStringEncodingInvalidId;
- NSStringEncoding nsEncoding = NSUTF8StringEncoding;
-
- if (encodingName != nil)
- cfEncoding =
CFStringConvertIANACharSetNameToEncoding((CFStringRef)encodingName);
- if (cfEncoding != kCFStringEncodingInvalidId)
- nsEncoding =
CFStringConvertEncodingToNSStringEncoding(cfEncoding);
+ NSStringEncoding nsEncoding = [NSString
encodingForIANACharSetName:encodingName];
+ if (nsEncoding == kCFStringEncodingInvalidId)
+ nsEncoding = NSUTF8StringEncoding;
string = [[[NSString alloc] initWithData:[dataSource data]
encoding:nsEncoding] autorelease];
}
Modified: trunk/bibdesk/BDSKWebGroup.m
===================================================================
--- trunk/bibdesk/BDSKWebGroup.m 2024-01-05 19:05:26 UTC (rev 28553)
+++ trunk/bibdesk/BDSKWebGroup.m 2024-01-05 19:26:02 UTC (rev 28554)
@@ -268,9 +268,7 @@
if(string == nil) {
NSData *data = [dataSource data];
NSString *encodingName = [dataSource textEncodingName];
- NSStringEncoding encoding = NSUTF8StringEncoding;
- if (nil != encodingName)
- encoding =
CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((__bridge
CFStringRef)encodingName));
+ NSStringEncoding encoding = encodingName ? [NSString
encodingForIANACharSetName:encodingName] : NSUTF8StringEncoding;
if (encoding != kCFStringEncodingInvalidId)
string = [[NSString alloc] initWithData:data
encoding:encoding];
if (nil == string && encoding != NSUTF8StringEncoding)
Modified: trunk/bibdesk/NSFileManager_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSFileManager_BDSKExtensions.m 2024-01-05 19:05:26 UTC
(rev 28553)
+++ trunk/bibdesk/NSFileManager_BDSKExtensions.m 2024-01-05 19:26:02 UTC
(rev 28554)
@@ -419,13 +419,12 @@
array = [encodingString componentsSeparatedByString:@";"];
// currently only two elements, but may become arbitrarily long in future
- if ([array count] >= 2) {
+ if ([array count] > 1) {
CFStringEncoding cfEncoding = [[array objectAtIndex:1] integerValue];
nsEncoding = CFStringConvertEncodingToNSStringEncoding(cfEncoding);
}
else if ([array count] > 0) {
- CFStringEncoding cfEncoding =
CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)[array
objectAtIndex:0]);
- nsEncoding = CFStringConvertEncodingToNSStringEncoding(cfEncoding);
+ nsEncoding = [NSString encodingForIANACharSetName:[array firstObject]];
}
else if (NULL != error && nil != encodingString /* we read something from
EA, but couldn't understand it */) {
*error = [NSError localErrorWithCode:kBDSKStringEncodingError
localizedDescription:NSLocalizedString(@"Unable to interpret
com.apple.TextEncoding", @"")];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit