Large bundle of OS X tweaks by Eric P. (basis of the 10.9-compatible
pre-release made in Dec. 2013): * Fix OS X 10.9 issue of current directory set by Finder to something else than folder where app bundle resides. * Some Mac OS X build / project changes & updates. * Adjustments to Mac OS X fontconfig config file, to avoid warnings and make things more robust. * Updates to some #include's to catch up with newer library revisions. * Tweaks to pixel read/write on Apple. * Introduction of 'intprt_t' casting to avoid warnings on x64. * Some additional debugging output. * Logging stderr & stdout to /tmp/tuxpaint.log Untested (I don't have a Mac!)
This commit is contained in:
parent
e5b2182c0a
commit
e990b48de7
14 changed files with 982 additions and 817 deletions
|
|
@ -74,8 +74,7 @@ This library will already have been built and installed by MacPorts, but will no
|
|||
% tar xzf fontconfig*.tar.gz
|
||||
% cd fontconfig*
|
||||
% sudo port deactivate fontconfig
|
||||
% ./configure --prefix=/Users/Shared/tuxpaint --enable-static --disable-shared
|
||||
% --disable-docs --with-confdir="/Library/Application Support/TuxPaint/fontconfig/fonts" --with-cache-dir="/Library/Application Support/TuxPaint/fontconfig/cache" CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
|
||||
% ./configure --prefix=/Users/Shared/tuxpaint --enable-static --disable-shared --disable-docs --with-confdir="/Library/Application Support/TuxPaint/fontconfig/fonts" --with-cache-dir="/Library/Application Support/TuxPaint/fontconfig/cache" CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
|
||||
% sudo make install
|
||||
% sudo port activate fontconfig
|
||||
|
||||
|
|
@ -102,6 +101,7 @@ MacPorts only installs the dynamic libraries for Pango. We need to reconfigure
|
|||
% cd pango*
|
||||
% sudo port deactivate pango
|
||||
% ./configure --prefix=/Users/Shared/tuxpaint --enable-static CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib --with-included-modules=yes --with-dynamic-modules=no --disable-shared
|
||||
//EP pas de "make" ?
|
||||
% sudo make install
|
||||
% sudo find . -name "*.a" -exec cp {} /Users/Shared/tuxpaint/lib/ \;
|
||||
% sudo port activate pango
|
||||
|
|
@ -116,6 +116,7 @@ Assuming you place the sources in /Users/Shared/tuxpaint/src/libsvg, you can con
|
|||
% cd /Users/Shared/tuxpaint/src/libsvg
|
||||
% ./autogen.sh
|
||||
% ./configure --prefix=/Users/Shared/tuxpaint LIBSVG_CFLAGS=-I/usr/include LIBSVG_LIBS=-L/usr/lib --disable-shared
|
||||
//EP pas de "make" ?
|
||||
% make install
|
||||
|
||||
SVG Cairo:
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ static NSString *getApplicationName(void)
|
|||
mainBundle = [NSBundle mainBundle];
|
||||
path = [mainBundle pathForResource:@"data" ofType:nil];
|
||||
|
||||
[path getCString:(macosx.dataPath)];
|
||||
[path getCString:(macosx.dataPath) maxLength:sizeof(macosx.dataPath) encoding:NSUTF8StringEncoding]; //EP added maxLength: and encoding: to avoid deprecation warning for 10.6
|
||||
}
|
||||
|
||||
-(void) preferencesPath;
|
||||
|
|
@ -139,10 +139,11 @@ static NSString *getApplicationName(void)
|
|||
NSString *path;
|
||||
|
||||
path = [@"~/Library/Application Support/TuxPaint" stringByExpandingTildeInPath];
|
||||
[path getCString:(macosx.preferencesPath)];
|
||||
|
||||
[path getCString:(macosx.preferencesPath) maxLength:sizeof(macosx.preferencesPath) encoding:NSUTF8StringEncoding]; //EP added maxLength: and encoding: to avoid deprecation warning for 10.6
|
||||
|
||||
path = @"/Library/Application Support/TuxPaint";
|
||||
[path getCString:(macosx.globalPreferencesPath)];
|
||||
[path getCString:(macosx.globalPreferencesPath) maxLength:sizeof(macosx.globalPreferencesPath) encoding:NSUTF8StringEncoding]; //EP added maxLength: and encoding: to avoid deprecation warning for 10.6
|
||||
|
||||
}
|
||||
|
||||
-(void) fontsPath;
|
||||
|
|
@ -150,7 +151,7 @@ static NSString *getApplicationName(void)
|
|||
NSString *path;
|
||||
|
||||
path = [@"~/Library/Fonts" stringByExpandingTildeInPath];
|
||||
[path getCString:(macosx.fontsPath)];
|
||||
[path getCString:(macosx.fontsPath) maxLength:sizeof(macosx.fontsPath) encoding:NSUTF8StringEncoding]; //EP added maxLength: and encoding: to avoid deprecation warning for 10.6
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -330,7 +331,7 @@ static NSString *getApplicationName(void)
|
|||
if ([menuItem hasSubmenu])
|
||||
[self fixMenu:[menuItem submenu] withAppName:appName];
|
||||
}
|
||||
[aMenu sizeToFit];
|
||||
//EP commented line to avoid deprecation warning for 10.6: [aMenu sizeToFit];
|
||||
}
|
||||
|
||||
#else
|
||||
|
|
@ -488,7 +489,8 @@ static void CustomApplicationMain (argc, argv)
|
|||
NSString *arguments = [NSString stringWithCString:(macosx.globalPreferencesPath)];
|
||||
|
||||
char command[4096];
|
||||
sprintf(command, "\"%s\" \"%s\"", [executable cString], [arguments cString]);
|
||||
//EP commented to avoid deprecation warning for 10.6: sprintf(command, "\"%s\" \"%s\"", [executable cString], [arguments cString]);
|
||||
sprintf(command, "\"%@\" \"%@\"", executable, arguments);
|
||||
|
||||
int result = system(command);
|
||||
|
||||
|
|
@ -520,7 +522,7 @@ static void CustomApplicationMain (argc, argv)
|
|||
char *arguments[] = { "/Library/Application Support/TuxPaint", NULL };
|
||||
FILE *communicationsPipe = NULL;
|
||||
|
||||
strcpy(executable, [fcInstallerPath cString]);
|
||||
strcpy(executable, [fcInstallerPath cStringUsingEncoding:NSUTF8StringEncoding]); //EP replaced cString by cStringUsingEncoding: to avoid deprecation warning for 10.6
|
||||
|
||||
flags = kAuthorizationFlagDefaults;
|
||||
status = AuthorizationExecuteWithPrivileges(authorizationRef, executable, flags, arguments, &communicationsPipe);
|
||||
|
|
@ -547,8 +549,8 @@ static void CustomApplicationMain (argc, argv)
|
|||
- (void) setupFontconfig
|
||||
{
|
||||
/* Tell Fontconfig to use font configuration file in application bundle */
|
||||
setenv ("FONTCONFIG_PATH", [[[NSBundle mainBundle] resourcePath] cString], 1);
|
||||
|
||||
setenv ("FONTCONFIG_PATH", [[[NSBundle mainBundle] resourcePath] cStringUsingEncoding:NSUTF8StringEncoding], 1); //EP replaced cString by cStringUsingEncoding: to avoid deprecation warning for 10.6
|
||||
|
||||
/* Install font configuration file */
|
||||
/*
|
||||
BOOL filesExist = [self fontconfigFilesAreInstalled];
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -19,20 +19,30 @@
|
|||
-->
|
||||
|
||||
<!-- Font directory list configured on Sun Sep 14 17:12:54 PDT 2003 -->
|
||||
<!--
|
||||
//EP
|
||||
//commented out paths that prevented Inuktitut from rendering
|
||||
-->
|
||||
<dir>/Library/Fonts</dir>
|
||||
<dir>/Network/Library/Fonts</dir>
|
||||
<!--dir>/System/Library/Fonts</dir-->
|
||||
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
|
||||
<dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
|
||||
<dir>/usr/share/fonts</dir>
|
||||
<dir>~/Library/Fonts</dir>
|
||||
<dir>~/.fonts</dir>
|
||||
|
||||
<dir>/Library/Fonts</dir>
|
||||
<dir>/Network/Library/Fonts</dir>
|
||||
<dir>/System/Library/Fonts</dir>
|
||||
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
|
||||
<dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
|
||||
<dir>/usr/share/fonts</dir>
|
||||
<dir>~/Library/Fonts</dir>
|
||||
<dir>~/.fonts</dir>
|
||||
|
||||
<cache>~/.fontconfig</cache>
|
||||
<!--
|
||||
//EP
|
||||
//<cache> was ignored and every program init was slow
|
||||
//replaced it by <cachedir> which reenabled the cache font and sped up further program inits
|
||||
<cache>~/.fontconfig</cache>
|
||||
-->
|
||||
<cachedir>~/.fontconfig</cachedir>
|
||||
|
||||
<!--
|
||||
Enable sub-pixel rendering
|
||||
<match target="font">
|
||||
<match target="font">
|
||||
<test qual="all" name="rgba">
|
||||
<const>unknown</const>
|
||||
</test>
|
||||
|
|
@ -84,49 +94,179 @@
|
|||
<!--
|
||||
Serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Times</family>
|
||||
<family>Times New Roman</family>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<family>Luxi Serif</family>
|
||||
<family>Kochi Mincho</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>Baekmuk Batang</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
//EP
|
||||
//this generated Fontconfig warning: line XXX: Having multiple <family> in <alias> isn't supported and may not work as expected
|
||||
//fixed by splitting alias so as to get only one family per alias
|
||||
<alias>
|
||||
<family>Times</family>
|
||||
<family>Times New Roman</family>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<family>Luxi Serif</family>
|
||||
<family>Kochi Mincho</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>Baekmuk Batang</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
-->
|
||||
<alias>
|
||||
<family>Times</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Times New Roman</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Luxi Serif</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Kochi Mincho</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Baekmuk Batang</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
Sans-serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Lucida Grande</family>
|
||||
<family>Geneva</family>
|
||||
<family>Helvetica</family>
|
||||
<family>Arial</family>
|
||||
<family>Verdana</family>
|
||||
<family>Nimbus Sans L</family>
|
||||
<family>Luxi Sans</family>
|
||||
<family>Osaka</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>SimSun</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
//EP
|
||||
//this generated Fontconfig warning: line XXX: Having multiple <family> in <alias> isn't supported and may not work as expected
|
||||
//fixed by splitting alias so as to get only one family per alias
|
||||
<alias>
|
||||
<family>Lucida Grande</family>
|
||||
<family>Geneva</family>
|
||||
<family>Helvetica</family>
|
||||
<family>Arial</family>
|
||||
<family>Verdana</family>
|
||||
<family>Nimbus Sans L</family>
|
||||
<family>Luxi Sans</family>
|
||||
<family>Osaka</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>SimSun</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
-->
|
||||
<alias>
|
||||
<family>Lucida Grande</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Geneva</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Helvetica</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Arial</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Verdana</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Nimbus Sans L</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Luxi Sans</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Osaka</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Kochi Gothic</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>SimSun</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
Monospace faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Monaco</family>
|
||||
<family>Courier</family>
|
||||
<family>Courier New</family>
|
||||
<family>Andale Mono</family>
|
||||
<family>Luxi Mono</family>
|
||||
<family>Nimbus Mono L</family>
|
||||
<family>NSimSun</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
//EP
|
||||
//this generated Fontconfig warning: line XXX: Having multiple <family> in <alias> isn't supported and may not work as expected
|
||||
//fixed by splitting alias so as to get only one family per alias
|
||||
<alias>
|
||||
<family>Monaco</family>
|
||||
<family>Courier</family>
|
||||
<family>Courier New</family>
|
||||
<family>Andale Mono</family>
|
||||
<family>Luxi Mono</family>
|
||||
<family>Nimbus Mono L</family>
|
||||
<family>NSimSun</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
-->
|
||||
<alias>
|
||||
<family>Monaco</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Courier</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Courier New</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Andale Mono</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Luxi Mono</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>Nimbus Mono L</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>NSimSun</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
If the font still has no generic name, add sans-serif
|
||||
-->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue