[GRASS-dev] Problem with font selection in gis.m on Windows

Michael Barton michael.barton at asu.edu
Sun May 6 03:17:06 EDT 2007


Thanks for the useful tips.

Michael


On 5/5/07 9:05 PM, "Paul Kelly" <paul-grass at stjohnspoint.co.uk> wrote:

> uname will generally be available if Init.sh works, but Init.sh only
> runs in Msys on Windows - true native Windows GRASS doesn't require Msys
> for running (only compiling) and won't have Unix commands like uname
> available at run-time. We have an alternative Windows batch file,
> init.bat, that can be used to start native Windows GRASS and avoids the
> need to have a shell interpreter and run Init.sh.
> 
> Usually I did platform checking in Tcl by looking for environment
> variables that were platform-specific, e.g. something like:
> if {[info exists env(OS)] && $env(OS) == "Windows_NT"}
> but I see in the new d.rast.edit Glynn has used some kind of Tcl variable
> which looks like an even neater way of doing it:
> if {$tcl_platform(platform) == "windows"}
> 
> But I agree it's best to wait to see how the font support settles down
> before we decide how best to fix this.
> 
> On Sat, 5 May 2007, Michael Barton wrote:
> 
>> I lifted this from Init.sh, where it checks for things like Mingw and
>> Cygwin, so I thought it would work with windows. If it doesn't, I guess it's
>> pointless to have it in Init.sh too.
>> 
>> As the current font selection is done, I need to know if a Mac, Windows, or
>> other system is running to know where to look for fonts. If uname doesn't
>> work on Windows, I don't know how to find this out.
>> 
>> If there is no other solution, I'll try to implement an alternate kind of
>> dialog, using a listbox and the new and improved freetypecap file, like I've
>> done for the wxPython GUI.
>> 
>> Michael
>> 
>> 
>> On 5/4/07 9:06 AM, "Paul Kelly" <paul-grass at stjohnspoint.co.uk> wrote:
>> 
>>> The recent talk of fonts on this list brought me to try out some stuff on
>>> Windows. I discovered there's a font selector control in gis.m (Config
>>> Menu-->Set default display font) but if I click the button to try and
>>> change it to anything other than Romans I get the following error:
>>> 
>>> couldn't execute "uname": no such file or directory
>>> couldn't execute "uname": no such file or directory
>>>      while executing
>>> "exec uname -s"
>>>      (procedure "Gm::SelectFont" line 7)
>>>      invoked from within
>>> "Gm::SelectFont"
>>>      ("uplevel" body line 1)
>>>      invoked from within
>>> "uplevel \#0 $cmd"
>>>      (procedure "Button::_release" line 18)
>>>      invoked from within
>>> "Button::_release .dispfont.fontopt2.b"
>>>      (command bound to event)
>>> 
>>> Obviously trying to use the "uname" command (not available on native
>>> Windows) is the bug, but looking closer at the code (line 537 onwards in
>>> gui/tcltk/gis.m/gm.tcl) it seems the relevant part is trying to put
>>> together directories to search for Freetype fonts in? Which
>>> (a) shouldn't even be needed here as I have the stroke font radio button
>>> in the dialog selected and don't even have GRASS compiled with Freetype
>>> support and
>>> (b) might possibly be being made redundant by Glynn's new script to
>>> populate $GISBASE/etc/freetypecap?
>>> 
>>> Not sure what's the best way to fix this, taking into account those
>>> points.
>>> 
>>> Paul
>>> 
>>> 
>> 
>> __________________________________________
>> Michael Barton, Professor of Anthropology
>> School of Human Evolution & Social Change
>> Center for Social Dynamics & Complexity
>> Arizona State University
>> 
>> phone: 480-965-6213
>> fax: 480-965-7671
>> www: http://www.public.asu.edu/~cmbarton
>> 
>> 
>> 

__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton





More information about the grass-dev mailing list