summaryrefslogtreecommitdiffstats
path: root/source/t/xfig/xfig.3.2.4-urw-fonts.diff
blob: 396dead550e60db587a1191f12d70cc1e564579d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
--- u_fonts.c
+++ u_fonts.c	2005-10-06 18:55:22.000000000 +0200
@@ -21,7 +21,9 @@
 
 /* X11 font names */
 
-struct _xfstruct x_fontinfo[NUM_FONTS] = {
+struct _xfstruct x_fontinfo[NUM_FONTS];
+
+struct _xfstruct x_adobe_fontinfo[NUM_FONTS] = {
     {"-*-times-medium-r-normal--", (struct xfont*) NULL},
     {"-*-times-medium-i-normal--", (struct xfont*) NULL},
     {"-*-times-bold-r-normal--", (struct xfont*) NULL},
@@ -59,6 +61,44 @@
     {"-*-itc zapf dingbats-*-*-*--", (struct xfont*) NULL},
 };
 
+struct _xfstruct x_urw_fontinfo[NUM_FONTS] = {
+    {"-URW-*Nimbus Roman No9 L-medium-r-normal--", (struct xfont*) NULL},	/* Times-Roman */
+    {"-URW-*Nimbus Roman No9 L-medium-i-normal--", (struct xfont*) NULL},	/* Times-Italic */
+    {"-URW-*Nimbus Roman No9 L-bold-r-normal--", (struct xfont*) NULL},		/* Times-Bold */
+    {"-URW-*Nimbus Roman No9 L-bold-i-normal--", (struct xfont*) NULL},		/* Times-BoldItalic */
+    {"-URW-*Gothic L-medium-r-normal--", (struct xfont*) NULL},			/* AvantGarde-Book */
+    {"-URW-*Gothic L-medium-o-normal--", (struct xfont*) NULL},			/* AvantGarde-BookOblique */
+    {"-URW-*Gothic L-*bold-r-normal--", (struct xfont*) NULL},			/* AvantGarde-Demi */
+    {"-URW-*Gothic L-*bold-o-normal--", (struct xfont*) NULL},			/* AvantGarde-DemiOblique */
+    {"-URW-*Bookman L-medium-r-normal--", (struct xfont*) NULL},		/* Bookman-Light */
+    {"-URW-*Bookman L-medium-i-normal--", (struct xfont*) NULL},		/* Bookman-LightItalic */
+    {"-URW-*Bookman L-*bold-r-normal--", (struct xfont*) NULL},			/* Bookman-Demi */
+    {"-URW-*Bookman L-*bold-i-normal--", (struct xfont*) NULL},			/* Bookman-DemiItalic */
+    {"-URW-*Nimbus Mono L-medium-r-normal--", (struct xfont*) NULL},		/* Courier */
+    {"-URW-*Nimbus Mono L-medium-o-normal--", (struct xfont*) NULL},		/* Courier-Oblique */
+    {"-URW-*Nimbus Mono L-bold-r-normal--", (struct xfont*) NULL},		/* Courier-Bold */
+    {"-URW-*Nimbus Mono L-bold-o-normal--", (struct xfont*) NULL},		/* Courier-BoldOblique */
+    {"-URW-*Nimbus Sans L-medium-r-normal--", (struct xfont*) NULL},		/* Helvetica */
+    {"-URW-*Nimbus Sans L-medium-o-normal--", (struct xfont*) NULL},		/* Helvetica-Oblique */
+    {"-URW-*Nimbus Sans L-bold-r-normal--", (struct xfont*) NULL},		/* Helvetica-Bold */
+    {"-URW-*Nimbus Sans L-bold-o-normal--", (struct xfont*) NULL},		/* Helvetica-BoldOblique */
+    {"-URW-*Nimbus Sans L-medium-r-condensed--", (struct xfont*) NULL},		/* Helvetica-Narrow */
+    {"-URW-*Nimbus Sans L-medium-o-condensed--", (struct xfont*) NULL},		/* Helvetica-Narrow-Oblique */
+    {"-URW-*Nimbus Sans L-bold-r-condensed--", (struct xfont*) NULL},		/* Helvetica-Narrow-Bold */
+    {"-URW-*Nimbus Sans L-bold-o-condensed--", (struct xfont*) NULL},		/* Helvetica-Narrow-BoldOblique */
+    {"-URW-*Century Schoolbook L-medium-r-normal--", (struct xfont*) NULL},	/* NewCenturySchlbk-Roman */
+    {"-URW-*Century Schoolbook L-medium-i-normal--", (struct xfont*) NULL},	/* NewCenturySchlbk-Italic */
+    {"-URW-*Century Schoolbook L-bold-r-normal--", (struct xfont*) NULL},	/* NewCenturySchlbk-Bold */
+    {"-URW-*Century Schoolbook L-bold-i-normal--", (struct xfont*) NULL},	/* NewCenturySchlbk-BoldItalic */
+    {"-URW-*Palladio L-medium-r-normal--", (struct xfont*) NULL},		/* Palatino-Roman */
+    {"-URW-*Palladio L-medium-i-normal--", (struct xfont*) NULL},		/* Palatino-Italic */
+    {"-URW-*Palladio L-bold-r-normal--", (struct xfont*) NULL},			/* Palatino-Bold */
+    {"-URW-*Palladio L-bold-i-normal--", (struct xfont*) NULL},			/* Palatino-BoldItalic */
+    {"-URW-*Standard Symbols L-medium-r-normal--", (struct xfont*) NULL},	/* Symbol */
+    {"-URW-*Chancery L-medium-i-normal--", (struct xfont*) NULL},		/* ZapfChancery-MediumItalic */
+    {"-URW-*Dingbats-medium-r-normal--", (struct xfont*) NULL},			/* ZapfDingbats */
+};
+
 /* Use the following font names for any font that doesn't exist in the table above.
  * These come with the Open Group X distribution so they should be a common set.
  *
--- u_fonts.h
+++ u_fonts.h	2005-10-06 19:19:30.000000000 +0200
@@ -32,9 +32,6 @@
 
 extern int		psfontnum();
 extern int		latexfontnum();
-extern struct _xfstruct	x_fontinfo[], x_backup_fontinfo[];
-extern struct _fstruct	ps_fontinfo[];
-extern struct _fstruct	latex_fontinfo[];
 
 /* element of linked list for each font
    The head of list is for the different font NAMES,
@@ -61,5 +58,12 @@
 				 * sizes */
 };
 
