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 for fonts.conf.in
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.