wineps: Renamed the directory to wineps.drv.
[wine] / dlls / wineps.drv / data / Courier.c
1 /*******************************************************************************
2  *
3  *      Font metric data for Courier
4  *
5  *      Copyright 2001 Ian Pilcher
6  *
7  *
8  *      See dlls/wineps/data/COPYRIGHTS for font copyright information.
9  *
10  */
11
12 #include "psdrv.h"
13 #include "data/agl.h"
14
15
16 /*
17  *  Glyph metrics
18  */
19
20 static const AFMMETRICS metrics[243] =
21 {
22     {  32, 0x0020,  600, GN_space },
23     {  33, 0x0021,  600, GN_exclam },
24     {  34, 0x0022,  600, GN_quotedbl },
25     {  35, 0x0023,  600, GN_numbersign },
26     {  36, 0x0024,  600, GN_dollar },
27     {  37, 0x0025,  600, GN_percent },
28     {  38, 0x0026,  600, GN_ampersand },
29     { 169, 0x0027,  600, GN_quotesingle },
30     {  40, 0x0028,  600, GN_parenleft },
31     {  41, 0x0029,  600, GN_parenright },
32     {  42, 0x002a,  600, GN_asterisk },
33     {  43, 0x002b,  600, GN_plus },
34     {  44, 0x002c,  600, GN_comma },
35     {  45, 0x002d,  600, GN_hyphen },
36     {  46, 0x002e,  600, GN_period },
37     {  47, 0x002f,  600, GN_slash },
38     {  48, 0x0030,  600, GN_zero },
39     {  49, 0x0031,  600, GN_one },
40     {  50, 0x0032,  600, GN_two },
41     {  51, 0x0033,  600, GN_three },
42     {  52, 0x0034,  600, GN_four },
43     {  53, 0x0035,  600, GN_five },
44     {  54, 0x0036,  600, GN_six },
45     {  55, 0x0037,  600, GN_seven },
46     {  56, 0x0038,  600, GN_eight },
47     {  57, 0x0039,  600, GN_nine },
48     {  58, 0x003a,  600, GN_colon },
49     {  59, 0x003b,  600, GN_semicolon },
50     {  60, 0x003c,  600, GN_less },
51     {  61, 0x003d,  600, GN_equal },
52     {  62, 0x003e,  600, GN_greater },
53     {  63, 0x003f,  600, GN_question },
54     {  64, 0x0040,  600, GN_at },
55     {  65, 0x0041,  600, GN_A },
56     {  66, 0x0042,  600, GN_B },
57     {  67, 0x0043,  600, GN_C },
58     {  68, 0x0044,  600, GN_D },
59     {  69, 0x0045,  600, GN_E },
60     {  70, 0x0046,  600, GN_F },
61     {  71, 0x0047,  600, GN_G },
62     {  72, 0x0048,  600, GN_H },
63     {  73, 0x0049,  600, GN_I },
64     {  74, 0x004a,  600, GN_J },
65     {  75, 0x004b,  600, GN_K },
66     {  76, 0x004c,  600, GN_L },
67     {  77, 0x004d,  600, GN_M },
68     {  78, 0x004e,  600, GN_N },
69     {  79, 0x004f,  600, GN_O },
70     {  80, 0x0050,  600, GN_P },
71     {  81, 0x0051,  600, GN_Q },
72     {  82, 0x0052,  600, GN_R },
73     {  83, 0x0053,  600, GN_S },
74     {  84, 0x0054,  600, GN_T },
75     {  85, 0x0055,  600, GN_U },
76     {  86, 0x0056,  600, GN_V },
77     {  87, 0x0057,  600, GN_W },
78     {  88, 0x0058,  600, GN_X },
79     {  89, 0x0059,  600, GN_Y },
80     {  90, 0x005a,  600, GN_Z },
81     {  91, 0x005b,  600, GN_bracketleft },
82     {  92, 0x005c,  600, GN_backslash },
83     {  93, 0x005d,  600, GN_bracketright },
84     {  94, 0x005e,  600, GN_asciicircum },
85     {  95, 0x005f,  600, GN_underscore },
86     { 193, 0x0060,  600, GN_grave },
87     {  97, 0x0061,  600, GN_a },
88     {  98, 0x0062,  600, GN_b },
89     {  99, 0x0063,  600, GN_c },
90     { 100, 0x0064,  600, GN_d },
91     { 101, 0x0065,  600, GN_e },
92     { 102, 0x0066,  600, GN_f },
93     { 103, 0x0067,  600, GN_g },
94     { 104, 0x0068,  600, GN_h },
95     { 105, 0x0069,  600, GN_i },
96     { 106, 0x006a,  600, GN_j },
97     { 107, 0x006b,  600, GN_k },
98     { 108, 0x006c,  600, GN_l },
99     { 109, 0x006d,  600, GN_m },
100     { 110, 0x006e,  600, GN_n },
101     { 111, 0x006f,  600, GN_o },
102     { 112, 0x0070,  600, GN_p },
103     { 113, 0x0071,  600, GN_q },
104     { 114, 0x0072,  600, GN_r },
105     { 115, 0x0073,  600, GN_s },
106     { 116, 0x0074,  600, GN_t },
107     { 117, 0x0075,  600, GN_u },
108     { 118, 0x0076,  600, GN_v },
109     { 119, 0x0077,  600, GN_w },
110     { 120, 0x0078,  600, GN_x },
111     { 121, 0x0079,  600, GN_y },
112     { 122, 0x007a,  600, GN_z },
113     { 123, 0x007b,  600, GN_braceleft },
114     { 124, 0x007c,  600, GN_bar },
115     { 125, 0x007d,  600, GN_braceright },
116     { 126, 0x007e,  600, GN_asciitilde },
117     { 161, 0x00a1,  600, GN_exclamdown },
118     { 162, 0x00a2,  600, GN_cent },
119     { 163, 0x00a3,  600, GN_sterling },
120     { 168, 0x00a4,  600, GN_currency },
121     { 165, 0x00a5,  600, GN_yen },
122     {  -1, 0x00a6,  600, GN_brokenbar },
123     { 167, 0x00a7,  600, GN_section },
124     { 200, 0x00a8,  600, GN_dieresis },
125     {  -1, 0x00a9,  600, GN_copyright },
126     { 227, 0x00aa,  600, GN_ordfeminine },
127     { 171, 0x00ab,  600, GN_guillemotleft },
128     {  -1, 0x00ac,  600, GN_logicalnot },
129     {  -1, 0x00ae,  600, GN_registered },
130     {  -1, 0x00b0,  600, GN_degree },
131     {  -1, 0x00b1,  600, GN_plusminus },
132     {  -1, 0x00b2,  600, GN_twosuperior },
133     {  -1, 0x00b3,  600, GN_threesuperior },
134     { 194, 0x00b4,  600, GN_acute },
135     { 182, 0x00b6,  600, GN_paragraph },
136     { 180, 0x00b7,  600, GN_periodcentered },
137     { 203, 0x00b8,  600, GN_cedilla },
138     {  -1, 0x00b9,  600, GN_onesuperior },
139     { 235, 0x00ba,  600, GN_ordmasculine },
140     { 187, 0x00bb,  600, GN_guillemotright },
141     {  -1, 0x00bc,  600, GN_onequarter },
142     {  -1, 0x00bd,  600, GN_onehalf },
143     {  -1, 0x00be,  600, GN_threequarters },
144     { 191, 0x00bf,  600, GN_questiondown },
145     {  -1, 0x00c0,  600, GN_Agrave },
146     {  -1, 0x00c1,  600, GN_Aacute },
147     {  -1, 0x00c2,  600, GN_Acircumflex },
148     {  -1, 0x00c3,  600, GN_Atilde },
149     {  -1, 0x00c4,  600, GN_Adieresis },
150     {  -1, 0x00c5,  600, GN_Aring },
151     { 225, 0x00c6,  600, GN_AE },
152     {  -1, 0x00c7,  600, GN_Ccedilla },
153     {  -1, 0x00c8,  600, GN_Egrave },
154     {  -1, 0x00c9,  600, GN_Eacute },
155     {  -1, 0x00ca,  600, GN_Ecircumflex },
156     {  -1, 0x00cb,  600, GN_Edieresis },
157     {  -1, 0x00cc,  600, GN_Igrave },
158     {  -1, 0x00cd,  600, GN_Iacute },
159     {  -1, 0x00ce,  600, GN_Icircumflex },
160     {  -1, 0x00cf,  600, GN_Idieresis },
161     {  -1, 0x00d0,  600, GN_Eth },
162     {  -1, 0x00d1,  600, GN_Ntilde },
163     {  -1, 0x00d2,  600, GN_Ograve },
164     {  -1, 0x00d3,  600, GN_Oacute },
165     {  -1, 0x00d4,  600, GN_Ocircumflex },
166     {  -1, 0x00d5,  600, GN_Otilde },
167     {  -1, 0x00d6,  600, GN_Odieresis },
168     {  -1, 0x00d7,  600, GN_multiply },
169     { 233, 0x00d8,  600, GN_Oslash },
170     {  -1, 0x00d9,  600, GN_Ugrave },
171     {  -1, 0x00da,  600, GN_Uacute },
172     {  -1, 0x00db,  600, GN_Ucircumflex },
173     {  -1, 0x00dc,  600, GN_Udieresis },
174     {  -1, 0x00dd,  600, GN_Yacute },
175     {  -1, 0x00de,  600, GN_Thorn },
176     { 251, 0x00df,  600, GN_germandbls },
177     {  -1, 0x00e0,  600, GN_agrave },
178     {  -1, 0x00e1,  600, GN_aacute },
179     {  -1, 0x00e2,  600, GN_acircumflex },
180     {  -1, 0x00e3,  600, GN_atilde },
181     {  -1, 0x00e4,  600, GN_adieresis },
182     {  -1, 0x00e5,  600, GN_aring },
183     { 241, 0x00e6,  600, GN_ae },
184     {  -1, 0x00e7,  600, GN_ccedilla },
185     {  -1, 0x00e8,  600, GN_egrave },
186     {  -1, 0x00e9,  600, GN_eacute },
187     {  -1, 0x00ea,  600, GN_ecircumflex },
188     {  -1, 0x00eb,  600, GN_edieresis },
189     {  -1, 0x00ec,  600, GN_igrave },
190     {  -1, 0x00ed,  600, GN_iacute },
191     {  -1, 0x00ee,  600, GN_icircumflex },
192     {  -1, 0x00ef,  600, GN_idieresis },
193     {  -1, 0x00f0,  600, GN_eth },
194     {  -1, 0x00f1,  600, GN_ntilde },
195     {  -1, 0x00f2,  600, GN_ograve },
196     {  -1, 0x00f3,  600, GN_oacute },
197     {  -1, 0x00f4,  600, GN_ocircumflex },
198     {  -1, 0x00f5,  600, GN_otilde },
199     {  -1, 0x00f6,  600, GN_odieresis },
200     {  -1, 0x00f7,  600, GN_divide },
201     { 249, 0x00f8,  600, GN_oslash },
202     {  -1, 0x00f9,  600, GN_ugrave },
203     {  -1, 0x00fa,  600, GN_uacute },
204     {  -1, 0x00fb,  600, GN_ucircumflex },
205     {  -1, 0x00fc,  600, GN_udieresis },
206     {  -1, 0x00fd,  600, GN_yacute },
207     {  -1, 0x00fe,  600, GN_thorn },
208     {  -1, 0x00ff,  600, GN_ydieresis },
209     { 245, 0x0131,  600, GN_dotlessi },
210     {  -1, 0x0132,  600, GN_IJ },
211     {  -1, 0x0133,  600, GN_ij },
212     { 232, 0x0141,  600, GN_Lslash },
213     { 248, 0x0142,  600, GN_lslash },
214     { 234, 0x0152,  600, GN_OE },
215     { 250, 0x0153,  600, GN_oe },
216     {  -1, 0x015e,  600, GN_Scedilla },
217     {  -1, 0x0160,  600, GN_Scaron },
218     {  -1, 0x0161,  600, GN_scaron },
219     {  -1, 0x0178,  600, GN_Ydieresis },
220     {  -1, 0x017d,  600, GN_Zcaron },
221     {  -1, 0x017e,  600, GN_zcaron },
222     { 166, 0x0192,  600, GN_florin },
223     {  -1, 0x01e6,  600, GN_Gcaron },
224     {  -1, 0x01e7,  600, GN_gcaron },
225     { 195, 0x02c6,  600, GN_circumflex },
226     { 207, 0x02c7,  600, GN_caron },
227     { 197, 0x02c9,  600, GN_macron },
228     { 198, 0x02d8,  600, GN_breve },
229     { 199, 0x02d9,  600, GN_dotaccent },
230     { 202, 0x02da,  600, GN_ring },
231     { 206, 0x02db,  600, GN_ogonek },
232     { 196, 0x02dc,  600, GN_tilde },
233     { 205, 0x02dd,  600, GN_hungarumlaut },
234     {  -1, 0x03bc,  600, GN_mu },
235     { 177, 0x2013,  600, GN_endash },
236     { 208, 0x2014,  600, GN_emdash },
237     {  96, 0x2018,  600, GN_quoteleft },
238     {  39, 0x2019,  600, GN_quoteright },
239     { 184, 0x201a,  600, GN_quotesinglbase },
240     { 170, 0x201c,  600, GN_quotedblleft },
241     { 186, 0x201d,  600, GN_quotedblright },
242     { 185, 0x201e,  600, GN_quotedblbase },
243     { 178, 0x2020,  600, GN_dagger },
244     { 179, 0x2021,  600, GN_daggerdbl },
245     { 183, 0x2022,  600, GN_bullet },
246     { 188, 0x2026,  600, GN_ellipsis },
247     { 189, 0x2030,  600, GN_perthousand },
248     { 172, 0x2039,  600, GN_guilsinglleft },
249     { 173, 0x203a,  600, GN_guilsinglright },
250     {  -1, 0x20a4,  600, GN_lira },
251     {  -1, 0x211e,  600, GN_prescription },
252     {  -1, 0x2122,  600, GN_trademark },
253     {  -1, 0x2190,  600, GN_arrowleft },
254     {  -1, 0x2191,  600, GN_arrowup },
255     {  -1, 0x2192,  600, GN_arrowright },
256     {  -1, 0x2193,  600, GN_arrowdown },
257     {  -1, 0x2194,  600, GN_arrowboth },
258     {  -1, 0x2212,  600, GN_minus },
259     { 164, 0x2215,  600, GN_fraction },
260     {  -1, 0xf6bf,  600, GN_LL },
261     {  -1, 0xf6c0,  600, GN_ll },
262     {  -1, 0xf6c2,  600, GN_scedilla },
263     { 174, 0xfb01,  600, GN_fi },
264     { 175, 0xfb02,  600, GN_fl }
265 };
266
267
268 /*
269  *  Font metrics
270  */
271
272 const AFM PSDRV_Courier =
273 {
274     "Courier",                              /* FontName */
275     "Courier",                              /* FullName */
276     "Courier",                              /* FamilyName */
277     "AdobeStandardEncoding",                /* EncodingScheme */
278     FW_NORMAL,                              /* Weight */
279     0,                                      /* ItalicAngle */
280     TRUE,                                   /* IsFixedPitch */
281     -100,                                   /* UnderlinePosition */
282     50,                                     /* UnderlineThickness */
283     { -28, -250, 628, 805 },                /* FontBBox */
284     629,                                    /* Ascender */
285     -157,                                   /* Descender */
286     {
287         1000,                               /* WinMetrics.usUnitsPerEm */
288         833,                                /* WinMetrics.sAscender */
289         -300,                               /* WinMetrics.sDescender */
290         0,                                  /* WinMetrics.sLineGap */
291         600,                                /* WinMetrics.sAvgCharWidth */
292         613,                                /* WinMetrics.sTypoAscender */
293         -188,                               /* WinMetrics.sTypoDescender */
294         0,                                  /* WinMetrics.sTypoLineGap */
295         833,                                /* WinMetrics.usWinAscent */
296         300                                 /* WinMetrics.usWinDescent */
297     },
298     243,                                    /* NumofMetrics */
299     metrics                                 /* Metrics */
300 };