+extern struct _xfstruct	x_fontinfo[];
+extern struct _xfstruct	x_urw_fontinfo[];
+extern struct _xfstruct	x_adobe_fontinfo[];
+extern struct _xfstruct	x_backup_fontinfo[];
+extern struct _fstruct	ps_fontinfo[];
+extern struct _fstruct	latex_fontinfo[];
+
 int		x_fontnum();
 #endif /* U_FONTS_H */
--- w_drawprim.c
+++ w_drawprim.c	2005-10-06 19:12:02.000000000 +0200
@@ -99,6 +99,22 @@
 		appres.buttonFont, appres.normalFont);
 	button_font = XLoadQueryFont(tool_d, appres.normalFont);
     }
+
+    /*
+     * Check for URW fonts, if not found use Adobe fonts
+     */
+    strcpy(template,x_urw_fontinfo[0].template);
+    strcat(template,"0-0-*-*-*-*-");
+    if (strstr(template,"ymbol") == NULL && strstr(template,"ingbats") == NULL)
+	strcat(template,"ISO8859-*");
+    else
+	strcat(template,"*-*");
+    if ((fontlist = XListFonts(tool_d, template, 1, &count)) == (char**)0)
+	memcpy(&x_fontinfo, &x_adobe_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS);
+    else
+	memcpy(&x_fontinfo, &x_urw_fontinfo, sizeof(struct _xfstruct) * NUM_FONTS);
+    XFreeFontNames(fontlist); 
+
     /*
      * Now initialize the font structure for the X fonts corresponding to the
      * Postscript fonts for the canvas.	 OpenWindows can use any LaserWriter
@@ -119,8 +135,8 @@
 	    strcpy(template,x_fontinfo[0].template);  /* nope, check for font size 0 */
 	    strcat(template,"0-0-*-*-*-*-");
 	    /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-	    if (strstr(template,"symbol") == NULL &&
-		strstr(template,"zapf dingbats") == NULL)
+	    if (strstr(template,"ymbol") == NULL &&
+		strstr(template,"ingbats") == NULL)
 		    strcat(template,"ISO8859-*");
 	    else
 		strcat(template,"*-*");
@@ -139,8 +155,8 @@
 	    strcpy(template,x_fontinfo[f].template);
 	    strcat(template,"*-*-*-*-*-*-");
 	    /* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-	    if (strstr(template,"symbol") == NULL &&
-		strstr(template,"zapf dingbats") == NULL)
+	    if (strstr(template,"ymbol") == NULL &&
+		strstr(template,"ingbats") == NULL)
 		    strcat(template,"ISO8859-*");
 	    else
 		strcat(template,"*-*");
@@ -287,8 +303,8 @@
 		/* attach pointsize to font name */
 		strcat(template,"%d-*-*-*-*-*-");
 		/* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-		if (strstr(template,"symbol") == NULL &&
-		    strstr(template,"zapf dingbats") == NULL)
+		if (strstr(template,"ymbol") == NULL &&
+		    strstr(template,"ingbats") == NULL)
 			strcat(template,"ISO8859-*");
 	        else
 			strcat(template,"*-*");
@@ -299,8 +315,8 @@
 		strcpy(template,x_backup_fontinfo[fnum].template);
 		strcat(template,"%d-*-*-*-*-*-");
 		/* add ISO8859 (if not Symbol font or ZapfDingbats) to font name */
-		if (strstr(template,"symbol") == NULL &&
-		    strstr(template,"zapf dingbats") == NULL)
+		if (strstr(template,"ymbol") == NULL &&
+		    strstr(template,"ingbats") == NULL)
 			strcat(template,"ISO8859-*");
 	        else
 			strcat(template,"*-*");