Postscript Type1 fonts on the Amiga - at last! type1.library t1manager by Amish S. Dave internet email: asd2@midway.uchicago.edu WARNING: This is still what I would call 'beta' software! Be wary! There are known problems/incompatibilities!! I will not be held responsible for any problems, etc. ########################################################################### INTRODUCTION The files in this distribution implement a Postscript Type1 font engine for the Amiga. It is designed as a shared library that does for type1 fonts what 'bullet.library' does for compugraphic fonts. In addition, a program 't1manager' is included, which is required to install, remove, and preview type1 fonts. NOTE: t1manager REQUIRES MUI. I think that it will work with any version of MUI from 1.2 to 2.2. I'm quite sure that it will work with MUI 2.0 onwards. NOTE: both programs require AmigaDOS 2.1 or higher. I honestly am not perfectly sure anymore about 2.0 (or 2.1). I'll say that if your system supports Compugraphic fonts, then I think type1.library and t1manager should work. ########################################################################### INSTALLATION and USAGE First of all, there are two versions of the library - one compiled for 68000 and no math coprocessor (which should run on any Amiga), and one compiled for 030 and 68882 math coprocessor. Pick the one you intend to use. To install, do the following from the shell, or the equivalent from WB. CD COPY libs/type1.library.0x0 libs:type1.library ; 000 or 030 COPY t1manager/t1manager sys:system ; or wherever COPY t1manager/t1manager.info sys:system ; copy icon Now, you should be ready to install postscript fonts. Do this by running the 't1manager' program. What I do, is I have a drawer called Apps:type1fonts, which is part of my FONTS: assign. I accomplish this by having the following line in my user-startup file: ASSIGN fonts: apps:type1fonts ADD ; Note the ADD Now, when you run t1manager, you can select the font drawer to use. You install a font or fonts by clicking on install and selecting the font or fonts to install. These must be binary type1 postscript files. They commonly end in '.pfb'. There are several programs on Aminet that I've seen that will convert different postscript font formats to .pfb format. Find one, if your favorite font doesn't install. IMPORTANT!!! The installer does NOT actually copy the binary file into the fontdrawer!!! (unlike Intellifont/Fountain). It creates the .font and .otag files (and an empty directory) in this drawer. The actual binary file must not be deleted, or moved, or else the font will stop working. The .otag file simply refers to the font whereever it is. Thus, if you have some postscript fonts as part of some application, say Pagestream, you don't have to have two copies - type1.library will read the font directly from the directory it was in when you installed the font. To see a preview of an installed font, just double click on the font's name. The preview will appear on the bottom panel. Etc. At this point, barring bugs, you should be able to select postscript fonts wherever you would otherwise select compugraphic fonts. BETA: Note, however, that as of this beta version, there are still some substantial incompatibilities... Be forewarned. ########################################################################### ########################################################################### WARNINGS/DISCLAIMERS/COPYRIGHT STUFF ########################################################################### I don't have the time or desire to understand any of the legal mumbo jumbo that's supposed to go here. So what I'll put here will be in plain english and not legalese: First of all: you can't sell this for money - note carefully the 'without fee' clause in the following blurb. Insofar as the notice below permits, I think that the interpretation should be that Fred Fish-type prices for distribution are okay; selling this software by itself, or as part of a package where this software is part of the advertisement, is not okay. Also: I disclaim any responsibility for anything regarding type1.library, t1manager, or any associated files, usage, etc. In other words, if anything goes wrong, it's not my fault. In fact, I'll just say that it is likely that things will go wrong - if you choose to use or look at this software, be forewarned, and don't blame me!! Furthermore, I don't claim too much credit for the software here: I just used, copied, modified and am now distributing software that was donated to the X Consortium by others. The underlying font engine was written apparently for use with X-windows servers- I didn't write it, and don't claim exceptional knowledge about it. Here's the blurb that I think I'm obligated to add here: /* Copyright International Business Machines, Corp. 1991 * All Rights Reserved * Copyright Lexmark International, Inc. 1991 * All Rights Reserved * Portions Copyright (c) 1990 Adobe Systems Incorporated. * All Rights Reserved * * License to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM or Lexmark or Adobe * not be used in advertising or publicity pertaining to distribution of * the software without specific, written prior permission. * * IBM, LEXMARK, AND ADOBE PROVIDE THIS SOFTWARE "AS IS", WITHOUT ANY * WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT * LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE * ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE, INCLUDING * ANY DUTY TO SUPPORT OR MAINTAIN, BELONGS TO THE LICENSEE. SHOULD ANY * PORTION OF THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM, * LEXMARK, OR ADOBE) ASSUMES THE ENTIRE COST OF ALL SERVICING, REPAIR AND * CORRECTION. IN NO EVENT SHALL IBM, LEXMARK, OR ADOBE BE LIABLE FOR ANY * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ The above applies only to portions of the code that contain the message at the top of the source. Other source files (of which *some* begin with my first name; hey, what can I say :-> some people choose to use foo and bar - I use my first name!) were written by me, and probably contain Amiga-specific code. For these files, the same license to use, copy, etc. and the same proviso regarding warranties applies, with AMISH S. DAVE substituting for IBM, LEXMARK, and ADOBE. Also, I used some enhancements to the X windows code provided by HP: THE HP XLFD ENHANCEMENTS ARE PROVIDED "AS IS", WITHOUT ANY WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THESE ENHANCEMENTS. ########################################################################### WHERE DID IT COME FROM? I started with the postscript rasterizer in the contrib distribution of X11R5 (X-Windows). I have since used the X11R6 type1 font rasterizer, which is part of its core distribution. I have also used some patches by HP that were on the ftp.x.org ftp site in the contrib section. What I did was adapt it to look like the Amiga's compugraphic font engine (bullet.library). My only source of information on writing such libraries was from the includes and by looking at what was being passed to and from bullet.library when diskfont called it (by SetPatch()-ing bullet.library). After adapting the code to the Amiga, I sped it up, by re-writing some portions of the code, tweaking other portions, etc. In some cases, I wrote assembly routines to replace C code. These were my first 680x0 assembly routines... Then I whipped up a MUI utility to install/remove/preview fonts. This was also my first MUI program. ########################################################################### WHERE IS IT GOING I haven't had the time to work on this 'pet project' for a while. I don't anticipate finding the time in the near future. Thus, I'm releasing now so as to encourage further development by others. I personally consider this software to be at a 'beta' level - it certainly isn't polished enough yet for a 1.0 release, I think. Hopefully, people will start working on this now. I ask that people who work on this to please make public, or send me any updates or changes they make. My intention is for there to only be a single type1.library for the Amiga, not a confusing litany of 14.15XYZ, 1.0K00L, ABC2.0 versions, each somewhat different... That would suck. ########################################################################### THANKS TO: Gregory Block - for code fragments, encouragement, insistance, harrassment (:->) and bug reports. ########################################################################### -- Amish S. Dave University of Chicago asd2@midway.uchicago.edu Biology Grad. Student