Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Makefile.am8
-rw-r--r--macosx/fonts.conf154
-rw-r--r--macosx/pangorc4
-rw-r--r--src/gcompris/gcompris-nsbundle.m53
5 files changed, 196 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index 46b8a32..57e2f3f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+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.
diff --git a/Makefile.am b/Makefile.am
index 7690a8c..0bb0e3f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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
diff --git a/macosx/fonts.conf b/macosx/fonts.conf
new file mode 100644
index 0000000..8394ffd
--- /dev/null
+++ b/macosx/fonts.conf
@@ -0,0 +1,154 @@
+<?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>
diff --git a/macosx/pangorc b/macosx/pangorc
index bfbecbd..c9ccba3 100644
--- a/macosx/pangorc
+++ b/macosx/pangorc
@@ -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
diff --git a/src/gcompris/gcompris-nsbundle.m b/src/gcompris/gcompris-nsbundle.m
index b5c4072..4b1895c 100644
--- a/src/gcompris/gcompris-nsbundle.m
+++ b/src/gcompris/gcompris-nsbundle.m
@@ -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];