## Init

##### Web Browser, Text Mode and Command Line

If you click on [I] in the web browser or press [I] in the text mode interface or say `gms` `-i` respectively `gms` `/i` in the command line, then the TeX engine will initialize a so-called format file for Markup Shredder, which is given the base name `gerolf` and the extension `efmt` (Linux, Windows 32) or `efm` (Dos) in case of the `pdfetex` engine, and `fmt` for `pdftex`. In binary format, this file contains information taken from the following program texts or data structures, as reported in `ge­rolf.log`:

• `prologue.cfg`: Commands to be executed before initializing Markup Shredder.
• `plain.tex``plain.tex`: The well-tested plain TeX macros (44 kB) by Donald Ervin Knuth, as de­scribed in appendix B of The TeXbook (1984).
• `gerolf.tex` and other TeX files in `[GMS­_ROOT]/tex/ge­rolf`: The Mark­up Shredder TeX macros (about 300 kB) by G. D. Brettschneider.
• `typeset.cfg`: User-editable typesetting parameters, as described in The TeXbook, pages 272–275, 348–349 and 451.
• `alias.cfg`: User-defined font names, as described in the write font map chapter.
• `markup.tex`: Definition of supported HTML elementselements (or “tags”), attributesattributes and CSS propertiesproperties, as listed in `ge­rolf.log`, section 1d.
• `plugin.cfg`: List of installed data structures.
• `font.map`: List of fonts, as described in the write font map chapter; see `ge­rolf.log`, section 2a.
• `phv.krn` and other margin kerning files for character protruding of selected fonts in `[GMS­_ROOT]/da­ta/krn`; see `ge­rolf.log`, section 2b.
• `en-US.tex``en-US.tex` (originally named `hy­phen.tex`, by Donald Ervin Knuth) and other hyphen­ation pattern lists for various languages in `[GMS­_ROOT]/tex``/hy­phen`; see `ge­rolf.log`, section 2c.
These pattern files, downloaded from CTAN and re-encoded according to code pages supported by GMS, are human-readable. Maybe you can contribute a new one for your native language – or check the existing file? Here’s a hint for understanding them: “A hyphen is considered to be acceptable between two letters if the associated interletter value is odd. A large odd value forces desirable hyphen points, a large even value suppresses undesirable hyphens, for example: `.hy3phe2n5­at2io2n.`” (The TeXbook, page 450).
If you discover wrong hyphens in the GMS output PDF, you can define an exception list at the end of the pattern file for your language, like this one: `\hyphenation` `{man-u-script` `ap-pen-dix}`.
• `u0000.row` and other Unicode row definitions (see `ge­rolf.log`, section 2d), which are excerpts of 256 code points from the character space as specified in `Uni­code­Data.txt`. This database file is described in `UCD.html`.
If you want to use fonts with alphabets that are not supported initially by GMS, say Tibetan, then you have to extract the required `u0F00.row` file by yourself, comprising characters on Unicode points `U+0F00` to `U+0FFF`. GMS then will produce `u0F00.enc`, the required encoding file to support a font with Unicode glyph names like `/uni0700` etc. It is up to you to provide such a font.
• `HTML­lat1.ent``HTML­lat1.ent` and other definition files for named entities or character references in markup documents (like `&szlig;` for German ß), as defined in the HTML 4.01HTML 4.01 specification; see `ge­rolf.log`, section 2e.
• `gms.gly` and other glyph lists associating Unicode points with PostScript glyph names. A lot of Unicode characters were given multiple glyph names while encoding files must decide for a single; so `gms.gly` is a compromise on the Adobe and Windows glyph lists. If encoding files with other glyph names like `ara­bic­mt.enc` are needed, they must be created manually.
In `gerolf.log`, section 2f, you may read warnings like `!Un­de­fined uni­code row 3000`, indicating that the corresponding file `u3000.row``u3000.row` (Hiragana, Katakana) was moved to `[GMS­_ROOT]/data/row/_dis­able`, because GMS does not provide a matching font.
• `cp­1252.txt` (West Europe) and definition files for other code pages which are rec­og­nized by Markup Shredder (see `ge­rolf.log`, section 2g), if the `<head>` element of a markup file contains a tag like `<meta` `http-equiv` `=` `"content-type"` `content` `=` `"text/html;` `charset=windows-1252"` `/>`.
These files, representing a selection of Unicode characters numbered arbitrarily from 0 to 255, are used by GMS to extract PostScript glyph names from `gms.gly` when writing encoding files like `cp­1252.enc`.
• `epilogue.cfg`: Commands that shall be executed after initializing Markup Shredder, for example to generate encoding files.

You have to re-initialize the TeX format file for GMS whenever you made changes to the information mentioned above (for instance by adding hyphenation patterns for another language, or by adding new fonts and re-writing the `font.map`), or when you have downloaded a newer `pdfetex` binary for Windows or Linux, together with the corresponding message `pool` file, from Sebastian Rahtz’s TeXlive distribution.

There is a mailing list where problems concerning the `pdfetex` binary can be discussed. Please do not expect members of this list to be familiar with Markup Shredder.