laser-lovers@uw-beaver (05/01/85)
From: allegra!sjuvax!bbanerje@seismo.ARPA (B. Banerjee) Hi, I need some advice on Typesetting terminology and hardware. I was hoping that some readers of this mailing list would be able to help me. I would welcome all/any help. Please reply by mail as the medium through which I receive this list (fa.laser-lovers) is pretty sporadic. Should demand warrant it, I will summarise to the list. Background Our site is a University running 4.2 BSD on a VAX. The limited experience with Text Processing that we have is through the use of 'nroff' with typewriter style devices. Very recently we acquired a DEC LN03, their new table- top Laser Printer. Almost concurrently, we received the latest release of TeX for Unix from the University of Wash- ington. The problem is to make the two talk to each other. I have some confusion in regard to several aspects which I'll try and present logically. TeX I don't have a great deal of questions regarding this as yet. The problem is that I would like to look at the code for certain things (dvitype and the like) which are presently 'web' files. Unfortunately, till I get the LN03 driver working, I can't typeset the *.tex files generated by 'weave'. The Pascal code generated by tangle is unreadable, even when processed by a prettyprinter. So, the question is... Is there any way of getting formatted output of TeX files on a typewriter style device (analogous to nroff and troff) ? Terminology & Confusion As I understand it, a font is a set of printable char- acters in a certain size and style. There is also an impli- cit mapping between an ascending numeric sequence, and each of the glyphs in the font. Now, the LN03 supposedly has 32 fonts in ROM when powered up. Yet the status sheet printed out shows that some of them look just like others. Is this the way it should be? The other problem is that (from Appendix C. of the TeXbook), TeX seems to make use of all 128 7 bit ASCII codes. The LN03 only allows 96 of the ASCII codes to be printable. Is there any way to map the charac- ters in a font among 2 or more hardware character sets? I'm sure that other printers have equally bizarre font assign- ments that must be adhered to. In general, is it possible to use TeX with a printer that only has fonts in ROM? I would imagine that it would be possible to map the Typewriter font of TeX into the fixed width hardware characters present on practically all printers. The LN03 Here is where most of my questions come in. The manual that came with the LN03 is a preliminary document, and is about as clear as mud. The flier that our DEC sales rep. gave us when we were considering the purchase of a Laser Printer said (I quote).. "Font file format will be made public so that users can design their own fonts. This format is currently planned for use by future Digital Laser Printers. (THEREFORE, LN01 FONTS CANNOT BE USED ON THE LN03)" Sounds promising? From the same document... "PSG will also offer 128 KB RAM cartridges which can be plugged into these receptacles to expand the LN03's resident memory for accepting fonts or forms which are downline loaded from a host. With appropriate software, the LN03 can manage and print up to 24 fonts on a page." Therefore, I eagerly opened the manual to find the following information. "The printer is shipped with 32 fonts in ROM: 24 por- trait and 8 landscape.... In addition to the ROM resident fonts, up to 31 other mono-spaced and propor- tional fonts (based on memory limits) can be downline loaded from the host computer and stored in RAM... The printer supports 14 character sets that are either resident or dowline loaded from the host... Now, I am thoroughly confused. What is the difference between a font and a character set (as in the context given above), and why are the numbers different. These two fig- ures are given within a few lines of each other, so I can't attribute it to an oversight. Meanwhile, back at the ranch (later on in the document...) "A font file is a font for a single specified graphic character set, and so contains 94, 96, 94*94=8836, or 96*96=9216 character images called 'glyphs'. Huh? I can see the rationale for 94 or 96.... But what if I just want 128 glyphs in my font (for TeX). Must I define null positions for the remaining 8836-128? How do I encode each of these? Also, the following... The font record is in DEC font file format, and con- sists of binary data which has been converted to sixel format as described in Appendix D. Fine, now that is the crux of the problem. Nowhere does it state *WHAT* DEC font file format is. They give a description of how to go from binary data to sixels. I presume that the binary data consists of a bitmap raster of the character encoded in some way. If so, *HOW*? Other confusing information imparted states that "..In the LN03, RAM is used for page composition buffer and for font storage". Well, evidently they don't store an entire bitmap image of the page, but how much do they use for the page composition buffer, and how much pure font storage is available? Conclusion Thanks for bearing through with this till the end. I would appreciate some advice on how to write a driver for this creature. Commercial fonts aren't a viable alternative since we have enough money for a grilled cheese sandwich (and perhaps a coke) remaining in our budget. Essentially I think that I could modify the LN01 driver included with the TeX distribution if I knew how to go about encoding the fonts, and finding out how much pure font memory was avail- able. On the other hand, if someone has already done this... I'm not proud. Basically, I want to use the printer as something other than a quiet dumb line printer. In order to forestall a possible suggestion... page composition on our main machine, and downloading to the Printer via sixel graphics is not a viable alternative. Our system slows to a crawl when assignments are due, and down- loading a page in sixels would take forever. Also, sixel graphics only give us 150 dpi.nly give us 150 dpi. I want to take advantage of the full 300 dpi resolution. Regards, Binayak Banerjee {allegra | astrovax | bpa | burdvax}!sjuvax!bbanerje [[Editor's note: If any of you have already written an LN03 TeX driver for Berkeley Unix, let me know too. I'd like to put it onto the Unix TeX distribution tape. We haven't seen much discussion on the LN03 here---this note raises some matters that could be discussed further. On the other hand, it also raises some questions that have been answered before. Consequently, I'll take a first crack at answering some of the questions: Whether or not you can drive a typewriter-like device with TeX has been a matter of much discussion. At the present, I'd say the answer is "no." To handle the immediate problem, however, I believe that you can purchase TeXware listings for $8 from Maria Code/DP Services/1371 Sydney Dr./Sunnyvale, CA 94087/(408) 735-8006 (9:30 am to 2:30 pm, West Coast time). The TeX listing, itself, has been published by Addison-Wesley and should be obtainable from a bookstore. The second question was whether you can use ROM-supplied fonts with TeX. If you can build TeX TFM files describing your ROM fonts, you should be able be able to use them if your DVI device driver understands what you're trying to do. Thirdly, the question was how to map TeX's 128 position fonts into the RAM fonts provided by the LN03. One way might be to one of the 8836 glyph fonts to hold *all* of the TeX fonts (or at least 69 of them) and map the TeX fonts into character positions within the RAM font in the DVI device driver. --Rick ]]