Blame src/DefaultStyle.c

Packit f574b8
/*
Packit f574b8
 * $LynxId: DefaultStyle.c,v 1.20 2009/11/27 13:04:27 tom Exp $
Packit f574b8
 *
Packit f574b8
 *	A real style sheet for the Character Grid browser
Packit f574b8
 *
Packit f574b8
 *	The dimensions are all in characters!
Packit f574b8
 */
Packit f574b8
Packit f574b8
#include <HTUtils.h>
Packit f574b8
#include <HTFont.h>
Packit f574b8
#include <HTStyle.h>
Packit f574b8
Packit f574b8
#include <LYGlobalDefs.h>
Packit f574b8
#include <LYLeaks.h>
Packit f574b8
Packit f574b8
/*	Tab arrays:
Packit f574b8
*/
Packit f574b8
static const HTTabStop tabs_8[] =
Packit f574b8
{
Packit f574b8
    {0, 8},
Packit f574b8
    {0, 16},
Packit f574b8
    {0, 24},
Packit f574b8
    {0, 32},
Packit f574b8
    {0, 40},
Packit f574b8
    {0, 48},
Packit f574b8
    {0, 56},
Packit f574b8
    {0, 64},
Packit f574b8
    {0, 72},
Packit f574b8
    {0, 80},
Packit f574b8
    {0, 88},
Packit f574b8
    {0, 96},
Packit f574b8
    {0, 104},
Packit f574b8
    {0, 112},
Packit f574b8
    {0, 120},
Packit f574b8
    {0, 128},
Packit f574b8
    {0, 136},
Packit f574b8
    {0, 144},
Packit f574b8
    {0, 152},
Packit f574b8
    {0, 160},
Packit f574b8
    {0, 168},
Packit f574b8
    {0, 176},
Packit f574b8
    {0, 0}			/* Terminate */
Packit f574b8
};
Packit f574b8
Packit f574b8
/* Template:
Packit f574b8
 *	link to next, name, name id (enum), tag,
Packit f574b8
 *	font, size, colour, superscript, anchor id,
Packit f574b8
 *	indents: 1st, left, right, alignment	lineheight, descent,	tabs,
Packit f574b8
 *	word wrap, free format, space: before, after, flags.
Packit f574b8
 */
