Under Red Hat 8.0, I get the following error when I run almost any GNOME
application under the fa_IR locale (say, 'LANG=fa_IR gnotski').
/usr/share/themes/Bluecurve/gtk-2.0/gtkrc:89: error: scanner: digit is beyond radix
Fontconfig error: line 263: ".2": not a valid double
Fontconfig error: line 265: wrong number of matrix elements
Fontconfig error: Cannot load default config file
This is possibly due to the fact that fa_IR needs another decimal separator than
the '.' or ','. fontconfig needs to be able to parse the config file regardless
of the locale, possibly in the C locale.
It appears the problem is in glibc when parsing floating point numbers in a
non-ascii locale which have no number to the left of the decimal point. The
ISO/IEC 1999 C standard specifies that arguments to strtod start with a
non-empty sequence of digits, so it appears that glibc is in compliance with the
spec. The problem is that in the C local, strtod doesn't require leading digits.
Examples of numbers which appear to fail are .5 and -.5
I also examind the FreeBSD strtod source to discover that it doesn't correctly
handle locales which use more than one byte for the decimal point character.
I suggest that we rewrite the configuration files to match the format required
by the ISO/IEC C standard instead of attempting to kludge around things by
half-parsing the floating point number. I've applied appropriate patches to CVS