diff -Nru ttf2ufm-3.4.4~r2/FONTS ttf2ufm-3.4.4~r2+gbp/FONTS --- ttf2ufm-3.4.4~r2/FONTS 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/FONTS 1970-01-01 00:00:00.000000000 +0000 @@ -1,462 +0,0 @@ -Sergey A. Babkin - or -(Do not edit this file, it is generated from FONTS.html!!!) - -THE FONT INSTALLATION GUIDE -for the TTF to Type1 converter and fonts generated by it -======================================================== - -There is historically a number of problems with the support of the 8-bit -character encodings. This installation guide pays a lot of attention -to the 8-bit issues, because these issues are responsible for the -most of troubles during the installation of fonts. But they are -not the only things covered in this guide, so it's worth reading -even if all you need is plain ASCII. For convenience of reading -I have marked the paragraphs dealing solely with 8-bit problems -with characters *8*. - -To simplify this installation the distribution package of the -converter contains a number of scripts written in shell and -Perl. So, to run them you will need a shell interpreter (Bourne-shell, -POSIX-shell, Korn-shell are OK, ba-shell is probably also OK but not -tested yet). The Perl scripts were tested with Perl5 but probably -should work with Perl4 too. All the scripts are located in the -`scripts' subdirectory. - -This guide considers the following issues of installation of the -fonts: - -- X11 -- Ghostscript -- MS Windows -- Netscape Navigator/Communicator -- Linux RPM package -- FrameMaker -- StarOffice - -X11 -=== - -To simplify the conversion a set of scripts is provided with ttf2pt1. -They are collected in the `scripts' subdirectory. - -`Convert' is the master conversion script provided with ttf2pt1. -When installed into a public directory it's named `ttf2pt1_convert' -to avoid name collisions with the other programs. - -It's called as: - - convert [config-file] - -If the configuration file is not specified as an argument then the file -`convert.cfg' in the current directory is used. This file contains -a set of configuration variables. The distribution contains a sample file -file `convert.cfg.sample'. Please copy it to `convert.cfg', -look inside it and change the configuration variables. The more stable -configuration variables, such as the path names of the scripts and -encoding files are located in `convert' itself, they are -automatically updated when installing ttf2pt1. - -Put all the TTF fonts you want to convert into some directory (this -may be just the directory that already contains all the Windows -fonts on a mounted FAT filesystem). If you have fonts in different -source encoding then put the fonts in each of the encodings -into a separate directory. Up to 10 source directories are -supported. If you (in a rather unlikely case) have more source -directories then you can make two separate runs of the converter, -converting up to 10 directories at a time. - -The variables in the configuration file are: - -SRCDIRS - the list of directories (with absolute paths) with - TTF fonts. Each line contains at least 3 fields: the name of the directory, - the language of the fonts in it (if you have fonts for different - languages you have to put them into the separate directories) and the - encoding of the fonts. Again, if you have some of the TTF typefaces in - one encoding, and some in another (say, CP-1251 and KOI-8), you have - to put them into the separate source directories. Some lines may contain - 4 fields. Then the fourth field is the name of the external map to - convert the Unicode fonts into the desirable encoding. This map is - used instead of the built-in map for the specified language. - -*8* -An interesting thing is that some languages have more than one -widely used character encodings. For example, the widely used -encodings for Russian are IBM CP-866 (MS-DOS and Unix), KOI-8 -(Unix and VAX, also the standard Internet encoding), IBM CP-1251 (MS Windows). -That's why I have provided the means to generate the converted fonts -in more than one encoding. See the file encodings/README for -details about the encoding tables. Actually, if you plan to use -these fonts with Netscape Navigator better use the aliases -cp-866 instead of ibm-866 and windows-1251 instead of ibm-1251 -because that's what Netscape wants. - -DSTDIR - directory for the resulting Type1 fonts. Be careful! - This directory gets completely wiped out before conversion, - so don't use any already existing directory for this purpose. - -DSTENC{language} - the list of encodings in which the destination - fonts will be generated for each language. Each font of that - language will be generated in each of the specified - encodings. If you don't want any translation, just specify both - SRCENC and DSTENC as iso8859-1 (or if you want any other encoding - specified in the fonts.dir, copy the description of 8859-1 with - new name and use this new name for SRCENC and DSTENC). - -FOUNDRY - the foundry name to be used in the fonts.dir file. I have - set it to `fromttf' to avoid name conflicts with any existing font for - sure. But this foundry name is not registered in X11 standards and - if you want to get the full standard compliance or have a font server - that enforces such a compliance, use `misc'. - -The next few parameters control the general behavior of the converter. -They default values are set to something reasonable. - -CORRECTWIDTH - if the value is set to YES then use the - converter option -w, otherwise don't use it. See the description of - this option in the README file. - -REMOVET1A - if the value is set to YES then after - conversion remove the un-encoded .t1a font files and the - intermediate .xpfa font metric files. - -INSTALLFONTMAP - a Ghostscript parameter, if the value is set to - YES then install the entries for the new fonts - right into the main Fontmap file. Otherwise just leave - the file Fontmap.ttf in the Ghostscript configuration - directory. - -HINTSUBST - if the value is set to YES use the option - -H, otherwise don't use it. This option enables the - hint substitution technique. If you have not installed the X11 patch - described above, use this option with great caution. See further - description of this option in the README file. - -ENFORCEISO - if the value is set to YES then - disguise the resulting fonts as the fonts in ISOLatin1 encoding. Historically - this was neccessary due to the way the installer scripts created the - X11 font configuration files. It is not neccessary any more for this - purpose. But if you plan to use these fonts with some other application - that expects ISOLatin1 encoding then better enable this option. - -ALLGLYPHS - if the value is set to YES then - include all the glyphs from the source fonts into the resulting fonts, even - if these glyphs are inaccessible. If it's set to NO then - include only the glyphs which have codes assigned to them. The glyphs - without codes can not be used directly. But some clever programs, - such as the Type 1 library from XFree86 3.9 and higher can change - the encoding on the fly and use another set of glyphs. If you have not - installed the X11 patch described above, use this option with great - caution. See further description of the option option -a in the - README file. - -GENUID - if the value is set to YES then use - the option -uA of the converter to generate UniqueIDs for - the converted fonts. The standard X11 Type 1 library does not use - this ID, so it may only be neccessary for the other applications. - The script is clever enough to generate different UniqueID for the - same font converted to multiple encodings. Also after conversion it - checks all the fonts generacted during the session for duplicated - UniqueID and shows those. Still, this does not quarantee that these - UniqueIDs won't overlap with some other fonts. The UniqueIDs are - generated as hash values from the font names, so it's guaranteed - that if the `convert' script runs multiple times it will - generate the same UniqueIDs during each run. See further description - of this option in the README file. - -GENUID - if the value is set to YES then create - the .pfb files, otherwise the .pfa files. The .pfb - files are more compact but contain binary data, so you may experience some - troubles when transferring them through the network. - -The following parameters are used to locate the other scripts and -configuration files. By default the scripts do a bit of guessing for them: -they search in the ttf2pt1 installation directory if ttf2pt1 -was installed or otherwise suppose that you are running `convert' with -`scripts' subdirectory being the current directory. - -ENCDIR - directory containing the descriptions of encodings -MAPDIR - directory containing the external map files - -Besides that a few parameters are built into the `convert' script itself. -You probably won't need to change them: - -T1ASM, TTF2PT1, TRANS, T1FDIR, FORCEISO - paths to the other script - -Also there are a few parameters controlling the installation of -fonts for Ghostscript. Please look at their description in the -Ghostscript section of documentation or in the ttf2pt1_x2gs(1) -manual page before running `convert'. If these parameters are -set, `convert' will call the `x2gs' script automatically -to install the newly converted fonts in Ghostscript. - -After creating the configuration file run the `convert' script. Look at -the result and the log file in DSTDIR. - -Add the directory with newly converted fonts to the configuration -of X server or font server. For most of the systems this step is -very straightforward. For HP-UX it's rather tricky and poorly -documented, so the file FONTS.hpux gives a short description. - -If you don't have the privileges of the root user, you still can -configure your private font server. Just use some non-standard -port number (see FONTS.hpux for an example, exept that you won't -need all the HP-related stuff on any other system). - -Known Problems --------------- - -- One catch is that the X11 Type 1 font library has a rather low limit - on the font size. Because of this the fonts with more complicated - outlines and the enabled hint substitution may not fit into - this limit. The same applies to the fonts with very complicated - outlines or with very many glyphs (especially the fonts with - over 256 glyphs). So you will need to excercise caution with - these options if you plan using these fonts with X11. Some vendors - such as HP provide the Type 1 implementation licensed from Adobe - which should have no such problem. - - But there is a solution even for the generic X11. A patch located - in the subdirectory `app/X11' fixes this problem as well - as some other minor problems. Its description is provided in - app/X11/README. - - To fix the X11 font library, you have to get the X11 sources. I - can recommend the ftp sites of the XFree86 project ftp://ftp.xfree86.org - or of the Open Group ftp://ftp.x.org. This patch was made on the sources - of XFree86 so you may have better success with applying it to the - XFree86 distribution. After you have got the sources, make sure - that you can compile them. Then apply the patch as described. - Make sure that it was applied properly. Compile the sources again - (actually, you need only the fonts library, the fonts server, and - possibly the X server). It would be prudent now to save your old - font library, font server and, possibly, X server. Then install - the new recently compiled versions of these files. Of course, - if you know someone who already has compiled these files for the - same OS as yours, you can just copy the binary fles from him. - - Alas, building the X11 system from the source code is not the - easiest thing in the world and if you have no experience it - can be quite difficult. In this case just avoid the aforementioned - features or check each converted font to make sure that it - works properly. - -- The Type1 font library from the standard X11 distribution - does not work on HP-UX (at least, up to 10.01). The font server - supplied with HP-UX up to 10.01 is also broken. Starting from - HP-UX 10.20 (I don't know about 10.10) they supply a proprietary font - library and the converted fonts work fine with it, provided that - they are configured properly (see the file FONTS.hpux). - -- The fonts.scale files created by the older versions of the - ttf2pt1 installation program (up to release 3.1) have conflicted - with the language definitions of the Xfsft font server and - parts of it included into XFree86. To overcome this incompatibility - the never versions creats the fonts.scale file describing all the - fonts as belonging to the adobe-fontspecific encoding and - the fonts.alias file with the proper names. The drawback of - this solution is that xlsfonts gives the list of twice more - fonts. But as a side effect the option ENFORCEISO in - `convert.cfg' is not required for X11 any more. - -- The conversion script has no support for Eastern multi-plane fonts. - Contribution of such a support would be welcome. - -Ghostscript -=========== - -The fonts generated with ttf2pt1 work fine with Ghostscript by -themselves. The script `x2gs' (or `ttf2pt1_x2gs' when installed -into a public directory, to avoid name conflicts with other -programs) links the font files from the X11 direcotry into the Ghostscript -directory and automatically creates the description file (Fontmap) -in Ghostscript format. - -It's called as: - - x2gs [config-file] - -If the configuration file is not specified as an argument then the file -`convert.cfg' in the current directory is used, just like the -`convert' script does. Indeed, this configuration file is used for -both scripts. - -The Ghostscript-related parameters in the configuration file are: - -DSTDIR - the X11 font directory used by `x2gs' as the - source of the fonts. This parameter is common with the X11 - configuration. - -GSDIR - the base directory of Ghostsript. If this - parameter is set to an empty string then `convert' won't - call `x2gs'. So if you want to get only the X11 fonts - installed then set this parameter to an empty string. This - directory may vary on various system, so please check your - system and set this value accordingly before running the script. - -GSFONTDIR - the font directory of Ghostscript. In the standard - Ghostscript installation it's a subdirectory of GSDIR - but some systems may use completely different directories. - -GSCONFDIR - the configuration subdirectory of Ghostscript - that contains the Fontmap file. - -INSTALLFONTMAP - if the value is set to YES then - install the entries for the new fonts right into the main - Fontmap file. Otherwise just leave the file Fontmap.ttf - in the Ghostscript configuration directory. - - -After preparing the configuration file run the script. It symbolicaly links -all the font files and creates the description file Fontmap.ttf in -GSCONDFIR. After that there are two choices. - -If the option INSTALLFONTMAP was set to YES then -the font descriptions are also automatically installed into the -master Fontmap file. The script is clever enough to -detect if it was run multiple times with the same directories -and if so it replaces the old Fontmap entries with -the new ones instead of just accumulating all of them. You -may also run it multiple times for multiple X11 directories -and all the results will be properly collected in the Fontmap. -But it's your responsibility to watch that the names of the -font files don't overlap. If the X11 font directory gets -renamed then you have to remove its font entries from the -Fontmap and only after that re-run `x2gs' -for the new directory. - -On the other hand if the option INSTALLFONTMAP was set to -NO then go to the GSCONFDIR directory and insert the -contents of Fontmap.ttf into the Fontmap file -manually. This step may be left manual to make the installation -a little bit more safe. - -After that you may also want to redefine some of the aliases in -Fontmap to refer to the newly installed fonts. -But the redefinition of the aliases may be dangerous if the width of -characters in the new font will be different from the old font. -Alas, there is no visible solution of this problem yet. - -MS Windows -=========== - -Ttf2pt1 can be built on Windows either with native compiler or in -POSIX emulation mode. - -Native MS Windows compilers require a different way to build the converter -instead of the Makefile (their make programs commonly are quite weird -and limited in capabilities). An example of batch file winbuild.bat -is provided for MS Visual C/C++. Probably it can be easily adapted for other -32-bit Windows and DOS compilers. The important part is to define the -preprocessor symbol WINDOWS during compilation. - -Cygnus make almost supports full Makefiles but not quite. Seems -like its POSIX support is also of the same quality "almost but not quite". -So another command file cygbuild.sh is provided for Cygnus GNU C, also -with the preprocessor symbol WINDOWS defined. It is intended to be run from -the Cygnus BASH shell. To run the programs produced by the Cygnus compiler -the Cygnus library file CYGWIN1.DLL should be copied first into -C:\WINDOWS. - -To run the accompanying scripts Perl for Windows will be required as well as -other tools from the Cygnus set. - -The Windows support was not particularly tested, so in case of problems with -building or running the converter please let us know. - -The pre-built code (possibly of an older version) of ttf2pt1 for MS Windows is -available from the GnuWin32 project from - -http://gnuwin32.sourceforge.net/packages/ttf2pt1.htm - -Netscape Navigator/Communicator -=============================== - -Basically, the biggest problem with Netscape Navigator is that -it has built-in fixed PostScript font names and built-in fixed -glyph tables for them. Oh, no, that's two! Let's start over: -basically the two biggest problems of Netscape Navigator are -that (one)it has built-in fixed PostScript font names and (two) -built-in fixed glyph tables for them and (three) it always -assumes that the fonts have ISOLatin1 encoding. OK, let's -start over again: basically the three biggest problems of Netscape -Navigator are that (one) it has built-in fixed PostScript font names, -(two) built-in fixed glyph tables for them and (three) it always -assumes that the fonts have ISOLatin1 encoding and (four) it -does not remember the scaled font size between the sessions. -You did not expect such a Spanish Inquisition, did you ? (*) - -Luckily, we have solutions for all of these problems. They are -located in the subdirectory `app/netscape' and described -in app/netscape/README. - - ------- - *) See Monty Python's Flying Circus, episode 15 - -*8* -Netscape and cyrillic fonts ---------------------------- -(courtesy of Zvezdan Petkovic) - -If you use TrueType fonts in your X, as I do, and you always get -KOI8-R encoded pages, then your Netscape does not recognise windows-1251 -encoding. Microsoft TrueType fonts simply declare all encodings they -can support including KOI8-R. For some reason, KOI8-R always wins over -ISO-8859-5 in Netscape under X. If you are reading other cyrillic -languages besides Russian, you might want to either erase KOI8-R entries -from the fonts.dir and fonts.scale files, or alternatively fix Netscape. -I put this line in my .Xdefaults. - - Netscape*documentFonts.charset*koi8-r: iso-8859-5 - -Notice that you can still read Russian sites without trouble because -Netscape translates KOI8-R to ISO-8859-5 on the fly. I read both Russian -and Serbian sites with no trouble. - -Note: If anybody knows the way to tell Netscape under Unix how to -recognise {windows,ibm,cp}-1251 encoded fonts, I'd like to hear about that. - -Linux RPM package -================= - -The spec file for the creation of a Linux RPM package is located in -app/RPM. It has been contributed by Johan Vromans. When -make all is ran in the main directory it among the other -things creates the version of itself adapted to Linux in app/RPM, -you may want to copy that version back to the main directory. - -Warning: Please note that the install section is incomplete, and -the installed scripts won't work until the paths inside them -are corrected. - -FrameMaker -========== - -The fonts and AFM files generated by the version 3.2 and higher -should work with Framemaker without problems. The AFM files -generated by the previous versions of the converter require a -line added to them: - - EncodingScheme FontSpecific - -And the underscores in the font names of the font and AFM files -generated by the older versions may need to be changed to dashes. - -NOTE by Jason Baietto: Ignore the directions in the Frame on-line docs -that say to put a "serverdict begin 0 exitserver" line in the pfa files. -Doing this caused both my printer and ghostscript to choke on the resulting -output from FrameMaker, so I would not advise doing this (though your -mileage may vary). - -StarOffice -========== - -StarOffice 5.1x has been reported to crash if the .afm file contains -spaces in the values of such statements as Version, Weight etc. -These spaces are permitted by the Adobe spec, so this is a problem of -StarOffice. The easiest way to fix these .afm files for StarOffice -is to remove spaces in these strings or remove these strings (in case if -they are optional) at all. This can be done automatically with a sed -script. It seems that StarOffice 5.2 has this problem fixed, so we decided to -spend no efforts on providing workarounds for 5.1 with ttf2pt1. - diff -Nru ttf2ufm-3.4.4~r2/FONTS.hpux ttf2ufm-3.4.4~r2+gbp/FONTS.hpux --- ttf2ufm-3.4.4~r2/FONTS.hpux 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/FONTS.hpux 1970-01-01 00:00:00.000000000 +0000 @@ -1,107 +0,0 @@ -Sergey A. Babkin - or -(Do not edit this file, it is generated from FONTS.hpux.html!!!) - -How to install new Type1 fonts on an HP-UX 10.20 machine --------------------------------------------------------- - -1. Add the font files to /usr/lib/X11/fonts/type1.st/typefaces. - -2. Add the font descriptions to -/usr/lib/X11/fonts/type1.st/typefaces/fonts.scale. Run `mkfontdir' -in /usr/lib/X11/fonts/type1.st/typefaces. In the descriptions -you have to specify the font manufacturer as `misc', like: - - -misc-courier-... - -3. Copy /usr/lib/X11/fonts/type1.st/typefaces/fonts.dir to -/usr/lib/X11/fonts/type1.st/licenses/STSYSTEM/DISPLAYS/fonts.dir. -Better yet, create a symbolic link. - -4. For each font encoding you are going to use create a description -file in /usr/lib/X11/fonts/stadmin/type1/charsets. Of course, if you -are going to use the same fonts in several encodings, the best way -would be to create fair descriptions of charsets and really store -only one encoding in typefaces, all the others will be produced -automatically. That's not difficult at all. -But the simplest way is to just copy the file cp.iso8859-1 -to cp., like cp.koi8-r. - -5. Restart you X server and/or font server. - -What if you don't have the `root' privileges ? ----------------------------------------------- - -You still can run the font server and configure your X server -to get the fonts from it. - -Further let's suppose that the name on which you are going -to run the font server is named `somehost'. Login to it -and configure the font server. - -First, choose some unused port. Numbers around 9000 are a good -choice. Verify that this port is not used by somebody else -by entering - - netstat -naf inet |grep 9000 - -and look what happens. If you get nothing, that's good, this -port is unused. If you get some lines of data, try abother port. - -Go to you home directory $HOME and create some directory for -your font server, say, $HOME/fs. Copy the directory structure -of /usr/lib/X11/fonts/type1.st into $HOME/fs, so that in result -you get $HOME/fs/type1.st/. Copy the directory -structure of /usr/lib/X11/fonts/stadmin/type1/charsets into $HOME/fs, -so that in result you get $HOME/fs/charsets/. -Install the new fonts in these directorues as described above. - -Then create the fontserver configuration file, say, $HOME/fs/xfs.cfg. -The sample contents (supposing that my $HOME is equal to /home/babkin) -is: - ---------------8<----------- cut here ----------------------------- -# font server configuration file -# $XConsortium: config.cpp,v 1.7 91/08/22 11:39:59 rws Exp $ - -rasterizers = /usr/lib/X11/fs/ufstrast.sl,/usr/lib/X11/fs/iforast.sl - -clone-self = off -use-syslog = off -catalogue = /home/babkin/fs/type1.st -# in decipoints -default-point-size = 120 -default-resolutions = 100,100,75,75 -port=9000 -error-file=/home/babkin/fs/fs.err ---------------8<----------- cut here ----------------------------- - -Then create the script to start your font server, say, $HOME/fs/runme: - ---------------8<----------- cut here ----------------------------- -TYPE1_CODEPAGE_DIR=$HOME/fs/charsets -export TYPE1_CODEPAGE_DIR -kill `ps -ef | grep $HOME/\[f\]s/xfs.cfg | awk '{print $2}'`; -nohup xfs -config $HOME/fs/xfs.cfg & ---------------8<----------- cut here ----------------------------- - -Don't forget to make $HOME/fs/runme executable. Then you can -execute it manually or from you .profile. - -After you get your font server running, just execute the following -command (with proper host name and port number) in your X session - - xset fp+ tcp/somehost:9000 - -to get the access to your private font server. You can add this -information to the configuration data of your X server or just -put it also into your .profile. In the latter case the best way -to do that would be like: - ---------------8<----------- cut here ----------------------------- -... -$HOME/fs/runme -sleep 2 # give it some time to start -xset fp+ tcp/somehost:9000 -... ---------------8<----------- cut here ----------------------------- diff -Nru ttf2ufm-3.4.4~r2/README ttf2ufm-3.4.4~r2+gbp/README --- ttf2ufm-3.4.4~r2/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,814 +0,0 @@ -TTF2PT1 - A True Type to PostScript Type 1 Font Converter - -(Do not edit this file, it is generated from README.html!!!) -[ - Based on ttf2pfa by Andrew Weeks, and help from Frank Siegert. - Modification by Mark Heath. - Further modification by Sergey Babkin. - The Type1 assembler by I. Lee Hetherington with modifications by - Kai-Uwe Herbing. -] - -Ever wanted to install a particular font on your XServer but only could find -the font you are after in True Type Format? - -Ever asked comp.fonts for a True Type to Type 1 converter and got a List -of Commercial software that doesn't run on your Operating System? - -Well, this program should be the answer. This program is written in C (so it -should be portable) and therefore should run on any OS. The only limitation -is that the program requires some method of converting Big endian integers into -local host integers so the network functions ntohs and ntohl are used. These -can be replaced by macros if your platform doesn't have them. -Of course the target platform requires a C compiler and command line ability. - -Ttf2pt1 is a font converter from the True Type format (and some other formats -supported by the FreeType library as well) to the Adobe Type1 format. - -The versions 3.0 and later got rather extensive post-processing algorithm that -brings the converted fonts to the requirements of the Type1 standard, tries to -correct the rounding errors introduced during conversions and some simple -kinds of bugs that are typical for the public domain TTF fonts. It -also generates the hints that enable much better rendering of fonts in -small sizes that are typical for the computer displays. But everything -has its price, and some of the optimizations may not work well for certain -fonts. That's why the options were added to the converter, to control -the performed optimizations. - -The converter is simple to run, just: - - ttf2pt1 [-options] ttffont.ttf [Fontname] -or - ttf2pt1 [-options] ttffont.ttf - - -The first variant creates the file Fontname.pfa (or Fontname.pfb if the -option '-b' was used) with the converted font and Fontname.afm with the -font metrics, the second one prints the font or another file (if the option -'-G' was used) on the standard output from where it can be immediately -piped through some filter. If no Fontname is specified for the first -variant, the name is generated from ttffont by replacing the .ttf -filename suffix. - -Most of the time no options are neccessary (with a possible exception -of '-e'). But if there are some troubles with the resulting font, they -may be used to control the conversion. -The options are: - --a - Include all the glyphs from the source file into the converted - file. If this option is not specified then only the glyphs that have - been assigned some encoding are included, because the rest of glyphs - would be inaccessible anyway and would only consume the disk space. - But some applications are clever enough to change the encoding on - the fly and thus use the other glyphs, in this case they could - benefit from using this option. But there is a catch: the X11 library - has rather low limit for the font size. Including more glyphs increases - the file size and thus increases the chance of hitting this limit. - See app/X11/README for the description of a - patch to X11 which fixes this problem. - --b - Encode the resulting font to produce a ready .pfb file. - --d suboptions - Debugging options. The suboptions are: - - a - Print out the absolute coordinates of dots in outlines. Such - a font can not be used by any program (that's why this option is - incompatible with '-e') but it has proven to be a valuable debuging - information. - - r - Do not reverse the direction of outlines. The TTF fonts have - the standard direction of outlines opposite to the Type1 fonts. So - they should be reversed during proper conversion. This option - may be used for debugging or to handle a TTF font with wrong - direction of outlines (possibly, converted in a broken way from - a Type1 font). The first signs of the wrong direction are the - letters like "P" or "B" without the unpainted "holes" inside. - --e - Assemble the resulting font to produce a ready .pfa file. - [ S.B.: Personally I don't think that this option is particularly useful. - The same result may be achieved by piping the unassembled data - through t1asm, the Type 1 assembler. And, anyways, it's good to - have the t1utils package handy. But Mark and many users think that - this functionality is good and it took not much time to add this option. ] - --F - Force the Unicode encoding: any type of MS encoding specified - in the font is ignored and the font is treated like it has Unicode - encoding. WARNING: this option is intended for buggy fonts - which actually are in Unicode but are marked as something else. The - effect on the other fonts is unpredictable. - --G suboptions - File generation options. The suboptions may be lowercase - or uppercase, the lowercase ones disable the generation of particular - files, the corresponding uppercase suboptions enable the generation of the - same kind of files. If the result of ttf2pt1 is requested to be printed on - the standard output, the last enabling suboption of -G determines - which file will be written to the standard output and the rest of files - will be discarded. For example, -G A will request the AFM file. - The suboptions to disable/enable the generation of the files are: - - f/F - The font file. Depending on the other options this file - will have one of the suffixes .t1a, .pfa or .pfb. If the conversion result - is requested on the standard output ('-' is used as the output file name) - then the font file will also be written there by default, if not overwritten - by another suboption of -G. - Default: enabled - - a/A - The Adobe font metrics file (.afm). - Default: enabled - - e/E - The dvips encoding file (.enc). - Default: disabled - - --l language[+argument] - Extract the fonts for the specified language from a - multi-language Unicode font. If this option is not used the converter - tries to guess the language by the values of the shell variable LANG. - If it is not able to guess the language by LANG it tries all the - languages in the order they are listed. - - After the plus sign an optional argument for the language extractor - may be specified. The format of the argument is absolutely up to - the particular language converter. The primary purpose of the - argument is to support selection of planes for the multi-plane - Eastern encodings but it can also be used in any other way. The - language extractor may decide to add the plane name in some form - to the name of the resulting font. None of the currently supported - languages make any use of the argument yet. - - As of now the following languages are supported: - latin1 - for all the languages using the Latin-1 encoding - latin2 - for the Central European languages - latin4 - for the Baltic languages - latin5 - for the Turkish language - cyrillic - for the languages with Cyrillic alphabet - russian - historic synonym for cyrillic - bulgarian - historic synonym for cyrillic - adobestd - for the AdobeStandard encoding used by TeX - plane+argument - to select one plane from a multi-byte encoding - - The argument of the "plane" language may be in one of three forms: - plane+pid=,eid= - plane+pid=,eid=, - plane+ - - Pid (TTF platform id) and eid (TTF encoding id) select a particular - TTF encoding table in the original font. They are specified as decimal - numbers. If this particular encoding table is not present in the font - file then the conversion fails. The native ("ttf") front-end parser supports - only pid=3 (Windows platform), the FreeType-based ("ft") front-end supports - any platform. If pid/eid is not specified then the TTF encoding table is - determined as usual: Unicode encoding if it's first or an 8-bit encoding - if not (and for an 8-bit encoding the plane number is silently ignored). - To prevent the converter from falling back to an 8-bit encoding, specify - the Unicode pid/eid value explicitly. - - Plane_number is a hexadecimal (if starts with "0x") or decimal number. - It gives the values of upper bytes for which 256 characters will be - selected. If not specified, defaults to 0. It is also used as a font - name suffix (the leading "0x" is not included into the suffix). - - NOTE: - It seems that many Eastern fonts use features of the TTF format that are - not supported by the ttf2pt1's built-in front-end parser. Because of - this for now we recommend using the FreeType-based parser (option - '-p ft') with the "plane" language. - - NOTE: - You may notice that the language names are not uniform: some are the - names of particular languages and some are names of encodings. This - is because of the different approaches. The original idea was to - implement a conversion from Unicode to the appropriate Windows - encoding for a given language. And then use the translation tables - to generate the fonts in whatever final encodings are needed. This - would allow to pile together the Unicode fonts and the non-Unicode - Windows fonts for that language and let the program to sort them out - automatically. And then generate fonts in all the possible encodings - for that language. An example of this approach is the Russian language - support. But if there is no multiplicity of encodings used for some - languages and if the non-Unicode fonts are not considered important - by the users, another way would be simpler to implement: just provide - only one table for extraction of the target encoding from Unicode - and don't bother with the translation tables. The latin* "languages" - are examples of this approach. If somebody feels that he needs the - Type1 fonts both in Latin-* and Windows encodings he or she is absolutely - welcome to submit the code to implement it. - - WARNING: - Some of the glyphs included into the AdobeStandard encoding are not - included into the Unicode standard. The most typical examples of such - glyphs are ligatures like 'fi', 'fl' etc. Because of this the font - designers may place them at various places. The converter tries to - do its best, if the glyphs have honest Adobe names and/or are - placed at the same codes as in the Microsoft fonts they will be - picked up. Otherwise a possible solution is to use the option '-L' - with an external map. - --L file[+[pid=,eid=,][plane]] - Extract the fonts for the specified - language from a multi-language font using the map from this file. This is - rather like the option '-l' but the encoding map is not - compiled into the program, it's taken from that file, so it's - easy to edit. Examples of such files are provided in - maps/adobe-standard-encoding.map, CP1250.map. (NOTE: - the 'standard encoding' map does not include all the glyphs of the - AdobeStandard encoding, it's provided only as an example.) The - description of the supported map formats is in the file - maps/unicode-sample.map. - - Likewise to '-l', an argument may be specified after the map file - name. But in this case the argument has fixed meaning: it selects the - original TTF encoding table (the syntax is the same as in '-l plane') - and/or a plane of the map file. The plane name also gets added after dash - to the font name. The plane is a concept used in the Eastern fonts with big - number of glyphs: one TTF font gets divided into multiple Type1 fonts, - each containing one plane of up to 256 glyphs. But with a little - creativity this concept may be used for other purposes of combining - multiple translation maps into one file. To extract multiple planes - from a TTF font ttf2pt1 must be run multiple times, each time with - a different plane name specified. - - The default original TTF encoding table used for the option '-L' is - Unicode. The map files may include directives to specify different original - TTF encodings. However if the pid/eid pair is specified with - it overrides any original encoding specified in the map file. - --m type=value - Set maximal or minimal limits of resources. - These limits control the the font generation by limiting the resources - that the font is permitted to require from the PostScript interpreter. - The currently supported types of limits are: - - h - the maximal hint stack depth for the substituted hints. - The default value is 128, according to the limitation in X11. This seems to - be the lowest (and thus the safest) widespread value. To display the - hint stack depth required by each glyph in a .t1a file use the script - scripts/cntstems.pl. - --O suboptions - Outline processing options. The suboptions - may be lowercase or uppercase, the lowercase ones disable the features, - the corresponding uppercase suboptions enable the same features. - The suboptions to disable/enable features are: - - b/B - Guessing of the ForceBold parameter. This parameter helps - the Type1 engine to rasterize the bold fonts properly at small sizes. - But the algorithm used to guess the proper value of this flag makes - that guess based solely on the font name. In rare cases that may cause - errors, in these cases you may want to disable this guessing. - Default: enabled - - h/H - Autogeneration of hints. The really complex outlines - may confuse the algorithm, so theoretically it may be useful - sometimes to disable them. Although up to now it seems that - even bad hints are better than no hints at all. - Default: enabled - - u/U - Hint substitution. Hint substitution is a technique - permitting generation of more detailed hints for the rasterizer. It allows - to use different sets of hints for different parts of a glyph and change - these sets as neccessary during rasterization (that's why "substituted"). - So it should improve the quality of the fonts rendered at small sizes. - But there are two catches: First, the X11 library has rather low limit for - the font size. More detailed hints increase the file size and thus increase - the chance of hitting this limit (that does not mean that you shall hit it - but you may if your fonts are particularly big). This is especially - probable for Unicode fonts converted with option '-a', so you may want to - use '-a' together with '-Ou'. See app/X11/README for the description of - a patch to X11 which fixes this problem. Second, some rasterizers (again, - X11 is the typical example) have a limitation for total number of hints - used when drawing a glyph (also known as the hint stack depth). If that - stack overflows the glyph is ignored. Starting from version 3.22 ttf2pt1 - uses algorithms to minimizing this depth, with the trade-off of slightly - bigger font files. The glyphs which still exceed the limit set by option - '-mh' have all the substituted hints removed and only base hints left. - The algorithms seem to have been refined far enough to make the fonts with - substituted hints look better than the fonts without them or at least the - same. Still if the original fonts are not well-designed the detailed - hinting may emphasize the defects of the design, such as non-even thickness - of lines. So provided that you are not afraid of the X11 bug the best idea - would be to generate a font with this feature and without it, then compare - the results using the program other/cmpf (see the description - in other/README) and decide which one looks better. - Default: enabled - - o/O - Space optimization of the outlines' code. This kind of optimization - never hurts, and the only reason to disable this feature is for comparison - of the generated fonts with the fonts generated by the previous versions of - converter. Well, it _almost_ never hurts. As it turned out there exist - some brain-damaged printers which don't understand it. Actually this - feature does not change the outlines at all. The Type 1 font manual - provides a set of redundant operators that make font description shorter, - such as '10 hlineto' instead of '0 10 rlineto' to describe a horizontal - line. This feature enables use of these operators. - Default: enabled - - s/S - Smoothing of outlines. If the font is broken in some - way (even the ones that are not easily noticeable), such smoothing - may break it further. So disabling this feature is the first thing to be - tried if some font looks odd. But with smoothing off the hint generation - algorithms may not work properly too. - Default: enabled - - t/T - Auto-scaling to the 1000x1000 Type1 standard matrix. The - TTF fonts are described in terms of an arbitrary matrix up to - 4000x4000. The converted fonts must be scaled to conform to - the Type1 standard. But the scaling introduces additional rounding - errors, so it may be curious sometimes to look at the font in its - original scale. - Default: enabled - - v/V - Do vectorization on the bitmap fonts. Functionally - "vectorization" is the same thing as "autotracing", a different word is - used purely to differentiate it from the Autotrace library. It tries to - produce nice smooth outlines from bitmaps. This feature is still a work - in progress though the results are already mostly decent. - Default: disabled - - w/W - Glyphs' width corection. This option is designed to be - used on broken fonts which specify too narrow widths for the - letters. You can tell that a font can benefit from this option - if you see that the characters are smashed together without - any whitespace between them. This option causes the converter - to set the character widths to the actual width of this character - plus the width of a typical vertical stem. But on the other hand - the well-designed fonts may have characters that look better if - their widths are set slightly narrower. Such well-designed fonts - will benefit from disabling this feature. You may want to convert - a font with and without this feature, compare the results and - select the better one. This feature may be used only on proportional - fonts, it has no effect on the fixed-width fonts. - Default: disabled - - z/Z - Use the Autotrace library on the bitmap fonts. The results - are horrible and the use of this option is not recommended. This option is - present for experimental purposes. It may change or be removed in the - future. The working tracing can be achieved with option -OV. - Default: disabled - --p parser_name - Use the specified front-end parser to read the font file. - If this option is not used, ttf2pt1 selects the parser automatically based - on the suffix of the font file name, it uses the first parser in its - list that supports this font type. Now two parsers are supported: - - ttf - built-in parser for the ttf files (suffix .ttf) - bdf - built-in parser for the BDF files (suffix .bdf) - ft - parser based on the FreeType-2 library (suffixes .ttf, - .otf, .pfa, .pfb) - - The parser ft is NOT linked in by default. See Makefile - for instructions how to enable it. We do no support this parser on - Windows: probably it will work but nobody tried and nobody knows how - to build it. - - The conversion of the bitmap fonts (such as BDF) is simplistic yet, - producing jagged outlines. When converting such fonts, it might be - a good idea to turn off the hint substitution (using option -Ou) - because the hints produced will be huge but not adding much to the - quality of the fonts. - --u number - Mark the font with this value as its - UniqueID. The UniqueID is used by the printers with the hard disks - to cache the rasterized characters and thus significantly - speed-up the printing. Some of those printers just can't - store the fonts without UniqueID on their disk.The problem - is that the ID is supposed to be unique, as it name says. And - there is no easy way to create a guaranteed unique ID. Adobe specifies - the range 4000000-4999999 for private IDs but still it's difficult - to guarantee the uniqueness within it. So if you don't really need the - UniqueID don't use it, it's optional. Luckily there are a few millions of - possible IDs, so the chances of collision are rather low. - If instead of the number a special value 'A' is given - then the converter generates the value of UniqueID automatically, - as a hash of the font name. (NOTE: in the version 3.22 the - algorithm for autogeneration of UniqueID was changed to fit the values - into the Adobe-spacified range. This means that if UniqueIDs were used - then the printer's cache may need to be flushed before replacing the - fonts converted by an old version with fonts converted by a newer version). - A simple way to find if any of the fonts in a given directory have - duplicated UniqueIDs is to use the command: - - cat *.pf[ab] | grep UniqueID | sort | uniq -c | grep -v ' 1 ' - - Or if you use scripts/convert it will do that for you automatically - plus it will also give the exact list of files with duplicate UIDs. - --v size - Re-scale the font to get the size of a typical uppercase - letter somewhere around the specified size. Actually, it re-scales - the whole font to get the size of one language-dependent letter to be - at least of the specified size. Now this letter is "A" in all the - supported languages. The size is specified in the points of the - Type 1 coordinate grids, the maximal value is 1000. This is an - experimental option and should be used with caution. It tries to - increase the visible font size for a given point size and thus make - the font more readable. But if overused it may cause the fonts to - look out of scale. As of now the interesting values of size for - this option seem to be located mostly between 600 and 850. This - re-scaling may be quite useful but needs more experience to - understand the balance of its effects. - --W level - Select the verbosity level of the warnings. - Currently the levels from 0 to 4 are supported. Level 0 means no warnings - at all, level 4 means all the possible warnings. The default level is 3. - Other levels may be added in the future, so using the level number 99 is - recommended to get all the possible warnings. Going below level 2 is - not generally recommended because you may miss valuable information about - the problems with the fonts being converted. - -Obsolete option: --A - Print the font metrics (.afm file) instead of the font on STDOUT. - Use -GA instead. - -Very obsolete option: - The algorithm that implemented the forced fixed width had major - flaws, so it was disabled. The code is still in the program and - some day it will be refined and returned back. Meanwhile the - option name '-f' was reused for another option. The old version was: --f - Don't try to force the fixed width of font. Normally the converter - considers the fonts in which the glyph width deviates by not more - than 5% as buggy fixed width fonts and forces them to have really - fixed width. If this is undesirable, it can be disabled by this option. - -The .pfa font format supposes that the description of the characters -is binary encoded and encrypted. This converter does not encode or -encrypt the data by default, you have to specify the option '-e' -or use the t1asm program to assemble (that means, encode and -encrypt) the font program. The t1asm program that is included with -the converter is actually a part of the t1utils package, rather old -version of which may be obtained from - - http://ttf2pt1.sourceforge.net/t1utils.tar.gz - -Note that t1asm from the old version of that package won't work properly -with the files generated by ttf2pt1 version 3.20 and later. Please use -t1asm packaged with ttf2pt1 or from the new version t1utils -instead. For a newer version of t1utils please look at - - http://www.lcdf.org/~eddietwo/type/ - -So, the following command lines: - - ttf2pt1 -e ttffont.ttf t1font - ttf2pt1 ttffont.ttf - | t1asm >t1font.pfa - -represent two ways to get a working font. The benefit of the second form -is that other filters may be applied to the font between the converter -and assembler. - -Installation and deinstallation of the converter ------------------------------------------------- - -The converter may be easily installed systemwide with - - make install - -and uninstalled with - - make uninstall - -By default the Makefile is configured to install in the hierarchy -of directory /usr/local. This destination directory as well as -the structure of the hierarchy may be changed by editing the Makefile. - -Installation of the fonts -------------------------- - -Running the converter manually becomes somewhat boring if it has to -be applied to a few hundreds of fonts and then you have to generate the -fonts.scale and/or Fontmap files. The FONTS file describes how to use -the supplied scripts to handle such cases easily. It also discusses -the installation of the fonts for a few widespread programs. - -Other utilities ---------------- - -A few other small interesting programs that allow a cloase look at -the fonts are located in the subdirectory 'other'. They -are described shortly in others/README. - -Optional packages ------------------ - -Some auxiliary files are not needed by everyone and are big enough that -moving them to a separate package speeds up the downloads of the main -package significantly. As of now we have one such optional package: - - ttf2pt1-chinese - contains the Chinese conversion maps - -The general versioning policy for the optional packages is the following: -These packages may have no direct dependency on the ttf2pt1 version. -But they may be updated in future, as well as some versions of optional -packages may have dependencies on certain versions of ttf2pt1. -To avoid unneccessary extra releases on one hand and keep the updates in -sync with the ttf2pt1 itself on the other hand, a new version of an optional -package will be released only if there are any changes to it and it will be -given the same version number as ttf2pt1 released at the same time. So not -every release of ttf2pt1 would have a corresponding release of all optional -packages. For example, to get the correct version of optional packages for an -imaginary release 8.3.4 of ttf2pt1 you would need to look for optional -packages of the highest version not higher than (but possibly equal to) 8.3.4. - -TO DO: ------- - -- Improve hinting. -- Improve the auto-tracing of bitmaps. -- Implement the family-level hints. -- Add generation of CID-fonts. -- Handle the composite glyphs with relative base points. -- Preserve the relative width of stems during scaling to 1000x1000 matrix. -- Add support for bitmap TTF fonts. -- Implement better support of Asian encodings. -- Implement automatic creation of ligatures. - -TROUBLESHOOTING AND BUG REPORTS -------------------------------- - -Have problems with conversion of some font ? The converter dumps core ? Or your -printer refuses to understand the converted fonts ? Or some characters are -missing ? Or some characters look strange ? - -Send the bug reports to the ttf2pt1 development mailing list at -ttf2pt1-devel@lists.sourceforge.net. - -Try to collect more information about the problem and include it into -the bug report. (Of course, even better if you would provide a ready -fix, but just a detailed bug report is also good). Provide detailed -information about your problem, this will speed up the response greatly. -Don't just write "this font looks strange after conversion" but describe -what's exactly wrong with it: for example, what characters look wrong -and what exactly is wrong about their look. Providing a link to the -original font file would be also a good idea. Try to do a little -troublehooting and report its result. This not only would help with -the fix but may also give you a temporary work-around for the bug. - -First, enable full warnings with option '-W99', save them to -a file and read carefully. Sometimes the prolem is with a not implemented -feature which is reported in the warnings. Still, reporting about such -problems may be a good idea: some features were missed to cut corners, -in hope that no real font is using them. So a report about a font using -such a feature may motivate someone to implement it. Of course, you -may be the most motivated person: after all, you are the one wishing -to convert that font. ;-) Seriously, the philosophy "scrath your own itch" -seems to be the strongest moving force behind the Open Source software. - -The next step is playing with the options. This serves a dual purpose: -on one hand, it helps to localize the bug, on the other hand you may be -able to get a working version of the font for the meantime while the -bug is being fixed. The typical options to try out are: first '-Ou', if -it does not help then '-Os', then '-Oh', then '-Oo'. -They are described in a bit more detail above. Try them one by one -and in combinations. See if with them the resulting fonts look better. - -On some fonts ttf2pt1 just crashes. Commonly that happens because the -font being converted is highly defective (although sometimes the bug -is in ttf2pt1 itself). In any case it should not crash, so the reports -about such cases will help to handle these defects properly in future. - -We try to respond to the bug reports in a timely fashion but alas, this -may not always be possible, especially if the problem is complex. -This is a volunteer project and its resources are limited. Because -of this we would appreciate bug reports as detailed as possible, -and we would appreciate the ready fixes and contributions even more. - -CONTACTS --------- - -ttf2pt1-announce@lists.sourceforge.net - The mailing list with announcements about ttf2pt1. It is a moderated mailing - with extremely low traffic. Everyone is encouraged to subscribe to keep in - touch with the current status of project. To subscribe use the Web interface - at http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-announce. - If you have only e-mail access to the Net then send a subscribe request to - the development mailing list ttf2pt1-devel@lists.sourceforge.net and somebody - will help you with subscription. - -ttf2pt1-devel@lists.sourceforge.net -ttf2pt1-users@lists.sourceforge.net - The ttf2pt1 mailing lists for development and users issues. They have not - that much traffic either. To subscribe use the Web interface at - http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-devel - and http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-users. - If you have only e-mail access to the Net then send a subscribe request to - the development mailing list ttf2pt1-devel@lists.sourceforge.net and somebody - will help you with subscription. - -mheath@netspace.net.au - Mark Heath - -A.Weeks@mcc.ac.uk - Andrew Weeks - -babkin@users.sourceforge.net (preferred) -sab123@hotmail.com -http://members.bellatlantic.net/~babkin - Sergey Babkin - -SEE ALSO --------- - -http://ttf2pt1.sourceforge.net - The main page of the project. - -http://www.netspace.net.au/~mheath/ttf2pt1/ - The old main page of the project. - -http://sourceforge.net/projects/gnuwin32 - Precompiled binaries for Windows. - -http://www.lcdf.org/~eddietwo/type/ - The home page of the Type 1 utilities package. - -http://www.rightbrain.com/pages/books.html - The first book about PostScript on the Web, "Thinking in PostScript". - -http://fonts.apple.com/TTRefMan/index.html - The True Type reference manual. - -http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf - Adobe PostScript reference manual. - -http://partners.adobe.com/asn/developer/PDFS/TN/T1_SPEC.PDF - Specification of the Type 1 font format. - -http://partners.adobe.com/asn/developer/PDFS/TN/5015.Type1_Supp.pdf - The Type 1 font format supplement. - -http://partners.adobe.com/asn/developer/PDFS/TN/5004.AFM_Spec.pdf - Specification of the Adobe font metrics file format. - -http://www.cs.wpi.edu/~matt/courses/cs563/talks/surface/bez_surf.html -http://www.cs.wpi.edu/~matt/courses/cs563/talks/curves.html - Information about the Bezier curves. - -http://www.neuroinformatik.ruhr-uni-bochum.de/ini/PEOPLE/rmz/t1lib/t1lib.html - A stand-alone library supporting the Type1 fonts. Is neccessary - to compile the programs other/cmpf and other/dmpf. - -http://www.freetype.org - A library supporting the TTF fonts. Also many useful TTF programs - are included with it. - -http://heliotrope.homestead.com/files/printsoft.html - Moses Gold's collection of links to printing software. - -http://linuxartist.org/fonts/ - Collection of font-related links. - ----------------------------------------------------------------------- ----------------------------------------------------------------------- - -Following is the Readme of ttf2pfa (true type to type 3 font converter) It -covers other issues regarding the use of this software. Please note that -although ttf2pfa is a public domain software, ttf2pt1 -is instead covered by an Open Source license. See the COPYRIGHT -file for details. - -Please note also that ttf2pfa has not been maintained for a long time. -All of its functionality has been integrated into ttf2pt1 and all the -development moved to ttf2pt1, including Andrew Weeks, the author of -ttf2pfa. Ttf2pfa is provided for historical reasons only. Please use -ttf2pt1 instead. - ----------------------------------------------------------------------- - -True Type to Postscript Font converter --------------------------------------- - -My mind is still reeling from the discovery that I was able to write -this program. What it does is it reads a Microsoft TrueType font and -creates a Postscript font. '_A_ postscript font', that is, not necessarily -the same font, you understand, but a fair imitation. - -Run it like this: - - ttf2pfa fontfile.ttf fontname - -The first parameter is the truetype filename, the second is a stem for -the output file names. The program will create a fontname.pfa containing -the Postscript font and a fontname.afm containing the metrics. - -The motivation behind this is that in Linux if you do not have a -Postscript printer, but only some other printer, you can only print -Postscript by using Ghostscript. But the fonts that come with -Ghostscript are very poor (they are converted from bitmaps and look -rather lumpy). This is rather frustrating as the PC running Linux -probably has MS-Windows as well and will therefore have truetype fonts, -but which are quite useless with Linux, X or Ghostscript. - -The program has been tested on over a hundred different TrueType fonts -from various sources, and seems to work fairly well. The converted -characters look OK, and the program doesn't seem to crash any more. I'm -not sure about the AFM files though, as I have no means to test them. - -The fonts generated will not work with X, as the font rasterizer that -comes with X only copes with Type 1 fonts. If I have the time I may -modify ttf2pfa to generate Type 1s. - -Copyright issues ----------------- - -I am putting this program into the public domain, so don't bother -sending me any money, I'd only have to declare it for income tax. - -Copyright on fonts, however, is a difficult legal question. Any -copyright statements found in a font will be preserved in the output. -Whether you are entitled to translate them at all I don't know. - -If you have a license to run a software package, like say MS-Windows, on -your PC, then you probably have a right to use any part of it, including -fonts, on that PC, even if not using that package for its intended -purpose. - -I am not a lawyer, however, so this is not a legal opinion, and may be -garbage. - -There shouldn't be a any problem with public domain fonts. - -About the Program ------------------ - -It was written in C on a IBM PC running Linux. - -The TrueType format was originally developed by Apple for the MAC, which -has opposite endianness to the PC, so to ensure compatibility 16 and 32 -bit fields are the wrong way round from the PC's point of view. This is -the reason for all the 'ntohs' and 'ntohl' calls. Doing it this way -means the program will also work on big-endian machines like Suns. - -I doubt whether it will work on a DOS-based PC though. - -The program produces what technically are Type 3 rather than Type 1 -fonts. They are not compressed or encrypted and are plain text. This is -so I (and you) can see what's going on, and (if you're a Postscript guru -and really want to) can alter the outlines. - -I only translate the outlines, not the 'instructions' that come with -them. This latter task is probably virtually impossible anyway. TrueType -outlines are B-splines rather than the Bezier curves that Postscript -uses. I believe that my conversion algorithm is reasonably correct, if -nothing else because the characters look right. - -Problems that may occur ------------------------ - -Most seriously, very complex characters (with lots of outline segments) -can make Ghostscript releases 2.x.x fail with a 'limitcheck' error. It -is possible that this may happen with some older Postscript printers as -well. Such characters will be flagged by the program and there are -basically two things you can do. First is to edit the .pfa file to -simplify or remove the offending character. This is not really -recommended. The second is to use Ghostscript release 3, if you can get -it. This has much larger limits and does not seem to have any problems -with complex characters. - -Then there are buggy fonts (yes, a font can have bugs). I try to deal -with these in as sane a manner as possible, but it's not always -possible. - -Encodings ---------- - -A postscript font must have a 256 element array, called an encoding, -each element of which is a name, which is also the name of a procedure -contained within the font. The 'BuildChar' command takes a byte and uses -it to index the encoding array to find a character name, and then looks -that up in the font's procedure table find the commands to draw the -glyph. However, not all characters need be in the encoding array. Those -that are not cannot be drawn (at least not using 'show'), however it is -possible to 're-encode' the font to enable these characters. There are -several standard encodings: Adobe's original, ISO-Latin1 and Symbol -being the most commonly encountered. - -TrueType fonts are organised differently. As well as the glyph -descriptions there are a number of tables. One of these is a mapping -from a character set into the glyph array, and another is a mapping from -the glyph array into a set of Postscript character names. The problems -are: - 1) Microsoft uses Unicode, a 16-bit system, to encode the font. - 2) that more than one glyph is given the same Postscript name. - -I deal with (1) by assuming a Latin1 encoding. The MS-Windows and -Unicode character sets are both supersets of ISO-8859-1. This usually -means that most characters will be properly encoded, but you should be -warned that some software may assume that fonts have an Adobe encoding. -Symbol, or Dingbat, fonts are in fact less of a problem, as they have -private encodings starting at 0xF000. It is easy to just lose the top -byte. - -Postscript fonts can be re-encoded, either manually, or by software. -Groff, for example, generates postscript that re-encodes fonts with the -Adobe encoding. The problem here is that not all characters in the Adobe -set are in the MS-Windows set. In particular there are no fi and fl -ligatures. This means that conversions of the versions of -Times-New-Roman and Arial that come with MS-Windows cannot be used -blindly as replacements for Adobe Times-Roman and Helvetica. You can get -expanded versions of MS fonts from Microsoft's web site which do contain -these ligatures (and a lot else besides). - -I deal with (2) by creating new character names. This can be error-prone -because I do not know which of them is the correct glyph to give the -name to. Some (buggy) fonts have large numbers of blank glyphs, all with -the same name. - -(almost every TrueType font has three glyphs called .notdef, one of them -is usually an empty square shape, one has no outline and has zero width, -and one has no outline and a positive width. This example is not really -a problem with well formed fonts since the .notdef characters are only -used for unprintable characters, which shouldn't occur in your documents -anyway). diff -Nru ttf2ufm-3.4.4~r2/app/RPM/Makefile ttf2ufm-3.4.4~r2+gbp/app/RPM/Makefile --- ttf2ufm-3.4.4~r2/app/RPM/Makefile 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/app/RPM/Makefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,279 +0,0 @@ - -# This file should be configured before running `make'. -# Uncomment or change the values that are relevant for your OS. - -# The preferred C compiler (by default use the OS-specific default value). -# For BSD/OS, FreeBSD, Linux (all flavors), NetBSD, OpenBSD the default -# compiler is GNU C. -# (Note please the politically correct ordering by alphabet ! :-) -# -# Use GNU C even if it's not the default compiler -# -CC=gcc -# -# Use the standard ANSI C compiler on HP-UX even if it's not default -# -#CC=c89 - -# -# The system-dependent flags for the C compiler -# -# Default - -CFLAGS_SYS= -O2 -D_GNU_SOURCE - -# For GNU C -# -CFLAGS_SYS= -O2 -D_GNU_SOURCE -# -# For GNU C with long options support library (Linux etc.) -# -CFLAGS_SYS= -O2 -D_GNU_SOURCE -# -# For GNU C on HP-UX/PA-RISC 1.1 -# -#CFLAGS_SYS= -O2 -Wa,-w -# -# For the standard ANSI C on HP-UX -# -#CFLAGS_SYS= +O2 -D_HPUX_SOURCE - -# -# The system-dependent libraries -# -# Defalut (for the BSD-style OSes) - -LIBS_SYS= -lm - -# For SystemV (such as SCO, UnixWare, Solaris, but _NOT_ Linux or HP-UX) -# -#LIBS_SYS= -lm -lsocket - -# -# The flags for C compiler for the FreeType-2 library (disabled by default). -# This WON'T BUILD with FT2-beta8, use the FreeType release 2.0.4 -# http://download.sourceforge.net/freetype/freetype-2.0.4.tar.gz - -CFLAGS_FT= - -# To enable use of the FreeType-2 library -# (if the include and lib directory do not match your installation, -# modify them), also uncomment LIBS_FT -# -#CFLAGS_FT = -DUSE_FREETYPE -I/usr/include/freetype2 -I/usr/include - -# -# The FreeType-2 library flags (disabled by default) - -LIBS_FT= - -# To enable use of the FreeType-2 library -# (if the include and lib directory do not match your installation, -# modify them), also uncomment CFLAGS_FT -# -#LIBS_FT= -L/usr/lib -lfreetype - -# -# The flags for C compiler for the Autotrace library (disabled by default). -# USE OF THIS FEATURE IS STRONGLY DISCOURAGED, THE BUILT-IN TRACING -# (AKA VECTORIZATION) PROVIDES MUCH BETTER RESULTS. -# The tested version is 0.29a (and the fonts produced with it are -# absolutely not usable). -# http://download.sourceforge.net/autotrace/autotrace-0.29.tar.gz - -CFLAGS_AT= - -# To enable use of the Autotrace library -# (if the include and lib directory do not match your installation, -# modify them), also uncomment LIBS_AT -# -#CFLAGS_AT = -DUSE_AUTOTRACE -I/usr/local/include - -# -# The Autotrace library flags (disabled by default) - -LIBS_AT= - -# To enable use of the Autotrace library -# (if the include and lib directory do not match your installation, -# modify them), also uncomment CFLAGS_AT -# -#LIBS_AT= -L/usr/local/lib -lautotrace - -# -# Preference of front-ends if multiple parsers match a file -# (by default the build-in front-end takes preference over FreeType) - -CFLAGS_PREF= - -# To prefer FreeType (if enabled): -# -#CFLAGS_PREF= -DPREFER_FREETYPE - -# Uncomment the second line to not compile t1asm into ttf2pt1 -CFLAGS_EXTT1ASM= -#CFLAGS_EXTT1ASM= -DEXTERNAL_T1ASM - -CFLAGS= $(CFLAGS_SYS) $(CFLAGS_FT) $(CFLAGS_AT) $(CFLAGS_PREF) -LIBS= $(LIBS_SYS) $(LIBS_FT) $(LIBS_AT) - -# Installation-related stuff -# -# The base dir for installation and subdirs in it -INSTDIR = /home/eclecticgeek/apps -# for binaries -BINDIR = $(INSTDIR)/bin -# for binaries of little general interest -LIBXDIR = $(INSTDIR)/libexec/ttf2pt1 -# for scripts, maps/encodings etc. -SHAREDIR = $(INSTDIR)/share/ttf2pt1 -MANDIR = $(INSTDIR)/man - -# owner and group of installed files -OWNER = eclecticgeek -GROUP = pg1755828 - -# After you have configured the Makefile, comment out the following -# definition: -##warning: docs -## @echo >&2 -## @echo " You have to configure the Makefile before running make!" >&2 -## @echo "(or if you are lazy and hope that it will work as is run \`make all')">&2 -## @echo >&2 -# -DOCS=CHANGES README FONTS FONTS.hpux encodings/README other/README \ - app/X11/README app/netscape/README app/TeX/README - -SUBDIRS = app encodings maps scripts other -TXTFILES = README* FONTS* CHANGES* COPYRIGHT - -MANS1=ttf2pt1.1 ttf2pt1_convert.1 ttf2pt1_x2gs.1 -MANS=$(MANS1) $(MANS5) - -all: t1asm ttf2pt1 docs mans rpm - -docs: $(DOCS) - -mans: $(MANS) - -clean: - rm -f t1asm ttf2pt1 *.o app/RPM/Makefile app/RPM/*.spec *.core core.* core - ( cd other && make clean; ) - ( cd app/netscape && make clean; ) - -veryclean: clean - rm -f $(DOCS) $(MANS) - -rpm: app/RPM/Makefile app/RPM/ttf2pt1.spec - -ttf2pt1.1: README.html - scripts/html2man . . app/RPM/Makefile -# -app/RPM/ttf2pt1.spec: app/RPM/ttf2pt1.spec.src version.h - sed 's/^Version:.*/Version: '`grep TTF2PT1_VERSION version.h| cut -d\" -f2`'/' $@ - -t1asm: t1asm.c - $(CC) $(CFLAGS) -o t1asm -DSTANDALONE t1asm.c $(LIBS) - -ttf2pt1.o: ttf2pt1.c ttf.h pt1.h global.h version.h - $(CC) $(CFLAGS) -c ttf2pt1.c - -pt1.o: pt1.c ttf.h pt1.h global.h - $(CC) $(CFLAGS) -c pt1.c - -ttf.o: ttf.c ttf.h pt1.h global.h - $(CC) $(CFLAGS) -c ttf.c - -ft.o: ft.c pt1.h global.h - $(CC) $(CFLAGS) -c ft.c - -bdf.o: bdf.c pt1.h global.h - $(CC) $(CFLAGS) -c bdf.c - -bitmap.o: bitmap.c pt1.h global.h - $(CC) $(CFLAGS) -c bitmap.c - -runt1asm.o: runt1asm.c global.h - $(CC) $(CFLAGS) $(CFLAGS_EXTT1ASM) -c runt1asm.c - -ttf2pt1: ttf2pt1.o pt1.o runt1asm.o ttf.o ft.o bdf.o bitmap.o - $(CC) $(CFLAGS) -o ttf2pt1 ttf2pt1.o pt1.o runt1asm.o ttf.o ft.o bdf.o bitmap.o $(LIBS) - -CHANGES: CHANGES.html - scripts/unhtml CHANGES - -README: README.html - scripts/unhtml README - -encodings/README: encodings/README.html - scripts/unhtml encodings/README - -other/README: other/README.html - scripts/unhtml other/README - -app/X11/README: app/X11/README.html - scripts/unhtml app/X11/README - -app/netscape/README: app/netscape/README.html - scripts/unhtml app/netscape/README - -app/TeX/README: app/TeX/README.html - scripts/unhtml app/TeX/README - -FONTS: FONTS.html - scripts/unhtml FONTS - -FONTS.hpux: FONTS.hpux.html - scripts/unhtml FONTS.hpux - -install: all - scripts/inst_dir $(BINDIR) $(OWNER) $(GROUP) 0755 - scripts/inst_dir $(LIBXDIR) $(OWNER) $(GROUP) 0755 - scripts/inst_dir $(SHAREDIR) $(OWNER) $(GROUP) 0755 - scripts/inst_dir $(MANDIR)/man1 $(OWNER) $(GROUP) 0755 - scripts/inst_dir $(MANDIR)/man5 $(OWNER) $(GROUP) 0755 - cp -R $(TXTFILES) $(SUBDIRS) $(SHAREDIR) - chown -R $(OWNER) $(SHAREDIR) - chgrp -R $(GROUP) $(SHAREDIR) - chmod -R go-w $(SHAREDIR) - scripts/inst_file ttf2pt1 $(BINDIR)/ttf2pt1 $(OWNER) $(GROUP) 0755 - [ -f $(BINDIR)/t1asm ] || scripts/inst_file t1asm $(LIBXDIR)/t1asm $(OWNER) $(GROUP) 0755 - sed -e 's|^TTF2PT1_BINDIR=$$|TTF2PT1_BINDIR=$(BINDIR)|;' \ - -e 's|^TTF2PT1_LIBXDIR=$$|TTF2PT1_LIBXDIR=$(LIBXDIR)|;' \ - -e 's|^TTF2PT1_SHAREDIR=$$|TTF2PT1_SHAREDIR=$(SHAREDIR)|;' cvt.tmp - scripts/inst_file cvt.tmp $(BINDIR)/ttf2pt1_convert $(OWNER) $(GROUP) 0755 - scripts/inst_file cvt.tmp $(SHAREDIR)/scripts/convert $(OWNER) $(GROUP) 0755 - rm cvt.tmp - scripts/inst_file scripts/x2gs $(BINDIR)/ttf2pt1_x2gs $(OWNER) $(GROUP) 0755 - for i in $(MANS1); do { \ - sed -e 's|TTF2PT1_BINDIR|$(BINDIR)|;' \ - -e 's|TTF2PT1_LIBXDIR|$(LIBXDIR)|;' \ - -e 's|TTF2PT1_SHAREDIR|$(SHAREDIR)|;' <$$i >$(MANDIR)/man1/$$i \ - && chown $(OWNER) $(MANDIR)/man1/$$i \ - && chgrp $(GROUP) $(MANDIR)/man1/$$i \ - && chmod 0644 $(MANDIR)/man1/$$i \ - || exit 1; \ - } done - -uninstall: - rm -f $(BINDIR)/ttf2pt1 $(BINDIR)/ttf2pt1_convert $(BINDIR)/ttf2pt1_x2gs - rm -rf $(LIBXDIR) - rm -rf $(SHAREDIR) - for i in $(MANS1); do { \ - rm -f $(MANDIR)/man1/$$i $(MANDIR)/man1/$$i.gz; \ - } done - - -# targets for automatic generation of releases and snapshots - -snapshot: - scripts/mkrel snapshot - -release: - scripts/mkrel release diff -Nru ttf2ufm-3.4.4~r2/app/RPM/ttf2pt1.spec ttf2ufm-3.4.4~r2+gbp/app/RPM/ttf2pt1.spec --- ttf2ufm-3.4.4~r2/app/RPM/ttf2pt1.spec 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/app/RPM/ttf2pt1.spec 1970-01-01 00:00:00.000000000 +0000 @@ -1,40 +0,0 @@ -Summary: TrueType to Adobe Type 1 font converter -Name: ttf2pt1 -Version: 3.4.4 -Release: 1jv -Source: %{name}-%{version}.tgz -Copyright: Distributable -Group: Utilities/Printing -BuildRoot: /var/tmp/ttf2pt1 - -%description - * True Type Font to Adobe Type 1 font converter - * By Mark Heath - * Based on ttf2pfa by Andrew Weeks - * With help from Frank M. Siegert - -%prep -%setup - -%build -make all - -%install -rm -fr $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT/usr/local/bin -mkdir -p $RPM_BUILD_ROOT/usr/local/share/%{name} -mkdir -p $RPM_BUILD_ROOT/usr/local/doc - -install -s -m 0555 ttf2pt1 $RPM_BUILD_ROOT/usr/local/bin -install -m 0555 scripts/* $RPM_BUILD_ROOT/usr/local/share/%{name} -chmod 0444 $RPM_BUILD_ROOT/usr/local/share/%{name}/convert.cfg.sample - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%defattr(644, root, root, 755) -%doc README README.html INSTALL INSTALL.html -/usr/local/bin/ttf2pt1 -/usr/local/share/%{name} - diff -Nru ttf2ufm-3.4.4~r2/app/TeX/README ttf2ufm-3.4.4~r2+gbp/app/TeX/README --- ttf2ufm-3.4.4~r2/app/TeX/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/app/TeX/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -Scripts to support CJK-LaTeX - -by Mike Fabian - - -The tiny Perl-script 'sfd2map' converts .sfd files (as used by -CJK-LaTeX) to .map files (as used by ttf2pt1). - -Actually I currently don't use that script stand-alone for performance -reasons. - -Currently I use such a conversion in another small script 'cjk-latex-config' -(attached as well) which creates .tfm files usable with CJK-LaTeX -from TrueType fonts as listed in /etc/ttf2pk/ttfonts.map. When called like - cjk-latex-config --type1 -this script will use ttf2pt1 to generate .pfb files as well from these TrueType -fonts to be used with CJK-LaTeX. - -The .sfd files cannot be directly used as input to ttf2pt1 because the -format of the .map files which ttf2pt1 expects is slightly different, -therefore I made the 'sfd2map' converter script. - -But then I noticed that I would have to parse the generated map file -*again* to get a list of the plane numbers to use. That seemed to be a -bit wastful because I had just parsed the .sfd file to convert it to -.map, therefore I included sfd2map as a function in 'cjk-latex-config' -as well and collected the plane numbers during the conversion. - -But 'cjk-latex-config' is maybe a little bit SuSE specific, therefore -I kept 'sfd2map' also as a standalong script. Use it if you like. - -'cjk-latex-config' calls another small script 'cjk-latex-t1mapgen' -to generate a cjk-latex.map file containing something like - cyberb00 BitstreamCyberbit-Roman-00 , - -These are patches for XFree86 versions 3.3.4 and 3.9 -to fix a few known problems with big Type1 fonts and -with strange handling of the standard stem width table. -The patch for XFree86 3.3.4 probably may be easily -installed on any other distribution of X11. -They are supposed to be installed in the subdirectory - - xc/lib/font/Type1 - -of the X11 source tree and after that the font library, -font server and X server should be rebuilt. - -Sorry that the description has so little details but if -you know how to build X11 then this is enough, otherwise -any more details won't help much. - -The patches have been submitted to the XFree86 project, -hope they will be included in some next release of XFree86 -and X11. diff -Nru ttf2ufm-3.4.4~r2/app/netscape/README ttf2ufm-3.4.4~r2+gbp/app/netscape/README --- ttf2ufm-3.4.4~r2/app/netscape/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/app/netscape/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,180 +0,0 @@ -Installing the fonts in Netscape Navigator - -by Sergey Babkin -, - -This is a collection of supplements to Netscape 4.x on -Unix. Probably they will also work with Netscape 3.x, -possilby with minor modifications. - - Makefile - nsfix.c - psfonts.cf - -This is a program that allows to substitute the font metrics -of any PostScript font in Netscape. - -When Netscape prints the files to PostScript format it uses a -built-in table of character widths. It prints all the fixed-width -characters in the typeface "Courier" and all the variable-width -characters in the typeface "Times". And if the PostScript printer -has these fonts by Adobe then everything goes fine because -the tables inside Netscape are generated from the Adobe fonts. -But if the fonts are different (say, those supplied with Ghostscripts -or the fonts with non-latin characters) then the result is quite -ugly. This program allows to replace the width tables inside -the Netscape executable with the tables for any given font. -The only problem is that Netscape can hold only one set of tables -at once. So if you want to print with different fonts (say, -for different languages or encodings) you will have to make -multiple copies of the executable, tune each of them for its -font and then run them separately. - -I tried to make the program as machine-independent as possible. -But because it patches the binary files it still has the dependencies -on hardware. The default version as supplied was designed for -Intel x86 machines but it should work OK on any machine -with 32-bit CPU and 4Kbyte (or less) page size. If it can't -find the tables matching the font names on some other architecture -the first thing to try would be reduce the `PAGEBITS' definition -in the source code. On the machines with non-page-aligned structure -of executables it won't work at all. I don't know whether would -it work on the 64-bit machines. This may depend on whether the -Netscape executable was compiled in 32-bit or 64-bit mode. For -the 64-bit executables it may be neccessary to change the definition -of the type `tptr' to an 8-byte integer type (probably `long' -or `long long'). Also must be re-compiled for patching of the -Netscape binary for each particular machine architecture because -it assumes the byte order of the current machine. - -It might be possible to create a program that would patch -a running Netscape binary on the fly, that would allow -changing the printing fonts as neccessary when Netscape is -running. But this would be even more platform-dependent, -so I don't feel any enthusiasm about doing that. - -I have tested the program on the Intel machines, Netscape -4.08 and 4.7, OS FreeBSD (both a.out and ELF formats of the -Netscape binary) and UnixWare. - -After all these scary issues are resolved the compiling -is easy: just run `make'. - -To command to patch the Netscape is: - ./nsfix - -Please make a copy of the original Netscape binary before -patching in case anything goes wrong. Patch the copy, test -that it works OK and only then install it. The configuration -file describes the fonts that are to be used. An example -is provided in the file psfonts.cf. - -Each line in the configuration file consists of 4 -columns: - - - -For example, the following line from my configuration file: - -Courier /usr/lib/X11/fonts/ttf/cokoi8n.koi8-r .afm .pfa - -says that the font `Courier' will be replaced with the -font taken from the file `/usr/lib/X11/fonts/ttf/cokoi8n.koi8-r.pfa' -and the metrics for that font will be taken from the file -`/usr/lib/X11/fonts/ttf/cokoi8n.koi8-r.afm' . - -One more caveat: the new font must have a proper encoding -table. Some fonts contain characters for multiple encodings -hoping that the program wil re-encode them as neccessary. -This won't work in this case, only the primary encoding table -of the font will be used. - - nsfilter - nsprint - psfonts.cf - -These are the filters for printing from Netscape. - -Changing the metrics is not the end of the story. This will -provide proper placement of the characters but not the -characters themselves. There are a few ways to provide -the characters: - -First, if you use GhostScript you may configure proper -aliases in the GhostScript configuration file. We will -consider this variant trivial and won't discuss it furter -except for one caveat: Netscape tries to re-encode the -fonts per the ISO Latin-1 encoding. If the primary encoding -of the font is different this cause unexpected effects. -So you still may consider using the filters (at least in a -simplified form) to solve this problem. - -Second, load the fonts right into your printer. This is -very much like configuring GhostScript. - -Third, use the provided filters. The script `nsfilter' -reads the output of Netscape on its standard input and -puts the result to its standard output. It uses the same -configuration file `psfonts.cf' as `nsfix'. First it -looks for the configuration file in the user's home -directory ($HOME/.netscape/psfonts.cf) and if the -file it not there then the second guess is the system-wide -configuration file /usr/local/etc/psfonts.cf. The -script inserts the fonts into the output and also -removes the Netscape's experiments with the encodings. - -`nsfilter' is generally intended to be ran by user, not by the -printing subsystem. The reason is that the user may have -changed fonts in his Netscape and the printing subsystem -would have no way to access user's configuration file. -But if all the users are using the same fonts then it -may be incorporated into the printing subsystem and use -the system-wide configuration file. - -The script `nsprint' is purely for convenience, to type it -as a printing command in the Netscape printing window. -It just pipelines the data through `nsfilter' to the -printing program which also gets all the arguments. Please -note that the SystemV-style and BSD-style systems use different -printing programs (although they commonly provide compatibility -with the other style too). The script tries to guess the -type of system and use its native print program, `lp' or -`lpr'. But in case it guesses wrong you may want -to change this in the script. Also if the printer does not support -PostScript directly this script may be a good place to -insert a call to GhostScript. - - notscape - fontsz.cf - -Netscape on Unix has a very annoying "feature", it does -not remember the desired base size of the scalable screen -fonts and always resets it to 12.0 points. Even if the size -is changed manually in its preferences file, Netscape -forgets it after it exits. - -So my solution was to write a program which would change -the size to my favorite one every time right before -starting Netscape. `notscape' is exactly such a program, -it sets the font sizes an then transparently executes -netscape. It takes the font sizes from the file -`$HOME/.netscape/fontsz.cf' . An example of such file -is provided. The format of the file is quite self-explanatory, -for example the lines - -fixed-koi8-r 140 -prop-koi8-r 150 - -mean "set the size of the fixed-width screen font in the -encoding koi8-r to 14.0 points; set the size of the proportional -(variable-width) font in the encoding koi8-r to 15.0 points". - - - nspr -by Zvezdan Petkovic - -To print from Netscape, I usually print to the Postscript file first. -Then I use this small script to change the names of Times and Courier fonts -in the file and remove `/Encoding' lines. After that the file can be -sent to printer. - diff -Nru ttf2ufm-3.4.4~r2/debian/changelog ttf2ufm-3.4.4~r2+gbp/debian/changelog --- ttf2ufm-3.4.4~r2/debian/changelog 2011-08-09 11:26:47.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/debian/changelog 2014-01-28 12:46:01.000000000 +0000 @@ -1,3 +1,10 @@ +ttf2ufm (3.4.4~r2+gbp-1) unstable; urgency=low + + * New upstream version 3.4.4~r2+gbp without upstream binary mess + * Include fix for freetype transition mess (Closes: #733409) + + -- Ondřej Surý Tue, 28 Jan 2014 13:45:44 +0100 + ttf2ufm (3.4.4~r2-1) unstable; urgency=low * Initial release (Closes: #637186) diff -Nru ttf2ufm-3.4.4~r2/debian/patches/0004-fix-freetype-includes.patch ttf2ufm-3.4.4~r2+gbp/debian/patches/0004-fix-freetype-includes.patch --- ttf2ufm-3.4.4~r2/debian/patches/0004-fix-freetype-includes.patch 1970-01-01 00:00:00.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/debian/patches/0004-fix-freetype-includes.patch 2014-01-28 12:46:01.000000000 +0000 @@ -0,0 +1,25 @@ +Description: Fix build failure with freetype 2.5.1 +Author: Juhani Numminen +Bug-Debian: http://bugs.debian.org/733409 + +--- ttf2ufm.orig/ft.c ++++ ttf2ufm/ft.c +@@ -12,12 +12,12 @@ + #include + #include + #include +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include FT_FREETYPE_H ++#include FT_GLYPH_H ++#include FT_SFNT_NAMES_H ++#include FT_TRUETYPE_IDS_H ++#include FT_OUTLINE_H + #include "pt1.h" + #include "global.h" + diff -Nru ttf2ufm-3.4.4~r2/debian/patches/series ttf2ufm-3.4.4~r2+gbp/debian/patches/series --- ttf2ufm-3.4.4~r2/debian/patches/series 2011-08-09 11:26:47.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/debian/patches/series 2014-01-28 12:46:01.000000000 +0000 @@ -1,3 +1,4 @@ 0001-build_with_system_libraries.patch 0002-ttf2pt1_to_ttf2ufm.patch 0003-hack_out_rpm.patch +0004-fix-freetype-includes.patch diff -Nru ttf2ufm-3.4.4~r2/encodings/README ttf2ufm-3.4.4~r2+gbp/encodings/README --- ttf2ufm-3.4.4~r2/encodings/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/encodings/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,47 +0,0 @@ -Sergey A. Babkin - or -(Do not edit this file, it is generated from README.html!!!) - -The Translation Tables ----------------------- - -These translation tables are used to translate the Type 1 fonts between -different encodings of the same language. - -The file names are supposed to have the suffix .tbl. Each file -describes one encoding, and all the tables for a given language -are stored in the same directory. - -The file format is quite simple: just a sequence of rows in -format - - - -The names do not have to conform to any standard, just the same -glyph must have the same name in all the files for a given language. - -Not all the codes need to be described in the tables, the codes that -are not mentioned in the tables are left untranslated. So a file -of zero length may be used in case when no translation is neccessary. - -The translation changes only the encoding table of the font and does not -rename the glyphs in the font file. - -Examples --------- - -The directory `russian' contains the tables for some encodings of the -Russian language: KOI-8, IBM CP-866, IBM CP-1251 and just for fun -ISO-8859/5 (nobody uses it anyways). The tables describe both russian -letters and table graphics characters (except for CP-1251 for which -the table graphics is not defined, so the table graphics portion for -it is just copied from KOI-8). - -The file for ISO-8859/1 is just a copy of file for KOI-8. It is neccessary -because Netscape has rather weird ideas about the documents in -KOI-8 encoding. The common way to fool Netscape is to set the KOI-8 -fonts for the ISO-8859/1 encoding and set the default encoding -in Netscape to 8859/1. - -The directory `latin1' contains an empty table for ISO-8859/1 -because it does not need any translation. diff -Nru ttf2ufm-3.4.4~r2/encodings/bulgarian/README ttf2ufm-3.4.4~r2+gbp/encodings/bulgarian/README --- ttf2ufm-3.4.4~r2/encodings/bulgarian/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/encodings/bulgarian/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -These files are copies of thos provided for the language "cyrillic" -and are provided for compatibility purposes only, please -use the language "cyrillic" instead. diff -Nru ttf2ufm-3.4.4~r2/encodings/russian/README ttf2ufm-3.4.4~r2+gbp/encodings/russian/README --- ttf2ufm-3.4.4~r2/encodings/russian/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/encodings/russian/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -These files are copies of thos provided for the language "cyrillic" -and are provided for compatibility purposes only, please -use the language "cyrillic" instead. diff -Nru ttf2ufm-3.4.4~r2/other/README ttf2ufm-3.4.4~r2+gbp/other/README --- ttf2ufm-3.4.4~r2/other/README 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/other/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,127 +0,0 @@ -Supplements for True Type to PostScript Type 1 Converter - -(Do not edit this file, it is generated from README.html!!!) - -bz --- - -A small program to draw the Bezier curves on an alphanumeric display. -The recommended way of uing it is to run it from xterm with "Tiny" -(if you want higher magnification) or "Unreadable" (if you want -higher resolution) font and as big window size as possible. The size -of the window can be obtained by running "stty -a". For everything else -just "Use the source, Luke!" - -cmpf ----- - -A small program to compare the rendering of two supposedly -nearly-identical fonts at low resolutions. It requires the -T1LIB library. This program may be used to compare the -effect of various options of the converter on the resulting -fonts. Create two .pfa files, one with one set of options, -another with another set of options, then use this program -to compare them. - -dmpf ----- - -A small program to dump the bitmaps of all glyphs of the font -at low pixel sizes, up to 20 pixels. It requires the -T1LIB library. This program may be used to compare the -effect of changes in the T1LIB rasterizer and just for visual -search for rendering anomalies. - -lst.pl ------- - -A simple PERL script that generates an HTML file -with the full list of all characters in all -possible styles of the Variable-width and Fixed-width -fonts. This file is quite convenient to look -at the converted fonts in Netscape (or other -graphical browser). - -cntstems.pl ------- - -A simple PERL script that counts the required hint stack in the -interpreter to rasterize the glyphs of the font. May be quite -useful in search for missing glyphs which may be aborted due to -insufficient stack depth. - -showg ------ - -A PERL script that draws the glyphs and their interesting -metrics (such as coordinates of the dots, hints and blue zones) -in PostScript. It works only with un-encoded font files generated -by ttf2pt1. The intended use is like: - - showg [-c ]... ... >file.ps - gv file.ps # start the Ghostscript viewer - -As you can see, multiple glyphs may be specified. The glyphs may be -specified in one of three ways: - - as a decimal code (for example, 43 ) - - as a glyph name preceded by a slash (for example, /plus ) - - as a literal character preceded by a dot (for example, .+ ) - -So for example the following command would draw the same glyph "left -parenthesis" three times: - - showg file.t1a 40 /parenleft .\( >/file.ps - -Don't forget that some characters have to be protected from the shell -by backslash as shown above, or else the shell would try to interpret -them before passing to the program. - -One file (given as the first argument) is considered the main file -but multiple files can be specified with option -c for visual comparison -of the outlines. The glyphs from the main file are drawn in black -and supplemented with coordinate grid and sidebars for hints. The -glyphs from the comparison files are drawn in slightly lighter colors -(red, cyan, brown) and no supplemental information is provided for them. -Each use of option -c adds one comparison file, this option may be used -multiple times. If there are more than 3 comparison files the colors -repeat cyclically. - -So for example the following command would draw the same glyph "left -parenthesis" from three files on the same page: - - showg -c fileA.t1a -c fileB.t1a file.t1a .\( >/file.ps - -This program is quite valuable it you want to take a close-up view at -the font. - -The outlines are drawn in black, the ends of the curves and -lines are marked as dots, the first dots of the outlines -are fatter. The Blue Zones are drawn in light blue. The -substituted hints are marked in red, the global hints are -marked in blue. The coordinate grid is drawn in green. -The stems and the values of coordinates are for convenience -marked twice, on each size of the picture. - -showdf ------- - -A Perl script to find a list of differing glyphs in two versions of a font -file (for example, converted with different versions of ttf2pt1 or -with different options given to ttf2pt1) and feed this list into the showg -program for display. The intended use is like: - - showdf >file.ps - gv file.ps # start the Ghostscript viewer - -If both showdf and showg scripts are located in the -same directory, the command would look like: - - ./showdf ./showg font1.t1a font2.t1a >file.ps - -For decent results both font files should be converted from the same original -font and contain the same glyphs with the same names in the same order. -Otherwise most probably all the glyphs will be included, or a failure may -happen if some glyph is not found in one of the files. It is also a good -idea to convert the fonts for comparison with hinting disabled, otherwise -the differences in hinting may trigger the otherwise equal glyphs to be shown. - diff -Nru ttf2ufm-3.4.4~r2/ttf2pt1.1 ttf2ufm-3.4.4~r2+gbp/ttf2pt1.1 --- ttf2ufm-3.4.4~r2/ttf2pt1.1 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/ttf2pt1.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,822 +0,0 @@ -.rn '' }` -''' $RCSfile: ttf2pt1.1,v $$Revision: 1.1 $$Date: 2008-03-12 06:35:44 $ -''' -''' $Log: not supported by cvs2svn $ -''' -.de Sh -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp -.if t .sp .5v -.if n .sp -.. -.de Ip -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb -.ft CW -.nf -.ne \\$1 -.. -.de Ve -.ft R - -.fi -.. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' -.tr \(*W-|\(bv\*(Tr -.ie n \{\ -.ds -- \(*W- -.ds PI pi -.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -.ds L" "" -.ds R" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' -'br\} -.el\{\ -.ds -- \(em\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p -'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH TTF2PT1 1 "version 3.4.4" "December 31, 2003" "TTF2PT1 Font Converter" -.UC -.if n .hy 0 -.if n .na -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -. ds oe oe -. ds Oe OE -.\} -.rm #[ #] #H #V #F C -.SH "NAME" -TTF2PT1 \- A True Type to PostScript Type 1 Font Converter -.SH "SYNOPSIS" -\f(CWttf2pt1 \fI[-options] ttffont.ttf [Fontname]\fR\fR -.PP -or -.PP -\f(CWttf2pt1 \fI[-options] ttffont.ttf -\fR\fR -.SH "DESCRIPTION" -Ttf2pt1 is a font converter from the True Type format (and some other formats -supported by the FreeType library as well) to the Adobe Type1 format. -.PP -The versions 3.0 and later got rather extensive post-processing algorithm that -brings the converted fonts to the requirements of the Type1 standard, tries to -correct the rounding errors introduced during conversions and some simple -kinds of bugs that are typical for the public domain TTF fonts. It -also generates the hints that enable much better rendering of fonts in -small sizes that are typical for the computer displays. But everything -has its price, and some of the optimizations may not work well for certain -fonts. That's why the options were added to the converter, to control -the performed optimizations. -.SH "OPTIONS" -The first variant creates the file \f(CWFontname.pfa\fR (or \f(CWFontname.pfb\fR if the -option \*(L'\fB\-b\fR\*(R' was used) with the converted font and \f(CWFontname.afm\fR with the -font metrics, the second one prints the font or another file (if the option -\&\*(R'\fB\-G\fR\*(R' was used) on the standard output from where it can be immediately -piped through some filter. If no \f(CWFontname\fR is specified for the first -variant, the name is generated from \f(CWttffont\fR by replacing the \f(CW.ttf\fR -filename suffix. -.PP -Most of the time no options are neccessary (with a possible exception -of \*(L'\fB\-e\fR'). But if there are some troubles with the resulting font, they -may be used to control the conversion. -The \fBoptions\fR are: -.Ip "\(bu" 2 -\f(CW\fB-a\fR\fR \- Include all the glyphs from the source file into the converted -file. If this option is not specified then only the glyphs that have -been assigned some encoding are included, because the rest of glyphs -would be inaccessible anyway and would only consume the disk space. -But some applications are clever enough to change the encoding on -the fly and thus use the other glyphs, in this case they could -benefit from using this option. But there is a catch: the X11 library -has rather low limit for the font size. Including more glyphs increases -the file size and thus increases the chance of hitting this limit. -See \f(CWapp/X11/README\fR for the description of a -patch to X11 which fixes this problem. -.Ip "\(bu" 2 -\f(CW\fB-b\fR\fR \- Encode the resulting font to produce a ready \f(CW.pfb\fR file. -.Ip "\(bu" 2 -\f(CW\fB-d \fIsuboptions\fR\fR\fR \- Debugging options. The suboptions are: -.Sp -\f(CW\fBa\fR\fR \- Print out the absolute coordinates of dots in outlines. Such -a font can not be used by any program (that's why this option is -incompatible with \*(L'\fB\-e\fR') but it has proven to be a valuable debuging -information. -.Sp -\f(CW\fBr\fR\fR \- Do not reverse the direction of outlines. The \s-1TTF\s0 fonts have -the standard direction of outlines opposite to the Type1 fonts. So -they should be reversed during proper conversion. This option -may be used for debugging or to handle a \s-1TTF\s0 font with wrong -direction of outlines (possibly, converted in a broken way from -a Type1 font). The first signs of the wrong direction are the -letters like \*(L"P\*(R" or \*(L"B\*(R" without the unpainted \*(L"holes\*(R" inside. -.Ip "\(bu" 2 -\f(CW\fB-e\fR\fR \- Assemble the resulting font to produce a ready \f(CW.pfa\fR file. -.Sp -[ S.B.: Personally I don't think that this option is particularly useful. -The same result may be achieved by piping the unassembled data -through t1asm, the Type 1 assembler. And, anyways, it's good to -have the t1utils package handy. But Mark and many users think that -this functionality is good and it took not much time to add this option. ] -.Ip "\(bu" 2 -\f(CW\fB-F\fR\fR \- Force the Unicode encoding: any type of \s-1MS\s0 encoding specified -in the font is ignored and the font is treated like it has Unicode -encoding. \fB\s-1WARNING\s0:\fR this option is intended for buggy fonts -which actually are in Unicode but are marked as something else. The -effect on the other fonts is unpredictable. -.Ip "\(bu" 2 -\f(CW\fB-G \fIsuboptions\fR\fR\fR \- File generation options. The suboptions may be lowercase -or uppercase, the lowercase ones disable the generation of particular -files, the corresponding uppercase suboptions enable the generation of the -same kind of files. If the result of ttf2pt1 is requested to be printed on -the standard output, the last enabling suboption of \fB\-G\fR determines -which file will be written to the standard output and the rest of files -will be discarded. For example, \fB\-G A\fR will request the \s-1AFM\s0 file. -The suboptions to disable/enable the generation of the files are: -.Sp -\f(CW\fBf/F\fR\fR \- The font file. Depending on the other options this file -will have one of the suffixes \f(CW.t1a\fR, \f(CW.pfa\fR or \f(CW.pfb\fR. If the conversion result -is requested on the standard output ('\f(CW-\fR\*(R' is used as the output file name) -then the font file will also be written there by default, if not overwritten -by another suboption of \fB\-G\fR. -\fBDefault: enabled\fR -.Sp -\f(CW\fBa/A\fR\fR \- The Adobe font metrics file (\f(CW.afm\fR). -\fBDefault: enabled\fR -.Sp -\f(CW\fBe/E\fR\fR \- The dvips encoding file (\f(CW.enc\fR). -\fBDefault: disabled\fR -.Ip "\(bu" 2 -\f(CW\fB-l \fIlanguage\fR[+\fIargument\fR]\fR\fR \- Extract the fonts for the specified language from a -multi-language Unicode font. If this option is not used the converter -tries to guess the language by the values of the shell variable \s-1LANG\s0. -If it is not able to guess the language by \s-1LANG\s0 it tries all the -languages in the order they are listed. -.Sp -After the plus sign an optional argument for the language extractor -may be specified. The format of the argument is absolutely up to -the particular language converter. The primary purpose of the -argument is to support selection of planes for the multi-plane -Eastern encodings but it can also be used in any other way. The -language extractor may decide to add the plane name in some form -to the name of the resulting font. None of the currently supported -languages make any use of the argument yet. -.Sp -As of now the following languages are supported: -.Sp -\ \ \f(CWlatin1\fR \- for all the languages using the Latin-1 encoding -.Sp -\ \ \f(CWlatin2\fR \- for the Central European languages -.Sp -\ \ \f(CWlatin4\fR \- for the Baltic languages -.Sp -\ \ \f(CWlatin5\fR \- for the Turkish language -.Sp -\ \ \f(CWcyrillic\fR \- for the languages with Cyrillic alphabet -.Sp -\ \ \f(CWrussian\fR \- historic synonym for cyrillic -.Sp -\ \ \f(CWbulgarian\fR \- historic synonym for cyrillic -.Sp -\ \ \f(CWadobestd\fR \- for the AdobeStandard encoding used by TeX -.Sp -\ \ \f(CWplane+\fIargument\fR\fR \- to select one plane from a multi-byte encoding -.Sp -The argument of the \*(L"\f(CWplane\fR\*(R" language may be in one of three forms: -.Sp -\ \ \f(CWplane+\fBpid=\fR\fI\fR\fB,eid=\fR\fI\fR\fR -.Sp -\ \ \f(CWplane+\fBpid=\fR\fI\fR\fB,eid=\fR\fI\fR\fB,\fR\fI\fR\fR -.Sp -\ \ \f(CWplane+\fI\fR\fR -.Sp -Pid (\s-1TTF\s0 platform id) and eid (\s-1TTF\s0 encoding id) select a particular -\s-1TTF\s0 encoding table in the original font. They are specified as decimal -numbers. If this particular encoding table is not present in the font -file then the conversion fails. The native ("ttf") front-end parser supports -only pid=3 (Windows platform), the FreeType-based ("ft") front-end supports -any platform. If pid/eid is not specified then the \s-1TTF\s0 encoding table is -determined as usual: Unicode encoding if it's first or an 8-bit encoding -if not (and for an 8-bit encoding the plane number is silently ignored). -To prevent the converter from falling back to an 8-bit encoding, specify -the Unicode pid/eid value explicitly. -.Sp -Plane_number is a hexadecimal (if starts with \*(L"\fB0x\fR") or decimal number. -It gives the values of upper bytes for which 256 characters will be -selected. If not specified, defaults to 0. It is also used as a font -name suffix (the leading \*(L"0x\*(R" is not included into the suffix). -.Sp -\fB\s-1NOTE\s0:\fR -You may notice that the language names are not uniform: some are the -names of particular languages and some are names of encodings. This -is because of the different approaches. The original idea was to -implement a conversion from Unicode to the appropriate Windows -encoding for a given language. And then use the translation tables -to generate the fonts in whatever final encodings are needed. This -would allow to pile together the Unicode fonts and the non-Unicode -Windows fonts for that language and let the program to sort them out -automatically. And then generate fonts in all the possible encodings -for that language. An example of this approach is the Russian language -support. But if there is no multiplicity of encodings used for some -languages and if the non-Unicode fonts are not considered important -by the users, another way would be simpler to implement: just provide -only one table for extraction of the target encoding from Unicode -and don't bother with the translation tables. The latin* \*(L"languages\*(R" -are examples of this approach. If somebody feels that he needs the -Type1 fonts both in Latin-* and Windows encodings he or she is absolutely -welcome to submit the code to implement it. -.Sp -\fB\s-1WARNING\s0:\fR -Some of the glyphs included into the AdobeStandard encoding are not -included into the Unicode standard. The most typical examples of such -glyphs are ligatures like \*(L'fi\*(R', \*(L'fl\*(R' etc. Because of this the font -designers may place them at various places. The converter tries to -do its best, if the glyphs have honest Adobe names and/or are -placed at the same codes as in the Microsoft fonts they will be -picked up. Otherwise a possible solution is to use the option \*(L'\fB\-L\fR\*(R' -with an external map. -.Ip "\(bu" 2 -\f(CW\fB-L \fIfile\fR[+[pid=\fI\fR,eid=\fI\fR,][\fIplane\fR]]\fR\fR \- Extract the fonts for the specified -language from a multi-language font using the map from this file. This is -rather like the option \*(L'\fB\-l\fR\*(R' but the encoding map is not -compiled into the program, it's taken from that file, so it's -easy to edit. Examples of such files are provided in -\f(CWmaps/adobe-standard-encoding.map\fR, \f(CWCP1250.map\fR. (\fB\s-1NOTE\s0:\fR -the \*(L'standard encoding\*(R' map does not include all the glyphs of the -AdobeStandard encoding, it's provided only as an example.) The -description of the supported map formats is in the file -\f(CWmaps/unicode-sample.map\fR. -.Sp -Likewise to \*(L'\fB\-l\fR\*(R', an argument may be specified after the map file -name. But in this case the argument has fixed meaning: it selects the -original \s-1TTF\s0 encoding table (the syntax is the same as in \*(L'\fB\-l plane\fR') -and/or a plane of the map file. The plane name also gets added after dash -to the font name. The plane is a concept used in the Eastern fonts with big -number of glyphs: one \s-1TTF\s0 font gets divided into multiple Type1 fonts, -each containing one plane of up to 256 glyphs. But with a little -creativity this concept may be used for other purposes of combining -multiple translation maps into one file. To extract multiple planes -from a \s-1TTF\s0 font \f(CWttf2pt1\fR must be run multiple times, each time with -a different plane name specified. -.Sp -The default original \s-1TTF\s0 encoding table used for the option \*(L'\fB\-L\fR\*(R' is -Unicode. The map files may include directives to specify different original -\s-1TTF\s0 encodings. However if the pid/eid pair is specified with -it overrides any original encoding specified in the map file. -.Ip "\(bu" 2 -\f(CW\fB-m \fItype\fR=\fIvalue\fR\fR\fR \- Set maximal or minimal limits of resources. -These limits control the the font generation by limiting the resources -that the font is permitted to require from the PostScript interpreter. -The currently supported types of limits are: -.Sp -\f(CW\fBh\fR\fR \- the maximal hint stack depth for the substituted hints. -The default value is 128, according to the limitation in X11. This seems to -be the lowest (and thus the safest) widespread value. To display the -hint stack depth required by each glyph in a \f(CW.t1a\fR file use the script -\f(CWscripts/cntstems.pl\fR. -.Ip "\(bu" 2 -\f(CW\fB-O \fIsuboptions\fR\fR\fR \- Outline processing options. The suboptions -may be lowercase or uppercase, the lowercase ones disable the features, -the corresponding uppercase suboptions enable the same features. -The suboptions to disable/enable features are: -.Sp -\f(CW\fBb/B\fR\fR \- Guessing of the ForceBold parameter. This parameter helps -the Type1 engine to rasterize the bold fonts properly at small sizes. -But the algorithm used to guess the proper value of this flag makes -that guess based solely on the font name. In rare cases that may cause -errors, in these cases you may want to disable this guessing. -\fBDefault: enabled\fR -.Sp -\f(CW\fBh/H\fR\fR \- Autogeneration of hints. The really complex outlines -may confuse the algorithm, so theoretically it may be useful -sometimes to disable them. Although up to now it seems that -even bad hints are better than no hints at all. -\fBDefault: enabled\fR -.Sp -\f(CW\fBu/U\fR\fR \- Hint substitution. Hint substitution is a technique -permitting generation of more detailed hints for the rasterizer. It allows -to use different sets of hints for different parts of a glyph and change -these sets as neccessary during rasterization (that's why \*(L"substituted"). -So it should improve the quality of the fonts rendered at small sizes. -But there are two catches: First, the X11 library has rather low limit for -the font size. More detailed hints increase the file size and thus increase -the chance of hitting this limit (that does not mean that you shall hit it -but you may if your fonts are particularly big). This is especially -probable for Unicode fonts converted with option \*(L'\fB\-a\fR\*(R', so you may want to -use \*(L'\fB\-a\fR\*(R' together with \*(L'\fB\-Ou\fR\*(R'. See \f(CWapp/X11/README\fR for the description of -a patch to X11 which fixes this problem. Second, some rasterizers (again, -X11 is the typical example) have a limitation for total number of hints -used when drawing a glyph (also known as the hint stack depth). If that -stack overflows the glyph is ignored. Starting from version 3.22 \f(CWttf2pt1\fR -uses algorithms to minimizing this depth, with the trade-off of slightly -bigger font files. The glyphs which still exceed the limit set by option -\&\*(R'\fB\-mh\fR\*(R' have all the substituted hints removed and only base hints left. -The algorithms seem to have been refined far enough to make the fonts with -substituted hints look better than the fonts without them or at least the -same. Still if the original fonts are not well-designed the detailed -hinting may emphasize the defects of the design, such as non-even thickness -of lines. So provided that you are not afraid of the X11 bug the best idea -would be to generate a font with this feature and without it, then compare -the results using the program \f(CWother/cmpf\fR (see the description -in \f(CWother/README\fR) and decide which one looks better. -\fBDefault: enabled\fR -.Sp -\f(CW\fBo/O\fR\fR \- Space optimization of the outlines\*(R' code. This kind of optimization -never hurts, and the only reason to disable this feature is for comparison -of the generated fonts with the fonts generated by the previous versions of -converter. Well, it _almost_ never hurts. As it turned out there exist -some brain-damaged printers which don't understand it. Actually this -feature does not change the outlines at all. The Type 1 font manual -provides a set of redundant operators that make font description shorter, -such as \*(L'10 hlineto\*(R' instead of \*(L'0 10 rlineto\*(R' to describe a horizontal -line. This feature enables use of these operators. -\fBDefault: enabled\fR -.Sp -\f(CW\fBs/S\fR\fR \- Smoothing of outlines. If the font is broken in some -way (even the ones that are not easily noticeable), such smoothing -may break it further. So disabling this feature is the first thing to be -tried if some font looks odd. But with smoothing off the hint generation -algorithms may not work properly too. -\fBDefault: enabled\fR -.Sp -\f(CW\fBt/T\fR\fR \- Auto-scaling to the 1000x1000 Type1 standard matrix. The -\s-1TTF\s0 fonts are described in terms of an arbitrary matrix up to -4000x4000. The converted fonts must be scaled to conform to -the Type1 standard. But the scaling introduces additional rounding -errors, so it may be curious sometimes to look at the font in its -original scale. -\fBDefault: enabled\fR -.Sp -\f(CW\fBv/V\fR\fR \- Do vectorization on the bitmap fonts. Functionally -\*(L"vectorization\*(R" is the same thing as \*(L"autotracing\*(R", a different word is -used purely to differentiate it from the Autotrace library. It tries to -produce nice smooth outlines from bitmaps. This feature is still a work -in progress though the results are already mostly decent. -\fBDefault: disabled\fR -.Sp -\f(CW\fBw/W\fR\fR \- Glyphs\*(R' width corection. This option is designed to be -used on broken fonts which specify too narrow widths for the -letters. You can tell that a font can benefit from this option -if you see that the characters are smashed together without -any whitespace between them. This option causes the converter -to set the character widths to the actual width of this character -plus the width of a typical vertical stem. But on the other hand -the well-designed fonts may have characters that look better if -their widths are set slightly narrower. Such well-designed fonts -will benefit from disabling this feature. You may want to convert -a font with and without this feature, compare the results and -select the better one. This feature may be used only on proportional -fonts, it has no effect on the fixed-width fonts. -\fBDefault: disabled\fR -.Sp -\f(CW\fBz/Z\fR\fR \- Use the Autotrace library on the bitmap fonts. The results -are horrible and \fBthe use of this option is not recommended\fR. This option is -present for experimental purposes. It may change or be removed in the -future. The working tracing can be achieved with option \f(CW\fB-OV\fR\fR. -\fBDefault: disabled\fR -.Ip "\(bu" 2 -\f(CW\fB-p \fIparser_name\fR\fR\fR \- Use the specified front-end parser to read the font file. -If this option is not used, ttf2pt1 selects the parser automatically based -on the suffix of the font file name, it uses the first parser in its -list that supports this font type. Now two parsers are supported: -.Sp -\ \ \f(CWttf\fR \- built-in parser for the ttf files (suffix \f(CW.ttf\fR) -.Sp -\ \ \f(CWbdf\fR \- built-in parser for the \s-1BDF\s0 files (suffix \f(CW.bdf\fR) -.Sp -\ \ \f(CWft\fR \- parser based on the FreeType-2 library (suffixes \f(CW.ttf\fR, -\&\f(CW.otf\fR, \f(CW.pfa\fR, \f(CW.pfb\fR) -.Sp -The parser \f(CWft\fR is \fB\s-1NOT\s0\fR linked in by default. See \f(CWMakefile\fR -for instructions how to enable it. We do no support this parser on -Windows: probably it will work but nobody tried and nobody knows how -to build it. -.Sp -The conversion of the bitmap fonts (such as \s-1BDF\s0) is simplistic yet, -producing jagged outlines. When converting such fonts, it might be -a good idea to turn off the hint substitution (using option \fB\-Ou\fR) -because the hints produced will be huge but not adding much to the -quality of the fonts. -.Ip "\(bu" 2 -\f(CW\fB-u \fInumber\fR\fR\fR \- Mark the font with this value as its -UniqueID. The UniqueID is used by the printers with the hard disks -to cache the rasterized characters and thus significantly -speed-up the printing. Some of those printers just can't -store the fonts without UniqueID on their disk.The problem -is that the \s-1ID\s0 is supposed to be unique, as it name says. And -there is no easy way to create a guaranteed unique \s-1ID\s0. Adobe specifies -the range 4000000-4999999 for private IDs but still it's difficult -to guarantee the uniqueness within it. So if you don't really need the -UniqueID don't use it, it's optional. Luckily there are a few millions of -possible IDs, so the chances of collision are rather low. -If instead of the number a special value \*(L'\f(CW\fBA\fR\fR\*(R' is given -then the converter generates the value of UniqueID automatically, -as a hash of the font name. (\fB\s-1NOTE\s0:\fR in the version 3.22 the -algorithm for autogeneration of UniqueID was changed to fit the values -into the Adobe-spacified range. This means that if UniqueIDs were used -then the printer's cache may need to be flushed before replacing the -fonts converted by an old version with fonts converted by a newer version). -A simple way to find if any of the fonts in a given directory have -duplicated UniqueIDs is to use the command: -.Sp -\f(CW\ \ cat *.pf[ab] | grep UniqueID | sort | uniq -c | grep -v ' 1 '\fR -.Sp -Or if you use \f(CWscripts/convert\fR it will do that for you automatically -plus it will also give the exact list of files with duplicate UIDs. -.Ip "\(bu" 2 -\f(CW\fB-v \fIsize\fR\fR\fR \- Re-scale the font to get the size of a typical uppercase -letter somewhere around the specified size. Actually, it re-scales -the whole font to get the size of one language-dependent letter to be -at least of the specified size. Now this letter is \*(L"A\*(R" in all the -supported languages. The size is specified in the points of the -Type 1 coordinate grids, the maximal value is 1000. This is an -experimental option and should be used with caution. It tries to -increase the visible font size for a given point size and thus make -the font more readable. But if overused it may cause the fonts to -look out of scale. As of now the interesting values of size for -this option seem to be located mostly between 600 and 850. This -re-scaling may be quite useful but needs more experience to -understand the balance of its effects. -.Ip "\(bu" 2 -\f(CW\fB-W \fIlevel\fR\fR\fR \- Select the verbosity level of the warnings. -Currently the levels from 0 to 4 are supported. Level 0 means no warnings -at all, level 4 means all the possible warnings. The default level is 3. -Other levels may be added in the future, so using the level number 99 is -recommended to get all the possible warnings. Going below level 2 is -not generally recommended because you may miss valuable information about -the problems with the fonts being converted. -.Ip "\(bu" 2 -\fBObsolete option:\fR -\f(CW\fB-A\fR\fR \- Print the font metrics (.afm file) instead of the font on \s-1STDOUT\s0. -Use \fB\-\s-1GA\s0\fR instead. -.Ip "\(bu" 2 -\fBVery obsolete option:\fR -.Sp -The algorithm that implemented the forced fixed width had major -flaws, so it was disabled. The code is still in the program and -some day it will be refined and returned back. Meanwhile the -option name \*(L'\fB\-f\fR\*(R' was reused for another option. The old version was: -.Sp -\f(CW\fB-f\fR\fR \- Don't try to force the fixed width of font. Normally the converter -considers the fonts in which the glyph width deviates by not more -than 5% as buggy fixed width fonts and forces them to have really -fixed width. If this is undesirable, it can be disabled by this option. -.PP -The \f(CW.pfa\fR font format supposes that the description of the characters -is binary encoded and encrypted. This converter does not encode or -encrypt the data by default, you have to specify the option \*(L'\fB\-e\fR\*(R' -or use the \f(CWt1asm\fR program to assemble (that means, encode and -encrypt) the font program. The \f(CWt1asm\fR program that is included with -the converter is actually a part of the \f(CWt1utils\fR package, rather old -version of which may be obtained from -.PP -http://ttf2pt1.sourceforge.net/t1utils.tar.gz -.PP -Note that \f(CWt1asm\fR from the old version of that package won't work properly -with the files generated by \f(CWttf2pt1\fR version 3.20 and later. Please use -\f(CWt1asm\fR packaged with \f(CWttf2pt1\fR or from the new version \f(CWt1utils\fR -instead. For a newer version of \f(CWt1utils\fR please look at -.PP -http://www.lcdf.org/~eddietwo/type/ -.SH "EXAMPLES" -So, the following command lines: -.PP -\f(CWttf2pt1 -e ttffont.ttf t1font\fR -.PP -\f(CWttf2pt1 ttffont.ttf - | t1asm >t1font.pfa\fR -.PP -represent two ways to get a working font. The benefit of the second form -is that other filters may be applied to the font between the converter -and assembler. -.SH "FILES" -.Ip "\(bu" 2 -\s-1TTF2PT1_LIBXDIR/\s0t1asm -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR\s0/* -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/\s0scripts/* -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/\s0other/* -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/README\s0 -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/FONTS\s0 -.SH "SEE ALSO" -.Ip "\(bu" 4 -the \fIttf2pt1_convert(1)\fR manpage -.Ip "\(bu" 4 -the \fIttf2pt1_x2gs(1)\fR manpage -.Ip "\(bu" 4 -the \fIt1asm(1)\fR manpage -.Ip "\(bu" 4 -ttf2pt1-announce@lists.sourceforge.net -.Sp -The mailing list with announcements about ttf2pt1. It is a moderated mailing -with extremely low traffic. Everyone is encouraged to subscribe to keep in -touch with the current status of project. To subscribe use the Web interface -at http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-announce. -If you have only e-mail access to the Net then send a subscribe request to -the development mailing list ttf2pt1-devel@lists.sourceforge.net and somebody -will help you with subscription. -.Ip "\(bu" 4 -ttf2pt1-devel@lists.sourceforge.net -.Sp -ttf2pt1-users@lists.sourceforge.net -.Sp -The ttf2pt1 mailing lists for development and users issues. They have not -that much traffic either. To subscribe use the Web interface at -http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-devel -and http://lists.sourceforge.net/mailman/listinfo/ttf2pt1-users. -If you have only e-mail access to the Net then send a subscribe request to -the development mailing list ttf2pt1-devel@lists.sourceforge.net and somebody -will help you with subscription. -.Ip "\(bu" 4 -http://ttf2pt1.sourceforge.net -.Sp -The main page of the project. -.Sp -http://www.netspace.net.au/~mheath/ttf2pt1/ -.Sp -The old main page of the project. -.SH "BUGS" -It seems that many Eastern fonts use features of the TTF format that are -not supported by the ttf2pt1's built-in front-end parser. Because of -this for now we recommend using the FreeType-based parser (option -\&\*(R'\fB\-p ft\fR') with the \*(L"\f(CWplane\fR\*(R" language. -.Sh "Troubleshooting and bug reports" -Have problems with conversion of some font ? The converter dumps core ? Or your -printer refuses to understand the converted fonts ? Or some characters are -missing ? Or some characters look strange ? -.PP -Send the bug reports to the ttf2pt1 development mailing list at -ttf2pt1-devel@lists.sourceforge.net. -.PP -Try to collect more information about the problem and include it into -the bug report. (Of course, even better if you would provide a ready -fix, but just a detailed bug report is also good). Provide detailed -information about your problem, this will speed up the response greatly. -Don't just write \*(L"this font looks strange after conversion\*(R" but describe -what's exactly wrong with it: for example, what characters look wrong -and what exactly is wrong about their look. Providing a link to the -original font file would be also a good idea. Try to do a little -troublehooting and report its result. This not only would help with -the fix but may also give you a temporary work-around for the bug. -.PP -First, enable full warnings with option \*(L'\fB\-W99\fR\*(R', save them to -a file and read carefully. Sometimes the prolem is with a not implemented -feature which is reported in the warnings. Still, reporting about such -problems may be a good idea: some features were missed to cut corners, -in hope that no real font is using them. So a report about a font using -such a feature may motivate someone to implement it. Of course, you -may be the most motivated person: after all, you are the one wishing -to convert that font. ;\-) Seriously, the philosophy \*(L"scrath your own itch\*(R" -seems to be the strongest moving force behind the Open Source software. -.PP -The next step is playing with the options. This serves a dual purpose: -on one hand, it helps to localize the bug, on the other hand you may be -able to get a working version of the font for the meantime while the -bug is being fixed. The typical options to try out are: first \*(L'\fB\-Ou\fR\*(R', if -it does not help then \*(L'\fB\-Os\fR\*(R', then \*(L'\fB\-Oh\fR\*(R', then \*(L'\fB\-Oo\fR\*(R'. -They are described in a bit more detail above. Try them one by one -and in combinations. See if with them the resulting fonts look better. -.PP -On some fonts ttf2pt1 just crashes. Commonly that happens because the -font being converted is highly defective (although sometimes the bug -is in ttf2pt1 itself). In any case it should not crash, so the reports -about such cases will help to handle these defects properly in future. -.PP -We try to respond to the bug reports in a timely fashion but alas, this -may not always be possible, especially if the problem is complex. -This is a volunteer project and its resources are limited. Because -of this we would appreciate bug reports as detailed as possible, -and we would appreciate the ready fixes and contributions even more. -.SH "HISTORY" -Based on ttf2pfa by Andrew Weeks, and help from Frank Siegert. -.PP -Modification by Mark Heath. -.PP -Further modification by Sergey Babkin. -.PP -The Type1 assembler by I. Lee Hetherington with modifications by -Kai-Uwe Herbing. - -.rn }` '' -.IX Title "TTF2PT1 1" -.IX Name "TTF2PT1 - A True Type to PostScript Type 1 Font Converter" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "OPTIONS" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "EXAMPLES" - -.IX Header "FILES" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "SEE ALSO" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "BUGS" - -.IX Subsection "Troubleshooting and bug reports" - -.IX Header "HISTORY" - diff -Nru ttf2ufm-3.4.4~r2/ttf2pt1_convert.1 ttf2ufm-3.4.4~r2+gbp/ttf2pt1_convert.1 --- ttf2ufm-3.4.4~r2/ttf2pt1_convert.1 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/ttf2pt1_convert.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,506 +0,0 @@ -.rn '' }` -''' $RCSfile: ttf2pt1_convert.1,v $$Revision: 1.1 $$Date: 2008-03-12 06:35:44 $ -''' -''' $Log: not supported by cvs2svn $ -''' -.de Sh -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp -.if t .sp .5v -.if n .sp -.. -.de Ip -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb -.ft CW -.nf -.ne \\$1 -.. -.de Ve -.ft R - -.fi -.. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' -.tr \(*W-|\(bv\*(Tr -.ie n \{\ -.ds -- \(*W- -.ds PI pi -.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -.ds L" "" -.ds R" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' -'br\} -.el\{\ -.ds -- \(em\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p -'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH TTF2PT1_CONVERT 1 "version 3.4.4" "December 31, 2003" "TTF2PT1 Font Converter" -.UC -.if n .hy 0 -.if n .na -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -. ds oe oe -. ds Oe OE -.\} -.rm #[ #] #H #V #F C -.SH "NAME" -\fBttf2pt1_convert\fR \- convenience font conversion script -.SH "SYNOPSIS" -ttf2pt1_convert \fB[config-file]\fR -.SH "DESCRIPTION" -`\fBConvert\fR\*(R' is the master conversion script provided with ttf2pt1. -When installed into a public directory it's named `\fBttf2pt1_convert\fR\*(R' -to avoid name collisions with the other programs. -.PP -If the configuration file is not specified as an argument then the file -`\f(CWconvert.cfg\fR\*(R' in the current directory is used. This file contains -a set of configuration variables. The distribution contains a sample file -file `\f(CWconvert.cfg.sample\fR\*(R'. Please copy it to `\f(CWconvert.cfg\fR\*(R', -look inside it and change the configuration variables. The more stable -configuration variables, such as the path names of the scripts and -encoding files are located in `\f(CWconvert\fR\*(R' itself, they are -automatically updated when installing \fBttf2pt1\fR. -.PP -Put all the TTF fonts you want to convert into some directory (this -may be just the directory that already contains all the Windows -fonts on a mounted FAT filesystem). If you have fonts in different -source encoding then put the fonts in each of the encodings -into a separate directory. Up to 10 source directories are -supported. If you (in a rather unlikely case) have more source -directories then you can make two separate runs of the converter, -converting up to 10 directories at a time. -.PP -The variables in the configuration file are: -.Ip "\(bu" 2 -\fB\f(CWSRCDIRS\fR\fR \- the list of directories (with absolute paths) with -\s-1TTF\s0 fonts. Each line contains at least 3 fields: the name of the directory, -the language of the fonts in it (if you have fonts for different -languages you have to put them into the separate directories) and the -encoding of the fonts. Again, if you have some of the \s-1TTF\s0 typefaces in -one encoding, and some in another (say, \s-1CP\s0\-1251 and \s-1KOI\s0\-8), you have -to put them into the separate source directories. Some lines may contain -4 fields. Then the fourth field is the name of the external map to -convert the Unicode fonts into the desirable encoding. This map is -used instead of the built-in map for the specified language. -.Sp -*8* -An interesting thing is that some languages have more than one -widely used character encodings. For example, the widely used -encodings for Russian are \s-1IBM\s0 \s-1CP\s0\-866 (\s-1MS\s0\-\s-1DOS\s0 and Unix), \s-1KOI\s0\-8 -(Unix and \s-1VAX\s0, also the standard Internet encoding), \s-1IBM\s0 \s-1CP\s0\-1251 (\s-1MS\s0 Windows). -That's why I have provided the means to generate the converted fonts -in more than one encoding. See the file encodings/\s-1README\s0 for -details about the encoding tables. Actually, if you plan to use -these fonts with Netscape Navigator better use the aliases -cp-866 instead of ibm-866 and windows-1251 instead of ibm-1251 -because that's what Netscape wants. -.Ip "\(bu" 2 -\fB\f(CWDSTDIR\fR\fR \- directory for the resulting Type1 fonts. Be careful! -This directory gets completely wiped out before conversion, -so don't use any already existing directory for this purpose. -.Ip "\(bu" 2 -\fB\f(CWDSTENC\fI{language}\fR\fR\fR \- the list of encodings in which the destination -fonts will be generated for each language. Each font of that -language will be generated in each of the specified -encodings. If you don't want any translation, just specify both -\f(CWSRCENC\fR and \f(CWDSTENC\fR as iso8859-1 (or if you want any other encoding -specified in the fonts.dir, copy the description of 8859-1 with -new name and use this new name for \f(CWSRCENC\fR and \f(CWDSTENC\fR). -.Ip "\(bu" 2 -\fB\f(CWFOUNDRY\fR\fR \- the foundry name to be used in the fonts.dir file. I have -set it to `fromttf\*(R' to avoid name conflicts with any existing font for -sure. But this foundry name is not registered in X11 standards and -if you want to get the full standard compliance or have a font server -that enforces such a compliance, use `misc\*(R'. -.PP -The next few parameters control the general behavior of the converter. -They default values are set to something reasonable. -.Ip "\(bu" 2 -\fB\f(CWCORRECTWIDTH\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then use the -converter option \f(CW\fB-w\fR\fR, otherwise don't use it. See the description of -this option in the \s-1README\s0 file. -.Ip "\(bu" 2 -\fB\f(CWREMOVET1A\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then after -conversion remove the un-encoded \f(CW.t1a\fR font files and the -intermediate \f(CW.xpfa\fR font metric files. -.Ip "\(bu" 2 -\fB\f(CWINSTALLFONTMAP\fR\fR \- a Ghostscript parameter, if the value is set to -\fB\f(CWYES\fR\fR then install the entries for the new fonts -right into the main \f(CWFontmap\fR file. Otherwise just leave -the file \f(CWFontmap.ttf\fR in the Ghostscript configuration -directory. -.Ip "\(bu" 2 -\fB\f(CWHINTSUBST\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR use the option -\f(CW\fB-H\fR\fR, otherwise don't use it. This option enables the -hint substitution technique. If you have not installed the X11 patch -described above, use this option with great caution. See further -description of this option in the \s-1README\s0 file. -.Ip "\(bu" 2 -\fB\f(CWENFORCEISO\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then -disguise the resulting fonts as the fonts in ISOLatin1 encoding. Historically -this was neccessary due to the way the installer scripts created the -X11 font configuration files. It is not neccessary any more for this -purpose. But if you plan to use these fonts with some other application -that expects ISOLatin1 encoding then better enable this option. -.Ip "\(bu" 2 -\fB\f(CWALLGLYPHS\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then -include all the glyphs from the source fonts into the resulting fonts, even -if these glyphs are inaccessible. If it's set to \fB\f(CWNO\fR\fR then -include only the glyphs which have codes assigned to them. The glyphs -without codes can not be used directly. But some clever programs, -such as the Type 1 library from XFree86 3.9 and higher can change -the encoding on the fly and use another set of glyphs. If you have not -installed the X11 patch described above, use this option with great -caution. See further description of the option option \f(CW\fB-a\fR\fR in the -\s-1README\s0 file. -.Ip "\(bu" 2 -\fB\f(CWGENUID\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then use -the option \f(CW\fB-uA\fR\fR of the converter to generate UniqueIDs for -the converted fonts. The standard X11 Type 1 library does not use -this \s-1ID\s0, so it may only be neccessary for the other applications. -The script is clever enough to generate different UniqueID for the -same font converted to multiple encodings. Also after conversion it -checks all the fonts generacted during the session for duplicated -UniqueID and shows those. Still, this does not quarantee that these -UniqueIDs won't overlap with some other fonts. The UniqueIDs are -generated as hash values from the font names, so it's guaranteed -that if the `\f(CWconvert\fR\*(R' script runs multiple times it will -generate the same UniqueIDs during each run. See further description -of this option in the \s-1README\s0 file. -.Ip "\(bu" 2 -\fB\f(CWGENUID\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then create -the \f(CW.pfb\fR files, otherwise the \f(CW.pfa\fR files. The \f(CW.pfb\fR -files are more compact but contain binary data, so you may experience some -troubles when transferring them through the network. -.PP -The following parameters are used to locate the other scripts and -configuration files. By default the scripts do a bit of guessing for them: -they search in the \fBttf2pt1\fR installation directory if \fBttf2pt1\fR -was installed or otherwise suppose that you are running `\f(CWconvert\fR\*(R' with -`\f(CWscripts\fR\*(R' subdirectory being the current directory. -.Ip "\(bu" 2 -\fB\f(CWENCDIR\fR\fR \- directory containing the descriptions of encodings -.Ip "\(bu" 2 -\fB\f(CWMAPDIR\fR\fR \- directory containing the external map files -.PP -Besides that a few parameters are built into the `\f(CWconvert\fR\*(R' script itself. -You probably won't need to change them: -.Ip "\(bu" 2 -\f(CW\fBT1ASM\fR\fR, \f(CW\fBTTF2PT1\fR\fR, \f(CW\fBTRANS\fR\fR, \f(CW\fBT1FDIR\fR\fR, \f(CW\fBFORCEISO\fR\fR \- paths to the other script -.PP -Also there are a few parameters controlling the installation of -fonts for Ghostscript. Please look at their description in the -Ghostscript section of documentation or in the \fBttf2pt1_x2gs(1)\fR -manual page before running `\f(CWconvert\fR\*(R'. If these parameters are -set, `\f(CWconvert\fR\*(R' will call the `\f(CWx2gs\fR\*(R' script automatically -to install the newly converted fonts in Ghostscript. -.PP -After creating the configuration file run the `\f(CWconvert\fR\*(R' script. Look at -the result and the log file in \f(CWDSTDIR\fR. -.PP -Add the directory with newly converted fonts to the configuration -of X server or font server. For most of the systems this step is -very straightforward. For \s-1HP\s0\-\s-1UX\s0 it's rather tricky and poorly -documented, so the file \s-1FONTS\s0.hpux gives a short description. -.PP -If you don't have the privileges of the root user, you still can -configure your private font server. Just use some non-standard -port number (see \s-1FONTS\s0.hpux for an example, exept that you won't -need all the \s-1HP\s0\-related stuff on any other system). -.SH "FILES" -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/\s0scripts/convert.cfg.sample -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/\s0scripts/* -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/README\s0 -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/FONTS\s0 -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR\s0/* -.Ip "\(bu" 2 -\s-1TTF2PT1_BINDIR/\s0ttf2pt1 -.SH "SEE ALSO" -.Ip "\(bu" 4 -the \fIttf2pt1(1)\fR manpage -.Ip "\(bu" 4 -the \fIttf2pt1_x2gs(1)\fR manpage -.Ip "\(bu" 4 -the \fIt1asm(1)\fR manpage -.SH "BUGS" -.Sh "Known problems" -.Ip "\(bu" 4 -One catch is that the X11 Type 1 font library has a rather low limit -on the font size. Because of this the fonts with more complicated -outlines and the enabled hint substitution may not fit into -this limit. The same applies to the fonts with very complicated -outlines or with very many glyphs (especially the fonts with -over 256 glyphs). So you will need to excercise caution with -these options if you plan using these fonts with X11. Some vendors -such as \s-1HP\s0 provide the Type 1 implementation licensed from Adobe -which should have no such problem. -.Sp -But there is a solution even for the generic X11. A patch located -in the subdirectory `\f(CWapp/X11\fR\*(R' fixes this problem as well -as some other minor problems. Its description is provided in -app/X11/\s-1README\s0. -.Sp -To fix the X11 font library, you have to get the X11 sources. I -can recommend the ftp sites of the XFree86 project ftp://ftp.xfree86.org -or of the Open Group ftp://ftp.x.org. This patch was made on the sources -of XFree86 so you may have better success with applying it to the -XFree86 distribution. After you have got the sources, make sure -that you can compile them. Then apply the patch as described. -Make sure that it was applied properly. Compile the sources again -(actually, you need only the fonts library, the fonts server, and -possibly the X server). It would be prudent now to save your old -font library, font server and, possibly, X server. Then install -the new recently compiled versions of these files. Of course, -if you know someone who already has compiled these files for the -same \s-1OS\s0 as yours, you can just copy the binary fles from him. -.Sp -Alas, building the X11 system from the source code is not the -easiest thing in the world and if you have no experience it -can be quite difficult. In this case just avoid the aforementioned -features or check each converted font to make sure that it -works properly. -.Ip "\(bu" 4 -The Type1 font library from the standard X11 distribution -does not work on \s-1HP\s0\-\s-1UX\s0 (at least, up to 10.01). The font server -supplied with \s-1HP\s0\-\s-1UX\s0 up to 10.01 is also broken. Starting from -\s-1HP\s0\-\s-1UX\s0 10.20 (I don't know about 10.10) they supply a proprietary font -library and the converted fonts work fine with it, provided that -they are configured properly (see the file \s-1FONTS\s0.hpux). -.Ip "\(bu" 4 -The \f(CWfonts.scale\fR files created by the older versions of the -\f(CWttf2pt1\fR installation program (up to release 3.1) have conflicted -with the language definitions of the \f(CWXfsft\fR font server and -parts of it included into XFree86. To overcome this incompatibility -the never versions creats the \f(CWfonts.scale\fR file describing all the -fonts as belonging to the \f(CWadobe-fontspecific\fR encoding and -the \f(CWfonts.alias\fR file with the proper names. The drawback of -this solution is that \f(CWxlsfonts\fR gives the list of twice more -fonts. But as a side effect the option \f(CW\fBENFORCEISO\fR\fR in -`\f(CWconvert.cfg\fR\*(R' is not required for X11 any more. -.Ip "\(bu" 4 -The conversion script has no support for Eastern multi-plane fonts. -Contribution of such a support would be welcome. - -.rn }` '' -.IX Title "TTF2PT1_CONVERT 1" -.IX Name "B - convenience font conversion script" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "FILES" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "SEE ALSO" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "BUGS" - -.IX Subsection "Known problems" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - diff -Nru ttf2ufm-3.4.4~r2/ttf2pt1_x2gs.1 ttf2ufm-3.4.4~r2+gbp/ttf2pt1_x2gs.1 --- ttf2ufm-3.4.4~r2/ttf2pt1_x2gs.1 2010-11-27 11:55:14.000000000 +0000 +++ ttf2ufm-3.4.4~r2+gbp/ttf2pt1_x2gs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,313 +0,0 @@ -.rn '' }` -''' $RCSfile: ttf2pt1_x2gs.1,v $$Revision: 1.1 $$Date: 2008-03-12 06:35:44 $ -''' -''' $Log: not supported by cvs2svn $ -''' -.de Sh -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp -.if t .sp .5v -.if n .sp -.. -.de Ip -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.de Vb -.ft CW -.nf -.ne \\$1 -.. -.de Ve -.ft R - -.fi -.. -''' -''' -''' Set up \*(-- to give an unbreakable dash; -''' string Tr holds user defined translation string. -''' Bell System Logo is used as a dummy character. -''' -.tr \(*W-|\(bv\*(Tr -.ie n \{\ -.ds -- \(*W- -.ds PI pi -.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -.ds L" "" -.ds R" "" -''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of -''' \*(L" and \*(R", except that they are used on ".xx" lines, -''' such as .IP and .SH, which do another additional levels of -''' double-quote interpretation -.ds M" """ -.ds S" """ -.ds N" """"" -.ds T" """"" -.ds L' ' -.ds R' ' -.ds M' ' -.ds S' ' -.ds N' ' -.ds T' ' -'br\} -.el\{\ -.ds -- \(em\| -.tr \*(Tr -.ds L" `` -.ds R" '' -.ds M" `` -.ds S" '' -.ds N" `` -.ds T" '' -.ds L' ` -.ds R' ' -.ds M' ` -.ds S' ' -.ds N' ` -.ds T' ' -.ds PI \(*p -'br\} -.\" If the F register is turned on, we'll generate -.\" index entries out stderr for the following things: -.\" TH Title -.\" SH Header -.\" Sh Subsection -.\" Ip Item -.\" X<> Xref (embedded -.\" Of course, you have to process the output yourself -.\" in some meaninful fashion. -.if \nF \{ -.de IX -.tm Index:\\$1\t\\n%\t"\\$2" -.. -.nr % 0 -.rr F -.\} -.TH TTF2PT1_X2GS 1 "version 3.4.4" "December 31, 2003" "TTF2PT1 Font Converter" -.UC -.if n .hy 0 -.if n .na -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.de CQ \" put $1 in typewriter font -.ft CW -'if n "\c -'if t \\&\\$1\c -'if n \\&\\$1\c -'if n \&" -\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 -'.ft R -.. -.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 -. \" AM - accent mark definitions -.bd B 3 -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds ? ? -. ds ! ! -. ds / -. ds q -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' -. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] -.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' -.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' -.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -.ds oe o\h'-(\w'o'u*4/10)'e -.ds Oe O\h'-(\w'O'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds v \h'-1'\o'\(aa\(ga' -. ds _ \h'-1'^ -. ds . \h'-1'. -. ds 3 3 -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -. ds oe oe -. ds Oe OE -.\} -.rm #[ #] #H #V #F C -.SH "NAME" -\fBttf2pt1_x2gs\fR \- font installer for Ghostscript -.SH "SYNOPSIS" -ttf2pt1_x2gs \fB[config-file]\fR -.SH "DESCRIPTION" -The fonts generated with \fBttf2pt1\fR work fine with Ghostscript by -themselves. The script `\fBx2gs\fR\*(R' (or `\fBttf2pt1_x2gs\fR\*(R' when installed -into a public directory, to avoid name conflicts with other -programs) links the font files from the X11 direcotry into the Ghostscript -directory and automatically creates the description file (\f(CWFontmap\fR) -in Ghostscript format. -.PP -If the configuration file is not specified as an argument then the file -`\f(CWconvert.cfg\fR\*(R' in the current directory is used, just like the -`\f(CWconvert\fR\*(R' script does. Indeed, this configuration file is used for -both scripts. -.PP -The Ghostscript-related parameters in the configuration file are: -.PP -\fB\f(CWDSTDIR\fR\fR \- the X11 font directory used by `\f(CWx2gs\fR\*(R' as the -source of the fonts. This parameter is common with the X11 -configuration. -.PP -\fB\f(CWGSDIR\fR\fR \- the base directory of Ghostsript. If this -parameter is set to an empty string then `\f(CWconvert\fR\*(R' won't -call `\f(CWx2gs\fR\*(R'. So if you want to get only the X11 fonts -installed then set this parameter to an empty string. This -directory may vary on various system, so please check your -system and set this value accordingly before running the script. -.PP -\fB\f(CWGSFONTDIR\fR\fR \- the font directory of Ghostscript. In the standard -Ghostscript installation it's a subdirectory of \f(CWGSDIR\fR -but some systems may use completely different directories. -.PP -\fB\f(CWGSCONFDIR\fR\fR \- the configuration subdirectory of Ghostscript -that contains the \f(CWFontmap\fR file. -.PP -\fB\f(CWINSTALLFONTMAP\fR\fR \- if the value is set to \fB\f(CWYES\fR\fR then -install the entries for the new fonts right into the main -\f(CWFontmap\fR file. Otherwise just leave the file \f(CWFontmap.ttf\fR -in the Ghostscript configuration directory. -.PP -After preparing the configuration file run the script. It symbolicaly links -all the font files and creates the description file \f(CWFontmap.ttf\fR in -\f(CWGSCONDFIR\fR. After that there are two choices. -.PP -If the option \f(CWINSTALLFONTMAP\fR was set to \f(CWYES\fR then -the font descriptions are also automatically installed into the -master \f(CWFontmap\fR file. The script is clever enough to -detect if it was run multiple times with the same directories -and if so it replaces the old \f(CWFontmap\fR entries with -the new ones instead of just accumulating all of them. You -may also run it multiple times for multiple X11 directories -and all the results will be properly collected in the \f(CWFontmap\fR. -But it's your responsibility to watch that the names of the -font files don't overlap. If the X11 font directory gets -renamed then you have to remove its font entries from the -\f(CWFontmap\fR and only after that re-run `\f(CWx2gs\fR\*(R' -for the new directory. -.PP -On the other hand if the option \f(CWINSTALLFONTMAP\fR was set to -\f(CWNO\fR then go to the \f(CWGSCONFDIR\fR directory and insert the -contents of \f(CWFontmap.ttf\fR into the \f(CWFontmap\fR file -manually. This step may be left manual to make the installation -a little bit more safe. -.PP -After that you may also want to redefine some of the aliases in -\f(CWFontmap\fR to refer to the newly installed fonts. -But the redefinition of the aliases may be dangerous if the width of -characters in the new font will be different from the old font. -Alas, there is no visible solution of this problem yet. -.SH "FILES" -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/\s0scripts/convert.cfg.sample -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/\s0scripts/* -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/README\s0 -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR/FONTS\s0 -.Ip "\(bu" 2 -\s-1TTF2PT1_SHAREDIR\s0/* -.Ip "\(bu" 2 -\s-1TTF2PT1_BINDIR/\s0ttf2pt1 -.SH "SEE ALSO" -.Ip "\(bu" 4 -the \fIttf2pt1(1)\fR manpage -.Ip "\(bu" 4 -the \fIttf2pt1_convert(1)\fR manpage -.Ip "\(bu" 4 -the \fIt1asm(1)\fR manpage - -.rn }` '' -.IX Title "TTF2PT1_X2GS 1" -.IX Name "B - font installer for Ghostscript" - -.IX Header "NAME" - -.IX Header "SYNOPSIS" - -.IX Header "DESCRIPTION" - -.IX Header "FILES" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Header "SEE ALSO" - -.IX Item "\(bu" - -.IX Item "\(bu" - -.IX Item "\(bu" - Binary files /tmp/F9hCWga7fF/ttf2ufm-3.4.4~r2/ttf2ufm and /tmp/zTeJF00m3N/ttf2ufm-3.4.4~r2+gbp/ttf2ufm differ