[GRASS-dev] iconv a required dependency for using Freetype?

William Kyngesburye woklist at kyngchaos.com
Fri May 11 15:17:23 EDT 2007

On May 10, 2007, at 11:03 AM, Paul Kelly wrote:

>> One suggestion - make it useable outside of GRASS, or during the  
>> startup process. (I tried it and got a segfault)
> It calls G_no_gisinit(), i.e. it doesn't require a valid location  
> or mapset to be present, just GISBASE and GISRC to be set, so  
> should be fine for most purposes I think.

Doesn't help if I want to generate the *cap file before init.sh is  
run, since the user hasn't selected a map yet.  I thought about  
trying a dummy location like the demolocation, but that would have to  
be installed with the binary.

I came up with this possibility - in init.sh, after it gets a valid  
mapset from the user (and all the needed vars are set):

--- init.sh-orig        2007-05-11 13:58:54.000000000 -0500
+++ init.sh     2007-05-11 13:56:38.000000000 -0500
@@ -676,6 +676,15 @@
         exit 1 ;;

+if [ "$GRASS_FONT_CAP" ] && [ ! -f "$GRASS_FONT_CAP" ] ; then
+       echo "Building user fontcap ..."
+       g.mkfontcap -o
+if [ "$GRASS_FT_CAP" ] && [ ! -f "$GRASS_FT_CAP" ] ; then
+       echo "Building user freetypecap ..."
+       g.mkfontcap -o -f
  trap "" 2 3 15

  # cygwin has many problems with the shell setup

This should be safe - it should not get run on the *caps installed  
with the GRASS binary (though if a user sets either to be the binary  
copy, it will try to), but only when either or both env vars are set  
and the file doesn't exist.  It will give the user a start for adding  
other fonts manually, or cleaning up possible mistakes.

William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>

[Trillian]  What are you supposed to do WITH a maniacally depressed  

[Marvin]  You think you have problems?  What are you supposed to do  
if you ARE a maniacally depressed robot?  No, don't try and answer,  
I'm 50,000 times more intelligent than you and even I don't know the  

- HitchHiker's Guide to the Galaxy

More information about the grass-dev mailing list