Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkfontscale(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

desktop(1)

download(1)

lp(1)

mkfontdir(1)

pfb2pfa(1)

type1.config(4)






       mkfontscale(1)                                        mkfontscale(1)


       NAME
             mkfontscale - enable PostScript Type 1 outline font use for
             the UnixWare X server and lp

       SYNOPSIS
             mkfontscale [directory] [. . .]

       DESCRIPTION
             The mkfontscale command allows Type 1 outline fonts installed
             on the system to be used for both display and printing: by
             both the UnixWare X server and the lp subsystem.  For display,
             mkfontscale allows the X Window System, when the Adobe Type
             Manager package is installed, to use the Type 1 outline fonts
             by mapping the PostScript font name information to the XLFD
             name required by the X server.  For printing, mkfontscale
             allows the lp command to download installed Type 1 fonts to a
             PostScript printer via the download utility, by mapping the
             PostScript font name to the file name of the installed Type 1
             font.

             If no arguments are given, mkfontscale works with the Type 1
             outline font files in the current directory; otherwise, it
             processes the fonts in each directory given as arguments.  For
             each directory, it reads all Type 1 font files in the
             directory and maps the font naming information contained
             therein to XLFD names in the file fonts.scale, which it
             creates or updates as necessary, in the same directory; the
             mkfontdir command uses fonts.scale as input and creates the
             file fonts.dir, which X uses directly on startup.  In
             addition, mkfontscale updates the file
             /usr/share/lib/hostfontdir/map to associate PostScript font
             names with the file in which they are located, to allow
             download to download them to PostScript printers.

             The Type 1 font files may be either the ASCII form of Type 1
             fonts or the binary form; they are recognized by mkfontscale
             if their names have one of the following suffixes: .PFA, .pfa,
             .PFB, .pfb, .PS, or .ps.  Files whose names have any other
             suffix are ignored by mkfontscale.

          XLFD Mapping: Family Name and Style
             There are five XLFD fields for font name and style.  They are
             mapped as follows from the PostScript names (literals) in the
             Type 1 font file:




                           Copyright 1994 Novell, Inc.               Page 1













      mkfontscale(1)                                        mkfontscale(1)


       XLFD Field       Type 1 PostScript name used
       ________________________________________________________________________
       FAMILY_NAME      Set directly from the value of the /FamilyName literal.
       WEIGHT_NAME      Set directly from the value of the /Weight literal.
       SLANT            Set to i if the pattern [Ii]ta appears in the literal
                        /FontName; set to o if the pattern [Oo]bl appears in
                        the literal /FontName; set to r otherwise.
       SETWIDTH_NAME    Set from the /FullName literal as follows:
                        if the pattern [Cc]ond appears, set to Condensed;
                        if the pattern [Cc]omp appears, set to Compressed;
                        if the pattern [Nn]arr appears, set to Narrow;
                        if the pattern [Tt]hin appears, set to Thin;
                        if the pattern [Uu]lt appears, Ultra added as prefix;
                        if the pattern [Ee]xt appears, Extra added as prefix.
       ADD_STYLE_NAME   Set from the /FullName literal: if any of a series of
                        qualifying names appear as part of the FullName, they
                        are placed in the ADD_STYLE_NAME field.  These include
                        Capitals, Expert, Alternate, and Old Style.

         XLFD Mapping: Character Set Registries and Encodings
            If the Type 1 font contains the literal definition /Encoding
            StandardEncoding, then two XLFD names are created for the
            font, one with a CHARSET_ENCODING of 1 and the other with a
            CHARSET_ENCODING of adobe; the CHARSET_REGISTRY is set to
            iso8859 in both cases.  Otherwise, a single XLFD name is
            created for the font, with a CHARSET_ENCODING of fontspecific
            and a CHARSET_REGISTRY of adobe.

         XLFD Mapping: Other XLFD Fields
            There are seven other XLFD fields, set as follows:
            XLFD Field      manner set from Type 1 PostScript information
            _____________________________________________________________
            FOUNDRY         Set to a limited number of well-known digital
                            font foundries (Adobe, Bitstream, IBM,
                            Linotype, Monotype), based on the presence of
                            their name in the /Notice literal.
            PIXEL_SIZE      Set to 0, per X11R5 XLFD conventions.
            POINT_SIZE      Set to 0, per X11R5 XLFD conventions.
            RESOLUTION_X    Set to 0, per X11R5 XLFD conventions.
            RESOLUTION_Y    Set to 0, per X11R5 XLFD conventions.
            SPACING         Set to m if the literal /isFixedPitch is set
                            to true;
                            otherwise set to p.
            AVERAGE_WIDTH   Set to 0, per X11R5 XLFD conventions.




                          Copyright 1994 Novell, Inc.               Page 2













       mkfontscale(1)                                        mkfontscale(1)


             XLFD Field      manner set from Type 1 PostScript information
             _____________________________________________________________

          XLFD Creation: Derived Instance Pointsizes
             To allow pre-X11R5 applications to take limited advantage of
             outline fonts, XLFD names that have a specific size in the
             POINT_SIZE field may be created for outline fonts.  By doing
             this for sizes 10 and 12, for example, an X11R4 application,
             can be informed by X that the font Hobo (from the Adobe Type
             Set 2 collection) is available in pointsizes 10 and 12; the
             X11R4 application assumes the fonts are bitmapped, but the X
             server just renders the outlines at the sizes available via
             these ``derived'' XLFD names.  This is a limited capability:
             sizes of the font other than 10 and 12 are not available to
             the pre-X11R5 application, since it does not know how to
             request an outline to be scaled to any size.  Nonetheless, it
             is a mechanism by which some use of outline fonts may be made
             by older X applications.

             The pointsizes for which this is desired are specified as a
             comma-separated list in the environment variable
             DERIVED_INSTANCE_PS when mkfontscale is executed.  An XLFD
             name for each size specified is generated for each character
             set encoding of each font in the directory; a scalable name,
             with a POINT_SIZE field of 0, is of course also generated for
             each encoding of each Type 1 font file.

             Note that when the Integrity Check selection on the Actions
             menu button of the Fonts application in the Preferences folder
             of the UnixWare Desktop causes mkfontscale to run, the
             DERIVED_INSTANCE_PS environment variable is set to the value
             of the derived-instance-pointsizes option in the Type 1 font
             configuration file /usr/X/lib/fonts/type1/config.

          lp Mapping
             The first column of the file /usr/share/lib/hostfontdir/map is
             the font name as given in the /FontName literal in the Type 1
             program.  This is the name of the font that must be specified
             in the %%DocumentFonts: comment of PostScript output files
             from applications if the font is to be downloaded to a
             PostScript printer.  It is the name of the font dictionary
             created in the PostScript interpreter in the printer when that
             font is used.  Note that an application must obtain the
             PostScript font name (as coded in the /FontName literal in the
             Type 1 font file) from a font structure in the X server, when
             the font is open, to be able to place it in the


                           Copyright 1994 Novell, Inc.               Page 3













      mkfontscale(1)                                        mkfontscale(1)


            %%DocumentFonts: comment in a generated PostScript output
            file; see download(1).

            If the ``Fonts Disk'' of the DOS retail package for Adobe Type
            Manager is installed, the 13 base fonts there are not placed
            into the hostfontdir/map file, since it is assumed that all
            PostScript printers have at least these 13 fonts.  If this
            assumption is untrue, the map file must be updated manually;
            see download(1).

         Files
            /usr/X/lib/fonts/type1/config
            /usr/X/lib/fonts/type1/fonts.scale
            /usr/share/lib/hostfontdir/map
            /etc/lp/printers/printer/residentfonts

         Environment Variables
            XWINHOME
                  specifies where the X libraries are located; if not set,
                  it defaults to /usr/X.

            DERIVED_INSTANCE_PS
                  is a comma-separated list of point sizes for which
                  individual XLFD font names are to be generated for each
                  character encoding of each Type 1 font.

      USAGE
         Examples
            The file CP31A___.pfa on the fonts diskette from the Adobe
            TypeSet 2 package contains the following PostScript literals:
               /Notice (Copyright (c) 1989, 1990 Adobe Systems Incorporated.\
                  All Rights Reserved.)
               /FullName (Copperplate Gothic 31AB)
               /FamilyName (Copperplate Gothic)
               /Weight (Bold)
               /ItalicAngle 0
               /FontName /Copperplate-ThirtyOneAB

            This is mapped to the following two scalable XLFD names in the
            fonts.scale file:
               CP31A___.pfa -adobe-Copperplate Gothic-Bold-r-normal--0-0-0-0-p-0-iso8859-1
               CP31A___.pfa -adobe-Copperplate Gothic-Bold-r-normal--0-0-0-0-p-0-iso8859-adobe

            The PostScript font name Copperplate-ThirtyOneAB would be
            placed into the map file for use for downloaded fonts.



                          Copyright 1994 Novell, Inc.               Page 4













       mkfontscale(1)                                        mkfontscale(1)


             The file SNOWTHIN.pfa from another font vendor contains the
             following PostScript font literals:
                /Notice (Copyright (c) 1989, Acme Fonts Inc.)
                /FullName (Acme Snow-Thin)
                /FamilyName (Snow Thin)
                /Weight (Thin)
                /ItalicAngle 0
                /FontName /SnowThin

             This is mapped to the following scalable XLFD name in the
             fonts.scale file:
                SNOWTHIN.pfa -unknown-Snow Thin-Thin-r-normal--0-0-0-0-p-0-iso8859-1

             Note that ``Thin'' is used in both the FamilyName literal and
             the Weight literal, and so is used twice in the XLFD name.
             This means that the word will appear twice in the Fonts
             application, once under Family Name and once under Style.
             This is due to a lack of regularized font naming conventions
             in the industry.

       NOTICES
             XLFD is the acronym for the X Logical Font Description and
             more information on it can be obtained from the X Consortium
             document X11R5: X Logical Font Description Conventions,
             Version 1.4.

             The mkfontscale command is run automatically by the Fonts
             application of the desktop whenever Type 1 fonts are installed
             from diskette.  It is also run when the Integrity Check option
             of the Actions button of the Fonts application is used.

       REFERENCES
             desktop(1), download(1), lp(1), mkfontdir(1), pfb2pfa(1),
             type1.config(4)














                           Copyright 1994 Novell, Inc.               Page 5








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026