1
/* A real style sheet for the Character Grid browser
3
** The dimensions are all in characters!
14
PRIVATE CONST HTTabStop tabs_8[] = {
15
{ 0, 8 }, {0, 16}, {0, 24}, {0, 32}, {0, 40},
16
{ 0, 48 }, {0, 56}, {0, 64}, {0, 72}, {0, 80},
17
{ 0, 88 }, {0, 96}, {0, 104}, {0, 112}, {0, 120},
18
{ 0, 128 }, {0, 136}, {0, 144}, {0, 152}, {0, 160},
20
{0, 0 } /* Terminate */
24
** link to next, name, name id (enum), tag,
25
** font, size, colour, superscript, anchor id,
26
** indents: 1st, left, right, alignment lineheight, descent, tabs,
27
** word wrap, free format, space: before, after, flags.
30
PRIVATE HTStyle HTStyleNormal = {
31
0, "Normal", ST_Normal, "P",
32
HT_FONT, 1, HT_BLACK, 0, 0,
33
3, 3, 6, HT_LEFT, 1, 0, tabs_8,
36
PRIVATE HTStyle HTStyleDivCenter = {
37
&HTStyleNormal, "DivCenter", ST_DivCenter, "DCENTER",
38
HT_FONT, 1, HT_BLACK, 0, 0,
39
3, 3, 6, HT_CENTER, 1, 0, tabs_8,
42
PRIVATE HTStyle HTStyleDivLeft = {
43
&HTStyleDivCenter, "DivLeft", ST_DivLeft, "DLEFT",
44
HT_FONT, 1, HT_BLACK, 0, 0,
45
3, 3, 6, HT_LEFT, 1, 0, tabs_8,
48
PRIVATE HTStyle HTStyleDivRight = {
49
&HTStyleDivLeft, "DivRight", ST_DivRight, "DRIGHT",
50
HT_FONT, 1, HT_BLACK, 0, 0,
51
3, 3, 6, HT_RIGHT, 1, 0, tabs_8,
54
PRIVATE HTStyle HTStyleBanner = {
55
&HTStyleDivRight, "Banner", ST_Banner, "BANNER",
56
HT_FONT, 1, HT_BLACK, 0, 0,
57
3, 3, 6, HT_LEFT, 1, 0, tabs_8,
60
PRIVATE HTStyle HTStyleBlockquote = {
61
&HTStyleBanner, "Blockquote", ST_Blockquote, "BLOCKQUOTE",
62
HT_FONT, 1, HT_BLACK, 0, 0,
63
5, 5, 7, HT_LEFT, 1, 0, tabs_8,
66
PRIVATE HTStyle HTStyleBq = { /* HTML 3.0 BLOCKQUOTE - FM */
67
&HTStyleBlockquote, "Bq", ST_Bq, "BQ",
68
HT_FONT, 1, HT_BLACK, 0, 0,
69
5, 5, 7, HT_LEFT, 1, 0, tabs_8,
72
PRIVATE HTStyle HTStyleFootnote = { /* HTML 3.0 FN - FM */
73
&HTStyleBq, "Footnote", ST_Footnote, "FN",
74
HT_FONT, 1, HT_BLACK, 0, 0,
75
5, 5, 7, HT_LEFT, 1, 0, tabs_8,
78
PRIVATE HTStyle HTStyleList = {
79
&HTStyleFootnote, "List", ST_List, "UL",
80
HT_FONT, 1, HT_BLACK, 0, 0,
81
3, 7, 6, HT_LEFT, 1, 0, 0,
84
PRIVATE HTStyle HTStyleList1 = {
85
&HTStyleList, "List1", ST_List1, "UL",
86
HT_FONT, 1, HT_BLACK, 0, 0,
87
8, 12, 6, HT_LEFT, 1, 0, 0,
90
PRIVATE HTStyle HTStyleList2 = {
91
&HTStyleList1, "List2", ST_List2, "UL",
92
HT_FONT, 1, HT_BLACK, 0, 0,
93
13, 17, 6, HT_LEFT, 1, 0, 0,
96
PRIVATE HTStyle HTStyleList3 = {
97
&HTStyleList2, "List3", ST_List3, "UL",
98
HT_FONT, 1, HT_BLACK, 0, 0,
99
18, 22, 6, HT_LEFT, 1, 0, 0,
102
PRIVATE HTStyle HTStyleList4 = {
103
&HTStyleList3, "List4", ST_List4, "UL",
104
HT_FONT, 1, HT_BLACK, 0, 0,
105
23, 27, 6, HT_LEFT, 1, 0, 0,
108
PRIVATE HTStyle HTStyleList5 = {
109
&HTStyleList4, "List5", ST_List5, "UL",
110
HT_FONT, 1, HT_BLACK, 0, 0,
111
28, 32, 6, HT_LEFT, 1, 0, 0,
114
PRIVATE HTStyle HTStyleList6 = {
115
&HTStyleList5, "List6", ST_List6, "UL",
116
HT_FONT, 1, HT_BLACK, 0, 0,
117
33, 37, 6, HT_LEFT, 1, 0, 0,
120
PRIVATE HTStyle HTStyleMenu = {
121
&HTStyleList6, "Menu", ST_Menu, "MENU",
122
HT_FONT, 1, HT_BLACK, 0, 0,
123
3, 7, 6, HT_LEFT, 1, 0, 0,
127
PRIVATE HTStyle HTStyleMenu1 = {
128
&HTStyleMenu, "Menu1", ST_Menu1, "MENU",
129
HT_FONT, 1, HT_BLACK, 0, 0,
130
8, 12, 6, HT_LEFT, 1, 0, 0,
134
PRIVATE HTStyle HTStyleMenu2= {
135
&HTStyleMenu1, "Menu2", ST_Menu2, "MENU",
136
HT_FONT, 1, HT_BLACK, 0, 0,
137
13, 17, 6, HT_LEFT, 1, 0, 0,
141
PRIVATE HTStyle HTStyleMenu3= {
142
&HTStyleMenu2, "Menu3", ST_Menu3, "MENU",
143
HT_FONT, 1, HT_BLACK, 0, 0,
144
18, 22, 6, HT_LEFT, 1, 0, 0,
148
PRIVATE HTStyle HTStyleMenu4= {
149
&HTStyleMenu3, "Menu4", ST_Menu4, "MENU",
150
HT_FONT, 1, HT_BLACK, 0, 0,
151
23, 27, 6, HT_LEFT, 1, 0, 0,
155
PRIVATE HTStyle HTStyleMenu5= {
156
&HTStyleMenu4, "Menu5", ST_Menu5, "MENU",
157
HT_FONT, 1, HT_BLACK, 0, 0,
158
28, 33, 6, HT_LEFT, 1, 0, 0,
162
PRIVATE HTStyle HTStyleMenu6= {
163
&HTStyleMenu5, "Menu6", ST_Menu6, "MENU",
164
HT_FONT, 1, HT_BLACK, 0, 0,
165
33, 38, 6, HT_LEFT, 1, 0, 0,
169
PRIVATE HTStyle HTStyleGlossary = {
170
&HTStyleMenu6, "Glossary", ST_Glossary, "DL",
171
HT_FONT, 1, HT_BLACK, 0, 0,
172
3, 10, 6, HT_LEFT, 1, 0, 0,
176
PRIVATE HTStyle HTStyleGlossary1 = {
177
&HTStyleGlossary, "Glossary1", ST_Glossary1, "DL",
178
HT_FONT, 1, HT_BLACK, 0, 0,
179
8, 16, 6, HT_LEFT, 1, 0, 0,
183
PRIVATE HTStyle HTStyleGlossary2 = {
184
&HTStyleGlossary1, "Glossary2", ST_Glossary2, "DL",
185
HT_FONT, 1, HT_BLACK, 0, 0,
186
14, 22, 6, HT_LEFT, 1, 0, 0,
190
PRIVATE HTStyle HTStyleGlossary3 = {
191
&HTStyleGlossary2, "Glossary3", ST_Glossary3, "DL",
192
HT_FONT, 1, HT_BLACK, 0, 0,
193
20, 28, 6, HT_LEFT, 1, 0, 0,
197
PRIVATE HTStyle HTStyleGlossary4 = {
198
&HTStyleGlossary3, "Glossary4", ST_Glossary4, "DL",
199
HT_FONT, 1, HT_BLACK, 0, 0,
200
26, 34, 6, HT_LEFT, 1, 0, 0,
204
PRIVATE HTStyle HTStyleGlossary5 = {
205
&HTStyleGlossary4, "Glossary5", ST_Glossary5, "DL",
206
HT_FONT, 1, HT_BLACK, 0, 0,
207
32, 40, 6, HT_LEFT, 1, 0, 0,
211
PRIVATE HTStyle HTStyleGlossary6 = {
212
&HTStyleGlossary5, "Glossary6", ST_Glossary6, "DL",
213
HT_FONT, 1, HT_BLACK, 0, 0,
214
38, 46, 6, HT_LEFT, 1, 0, 0,
218
PRIVATE HTStyle HTStyleGlossaryCompact = {
219
&HTStyleGlossary6, "GlossaryCompact", ST_GlossaryCompact, "DLC",
220
HT_FONT, 1, HT_BLACK, 0, 0,
221
3, 10, 6, HT_LEFT, 1, 0, 0,
225
PRIVATE HTStyle HTStyleGlossaryCompact1 = {
226
&HTStyleGlossaryCompact, "GlossaryCompact1", ST_GlossaryCompact1, "DLC",
227
HT_FONT, 1, HT_BLACK, 0, 0,
228
8, 15, 6, HT_LEFT, 1, 0, 0,
232
PRIVATE HTStyle HTStyleGlossaryCompact2 = {
233
&HTStyleGlossaryCompact1, "GlossaryCompact2", ST_GlossaryCompact2, "DLC",
234
HT_FONT, 1, HT_BLACK, 0, 0,
235
13, 20, 6, HT_LEFT, 1, 0, 0,
239
PRIVATE HTStyle HTStyleGlossaryCompact3 = {
240
&HTStyleGlossaryCompact2, "GlossaryCompact3", ST_GlossaryCompact3, "DLC",
241
HT_FONT, 1, HT_BLACK, 0, 0,
242
18, 25, 6, HT_LEFT, 1, 0, 0,
246
PRIVATE HTStyle HTStyleGlossaryCompact4 = {
247
&HTStyleGlossaryCompact3, "GlossaryCompact4", ST_GlossaryCompact4, "DLC",
248
HT_FONT, 1, HT_BLACK, 0, 0,
249
23, 30, 6, HT_LEFT, 1, 0, 0,
253
PRIVATE HTStyle HTStyleGlossaryCompact5 = {
254
&HTStyleGlossaryCompact4, "GlossaryCompact5", ST_GlossaryCompact5, "DLC",
255
HT_FONT, 1, HT_BLACK, 0, 0,
256
28, 35, 6, HT_LEFT, 1, 0, 0,
260
PRIVATE HTStyle HTStyleGlossaryCompact6 = {
261
&HTStyleGlossaryCompact5, "GlossaryCompact6", ST_GlossaryCompact6, "DLC",
262
HT_FONT, 1, HT_BLACK, 0, 0,
263
33, 40, 6, HT_LEFT, 1, 0, 0,
267
PRIVATE HTStyle HTStyleExample = {
268
&HTStyleGlossaryCompact6, "Example", ST_Example, "XMP",
269
HT_FONT, 1, HT_BLACK, 0, 0,
270
0, 0, 0, HT_LEFT, 1, 0, tabs_8,
274
PRIVATE HTStyle HTStylePreformatted = {
275
&HTStyleExample, "Preformatted", ST_Preformatted, "PRE",
276
HT_FONT, 1, HT_BLACK, 0, 0,
277
0, 0, 0, HT_LEFT, 1, 0, tabs_8,
281
PRIVATE HTStyle HTStyleListing = {
282
&HTStylePreformatted, "Listing", ST_Listing, "LISTING",
283
HT_FONT, 1, HT_BLACK, 0, 0,
284
0, 0, 0, HT_LEFT, 1, 0, tabs_8,
287
PRIVATE HTStyle HTStyleAddress = {
288
&HTStyleListing, "Address", ST_Address, "ADDRESS",
289
HT_FONT, 1, HT_BLACK, 0, 0,
290
4, 4, 7, HT_LEFT, 1, 0, tabs_8,
293
PRIVATE HTStyle HTStyleNote = { /* HTML 3.0 NOTE - FM */
294
&HTStyleAddress, "Note", ST_Note, "NOTE",
295
HT_FONT, 1, HT_BLACK, 0, 0,
296
5, 5, 7, HT_LEFT, 1, 0, tabs_8,
299
PRIVATE HTStyle HTStyleHeading1 = {
300
&HTStyleNote, "Heading1", ST_Heading1, "H1",
301
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
302
0, 0, 0, HT_CENTER, 1, 0, 0,
305
PRIVATE HTStyle HTStyleHeading2 = {
306
&HTStyleHeading1, "Heading2", ST_Heading2, "H2",
307
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
308
0, 0, 0, HT_LEFT, 1, 0, 0,
311
PRIVATE HTStyle HTStyleHeading3 = {
312
&HTStyleHeading2, "Heading3", ST_Heading3, "H3",
313
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
314
2, 2, 0, HT_LEFT, 1, 0, 0,
317
PRIVATE HTStyle HTStyleHeading4 = {
318
&HTStyleHeading3, "Heading4", ST_Heading4, "H4",
319
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
320
4, 4, 0, HT_LEFT, 1, 0, 0,
323
PRIVATE HTStyle HTStyleHeading5 = {
324
&HTStyleHeading4, "Heading5", ST_Heading5, "H5",
325
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
326
6, 6, 0, HT_LEFT, 1, 0, 0,
329
PRIVATE HTStyle HTStyleHeading6 = {
330
&HTStyleHeading5, "Heading6", ST_Heading6, "H6",
331
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
332
8, 8, 0, HT_LEFT, 1, 0, 0,
335
PRIVATE HTStyle HTStyleHeadingCenter = {
336
&HTStyleHeading6, "HeadingCenter", ST_HeadingCenter, "HCENTER",
337
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
338
0, 0, 3, HT_CENTER, 1, 0, tabs_8,
341
PRIVATE HTStyle HTStyleHeadingLeft = {
342
&HTStyleHeadingCenter, "HeadingLeft", ST_HeadingLeft, "HLEFT",
343
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
344
0, 0, 3, HT_LEFT, 1, 0, tabs_8,
347
PRIVATE HTStyle HTStyleHeadingRight = {
348
&HTStyleHeadingLeft, "HeadingRight", ST_HeadingRight, "HRIGHT",
349
HT_FONT+HT_BOLD, 1, HT_BLACK, 0, 0,
350
0, 0, 3, HT_RIGHT, 1, 0, tabs_8,
353
/* Style sheet points to the last in the list:
355
PRIVATE HTStyleSheet sheet = { "default.style",
356
&HTStyleHeadingRight }; /* sheet */
358
PRIVATE HTStyle * st_array[ST_HeadingRight + 1] = { NULL };
360
PRIVATE HTStyleSheet *result = NULL;
363
PRIVATE void FreeDefaultStyle NOARGS
366
while((style=result->styles)!=0) {
367
result->styles = style->next;
372
#endif /* LY_FIND_LEAKS */
374
PUBLIC HTStyleSheet * DefaultStyle ARGS1 (HTStyle ***, result_array)
379
* The first time we're called, allocate a copy of the 'sheet' linked
380
* list. Thereafter, simply copy the data from 'sheet' into our copy
381
* (preserving the copy's linked-list pointers). We do this to reset the
382
* parameters of a style that might be altered while processing a page.
384
if (result == 0) { /* allocate & copy */
385
result = HTStyleSheetNew ();
389
atexit(FreeDefaultStyle);
391
for (p = sheet.styles; p != 0; p = p->next) {
395
q->next = result->styles;
398
} else { /* recopy the data */
399
for (q = result->styles, p = sheet.styles;
401
p = p->next, q = q->next) {
402
HTStyle *r = q->next;
408
*result_array = st_array;