Markus Steinborn wrote:
Orion Poplawski wrote:
linux> gv <any postscript file>
Warning: Missing charsets in String to FontSet conversion
Warning: Cannot convert string
"-efont-biwidth-medium-r-normal--16-*-*-*-*-*-iso10646-1,-gnu-unifont-medium-r-normal--16-*-*-*-*-*-iso10646-1,-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-*-*,-jis-fixed-medium-r-*--16-*-*-*-*-*-jisx0208.1983-0,-*-*-medium-r-*--16-*-*-*-*-*-*-*,*"
to type FontSet
--- begin cite ---
So what can you do? Complain to your distribution that (a) libXt
doesn't print the list of missing charsets, and (b) libX11 + libXt
require a charset for your locale that is not provided by any font in
an xorg-x11-fonts-* package (and, in my case, is highly unlikely to be
needed by any user in the locale).
--- end cite ---
The attached patch to libXt 1.0.7 will list all fonts not found.
On my test system I get the following output:
--- begin cite ---
Warning: Missing charsets in String to FontSet conversion
Missing font: ISO8859-1
Missing font: ISO8859-1
Missing font: ISO8859-2
Missing font: ISO8859-3
Missing font: ISO8859-4
Missing font: ISO8859-5
Missing font: KOI8-R
Missing font: ISO8859-7
Missing font: ISO8859-9
Missing font: ISO8859-13
Missing font: ISO8859-14
Missing font: ISO8859-15
Missing font: JISX0208.1983-0
Missing font: KSC5601.1987-0
Missing font: GB2312.1980-0
Missing font: JISX0201.1976-0
Missing font: ISO10646-1
Warning: Cannot convert string
"-efont-biwidth-medium-r-normal--16-*-*-*-*-*-iso10646-1,-gnu-unifont-medium-r-normal--16-*-*-*-*-*-iso10646-1,-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-*-*,-jis-fixed-medium-r-*--16-*-*-*-*-*-jisx0208.1983-0,-*-*-medium-r-*--16-*-*-*-*-*-*-*,*"
to type FontSet
Warning: Missing charsets in String to FontSet conversion
Missing font: ISO8859-1
Missing font: ISO8859-1
Missing font: ISO8859-2
Missing font: ISO8859-3
Missing font: ISO8859-4
Missing font: ISO8859-5
Missing font: KOI8-R
Missing font: ISO8859-7
Missing font: ISO8859-9
Missing font: ISO8859-13
Missing font: ISO8859-14
Missing font: ISO8859-15
Missing font: JISX0208.1983-0
Missing font: KSC5601.1987-0
Missing font: GB2312.1980-0
Missing font: JISX0201.1976-0
Missing font: ISO10646-1
Warning: Unable to load any usable fontset
Warning: Missing charsets in String to FontSet conversion
Missing font: ISO8859-1
Missing font: ISO8859-1
Missing font: ISO8859-2
Missing font: ISO8859-3
Missing font: ISO8859-4
Missing font: ISO8859-5
Missing font: KOI8-R
Missing font: ISO8859-7
Missing font: ISO8859-9
Missing font: ISO8859-13
Missing font: ISO8859-14
Missing font: ISO8859-15
Missing font: JISX0208.1983-0
Missing font: KSC5601.1987-0
Missing font: GB2312.1980-0
Missing font: JISX0201.1976-0
Missing font: ISO10646-1
Warning: Unable to load any usable fontset
--- end cite ---
Note that the whole GNU gv sources do not contain e. g. the string "KOI"
(case independent) and therefore not "KOI8-R", so it's clearly the case
that libXt+libX11 require that fontset - like I cited from the web site
above.
It may help (but I do _not_ think it's a good idea, as it will
completely break international mode) to remove
XtSetLanguageProc(NULL, NULL, NULL);
from main.c.
Greetings from Germany
Markus Steinborn
GNU gv maintainer
--- libXt-1.0.7/src/Converters.c 2009-01-31 04:47:28.000000000 +0100
+++ libXt-1.0.7/src/Converters.c 2010-07-15 14:31:46.070317009 +0200
@@ -978,6 +978,13 @@
XtNmissingCharsetList,"cvtStringToFontSet",XtCXtToolkitError,
"Missing charsets in String to FontSet conversion",
(String *) NULL, (Cardinal *)NULL);
+{
+ int i=0;
+ for (i=0; i<missing_charset_count; i++)
+ {
+ fprintf(stderr, "Missing font: %s\n", missing_charset_list[i]);
+ }
+}
XFreeStringList(missing_charset_list);
}
if (f != NULL) {
@@ -1011,6 +1018,13 @@
XtCXtToolkitError,
"Missing charsets in String to FontSet conversion",
(String *) NULL, (Cardinal *)NULL);
+{
+ int i=0;
+ for (i=0; i<missing_charset_count; i++)
+ {
+ fprintf(stderr, "Missing font: %s\n", missing_charset_list[i]);
+ }
+}
XFreeStringList(missing_charset_list);
}
if (f != NULL)
@@ -1035,6 +1049,13 @@
XtNmissingCharsetList,"cvtStringToFontSet",XtCXtToolkitError,
"Missing charsets in String to FontSet conversion",
(String *) NULL, (Cardinal *)NULL);
+{
+ int i=0;
+ for (i=0; i<missing_charset_count; i++)
+ {
+ fprintf(stderr, "Missing font: %s\n", missing_charset_list[i]);
+ }
+}
XFreeStringList(missing_charset_list);
}
if (f != NULL)