[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.
|