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)

Reply via email to