| ZeX - Z-code Interpreter with Proportional and Styled Text | |
| Version 1.1 | |
| This is an experimental, enhanced Macintosh version of Zip. It | |
| displays text in a proportional font in a resizable window, with text | |
| reflowing when the window size is changed. The status area is | |
| displayed in a fixed-width font in a separate window. | |
| ZeX also supports a simple typesetting language reminiscent of TeX, | |
| allowing specially-written games to control the font, size, style and | |
| layout of the text. More details of this facility can be found below. | |
| Version 1.1 includes no major new features, however some of the rough | |
| edges have been smoothed off. ZeX will now recognise game files of | |
| type 'IFz3', 'IFz4', 'IFz5', 'IFz6' and '????'. There is an Apple | |
| menu, and a File menu with Save, Restore and Restart commands. Windows | |
| are positioned at startup according to the size of your screen. Icons | |
| have been provided for the application and the files it deals with. | |
| Things to note: | |
| * If there is a lot of text in the buffer, reformatting may take a few | |
| seconds after you resize the text window, so don't be alarmed if there | |
| is a noticeable pause - ZeX hasn't crashed (well, it might have, but | |
| not necessarily - give it a decent chance before you hit the reboot | |
| button :-) | |
| Typesetting Commands | |
| -------------------- | |
| ZeX has been designed as a testbed for experimenting with aesthetic | |
| typography in interactive fiction. The present version recognises a | |
| simple language of typesetting commands embedded in the output stream. | |
| Currently there is one very small example of the use of these | |
| commands, GoldSkulX.inf, distributed with ZeX. I hope to provide more | |
| extensive examples in the near future. | |
| To enable ZeX's typesetting features, you need to set bit 7 of byte 1 | |
| in the game header. In Inform you can do this with a command in | |
| the Initialise routine such as: | |
| 0->1 = 0->1 + 127; | |
| Then you can include typesetting commands anywhere in the text that | |
| you write out, for example, | |
| print_ret "The creature has {&em huge} teeth!"; | |
| would write the word "huge" in emphasised (italic) type. | |
| The commands are vaguely reminiscent of TeX (hence the name ZeX) | |
| except that they begin with & instead of \. [Note 1] | |
| The complete list of commands is as follows: | |
| &<fontname> Change to given font | |
| &<fontname>(<size>) Change font and size | |
| &size(<n>) Change text size | |
| &plain Plain text | |
| &bold Bold face text | |
| &italic Italic text | |
| &em Emphasis (toggle plain/italic) | |
| &tt Typewriter text (fixed-width) | |
| &tab(<n>) Tab to n points from left margin | |
| &lmargin(<n>) Set left margin to n points | |
| &rmargin(<n>) Set right margin to n points | |
| &left Left justify text | |
| ¢re Centre text | |
| &right Right justify text | |
| &flush Left & right justify text | |
| &parindent(<n>) Set paragraph indentation to n x-widths | |
| &noindent Suppress indentation of this paragraph | |
| &skip Leave a blank line | |
| &skip(n) Leave n blank lines | |
| Paragraphs are separated by newlines. Curly braces may be used to | |
| limit the scope of a group of commands. | |
| The &skip command leaves a blank line the height of the current | |
| font (or at least it should - it misbehaved in the previous | |
| version - let me know if it still doesn't work right). | |
| Future plans | |
| ------------ | |
| I intend to enhance the typesetting language as time goes on in the | |
| light of experience and comments from users. I have two main ideas so | |
| far for future versions. | |
| I would like to be able to embed pictures in the text. Technically | |
| this is fairly straightforward, but raises issues as to a portable | |
| format for distributing the pictures. Suggestions as to whether GIF | |
| or some other format would be the most appropriate are welcome. | |
| I would also like to experiment with making parts of the text and | |
| pictures mouse-sensitive, so that hypertext links and other such | |
| user-interface innovations can be explored. | |
| I would also be interested in comment concerning the two-window design | |
| - do you like it, or do you think a single window split into two panes | |
| would be preferable? A single-window design would probably necessitate | |
| some restrictions on user-resizability because of the difficulty of | |
| resizing the status window in mid-game. However, the two-window design | |
| has problems of its own, in the area of what happens when the height | |
| of the status area is changed by the game - the present behaviour is | |
| workable, but I'm not sure I really like it. What do you think? | |
| At some point I will attempt an X Windows version, unless someone else | |
| volunteers to do so in the meantime. An MS Windows version would also | |
| be useful, but I don't have the resources to do it myself, so I'll | |
| have to rely on some keen Windows programmer getting enthusiastic :-) | |
| Where to send comments | |
| ---------------------- | |
| Greg Ewing | |
| greg@cosc.canterbury.ac.nz | |
| and/or post to rec.arts.int-fiction | |
| Footnotes | |
| --------- | |
| [1] The reason for this is as follows: Originally the text formatting | |
| commands were always enabled, and I chose & as a character least | |
| likely to turn up in an ordinary game that didn't know about ZeX. Of | |
| course, the first ordinary game I tried to run under ZeX used an &, so | |
| I devised the enabling-bit scheme. That made the choice of & over \ | |
| redundant, but I haven't got around to changing it yet. Maybe in | |
| the next version. Or maybe not - at least it reminds you that | |
| you're not actually using TeX so that you don't expect too much! | |
Xet Storage Details
- Size:
- 5.36 kB
- Xet hash:
- 7ac1f12d90cc71059f1085d11148ff0c6a920de12bccdc8e4c77f98f374c1488
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.