Commit e5690e51 authored by Yves Combe's avatar Yves Combe

continue work with NSBundle.

svn path=/trunk/; revision=2544
parent 90e80eae
2007-03-24 Yves Combe <yves@ycombe.net>
continue work on NSBundle.
* Makefile.am:
* macosx/fonts.conf:
* macosx/pangorc:
* src/gcompris/gcompris-nsbundle.m:
2007-03-23 Yves Combe <yves@ycombe.net>
add python modules in bundle.
......
......@@ -108,6 +108,7 @@ GTK_CONF_FILES=gtk.immodules gdk-pixbuf.loaders im-multipress.conf
PANGO_CONF_FILES=pango.modules
FONTCONFIG_PATH=etc/fonts
GTK_MODULES_PATH=lib/gtk-2.0
PANGO_MODULES_PATH=lib/pango
EXTERN_BIN= gnuchess gnucap
PYTHON_MODULES_PATH_ORIG=lib/python$(PYTHON_VERSION)
PYTHON_MODULES_PATH_DEST=lib/python
......@@ -146,13 +147,16 @@ endif
$(INSTALL) $(top_srcdir)/macosx/pangorc $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(ETC_PANGO)/pangorc
$(INSTALL) -d $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(FONTCONFIG_PATH)
(cd $(prefix)/$(FONTCONFIG_PATH) ; tar cf - * )| ( cd $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(FONTCONFIG_PATH); tar xf -)
cp -vf macosx/fonts.conf $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(FONTCONFIG_PATH)
$(INSTALL) -d $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(GTK_MODULES_PATH)
$(INSTALL) -d $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(PANGO_MODULES_PATH)
$(INSTALL) -d $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(PYTHON_MODULES_PATH_DEST)
(cd $(prefix)/$(GTK_MODULES_PATH) ; tar cf - --exclude include * )| ( cd $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(GTK_MODULES_PATH); tar xf -)
(cd $(prefix)/$(PANGO_MODULES_PATH) ; tar cf - --exclude include * )| ( cd $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(PANGO_MODULES_PATH); tar xf -)
(cd $(prefix)/$(PYTHON_MODULES_PATH_ORIG) ; tar cf - --exclude include * )| ( cd $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/$(PYTHON_MODULES_PATH_DEST); tar xf -)
$(INSTALL) -d $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/bin
$(INSTALL) -d $(BUNDLE_RESOURCES_DIR)/bin
for f in $(EXTERN_BIN); do \
cp -v $(prefix)/bin/$$f $(BUNDLE_EXEC_DIR)/$(NSBUNDLE_GTK_DIR)/bin/$$f; \
cp -v $(prefix)/bin/$$f $(BUNDLE_RESOURCES_DIR)/bin/$$f; \
done
endif
......
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<!--
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
LOCAL CHANGES BELONG IN 'local.conf'.
The intent of this standard configuration file is to be adequate for
most environments. If you have a reasonably normal environment and
have found problems with this configuration, they are probably
things that others will also want fixed. Please submit any
problems to the fontconfig bugzilla system located at fontconfig.org
Note that the normal 'make install' procedure for fontconfig is to
replace any existing fonts.conf file with the new version. Place
any local customizations in local.conf which this file references.
Keith Packard
-->
<!-- Font directory list -->
<dir>/Library/Fonts</dir>
<dir>/Network/Library/Fonts</dir>
<dir>/System/Library/Fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir>
<dir>/usr/share/fonts</dir>
<dir>/var/root/Library/Fonts</dir>
<dir>~/.fonts</dir>
<dir>~/Library/Fonts</dir>
<!-- Font cache directory list -->
<cachedir>~/.fontconfig</cachedir>
<!--
Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign">
<string>monospace</string>
</edit>
</match>
<!--
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match>
<!--
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match>
<!--
Load local system customization file
-->
<include ignore_missing="yes">conf.d</include>
<config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
<blank>
<int>0x0020</int> <!-- SPACE -->
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
<int>0x00AD</int> <!-- SOFT HYPHEN -->
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
<int>0x2000</int> <!-- EN QUAD -->
<int>0x2001</int> <!-- EM QUAD -->
<int>0x2002</int> <!-- EN SPACE -->
<int>0x2003</int> <!-- EM SPACE -->
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
<int>0x2007</int> <!-- FIGURE SPACE -->
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
<int>0x2009</int> <!-- THIN SPACE -->
<int>0x200A</int> <!-- HAIR SPACE -->
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
<int>0x2028</int> <!-- LINE SEPARATOR -->
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
<int>0x2060</int> <!-- WORD JOINER -->
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
<int>0x2062</int> <!-- INVISIBLE TIMES -->
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
<int>0x3164</int> <!-- HANGUL FILLER -->
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig>
......@@ -4,7 +4,7 @@
#
[Pango]
ModuleFiles = ./pango.modules
ModuleFiles = @{prefix}/pango.modules
[PangoX]
AliasFiles = ./pangox.aliases
\ No newline at end of file
AliasFiles = @{prefix}/pangox.aliases
......@@ -9,10 +9,11 @@
void gcompris_fix_gtk_etc (void);
void set_prefix( NSString *source_dir,
NSString *filename,
NSString *tmp_dir,
NSString *prefix,
void set_prefix( NSString *prefix_source_dir,
NSString *source_dir,
NSString *filename,
NSString *tmp_dir,
NSString *prefix,
const char *var);
gchar *gcompris_nsbundle_resource(void)
......@@ -60,40 +61,35 @@ void gcompris_fix_gtk_etc (void)
NSString *tmp_dir = NSTemporaryDirectory();
printf("Temporary directory %s\n\n", [tmp_dir UTF8String]);
set_prefix( gtk_conf_dir,
set_prefix( gtk_path,
gtk_conf_dir,
gtk_immodules,
tmp_dir,
gtk_path,
"GTK_IM_MODULE_FILE");
set_prefix( gtk_conf_dir,
set_prefix( gtk_path,
gtk_conf_dir,
gdk_pixbuf_loaders,
tmp_dir,
gtk_path,
"GDK_PIXBUF_MODULE_FILE");
set_prefix( pango_conf_dir,
set_prefix( gtk_path,
pango_conf_dir,
pango_modules,
tmp_dir,
gtk_path,
NULL);
// just copy the pangorc file
NSMutableString *pango_rc = [[gtk_path mutableCopy] autorelease];
[pango_rc appendString: pango_conf_dir];
[pango_rc appendString: pangorc];
NSMutableString *tmp_pango_rc = [[tmp_dir mutableCopy] autorelease];
[tmp_pango_rc appendString: pangorc];
[[NSFileManager defaultManager] copyPath: pango_rc toPath: tmp_pango_rc handler: nil];
printf("Copy %s\n to %s\n", [pango_rc UTF8String], [tmp_pango_rc UTF8String]);
// PANGO_RC_FILE gives path to pango.modules
setenv ("PANGO_RC_FILE", g_strdup([tmp_pango_rc UTF8String]), TRUE);
printf ("PANGO_RC_FILE environnemnt set to %s\n\n", getenv("PANGO_RC_FILE"));
// Warning -> the tmp_dir because the files are in tmp directory too !!!
set_prefix( gtk_path,
pango_conf_dir,
pangorc,
tmp_dir,
tmp_dir,
"PANGO_RC_FILE");
//Now we just need to adjust some environnement variables
setenv ("GTK_EXE_PREFIX", g_strdup([gtk_path UTF8String]), TRUE);
......@@ -124,13 +120,14 @@ void gcompris_fix_gtk_etc (void)
}
void set_prefix( NSString *source_dir,
NSString *filename,
NSString *tmp_dir,
NSString *prefix,
const char *var)
void set_prefix( NSString *prefix_source_dir,
NSString *source_dir,
NSString *filename,
NSString *tmp_dir,
NSString *prefix,
const char *var)
{
NSMutableString *source_file = [[prefix mutableCopy] autorelease];
NSMutableString *source_file = [[prefix_source_dir mutableCopy] autorelease];
[source_file appendString: source_dir];
[source_file appendString: filename];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment