FONTS AND INTERPRESS HARDCOPY Michael G Bird Draft of 16th August 1984 CONTENTS 1 INTRODUCTION 2 FONTS 2.1 Terminology 2.2 NS standard 2.3 Font Files 2.4 Font file location in Interlisp-D 2.4.1 CAROL release 2.4.2 HARMONY release 3 FONTCLASSes and FONTSETs 4 Current Status 5 TEDIT 5.1 Short Term 5.2 Medium Term 5.3 Long Term 6 LISTFILES 6.1 Short Term 6.2 Medium Term 6.3 Long Term 7 OTHER RECOMMENDATIONS A ORDERING PROCEDURE FOR FONT FILES B INSTALLATION PROCEDURES FOR FONT FILES C CAROL's fonts C.1 \FONTSINCORE C.1.1 DISPLAY fonts C.1.2 PRESS fonts C.1.3 INTERPRESS fonts C.2 .STRIKE files C.3 FONTS.WIDTHS D REFERENCES E SUMMARY OF RECOMMENDATIONS E.1 Short Term E.2 Medium Term E.3 Long Term 1 INTRODUCTION A majority of Interlisp-D users employ INTERPRESS printers for their hardcopy. In many cases these printers have been configured for office systems and are loaded with fonts which do not match default Interlisp-D fonts. Where a font is known to the printer but not to Interlisp-D the user is unable to generate hardcopy in that font from his workstation. Conversely, where a font is known only to Interlisp-D, an attempt to print can result in the substitution of character representations from a different font or `white space'. Even when the printer performs a substitution, the results are disappointing as the substituted representations generally have different dimensions from those which the page formatter program expected, resulting in gaps or overlapping characters. Recommended remedial actions are categorised by time-frame :- Short: Does not require copying/distribution of files et.c. Medium: Up to and including HARMONY release. Long: After HARMONY. 2 FONTS This section summarises some important aspects of font lore. It can be skipped by those already familiar with this topic. More detailed information on fonts in general can be found in [Sproull, 80] and [Ramshaw & LaPrade, 80]. A font is a collection of character descriptions, indexed by character code. These descriptions represent, in one fashion or another, the appearance of a character. The ultimate purpose of maintaining a font is for use when generating a raster-scanned image of a document. This image may be created on a display and used for interactive purposes, or it may be generated by a printing service as part of a ``hard copy" function. In both cases, for purposes of space and device independence, the document itself does not normally contain the character representations, but only codes used to identify the characters that comprise the document. [Sproull, 80]. 2.1 Terminology A font is characterised by several properties: FAMILY: Times Roman, Classic, Old English. POINT SIZE: 8-point, 10-point, 12-point. ROTATION: 0 for portrait, 90 for landscape et.c. FACE: Consisting of: WEIGHT: (Light), Medium, Bold. SLOPE: Regular, Italic. EXPANSION: (Compressed), Regular, (Expanded). This document does not address LIGHT, COMPRESSED and EXPANDED fonts, nor fonts with non-zero ROTATIONs. The standard definition of a font consists of a series of mathematical formulae (cubic splines) for the curves which comprise the representation of each character. These are completely general in that they are independent of any particular output device and can be scaled for different font sizes. Unfortunately, they are too slow for normal use in a display or printer. Therefore, the pattern of black and white dots which will represent each character of a font on a particular device-type is calculated and stored as a bitmap. The five most common output device-types supported by Interlisp-D are: DISPLAY: 1100, 1108 and 1132 video displays. FULLPRESS: RAVEN printers. FX.80: Local printers. INTERPRESS: 8044 printers. PRESS: DOVER, PENGUIN and SPRUCE printers. This document is principally concerned with the DISPLAY and INTERPRESS device-types. The bitmap, and certain control and summary information, is required by the output device. However, where a document is formatted for remote output, the formatter does not require the bitmaps. The information which the formatter does require is conventionally known as `font widths', after its principal constituent. 2.2 NS Standard Xerox font related software is moving towards supporting the NS Character Encoding Standard. NS fonts consist of up to 255 character sets. Currently all character set numbers in NS files (.AC and .WD - see below) are zero. A typical full NS font might have 5 character sets. Certain Oriental fonts may have many more. 2.3 Font Files Font information on disk is held in files named according to conventions understood by all font software. The file EXTENSION identifies the type of information and the format in which it is stored, the file NAME often identifies the particular font. Thus one may refer to `.WD' files meaning those files which contain the information conventionally held in files whose EXTENSION is `WD', i.e. `font widths'. The file EXTENSIONs and NAME formats used in this document are :- .AC "{-B}{-I}-C.AC", where: is the font family. is the point size of the font. -B is present only for bold fonts. -I is present only for italic fonts. is the character set number. .STRIKE "{B}{I}.STRIKE", where: is the font family. is the point size of the font. B is present only for bold fonts. I is present only for italic fonts. .WD "{-B}{-I}-C.WD", where: is the font family. is the point size of the font. -B is present only for bold fonts. -I is present only for italic fonts. is the character set number. .WIDTHS Second choice source for INTERPRESS font-widths information. These are actually PRESS font widths files, which INTERPRESS uses as approximations if it cannot access its own information. Each file typically contains font-widths information for a large number of fonts. Each existing file on the list FONTWIDTHSFILES is searched in turn for the requisite information. By convention, these files are named "FONTS.WIDTHS". When considering potential work-arounds it is useful to know that the current software assumes that .AC and .STRIKE files contain the information described by the filename - and can therefore be fooled by changing the filename. On the other hand, .WIDTHS and (curiously) .WD files are always searched for the required information. 2.4 Font File Location in Interlisp-D The search lists used when looking for font files are quite complex and are different for each device type. In addition to searching various lists of directories or files, the search is further broadened by a mechanism which silently substitutes alternative fonts. In what follows DIRECTORIES, FONTDIRECTORIES, NSFONTDIRECTORIES, NSFONTWIDTHSDIRECTORIES and STARFONTDIRECTORIES are lists of directories and FONTWIDTHSFILES is a filename or list of filenames. ORIGINAL refers to the font family requested by the user, ALTERNATIVE to that substituted by the system. The search of DIRECTORIES (only) is performed as the default ERRORTYPELST entry for error 23 (FILE NOT FOUND) and is, therefore, susceptable to changes in the runtime environment [so don't rely on it]. Programmers should be aware that LISPERROR is called with message "FILE NOT FOUND" if a DISPLAY font cannot be found, but ERROR is called with message "FONT NOT FOUND" when PRESS and INTERPRESS fonts cannot be found. For DISPLAY fonts only, bold and/or italic fonts can be synthesised from medium and/or regular fonts. DISPLAY can perform the following substitutions. These are substitutions of different names for the same font. In fact, they are simply substituting the NS font name (as used by INTERPRESS) for the XEROX internal name. FRUTIGER for MODERN CENTURY for CLASSIC LOGO for LOGOTYPE INTERPRESS always performs the NS substitutions listed above, and can optionally perform the following. These are not equivalent substitutions but are intended to help users produce useful output from TEdit files on INTERPRESS printers. FRUTIGER for HELVETICA CENTURY for TIMESROMAN 2.4.1 CAROL release All .AC filenames are prefixed by "SCREEN>LFONTS>" - i.e. the directories that are actually searched are second level sub-directories of those specified in STARFONTDIRECTORIES. Similarly, all .WD filenames are prefixed by "FORMATTER>WIDTHS>". The searches are performed as follows: DISPLAY Search FONTDIRECTORIES for ORIGINAL.STRIKE file. Search STARFONTDIRECTORIES for ORIGINAL.AC file. Search FONTDIRECTORIES for ALTERNATIVE.STRIKE file, if any. Search STARFONTDIRECTORIES for ALTERNATIVE.AC file, if any. Search DIRECTORIES for ORIGINAL.STRIKE file. INTERPRESS Search STARFONTDIRECTORIES for ORIGINAL.WD. Search STARFONTDIRECTORIES for ALTERNATIVE.WD, if any. Search FONTWIDTHSFILES for widths of ORIGINAL. PRESS Search FONTWIDTHSFILES for widths of ORIGINAL. 2.4.2 HARMONY release The searches are performed as follows: DISPLAY Search FONTDIRECTORIES for ORIGINAL.STRIKE file. Search NSFONTDIRECTORIES for ORIGINAL.AC file. Search FONTDIRECTORIES for ALTERNATIVE.STRIKE file, if any. Search NSFONTDIRECTORIES for ALTERNATIVE.AC file, if any. Search DIRECTORIES for ORIGINAL.STRIKE file. INTERPRESS Search NSFONTWIDTHSDIRECTORIES for ORIGINAL.WD. Search NSFONTWIDTHSDIRECTORIES for ALTERNATIVE.WD, if any. Search FONTWIDTHSFILES for widths of ORIGINAL. Search FONTWIDTHSFILES for widths of ALTERNATIVE, if any. PRESS Search FONTWIDTHSFILES for widths of ORIGINAL. 3 FONTCLASSes and FONTSETs These concepts are fully described in section 6.8.5 of [Sanella, 83]. Some key points to remember are: Each FONTCLASS relates to certain syntactic categories within a listing. The font currently associated with a class is used to display elements which fall into the related category. It is possible to specify different fonts for the three most common output devices - DISPLAY, INTERPRESS and PRESS - for each font class. The definitions for the eight possible FONTCLASSes (the FONTPROFILE), together with other key formatting variables (such as FILELINELENGTH and FIRSTCOL), comprise a FONTSET. In general, one switches between FONTSETs rather than editing their components. The formatting variables are used when creating the list file. The font class settings are used when producing the hardcopy from the list file. It is possible for the FONTSET to be changed between list file creation and the production of the hardcopy. SInce the formatter does not know what fonts will be used, it formats lines by character count (rather than character width). The matching of formatting parameters with fonts is, therefore, critical. When variable width fonts are used (every common font other than TERMINAL/GACHA), the choice becomes a matter of inspired guesswork. 4 Current Status All INTERPRESS printers are supplied with CLASSIC and TERMINAL fonts. Many also have MODERN. The INTERPRESS software within Interlisp-D is already configured to map two of the TEdit standard fonts into those commonly available on INTERPRESS printers: TIMESROMAN _ CLASSIC HELVETICA _ MODERN The HARMONY release will add the following mapping: GACHA _ TERMINAL For more information see appendix C. 5 TEDIT In order to be able to create and print a document using character representations from one or more fonts, TEdit requires two sets of font information: The bitmaps and `font widths' for the DISPLAY from .STRIKE or .AC files. `Font widths' for the printer (here INTERPRESS) from .WD or .WIDTHS files. In addition, the print server must have available a complete definition of each required font appropriate to its output device. 5.1 Short Term The following should be sufficient to enable users to print CLASSIC, TERMINAL and MODERN (if available to printer) font families from TEdit documents. Users should locate their Times Roman .STRIKE files and create copies with the "TIMESROMAN" filename component replaced by "CLASSIC". Similarly, "FRUTIGER" files should be created by copying "HELVETICA" files and "TERMINAL" files should be created from "GACHA" files. They should then be able to use CLASSIC, TERMINAL and FRUTIGER (= MODERN) by selecting "OTHER" font in the Tedit extended menu. This work-around is limited to the following fonts: FAMILY SIZE MRR? MIR? BRR? BIR? Classic 6 Y Y Y 8 Y Y Y 10 Y Y Y 12 Y Y Y 14 Y Y Y 18 Y Y Y 36 Y Y Y Frutiger 5 Y Y Y Y 7 Y Y Y Y 8 Y Y Y Y 9 Y Y Y Y 10 Y Y Y Y 12 Y Y Y Y 14 Y Y Y Y 18 Y Y Y Y 36 Y Y Y Y Terminal 8 Y 12 Y 5.2 Medium Term Customers should be provided with the following information: The rules for determining the names of the files required to support any given font - see Section 2. The ordering procedure for font files - see Appendix A. The installation procedure for each type of font file - see Appendix B. 5.3 Long Term As we can expect the volume of deliveries to increase dramatically, an automatic or semi-automatic means should be found to inform customers of their probable requirements. For example, a database of customer orders (pending and delivered) could be used to trigger warnings where a customer has fonts available on his printer but not his workstation, or vice versa. A system to judge when a mismatch might be significant enough to warrant warning a customer could form an interesting introduction to rule based programming - perhaps for a summer intern. 6 LISTFILES All the fonts which LISTFILES might ever need are loaded whenever the current FONTSET is changed (using the FONTSET function). As the user can select different fonts for each of the three most common output devices, the problem is not as difficult as with TEdit. 6.1 Short Term Customers can be advised to edit their FONTPROFILEs to use fonts which are both available on their printers and listed in appendices C.1.3 or C.3. 6.2 Medium Term As all INTERPRESS printers have TERMINAL and CLASSIC fonts, we should provide a FONTSET which only uses these fonts. A fairly good result can be obtained, although comments tend to extend beyond the edge of the page occasionally. For newly created list files, this can be improved when a bug which currently causes COMMENTLINELENGTH to be ignored is fixed. Customers will need to know the names, ordering procedure and installation instuctions for any fonts they wish to purchase to customise their listings. This is a subset of the TEdit requirements and merits no further action. 6.3 Long Term No further action required. 7 OTHER RECOMMENDATIONS The CLASSIC/TERMINAL FONTSET should be incorporated into all future customer SYSOUTs. Consideration should be given as to whether it should be made the default: Pro: Simpler for most customers. Con: Change may affect existing customers. Recommendation: Do it. The default set of fonts supplied with each release should be rationalised. (See Appendix C for current status). A ORDERING PROCEDURE FOR FONT FILES A procedure must be defined for placing and processing orders for font files for workstation use. It would probably be desirable to package them by family - e.g. all "Times Roman" fonts of whatever face and size would be sold together. A possible initial step would be to collect the files comprising each set into directories on a suitable file server. As OSD has accepted orders for print server fonts in the past, I assume that a suitable ordering procedure exists. B INSTALLATION PROCEDURES FOR FONT FILES Procedures for maintaining FONTS.WIDTHS files are not supplied as it is better for customers to switch over entirely to .WD files for the width information for INTERPRESS formatting. As the greater efficiency of .STRIKE files over .AC files is negligable, and as there are no .STRIKE files for NS fonts (and, in general, cannot be - there is no provision for specifiying character set number), .AC files will be distributed whenever possible. However, it will be necessary for some time to support and distribute .STRIKE files as not all DISPLAY fonts are available in .AC format. Installation of .AC, .STRIKE and .WD files is a simple copying operation. The file names, their extensions and directories are described in this document. It will be necessary to produce a step-by-step instruction list for naive users. There should be no need to update FONTS.WIDTHS files for INTERPRESS customers. As OSD has shipped print server fonts in the past, I assume that a convenient installation procedure already exists. C CAROL's fonts Note that .AC and .WD files are not present. C.1 \FONTSINCORE C.1.1 DISPLAY fonts FAMILY SIZE MRR? MIR? BRR? BIR? Gacha 8 Y 10 Y Y 12 Y Helvetica 8 Y 10 Y Y Y Y 12 Y Times Roman D 36 Y C.1.2 PRESS fonts FAMILY SIZE MRR? MIR? BRR? BIR? Gacha 8 Y 12 Y Helvetica 6 Y 8 Y Y 10 Y C.1.3 INTERPRESS fonts FAMILY SIZE MRR? MIR? BRR? BIR? Gacha 8 Y Modern 8 Y Y Y 10 Y 12 Y C.2 .STRIKE files FAMILY SIZE MRR? MIR? BRR? BIR? Gacha 8 Y 10 Y 12 Y Helvetica 5 Y 7 Y 8 Y 9 Y 10 Y Y 12 Y Y 14 Y 18 Y 36 Y Helvetica D 24 Y Times Roman 6 Y 8 Y 10 Y 12 Y 14 Y 18 Y 36 Y Times Roman D 24 Y 30 Y 36 Y 72 Y Tonto 14 Y C.3 FONTS.WIDTHS In the table below, a "*" in the SIZE column means that information is available which can be scaled to suit any point size. FAMILY SIZE MRR? MIR? BRR? BIR? APL * Y Arrows * Y Arrows Two 10 Y 12 Y 18 Y Baskerville * Y Y Y Y Bold PS * Y Y Y Y Bravox * Y Cards Two * Y Y Y Cards Zero * Y Y Y Century * Y Y Y Century Greek * Y Y Century Pi One * Y Century Thin Two * Y Y Chem Times 8 Y Classic * Y Y Y Classic Greek * Y Y Classic Pi One * Y Y Cream 10 Y Y Y Y 12 Y Y Y Y Cyrillic * Y DCW 18 Y Elite * Y Excaliber 12 Y Fleur * Y Frutiger * Y Y Y Y Frutiger Pi One * Y Y Y Y Gacha * Y Y Y Gates * Y Helvetica * Y Y Y Y Helvetica D * Y Hippo * Y H New Vec 2 Y 4 Y 6 Y 8 Y 12 Y 16 Y 24 Y 32 Y Hytype 10 Y 11 Y 12 Y Keyhole * Y Letter Gothic * Y Y L Helvetica * Y Y Y Y Logo * Y L Times Roman * Y Y Y Y Marq Hippo 10 Y Marq Roman 10 Y Math * Y Music * Y New Vec 2 Y 4 Y 6 Y 8 Y 12 Y 16 Y 24 Y 32 Y O Helvetica 24 Y Y Old English * Y Optima * Y Y Y Y Phonetic TR * Y Poly * Y Y Poster Bodonio * Y Y Quartz 10 Y Y Y Y RJP 18 Y Roman PS * Y Y Sail * Y Scientific * Y Y Scientific Pi One * Y Y Scientific Thin * Y Y Sigma * Y S New Vec 2 Y 4 Y 6 Y 8 Y 12 Y 16 Y 24 Y 32 Y Splunk * Y Star Format 12 Y Symbol * Y TC Logo * Y Telex 12 Y Template * Y Test Font 12 Y Times Roman * Y Y Y Y Times Roman D * Y Titan * Y Titan Legal * Y Trend PS * Y Y Triangles 14 Y V New Vec 2 Y 4 Y 6 Y 8 Y 12 Y 16 Y 24 Y 32 Y WSSA 10 Y Xerox Book * Y Y D REFERENCES Ramshaw, Lyle and Kerry A. LaPrade (1980) "PrePress Manual (version 2.1)", Xerox internal document "PrePress.Press", revised September 1980. Sanella, Michael (1983) "Interlisp Reference Manual", Xerox Corporation, Palo Alto Research Center, Palo Alto, California and Bolt, Beranek and Newman, Cambridge Massachusetts, revised October 1983. Sproull, Bob, Dan Swinehart and Lyle Ramshaw (1980) "Font Representations and Formats", Xerox internal document "FontFormats.Press", revised October 1980. E SUMMARY OF RECOMMENDATIONS E.1 Short Term E.1.1 Decide which customers are to be informed - all/some/on demand. E.1.2 Estimate volume, decide whether hardcopy instructions should be distributed or phone calls will suffice. E.1.3 If necessary, arrange production/copying/distribution of instructions. E.1.4 Produce CLASSIC/TERMINAL FONTSET (this may be the same as PARC or STANDARD for all but INTERPRESS devices). E.1.5 Determine reasonable initial font loadup for SYSOUTs - \FONTSINCORE. E.1.6 Determine font files to included in future releases. E.2 Medium Term E.2.1 Determine ordering procedure for font files for work-station use. E.2.2 Produce consolidated guide for customers containing material from section 2 of this document and ordering procedures for print server and work-station font files. E.2.3 Package font files into family directories for later convenience. E.2.4 Produce installation instructions for work-station font file families. E.2.5 Set-up order-processing / shipment for work-station font files (I assume OSD will handle all print server font file orders). E.2.6 Ensure documentation is maintained up-to-date by software developers. E.2.7 Ensure customers are informed as necessary on planned changes to font handling well in advance of release. As an absolute minimum, customers should be aware that font handling is likely to change, perhaps substantially, in the future. E.2.8 Action decisions made in E.1.4 through E.1.6 for HARMONY and future releases. E.3 Long Term E.3.1 Consider possibility of automatically generating warnings when customers order fonts for some but not all of their connected hardware. $$Ô HELVETICA€ HELVETICA$$Ô HELVETICA$$Ô HELVETICA $$Ô HELVETICA Ô TIMESROMAN Ô TIMESROMAN $$Ô HELVETICA € HELVETICA $$Ô HELVETICA $$Ô  HELVETICA $$Ô HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA HELVETICA  HELVETICA $$Ô HELVETICA GACHA HELVETICA $$Ô HELVETICA GACHA HELVETICA $$Ô  HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô  HELVETICA GACHA  HELVETICA $$Ô  HELVETICA GACHA  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA GACHA  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô & HELVETICA $$Ô + HELVETICA $$Ô  HELVETICA GACHA HELVETICA $$Ô  HELVETICA GACHA  HELVETICA $$Ô HELVETICA GACHA  HELVETICA $$Ô HELVETICA GACHA  HELVETICA $$Ô HELVETICA GACHA  HELVETICA $$Ô  HELVETICA GACHA  HELVETICA $$Ô  HELVETICA GACHA  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA $$Ô  HELVETICA Ô HELVETICA Ô HELVETICA Ô HELVETICA Ô$ HELVETICA € HELVETICA $$Ô HELVETICA $$Ô HELVETICA HELVETICA  HELVETICA GACHA ™ HELVETICA HELVETICA  HELVETICA $$Ô HELVETICA $$Ô0 HELVETICA HELVETICA w HELVETICA HELVETICA r HELVETICA $$Ô HELVETICA $$Ô> HELVETICA $$Ô HELVETICA 66Ô$< HELVETICA 66Ô$ HELVETICA 66Ô$ HELVETICA GACHA HELVETICA 66Ô$ HELVETICA 66Ô$ HELVETICA GACHA  HELVETICA ì HELVETICA ì HELVETICA Ô$ HELVETICA € HELVETICA Ô$ HELVETICA $$Ôæ HELVETICA $$ì HELVETICA 66Â… TIMESROMAN  HELVETICA $$ì HELVETICA Ô$ HELVETICA € HELVETICA ì HELVETICA $$Ô/ HELVETICA $$ì HELVETICA 66Ô$ GACHA TIMESROMAN GACHA CLASSIC GACHA OLDENGLISH GACHA 66Ô$ GACHA  HELVETICA HELVETICA  HELVETICA  HELVETICA GACHA 66Ô$1GACHA 66Ô$GACHA 66Ô$GACHA GACHA GACHA 66Ô$GACHA GACHA GACHA 66Ô$0GACHA $$ìGACHA $$Ô HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA HELVETICA GACHA  HELVETICA $$Ô HELVETICA $$Ô HELVETICA $$Ô HELVETICA $$ÔH HELVETICA $$ì HELVETICA 66Ô$GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA 66Ô$ GACHA  HELVETICA GACHA HELVETICA 66Ô$GACHA  HELVETICA 66Ô$ GACHA  HELVETICA 66Ô$GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA HELVETICA $$ì HELVETICA $$Ô0 HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô HELVETICA $$Ô? HELVETICA $$Ô HELVETICA Ô$ HELVETICA € HELVETICA $$Ô HELVETICA $$Ô¾ HELVETICA GACHA  HELVETICA GACHA y HELVETICA ì HELVETICA Ô$ HELVETICA € HELVETICA ì HELVETICA $$Ôt HELVETICA GACHA S HELVETICA GACHA ? HELVETICA GACHA ] HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA 1 HELVETICA $$ì HELVETICA $lÔ$GACHA  HELVETICA GACHA GACHA GACHA GACHA GACHA HELVETICA ~~ì HELVETICA ~~ÔGACHA  HELVETICA ~~ÔGACHA  HELVETICA ~~ÔGACHA ! HELVETICA ~~ÔGACHA # HELVETICA ~~ÔGACHA  HELVETICA $$ì HELVETICA $$ì HELVETICA $lÔ$GACHA  HELVETICA GACHA GACHA GACHA HELVETICA ~~ìGACHA ~~ÔGACHA  HELVETICA ~~ÔGACHA  HELVETICA ~~ÔGACHA ! HELVETICA ~~ÔGACHA # HELVETICA $$ì HELVETICA $lÔ$GACHA  HELVETICA GACHA GACHA GACHA GACHA GACHA HELVETICA ~~ì HELVETICA ~~ÔGACHA  HELVETICA ~~ÔGACHA  HELVETICA ~~ÔGACHA ! HELVETICA ~~ÔGACHA # HELVETICA ~~ÔGACHA  HELVETICA $$ì HELVETICA $lÔ$GACHA  HELVETICA GACHA . HELVETICA GACHA  HELVETICA GACHA ´ HELVETICA GACHA Z HELVETICA GACHA  HELVETICA $$Ô$ HELVETICA $$Ô$d HELVETICA GACHA  HELVETICA GACHA … HELVETICA GACHA  HELVETICA GACHA 9 HELVETICA $$Ô$ HELVETICA ì HELVETICA Ô$ HELVETICA € HELVETICA € HELVETICA $$ì HELVETICA $$Ô HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA & HELVETICA GACHA 2 HELVETICA GACHA $ HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA $ HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA [ HELVETICA $$Ô HELVETICA $$ÔGACHA ­ HELVETICA GACHA  HELVETICA $$ì HELVETICA 66ÔGACHA  HELVETICA GACHA  HELVETICA 66ÔGACHA  HELVETICA GACHA  HELVETICA 66ÔGACHA  HELVETICA GACHA  HELVETICA $$ì HELVETICA $$Ô GACHA  HELVETICA  HELVETICA €È HELVETICA GACHA HELVETICA $$ì HELVETICA 66ÔGACHA  HELVETICA GACHA  HELVETICA 66ÔGACHA  HELVETICA GACHA  HELVETICA 66Ô HELVETICA Ô$ HELVETICA € HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA  HELVETICA GACHA k HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$ì HELVETICA $$Ô' HELVETICA $$ì HELVETICA $$Ô$GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$ì HELVETICA $$Ô$ GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$ìGACHA $$Ô$GACHA HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô HELVETICA Ô$ HELVETICA € HELVETICA $$Ô HELVETICA $$Ô' HELVETICA $$ì HELVETICA $$Ô$GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$ì HELVETICA $$Ô$ GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA  HELVETICA llÔ HELVETICA GACHA  HELVETICA GACHA HELVETICA $$ìGACHA $$Ô$GACHA HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$ì HELVETICA ì HELVETICA ì HELVETICA Ô$ HELVETICA € GACHA € HELVETICA €GACHA € HELVETICA € HELVETICA Ô$ HELVETICA $$Ôh HELVETICA $$Ô HELVETICA 66Ô HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA 66Ô HELVETICA 66Ô' HELVETICA GACHA  HELVETICA GACHA 9 HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA $ HELVETICA GACHA ( HELVETICA 66Ô HELVETICA 66Ô© HELVETICA GACHA N HELVETICA 66Ô HELVETICA 66Ô HELVETICA GACHA  HELVETICA GACHA 6 HELVETICA $$Ô HELVETICA ì HELVETICA Ô$ HELVETICA € HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA HELVETICA _ HELVETICA GACHA HELVETICA $$Ô HELVETICA 66Ô$GACHA  HELVETICA 66Ô$GACHA  HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA ) HELVETICA $$Ô HELVETICA 66Ô$GACHA  HELVETICA 66Ô$ HELVETICA $$Ô% HELVETICA $$Ô HELVETICA $$Ô HELVETICA Ô$ HELVETICA €GACHA € HELVETICA ì HELVETICA $$Ô˜ HELVETICA $$Ô HELVETICA 66Ô& HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA 66Ô HELVETICA 66Ô$ HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô HELVETICA $$Ô€ HELVETICA $$Ô HELVETICA Ô$ HELVETICA € HELVETICA $$Ô HELVETICA $$Ô< HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA ? HELVETICA $$Ô HELVETICA $$Ô& HELVETICA GACHA " HELVETICA GACHA HELVETICA GACHA  HELVETICA GACHA $ HELVETICA GACHA HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$Ô HELVETICA $$Ô HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA W HELVETICA $$Ô HELVETICA Ô$GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$GACHA $$Ô HELVETICA $$Ô HELVETICA Ô$ HELVETICA € HELVETICA $$Ô HELVETICA $$ì= HELVETICA $$ì HELVETICA 66ìe HELVETICA 66ì HELVETICA 66ì8 HELVETICA 66ì HELVETICA 66ìH HELVETICA $$ì HELVETICA Ô$ HELVETICA € HELVETICA $$ì HELVETICA $$ìo HELVETICA $$ì HELVETICA $$ì½ HELVETICA $$ì HELVETICA $$ì HELVETICA Ô$ HELVETICA € GACHA € HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA 1 HELVETICA GACHA  HELVETICA GACHA HELVETICA $$ì HELVETICA $$ìˆ HELVETICA $$ì HELVETICA Ô$ HELVETICA € HELVETICA Ô$ HELVETICA $$Ô$• HELVETICA $$ì HELVETICA Ô$ HELVETICA € HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA æ HELVETICA GACHA  HELVETICA $$ì HELVETICA $$ìâ HELVETICA $$ì HELVETICA Ô$ HELVETICA € HELVETICA $$ì HELVETICA $$ì HELVETICA $$ì HELVETICA $$ì HELVETICA Ô$ HELVETICA € HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA  HELVETICA GACHA 1 HELVETICA GACHA O HELVETICA $$ì HELVETICA 66ì$" HELVETICA 66ì$, HELVETICA 66ì$ HELVETICA 66ì$ HELVETICA $$ìr HELVETICA $$ì HELVETICA $$ì HELVETICA Ô$# HELVETICA € HELVETICA $$ì HELVETICA $$ìd HELVETICA $$ì HELVETICA $$ìs HELVETICA $$ì HELVETICA $$ì HELVETICA Ô$( HELVETICA € HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA Q HELVETICA GACHA % HELVETICA GACHA HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA HELVETICA GACHA * HELVETICA GACHA o HELVETICA GACHA u HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA HELVETICA $$ì HELVETICA $$ì HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA í HELVETICA GACHA HELVETICA GACHA HELVETICA $$ì HELVETICA $$ìu HELVETICA $$ì HELVETICA $$ì HELVETICA Ô$ HELVETICA €GACHA € HELVETICA € HELVETICA Ô$ HELVETICA Ô$ HELVETICA GACHA  HELVETICA GACHA  HELVETICA $$ì HELVETICA Ô$ HELVETICA € GACHA € HELVETICA Ô$ HELVETICA Ô$ HELVETICA €GACHA € HELVETICA € HELVETICA Ô$ HELVETICA Ô$GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$ HELVETICA Ô$ HELVETICA €GACHA € HELVETICA € HELVETICA Ô$ HELVETICA Ô$GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$ HELVETICA € GACHA € HELVETICA € HELVETICA Ô$ HELVETICA Ô$GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA Ô$ GACHA Ô$GACHA Ô$ GACHA Ô$GACHA $$ì HELVETICA Ô$ HELVETICA €GACHA € HELVETICA € HELVETICA Ô$ HELVETICA Ô$GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$ HELVETICA Ô$ HELVETICA Ô$ HELVETICA € GACHA € HELVETICA Ô$ HELVETICA $$Ô$ HELVETICA GACHA  HELVETICA GACHA X HELVETICA Ô$ HELVETICA Ô$GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA GACHA €GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$ GACHA Ô$ GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$GACHA Ô$ GACHA Ô$GACHA Ô$ HELVETICA Ô$ HELVETICA Ô$ HELVETICA € HELVETICA $6Ô$ HELVETICA $6Ô$— HELVETICA $6Ô$ HELVETICA $6Ô$Ç HELVETICA $6Ô$ HELVETICA $6Ô$¥ HELVETICA $6Ô$ HELVETICA $6Ô$ HELVETICA Ô$ HELVETICA € HELVETICA Ô$ HELVETICA Ô$ HELVETICA € HELVETICA $6Ô$ HELVETICA 6ì6F HELVETICA 6ì6o HELVETICA 6ì6M HELVETICA 6ì6 HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA  HELVETICA GACHA HELVETICA GACHA HELVETICA 6ì63 HELVETICA GACHA  HELVETICA GACHA  HELVETICA 6ì6; HELVETICA $6Ô$ HELVETICA Ô$ HELVETICA € HELVETICA $6Ô$ HELVETICA 6ì6H HELVETICA 6ì6© HELVETICA 6ì6H HELVETICA 6ì6M HELVETICA 6ì6ƒ HELVETICA 6ì6L HELVETICA 6ì6ò HELVETICA 6ì67 HELVETICA GACHA  HELVETICA Ô$ HELVETICA Ô$ HELVETICA € HELVETICA Ô$ HELVETICA 6ì6 HELVETICA R‘z¸