[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[645] trunk/fuse/fusepb/controllers/ TapeBrow
Brought to you by:
fredm
From: <fr...@us...> - 2010-08-07 06:44:34
|
Revision: 645 http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=645&view=rev Author: fredm Date: 2010-08-07 06:44:28 +0000 (Sat, 07 Aug 2010) Log Message: ----------- Switch to new de-facto character encoding for TZX blocks from WoS in Tape Browser. Modified Paths: -------------- trunk/fuse/fusepb/controllers/TapeBrowserController.m Modified: trunk/fuse/fusepb/controllers/TapeBrowserController.m =================================================================== --- trunk/fuse/fusepb/controllers/TapeBrowserController.m 2010-08-06 13:51:53 UTC (rev 644) +++ trunk/fuse/fusepb/controllers/TapeBrowserController.m 2010-08-07 06:44:28 UTC (rev 645) @@ -171,7 +171,7 @@ values = [NSArray arrayWithObjects: @"Title", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -184,7 +184,7 @@ info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ]; values = [NSArray arrayWithObjects: @"Publishers", @@ -199,7 +199,7 @@ info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ]; values = [NSArray arrayWithObjects: @"Authors", @@ -216,7 +216,7 @@ [[NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ] intValue]], nil]; [tapeBrowserController @@ -229,7 +229,7 @@ info = [NSString stringWithCString: (const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ]; values = [NSArray arrayWithObjects: @"Languages", @@ -244,7 +244,7 @@ values = [NSArray arrayWithObjects: @"Category", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -254,23 +254,40 @@ ]; break; case 6: - values = [NSArray arrayWithObjects: @"Price", - [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) + { + const char *infoString = + libspectrum_tape_block_texts( block, i ); + NSMutableString *priceString = + [NSMutableString stringWithCString:infoString #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif - ], nil]; + ]; + // WoS Infoseek has been putting HTML-style "€" in for the + // Euro symbol which isn't in the ISO Latin 1 string encoding. + // Martijn has agreed to use CP1252 (a superset of Latin 1) + // instead. + // In case of encountering some old blocks we support + // translating "€" to the correect sign as well as + // supporting CP1252 encoding on import replace it with the + // standard euro sign + [priceString replaceOccurrencesOfString:@"€" + withString:@"€" + options:NSCaseInsensitiveSearch + range:NSMakeRange(0, [priceString length])]; + values = [NSArray arrayWithObjects: @"Price", priceString, nil]; [tapeBrowserController performSelectorOnMainThread:@selector(addObjectToInfoContents:) withObject:[NSDictionary dictionaryWithObjects:values forKeys:keys] waitUntilDone:NO ]; + } break; case 7: values = [NSArray arrayWithObjects: @"Loader", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -283,7 +300,7 @@ values = [NSArray arrayWithObjects: @"Origin", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController @@ -296,7 +313,7 @@ values = [NSArray arrayWithObjects: @"Comment", [NSString stringWithCString:(const char *)libspectrum_tape_block_texts( block, i ) #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - encoding:NSISOLatin1StringEncoding + encoding:NSWindowsCP1252StringEncoding #endif ], nil]; [tapeBrowserController This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |