Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TTF2PT1_CONVERT(1)	     TTF2PT1 Font Converter	      TTF2PT1_CONVERT(1)

NAME
     ttf2pt1_convert - convenience font conversion script

SYNOPSIS
     ttf2pt1_convert [config-file]

DESCRIPTION
     `Convert'	is the master conversion script provided with ttf2pt1.	When in-
     stalled into a public directory it's named `ttf2pt1_convert' to avoid  name
     collisions with the other programs.

     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 `con-
     vert.cfg.sample'. Please copy it  to  `convert.cfg',  look  inside  it  and
     change  the  configuration  variables.  The more stable configuration vari-
     ables, 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 con-
     verter, 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 lan-
       guage  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  en-
       coding.	See the file encodings/README for details about the encoding ta-
       bles. 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 di-
       rectory gets completely wiped out before conversion, so don't use any al-
       ready 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  configura-
       tion 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 encod-
       ing 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 inac-
       cessible. 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 con-
       verter 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 du-
       plicated 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 configu-
     ration 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'  subdirec-
     tory 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 `con-
     vert'. 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  straight-
     forward.  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).

FILES
     * /usr/local/share/ttf2pt1/scripts/convert.cfg.sample

     * /usr/local/share/ttf2pt1/scripts/*

     * /usr/local/share/ttf2pt1/README

     * /usr/local/share/ttf2pt1/FONTS

     * /usr/local/share/ttf2pt1/*

     * /usr/local/bin/ttf2pt1

SEE ALSO
     *	 the ttf2pt1(1) manpage

     *	 the ttf2pt1_x2gs(1) manpage

     *	 the t1asm(1) manpage

BUGS
     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 out-
	 lines 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 imple-
	 mentation 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 mi-
	 nor 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 diffi-
	 cult. 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  in-
	 stallation  program  (up  to release 3.1) have conflicted with the lan-
	 guage definitions of the Xfsft font server and  parts	of  it	included
	 into  XFree86. To overcome this incompatibility the never versions cre-
	 ats 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  `con-
	 vert.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.

3rd Berkeley Distribution	  version 3.4.4 	      TTF2PT1_CONVERT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ttf2pt1_convert&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help