Packit f574b8
Packit f574b8
static HTStyle HTStyleNormal =
Packit f574b8
HTStyleInit(
Packit f574b8
	       0, Normal, "P",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 3, 6, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleDivCenter =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleNormal, DivCenter, "DCENTER",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 3, 6, HT_CENTER, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleDivLeft =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleDivCenter, DivLeft, "DLEFT",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 3, 6, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleDivRight =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleDivLeft, DivRight, "DRIGHT",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 3, 6, HT_RIGHT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleBanner =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleDivRight, Banner, "BANNER",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 3, 6, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleBlockquote =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleBanner, Blockquote, "BLOCKQUOTE",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       5, 5, 7, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleBq =
Packit f574b8
HTStyleInit(			/* HTML 3.0 BLOCKQUOTE - FM */
Packit f574b8
	       &HTStyleBlockquote, Bq, "BQ",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       5, 5, 7, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleFootnote =
Packit f574b8
HTStyleInit(			/* HTML 3.0 FN - FM */
Packit f574b8
	       &HTStyleBq, Footnote, "FN",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       5, 5, 7, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleFootnote, List, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 7, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList1 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList, List1, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       8, 12, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList2 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList1, List2, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       13, 17, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList3 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList2, List3, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       18, 22, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList4 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList3, List4, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       23, 27, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList5 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList4, List5, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       28, 32, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleList6 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList5, List6, "UL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       33, 37, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleList6, Menu, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 7, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu1 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu, Menu1, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       8, 12, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu2 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu1, Menu2, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       13, 17, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu3 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu2, Menu3, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       18, 22, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu4 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu3, Menu4, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       23, 27, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu5 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu4, Menu5, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       28, 33, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleMenu6 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu5, Menu6, "MENU",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       33, 38, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleMenu6, Glossary, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 10, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary1 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary, Glossary1, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       8, 16, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary2 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary1, Glossary2, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       14, 22, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary3 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary2, Glossary3, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       20, 28, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary4 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary3, Glossary4, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       26, 34, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary5 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary4, Glossary5, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       32, 40, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossary6 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary5, Glossary6, "DL",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       38, 46, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossary6, GlossaryCompact, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       3, 10, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact1 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact,
Packit f574b8
	       GlossaryCompact1, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       8, 15, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact2 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact1,
Packit f574b8
	       GlossaryCompact2, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       13, 20, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact3 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact2,
Packit f574b8
	       GlossaryCompact3, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       18, 25, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact4 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact3,
Packit f574b8
	       GlossaryCompact4, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       23, 30, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact5 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact4,
Packit f574b8
	       GlossaryCompact5, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       28, 35, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleGlossaryCompact6 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact5,
Packit f574b8
	       GlossaryCompact6, "DLC",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       33, 40, 6, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleExample =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleGlossaryCompact6,
Packit f574b8
	       Example, "XMP",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 0, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       NO, NO, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStylePreformatted =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleExample,
Packit f574b8
	       Preformatted, "PRE",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 0, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       NO, NO, 0, 0, 0
Packit f574b8
);
Packit f574b8
Packit f574b8
static HTStyle HTStyleListing =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStylePreformatted, Listing, "LISTING",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 0, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       NO, NO, 0, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleAddress =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleListing, Address, "ADDRESS",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       4, 4, 7, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 2, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleNote =
Packit f574b8
HTStyleInit(			/* HTML 3.0 NOTE - FM */
Packit f574b8
	       &HTStyleAddress, Note, "NOTE",
Packit f574b8
	       HT_FONT, 1, HT_BLACK, 0, 0,
Packit f574b8
	       5, 5, 7, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeading1 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleNote, Heading1, "H1",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 0, HT_CENTER, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeading2 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeading1, Heading2, "H2",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 0, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 1, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeading3 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeading2, Heading3, "H3",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       2, 2, 0, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeading4 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeading3, Heading4, "H4",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       4, 4, 0, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeading5 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeading4, Heading5, "H5",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       6, 6, 0, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeading6 =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeading5, Heading6, "H6",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       8, 8, 0, HT_LEFT, 1, 0, 0,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeadingCenter =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeading6, HeadingCenter, "HCENTER",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 3, HT_CENTER, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeadingLeft =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeadingCenter, HeadingLeft, "HLEFT",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 3, HT_LEFT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
static HTStyle HTStyleHeadingRight =
Packit f574b8
HTStyleInit(
Packit f574b8
	       &HTStyleHeadingLeft, HeadingRight, "HRIGHT",
Packit f574b8
	       HT_FONT + HT_BOLD, 1, HT_BLACK, 0, 0,
Packit f574b8
	       0, 0, 3, HT_RIGHT, 1, 0, tabs_8,
Packit f574b8
	       YES, YES, 1, 0, 0);
Packit f574b8
Packit f574b8
/* Style sheet points to the last in the list:
Packit f574b8
*/
Packit f574b8
static HTStyleSheet sheet =
Packit f574b8
{"default.style",
Packit f574b8
 &HTStyleHeadingRight};		/* sheet */
Packit f574b8
Packit f574b8
static HTStyle *st_array[ST_HeadingRight + 1] =
Packit f574b8
{NULL};
Packit f574b8
Packit f574b8
static HTStyleSheet *result = NULL;
Packit f574b8
Packit f574b8
#ifdef LY_FIND_LEAKS
Packit f574b8
static void FreeDefaultStyle(void)
Packit f574b8
{
Packit f574b8
    HTStyle *style;
Packit f574b8
Packit f574b8
    while ((style = result->styles) != 0) {
Packit f574b8
	result->styles = style->next;
Packit f574b8
	FREE(style);
Packit f574b8
    }
Packit f574b8
    FREE(result);
Packit f574b8
}
Packit f574b8
#endif /* LY_FIND_LEAKS */
Packit f574b8
Packit f574b8
HTStyleSheet *DefaultStyle(HTStyle ***result_array)
Packit f574b8
{
Packit f574b8
    HTStyle *p, *q;
Packit f574b8
Packit f574b8
    /*
Packit f574b8
     * The first time we're called, allocate a copy of the 'sheet' linked
Packit f574b8
     * list.  Thereafter, simply copy the data from 'sheet' into our copy
Packit f574b8
     * (preserving the copy's linked-list pointers).  We do this to reset the
Packit f574b8
     * parameters of a style that might be altered while processing a page.
Packit f574b8
     */
Packit f574b8
    if (result == 0) {		/* allocate & copy */
Packit f574b8
	result = HTStyleSheetNew();
Packit f574b8
	*result = sheet;
Packit f574b8
	result->styles = 0;
Packit f574b8
#ifdef LY_FIND_LEAKS
Packit f574b8
	atexit(FreeDefaultStyle);
Packit f574b8
#endif
Packit f574b8
	for (p = sheet.styles; p != 0; p = p->next) {
Packit f574b8
	    q = HTStyleNew();
Packit f574b8
	    *q = *p;
Packit f574b8
	    if (no_margins) {
Packit f574b8
		q->indent1st = 0;
Packit f574b8
		q->leftIndent = 0;
Packit f574b8
		q->rightIndent = 0;
Packit f574b8
	    }
Packit f574b8
	    st_array[q->id] = q;
Packit f574b8
	    q->next = result->styles;
Packit f574b8
	    result->styles = q;
Packit f574b8
	}
Packit f574b8
    } else {			/* recopy the data */
Packit f574b8
	for (q = result->styles, p = sheet.styles;
Packit f574b8
	     p != 0 && q != 0;
Packit f574b8
	     p = p->next, q = q->next) {
Packit f574b8
	    HTStyle *r = q->next;
Packit f574b8
Packit f574b8
	    *q = *p;
Packit f574b8
	    if (no_margins) {
Packit f574b8
		q->indent1st = 0;
Packit f574b8
		q->leftIndent = 0;
Packit f574b8
		q->rightIndent = 0;
Packit f574b8
	    }
Packit f574b8
	    st_array[q->id] = q;
Packit f574b8
	    q->next = r;
Packit f574b8
	}
Packit f574b8
    }
Packit f574b8
    *result_array = st_array;
Packit f574b8
    return result;
Packit f574b8
}