Revision: 13491
http://sourceforge.net/p/skim-app/code/13491
Author: hofman
Date: 2023-06-19 17:57:48 +0000 (Mon, 19 Jun 2023)
Log Message:
-----------
Use ps2pdf or pstopdf ommand line tool on macOS 14.0 as the CGPS functions are
not supported anymore on 14.0. Hidden pref to pass the conversion tool path.
Modified Paths:
--------------
trunk/SKConversionProgressController.m
Modified: trunk/SKConversionProgressController.m
===================================================================
--- trunk/SKConversionProgressController.m 2023-06-19 09:00:46 UTC (rev
13490)
+++ trunk/SKConversionProgressController.m 2023-06-19 17:57:48 UTC (rev
13491)
@@ -53,6 +53,7 @@
#define SKDviConversionCommandKey @"SKDviConversionCommand"
#define SKXdvConversionCommandKey @"SKXdvConversionCommand"
+#define SKPSConversionCommandKey @"SKPSConversionCommand"
#define SKTouchBarItemIdentifierCancel
@"net.sourceforge.skim-app.touchbar-item.cancel"
@@ -252,8 +253,11 @@
NSWorkspace *ws = [NSWorkspace sharedWorkspace];
CGDataProviderRef provider = NULL;
- if ([ws type:fileType conformsToType:SKPostScriptDocumentType] == NO) {
+ BOOL isCGPSSupported = YES;
+ if (@available(macOS 14.0, *)) { isCGPSSupported = NO; }
+ if (isCGPSSupported == NO || [ws type:fileType
conformsToType:SKPostScriptDocumentType] == NO) {
+
NSString *toolPath = nil;
if ([ws type:fileType conformsToType:SKDVIDocumentType]) {
static NSString *dviToolPath = nil;
@@ -265,6 +269,11 @@
if (xdvToolPath == nil)
xdvToolPath =
createToolPathForCommand(SKXdvConversionCommandKey, @[@"xdvipdfmx",
@"xdv2pdf"]);
toolPath = xdvToolPath;
+ } else if ([ws type:fileType conformsToType:SKPostScriptDocumentType])
{
+ static NSString *psToolPath = nil;
+ if (psToolPath == nil)
+ psToolPath =
createToolPathForCommand(SKPSConversionCommandKey, @[@"ps2pdf", @"pstopdf"]);
+ toolPath = psToolPath;
}
if (toolPath) {
NSString *commandName = [toolPath lastPathComponent];
@@ -271,7 +280,7 @@
NSURL *tmpDirURL = [[NSFileManager defaultManager]
URLForDirectory:NSItemReplacementDirectory inDomain:NSUserDomainMask
appropriateForURL:aURL create:YES error:NULL];
BOOL outputPS = [commandName isEqualToString:@"dvips"];
NSURL *outFileURL = [tmpDirURL URLByAppendingPathComponent:[aURL
lastPathComponentReplacingPathExtension:outputPS ? @"ps" : @"pdf"]
isDirectory:NO];
- NSArray *arguments = [commandName isEqualToString:@"dvipdf"] ?
@[[aURL path], [outFileURL path]] : @[@"-o", [outFileURL path], [aURL path]];
+ NSArray *arguments = [commandName isEqualToString:@"dvipdf"] ||
[commandName isEqualToString:@"ps2pdf"] ? @[[aURL path], [outFileURL path]] :
@[@"-o", [outFileURL path], [aURL path]];
task = [[NSTask alloc] init];
[task setLaunchPath:toolPath];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit