home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-08-28 | 85.0 KB | 2,377 lines |
-
-
-
-
-
-
- X Window System, Version 11, Release 5
-
- Release Notes
-
- MIT X Consortium staff
-
- MIT Laboratory for Computer Science
-
-
-
- Copyright (C) 1991 by the Massachusetts Institute of Technology.
-
- Permission to use, copy, modify, and distribute this document for any purpose
- and without fee is hereby granted, provided that the above copyright notice and
- this permission notice appear in all copies, and that the name of MIT not be
- used in advertising or publicity pertaining to this document without specific,
- written prior permission. MIT makes no representations about the suitability
- of this document for any purpose. It is provided ``as is'' without express or
- implied warranty.
-
- X Window System is a trademark of MIT.
-
-
-
- This document describes how to build, install, and get started with Release 5
- of the X Window System from MIT and gives a brief overview of the contents of
- the release.
-
- 1. For the Impatient Explorer
-
- For those of you who will try to build the distribution without reading the
- entire release notes first, here is a quick summary of what to do.
-
- If you want to build with gcc, edit mit/config/site.def by uncommenting the
- HasGcc line.
-
- If you want to install into somewhere other than /usr/bin/X11,
- /usr/include/X11, etc., edit mit/config/site.def by uncommenting the Projec-
- tRoot lines and changing "/usr/X11R5" to whatever directory you want to install
- into. (Do not use DESTDIR.)
-
- Check the appropriate mit/config/vendor.cf file to make sure that OSMajorVer-
- sion and OSMinorVersion are set correctly (change them if necessary).
-
- Find the BootstrapCFlags line, if any, in the vendor.cf file. If there isn't
- one, cd to the mit directory and type:
-
- make World >& world.log
-
- If there is a BootstrapCFlags, take its value1 and type:
- _________________________
- 1. If you are using the x386.cf file, you will have to compute the correct
- value.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 2 -
-
-
- make World BOOTSTRAPCFLAGS="value" >& world.log
-
- Do not call the output file ``make.log'', or it will be deleted. If the build
- is successful, you can install most of it with:
-
- make install >& install.log
-
- You can install man pages with:
-
- make install.man >& man.log
-
- You can install lint libraries (if desired) with:
-
- make install.ln >& lintlib.log
-
- If things fail, read the rest of the release notes.
-
- 2. Brief Overview of the Distribution
-
- (If you want, you can skip to the next chapter first, and get your build
- started. While it is compiling you will have plenty of time to read the rest
- of the release notes.)
-
- There are two parts to the Release 5 distribution: MIT software and documenta-
- tion, and user-contributed software and documentation. The MIT part contains:
-
- X Consortium Standards
-
- The MIT X Consortium produces standards: documents which define network
- protocols, programming interfaces, and other aspects of the X environment.
- See the XStandards man page for a list of standards. See the XConsortium
- man page for information about the X Consortium.
-
- Sample Implementations
-
- For most of our standards, we provide sample implementations to demon-
- strate proof of concept. These are not reference implementations; the
- written specifications define the standards.
-
- Fonts
-
- A collection of bitmap and outline fonts are included in the distribution,
- contributed by various individuals and companies.
-
- Utility Libraries
-
- A number of libraries, such as the Athena Widget Set, are included. These
- are not standards, but are used in building MIT applications and may be
- useful in building other applications.
-
- Sample Programs
-
- We also provide a number of application programs. A few of these pro-
- grams, such as xdm, should be considered essential in almost all
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 3 -
-
-
- environments. The rest of the applications carry no special status, they
- are simply programs that have been developed and/or maintained by MIT X
- Consortium staff. In some cases, you will find better substitutes for
- these programs in the user-contributed software.
-
- The user-contributed part contains whatever people contribute. You find a
- variety of software and documentation here: application programs, demos, exam-
- ples, libraries, Asian input methods, X server extensions, etc.
-
- 2.1. Structure of the MIT Sources
-
- All of the MIT sources are under a single directory, mit. Sources are organ-
- ized into the following subdirectories:
-
- clients
-
- This directory contains most of the sample applications. See the program
- man pages for details.
-
- config
-
- This directory contains configuration files and the imake program used to
- build the release. Details are covered in other sections below.
-
- demos
-
- This directory contains a small collection of graphics demonstration pro-
- grams, a few utility/test programs, and some performance demonstration
- programs. These are by no means the ``best'' demo programs around, they
- just happen to be ones we try to maintain.
-
- doc
-
- This directory contains troff sources to X Consortium standards, server
- internals documentation, documentation for various utility libraries, some
- useful tutorial material.
-
- extensions
-
- This directory contains implementations of X server extensions, both the
- server internals and the application programming libraries, and some test
- programs. Of particular note here, new in Release 5, is PEX, the PHIGS
- Extension to X used for 3D graphics, and the PHIGS programming library
- which interfaces to the PEX protocol.
-
- fonts
-
- This directory contains bitmap fonts in source form, some outline fonts, a
- sample font server, a utility font library used by the X server and font
- server, a client font library for interacting with the font server, and
- programs for building fonts and querying the font server.
-
-
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 4 -
-
-
- hardcopy
-
- This directory contains pre-generated PostScript files for the client man
- pages and for most of the documentation found in the doc directory. The
- files are compressed with compress to save disk space. If you do not have
- compress on your system, you will find a version in the mit/util/compress
- directory.
-
- include
-
- This directory contains various library-independent C header files and a
- collection of bitmap files.
-
- lib
-
- This directory contains programming libraries and support files. Of note
- are Xlib (the lowest-level C programming interface to X), Xt (the X
- Toolkit Intrinsics), Xmu (an eclectic set of utility functions), Xaw (the
- Athena Widget Set), and CLX (a Common Lisp interface to X).
-
- man
-
- This directory contains a few top-level man pages about the release (gen-
- eral information, server access control mechanisms, the X Consortium, and
- X Consortium standards), and man pages for some of the programming
- libraries.
-
- rgb
-
- This directory contains a program to generate the color database used by
- the X server and sample databases.
-
- server
-
- This directory contains the X server sources, both device-independent
- (dix) and device-dependent (ddx). In this release, there is support for
- building the following servers:
-
- DECstation 2100/3100 monochrome and color displays
- DECstation 5000 CX and MX displays
- IBM RS/6000 skyway adapter
- Apple Macintosh monochrome and color displays
- MIPS monochrome and color displays
- OMRON LUNA monochrome displays (color displays operate in monochrome)
- Tektronix 4319 color display
- VAXstation QVSS and QDSS displays
- Sun monochrome and 8-bit color displays (with GX support)
- Various VGA displays under System V/386
-
- If your favorite hardware is not listed above, please do not blame us at
- MIT, we ship what Consortium members provide. Only in a few cases do we
- try to maintain device-specific software for our own development needs.
-
- util
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 5 -
-
-
- This directory contains miscellaneous utility programs and shell scripts
- used to build, maintain, and install the release.
-
- 3. Building the Release
-
- The core distribution (code under the mit directory) has been built and tested
- at MIT on the following systems:
-
- AIX 3.1.5, on IBM RS/6000
- Apollo SR10.3 (very minimal testing, bsd4.3 only)
- AT&T Unix System V Release 4 V2, on AT&T WGS6386
- A/UX 2.0.1
- HP-UX 7.0, on HP9000/s300
- IRIX 4.0
- Mach 2.5 Version 1.13, on OMRON Luna 88k
- NEWS-OS 4.1, on Sony NWS-1850
- NEWS-OS 5.0U, on Sony NWS-3710
- SunOS 4.1.1, on Sun 3, Sparc 1, and Sparc 2
- Ultrix-32 4.2, VAX and RISC
- UNICOS 5.1
- UTek 4.0
- VAX 4.3bsd (with unknown local changes)
-
- In somes cases, we have not used the most recent version of the operating sys-
- tem (sorry). Support for earlier versions of the operating systems listed is
- not claimed, and not guaranteed.
-
- In addition to the systems above, support has been provided by vendors for:
-
- AIX 2.2 and AOS 4.3, on IBM RT
- AIX 1.2.1, on IBM PS/2
- ConvexOS V9.0
- DG/UX 4.32
- INTERACTIVE UNIX Version 2.2.1
- Mach 2.5 Version 1.40, on OMRON Luna 68k
- Motorola R32V2/R3V6.2 and R40V1
- RISCOS 4.50
- UNIOS-B 4.3BSD UNIX: 2.00
- Unix System V/386 Release 3.2, on ESIX, SCO, and AT&T (``work in progress'')
- Unix System V/386 Release 4.0, on DELL
-
- 3.1. Unpacking the Distribution
-
- The distribution normally comes as multiple tar files, either on tape or across
- a network. Create a directory to hold the distribution, cd to it, and untar
- everything from that directory. For example:
-
- mkdir sourcedir
- cd sourcedir
- tar xfp tar-file-or-tape-device
-
- If you have obtained compressed and split tar files over the network, then the
- sequence for each part of the mit directory might be:
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 6 -
-
-
- cd ftp-dir/mit-N
- cat mit-N.?? | uncompress | (cd sourcedir; tar xfp -)
-
- The sequence for each part of the contrib directory might be:
-
- cd ftp-dir/contrib-N
- cat contrib-N.?? | uncompress | (cd sourcedir; tar xfp -)
-
- The sourcedir directory you choose can be anywhere in any of your filesystems
- that is convenient to you. After extracting the release, you should end up
- with an mit subdirectory, and a contrib subdirectory if you unpack user-
- contributed software. You will need about 100 megabytes of disk space to
- unpack the mit directory contents; building it will of course require more disk
- space.
-
- 3.2. Symbolic Link Trees
-
- If you expect to build the distribution on more than one machine using a shared
- source tree, or you just want to keep the source tree pure, you may want to use
- the shell script mit/util/scripts/lndir.sh to create a symbolic link tree on
- each build machine. This is fairly expensive in disk space, however. To do
- this, create a directory for the build, cd to it, and type:
-
- sourcedir/mit/util/scripts/lndir.sh sourcedir
-
- where sourcedir is the pathname of the directory where you stored the sources.
- All of the build instructions given below should then be done in the build
- directory on each machine, rather than in the source directory.
-
- The shell script is reasonably portable but quite slow to execute. If you want
- you can instead try compiling a similar C program, but it is slightly tricky to
- do before the distribution is built; cd to the directory mit/util/progs and try
- typing:
-
- ln -s ../../include X11
- cc -o lndir -I. lndir.c
-
- If it compiles and links, it will probably work; otherwise you can try typing:
-
- cc -o lndir -I. -DNOSTDHDRS lndir.c
-
- If it still fails, use the shell script.
-
- 3.3. Setting Configuration Parameters
-
- You will notice that few if any of the subdirectories under mit contain a
- Makefile, but they do contain an Imakefile. The Imakefile is a template file
- used to create a Makefile containing build rules and variables appropriate for
- the target machine. The Makefile is generated by the program imake. Most of
- the configuration work prior to building the release is to set parameters so
- that imake will generate correct files.
-
- The directory mit/config contains configuration files that control how the dis-
- tribution is built. On systems directly supported by this distribution, only
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 7 -
-
-
- minimal editing of these files should be necessary. If your system is not sup-
- ported by the distribution but conforms to ANSI C and POSIX.1 and has socket-
- style networking, then you should be able to build a new configuration file
- relatively easily. Otherwise, edits to many files throughout the system may be
- necessary. We only deal with minor editing for supported systems here.
-
- The main files to be concerned with in the mit/config directory are site.def
- and one of the vendor.cf files. The site.def file should be used for most
- site-specific configuration customizations. The .cf file should normally only
- need to be edited if you are using a different release of the operating system.
-
- 3.3.1. The vendor.cf File
-
- Find the appropriate .cf file from this table:
-
- AIX ibm.cf
- AOS ibm.cf
- Apollo apollo.cf
- AT&T Unix SVR4 att.cf
- A/UX macII.cf
- BSD bsd.cf
- ConvexOS convex.cf
- DG/UX DGUX.cf
- HP-UX hp.cf
- INTERACTIVE x386.cf
- IRIX sgi.cf
- Mach (Luna) luna.cf
- Motorola moto.cf
- NEWS-OS sony.cf
- RISCOS Mips.cf
- SunOS sun.cf
- Ultrix ultrix.cf
- UNICOS cray.cf
- UTek pegasus.cf
- UNIOS-B luna.cf
- Unix System V/386 x386.cf
-
- Look through this file, and check the OSMajorVersion and OSMinorVersion values.
- The numbers have been preset to what was tested at MIT or what was supplied by
- the vendor. If the version numbers match the operating system you are
- currently running, all is well. If they do not, you will need to edit to file
- to make them correct. In a few cases (specifically changing UNICOS from 5.1 to
- 6.0) there should not be a problem in moving the version numbers forward to a
- newer release. However, if you are moving the version numbers backwards, or
- moving forward to a version that hasn't been pre-tested, you may have problems,
- and you have have to edit other parts of the file (and possibly other files) to
- get things to work.
-
- You can browse through the rest of the items in the .cf file, but most of them
- you should not need to edit.
-
- 3.3.2. The site.def File
-
- There are two main variables to set in the site.def file: HasGcc and
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 8 -
-
-
- ProjectRoot. If you are going to compile the distribution with gcc, find the
- line that looks like
-
- /* #define HasGcc YES */
-
- and remove the comment markers, turning it into
-
- #define HasGcc YES
-
- If you are sharing a single site.def across multiple systems, you can do some-
- thing more complicated. For example, if you only want to use gcc on a Sun 3
- (but not on Sparcs) you might use this:
-
- #ifdef SunArchitecture
- #define HasGcc mc68000
- #endif
-
- The most common error when using gcc is to fail to run the fixincludes script
- (from the gcc distribution) when installing gcc. Make sure you have done this
- before compiling the release. Another common error is likely to be using gcc
- ANSI C include files when the vendor operating system supplies correct ones.
- The gcc include files assert.h, limits.h, and stddef.h are prime candidates for
- not installing.
-
- The ProjectRoot variable controls where the software will eventually be
- installed. The default as distributed for most systems is to install into
- ``system'' directories: /usr/bin/X11, /usr/include/X11, /usr/lib, and /usr/man
- (this is the behaviour when ProjectRoot is not defined). If you prefer to
- install into alternate directories, the simplest thing to do is to set Projec-
- tRoot. Find the four ProjectRoot lines in the site.def file, and again remove
- the ``/*'' and ``*/'' comment markers that surround them. You will see a
- default choice for ProjectRoot of /usr/X11R5; if you don't like that one,
- replace it with another. Assuming you have set the variable to some value
- /path, files will be installed into /path/bin, /path/include/X11, /path/lib,
- and /path/man.
-
- Note that in a few cases (ibm.cf and x386.cf) the vendor-supplied .cf file sup-
- plies a ProjectRoot by default. If you want to accept this one, do not uncom-
- ment the one in site.def; otherwise the one you place in site.def will override
- the default setting.
-
- The directories where the software will be installed are compiled in to various
- programs and files during the build process, so it is important that you get
- the configuration correct at the outset. If you change your mind later, you
- will want to do a ``make Everything'' to rebuild correctly.
-
- Notice that the site.def file was two parts, one protected with ``#ifdef
- BeforeVendorCF'' and one with ``#ifdef AfterVendorCF''. The file is actually
- processed twice, once before the .cf file and once after. About the only thing
- you need to set in the ``before'' section is HasGcc; just about everything else
- can be set in the ``after'' section.
-
- There are a large number of parameters that you can modify to change what gets
- built and how it gets built. An exhaustive list and explanation will not be
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 9 -
-
-
- given here; you can browse through mit/config/README to see a list of parame-
- ters. However, here are some notable parameters that you can set in the
- ``after'' section:
-
- BuildXsi and BuildXimp
-
- New in this release, Xlib contains support for internationalized input
- methods, using library- or network-based implementation methods. The
- implementation details internal to Xlib can vary considerably depending on
- the types of input methods supported. In this release, two different
- implementations are supported, named Xsi and Ximp. As distributed, the
- default on all systems except Sony is Xsi. If you want to use Ximp
- instead, add this:
-
- #define BuildXimp YES
-
- BuildServer
-
- This controls whether or not an X server is built. If the variable is not
- set to NO in the .cf file, then the default is to build a server. If you
- want to disable the server, add this:
-
- #define BuildServer NO
-
- BuildFonts
-
- Compiled fonts take up a lot of disk space. In this release, the compiled
- form (called ``pcf'') can be shared across all machines of all architec-
- tures, so you may only want to build the fonts on one machine. To disable
- font building, add this:
-
- #define BuildFonts NO
-
- BuildPex
-
- PEX is an X extension supporting 3-D graphics and the PHIGS programming
- interface. The PEX sources are known to cause some compilers to exceed
- their static symbol table sizes. If this happens to you, you can disable
- PEX by adding this:
-
- #define BuildPex NO
-
- ManSuffix
-
- User program man pages are installed by default in subdirectory ``mann''
- with suffix ``.n''. You can change this to ``man1'' and ``.1'', for exam-
- ple, by adding this:
-
- #define ManSuffix 1
-
- InstallLibManPages
-
- By default, the programming library man pages (Xlib, Xt, various exten-
- sions) are installed along with all of the other man pages. The library
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 10 -
-
-
- pages constitute a considerable number of files. If you do not expect to
- be programming with X, or prefer using other forms of documentation, you
- can disable installation of the library pages by adding this:
-
- #define InstallLibManPages NO
-
- InstallXdmConfig and InstallXinitConfig
-
- The xdm and xinit programs are the normal ways to run X servers. By
- default, the configuration files for these programs are not installed, to
- avoid inadvertently destroying existing configuration files. If you are
- not yet using xdm or xinit, or will be installing into a new destination,
- or do not wish to retain your old configuration files, add these:
-
- #define InstallXdmConfig YES
- #define InstallXinitConfig YES
-
- XdmServersType
-
- Some of the xdm config files are generated based on configuration parame-
- ters. One of the files controls whether an X server is started by
- default. By default the choice is made based on whether an X server is
- built as part of this distribution (the BuildServer parameter). If you
- are not building a server, but you will be running a product server on the
- workstation under xdm, you should add this:
-
- #define XdmServersType ws
-
- HasXdmAuth
-
- This release supports a DES-based form of authorization called XDM-
- AUTHORIZATION-1. The source file mit/lib/Xdmcp/Wraphelp.c, which is
- necessary for this to compile, might not be included in your distribution
- due to possible export regulations; if it is not included and you are a US
- citizen, you should be able to obtain the file over the network. To
- enable building of this mechanism, add this:
-
- #define HasXdmAuth YES
-
- InstallFSConfig
-
- New to this release is a network font server, fs. By default, the confi-
- guration files for the font server are not installed. To have them
- installed, add this:
-
- #define InstallFSConfig YES
-
- MotifBC
-
- If you want to use the Release 5 Xlib and Xt with Motif 1.1, you will need
- to enable a backward compatibility flag, by adding this:
-
- #define MotifBC YES
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 11 -
-
-
- 3.4. System Pitfalls
-
- On a few systems, you are likely to have build problems unless you make some
- minor changes to the system. Naturally, you should exercise caution before
- making changes to system files, but these are our recommendations based on our
- experience.
-
- On VAX Ultrix systems, you may find that <stdlib.h> contains declarations of
- malloc, calloc, and realloc with a return value of ``void *''. You may find
- this causes problems when compiling with a non-ANSI-C compiler, in which case a
- workaround is to change the return values to ``char*'' in the ``#else'' sec-
- tion.
-
- Ultrix may not provide <locale.h> unless you load the Internationalization sub-
- set. You will need this file to compile the distribution (or else you will
- need to reset a configuration parameter, see below).
-
- On SunOS systems, you may find that statically linking (when debugging) against
- both Xlib and the libc will result in unresolved symbols to dynamic linker
- functions, because Xlib contains calls to wcstombs. Either link dynamically
- against libc, or compile and link the stub routines in mit/util/misc/dlsym.c.
-
- On Sun 3s, the default is to compile library files with no special floating
- point assumptions. If all of your Sun 3s have floating point hardware, you may
- want to change this, for better performance of Xlib color functions. For exam-
- ple, in the ``after'' section of your site.def file, you might add:
-
- #if defined(SunArchitecture) && defined(mc68000)
- #undef LibraryCCOptions
- #define SharedLibraryCCOptions -f68881 -pipe
- #endif
-
- On AOS, you may find that <stdarg.h> is missing. In that case, you should be
- able to copy mit/util/misc/rt.stdarg.h to create the file.
-
- On some System V/386 systems, you may find when using gcc in ANSI mode that
- there are inconsistent declarations between <memory.h> and <string.h>. In that
- case, you may find it convenient to remove <memory.h> and make it a link to
- <string.h>.
-
- On some System V/386 systems, you may need to build and install a dbm library
- before building the X server and RGB database. One can be found in
- contrib/util/sdbm.
-
- 3.4.1. Internationalization
-
- This release has support for internationalization, based on the ANSI C and
- POSIX locale model. On some systems, you may discover that while the locale
- interface is supported, only the ``C'' locale is actually provided in the base
- operating system. If you have such a system, and would like to experiment with
- a broader set of locales, the Xlib implementation contains support you can use,
- although use of this override has not really be tested. You need to add the
- following defines to the StandardDefines parameter:
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 12 -
-
-
- -DX_WCHAR -DX_LOCALE
-
- In most cases you will have to directly edit the .cf file to do this, or else
- you will have to know what the rest of the values are supposed to be, and add
- this to site.def:
-
- #undef StandardDefines
- #define StandardDefines previous-values -DX_WCHAR -DX_LOCALE
-
- It is also possible to directly edit the file mit/include/Xosdefs.h, but this
- is not recommended.
-
- With this setup, you will have to be careful that the system's declaration of
- wchar_t (in <stddef.h>) never gets used; this might be tricky.
-
- 3.5. Typing ``make World''
-
- One more piece of information is required before building, at least on some
- systems: bootstrap flags. Look in your .cf file for a line of the form
-
- #define BootstrapCFlags value
-
- If there isn't one things are simple, otherwise things are only slightly more
- complicated. If there is more than one (for example, in ibm.cf, moto.cf, and
- sony.cf), then you need to select the right one; it should be pretty obvious by
- the grouping according to operating system type. Note that on A/UX you only
- need this value if you are using gcc, and that on a Sun you only need this
- value if you are using an earlier version of the operating system.
-
- If you are using x386.cf, you will have to ``compute'' the value from the
- information given in the file. You may also need to do other preparatory work;
- please read mit/server/ddx/x386/README.
-
- If no value is required on your system, you can cd to the mit directory and
- start the build with:
-
- make World >& world.log
-
- If a value is required, start the build with:
-
- make World BOOTSTRAPCFLAGS="value" >& world.log
-
- You can call the output file something other than ``world.log'', but do not
- call it ``make.log'' because files with this name are automatically deleted
- during the ``cleaning'' stage of the build.
-
- Because the build can take several hours to complete, you will probably want to
- run it in the background, and keep a watch on the output. For example:
-
- make World >& world.log &
- tail -f world.log
-
- If something goes wrong, the easiest thing is to just start over (typing ``make
- World'' again) once you have corrected the problem. It is possible that a
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 13 -
-
-
- failure will corrupt the top-level Makefile. If that happens, simply delete
- the file and recreate a workable substitute with:
-
- cp Makefile.ini Makefile
-
- When the build completes, examine the world.log file for errors. If you search
- for `:' (colon) characters, and skip the obvious compile lines, it is usually
- pretty easy to spot any errors.2
-
- 4. Installing the Release
-
- Although it is possible to test the release before installing it, it is a lot
- easier to test after it has been installed. If everything is built success-
- fully, you can install the software by typing the following as root, from the
- mit directory:
-
- make install >& install.log
-
- Again, you might want to run this in the background and use tail to watch the
- progress.
-
- You can install the man pages by typing the following as root, from the mit
- directory:
-
- make install.man >& man.log
-
- You can install lint libraries (useful if your systems does does not have an
- ANSI C compiler) by typing the following as root, from the mit directory:
-
- make install.ln >& lintlib.log
-
- 4.1. Setting Up xterm
-
- If your /etc/termcap and /usr/lib/terminfo databases do not have correct
- entries for xterm, sample entries are provided in the directory
- mit/clients/xterm/. System V users may need to compile and install the ter-
- minfo entry with the tic utility.
-
- Since each xterm will need a separate pseudoterminal, you need a reasonable
- number of them for normal execution. You probably will want at least 32 on a
- small, multiuser system. On most systems, each pty has two devices, a master
- and a slave, which are usually named /dev/tty[pqrstu][0-f] and
- /dev/pty[pqrstu][0-f]. If you don't have at least the ``p'' and ``q'' sets
- configured (try typing ``ls /dev/?ty??''), you should have your system adminis-
- trator add them. This is commonly done by running the MAKEDEV script in the
- /dev directory with appropriate arguments.
-
-
-
- _________________________
- 2. Searching for colon does not work particularly well on the RS/6000 because
- it appears in command lines when building shared libraries. Try searching for
- colon followed by space.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 14 -
-
-
- 4.2. Starting Servers at System Boot
-
- The xdm program is designed to be run automatically at system startup. Please
- read the xdm man page for details on setting up configuration files; reasonable
- sample files are in mit/clients/xdm/config. If your system uses an /etc/rc
- file at boot time, you can usually enable xdm by placing the following at or
- near the end of the file:
-
- if [ -f /usr/bin/X11/xdm ]; then
- /usr/bin/X11/xdm; echo -n ' xdm'
- fi
-
- The example here uses /usr/bin/X11, but if you have installed into a different
- directory (for example by setting ProjectRoot) then you need to substitute the
- correct directory.
-
- If you are going to use the font server, you can also start it at boot time by
- adding this:
-
- if [ -f /usr/bin/X11/fs ]; then
- /usr/bin/X11/fs &; echo -n ' fs'
- fi
-
- If you are unsure about how system boot works, or if your system does not use
- /etc/rc, consult your system administrator for help.
-
- 5. Rebuilding the Release
-
- You shouldn't need this right away, but eventually you are probably going to
- make changes to the sources, for example by applying public patches distributed
- by MIT. If only C source files are changed, you should be able to rebuild just
- by going to the mit directory and typing:
-
- make >& make.log
-
- If configuration files are changed, the safest thing to do is type:
-
- make Everything >& every.log
-
- ``Everything'' is similar to ``World'' in that it rebuilds every Makefile, but
- unlike ``World'' it does not delete the existing objects, libraries, and exe-
- cutables, and only rebuilds what is out of date.
-
- Note that in both kinds of rebuilds you do not need to supply the
- BootstrapCFlags value any more, the information is already recorded.
-
- 6. Building Contributed Software
-
- The software in contrib is not set up to have everything built automatically.
- It is assumed that you will build individual pieces as you find the desire,
- time, and/or disk space. You need to have the MIT software built and installed
- before building the contributed software. To build a program or library in
- contrib, look in its directory for any special build instructions (for example,
- a README file). If there are none, and there is an Imakefile, cd to the
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 15 -
-
-
- directory and type:
-
- xmkmf -a
- make >& make.log
-
- This will build a Makefile in the directory and all subdirectories, and then
- build the software. If the build is successful, you should be able to install
- it using the same commands used for the mit software:
-
- make install >& install.log
- make install.man >& man.log
-
- 7. Filing Bug Reports
-
- If you find a reproducible bug in software in the mit directory, or find bugs
- in the mit documentation, please send a bug report to MIT using the form in the
- file mit/bug-report and the destination address:
-
- xbugs@expo.lcs.mit.edu
-
- Please try to provide all of the information requested on the form if it is
- applicable; the little extra time you spend on the report will make it much
- easier for us to reproduce, find, and fix the bug. Receipt of bug reports is
- generally acknowledged, but sometimes it can be delayed by a few weeks.
-
- Bugs in contrib software should not be reported to MIT. Consult the documenta-
- tion for the individual software to see where (if anywhere) to report the bug.
-
- 8. Public Fixes
-
- We occasionally put out patches to the MIT software, to fix any serious prob-
- lems that are discovered. Such fixes (if any) can be found on
- export.lcs.mit.edu, in the directory pub/R5/fixes, using anonymous ftp. Fixes
- are applied using the patch program; a copy of it is included in the directory
- mit/util/patch.
-
- For those without ftp access, individual fixes can be obtained by electronic
- mail by sending a message to
-
- xstuff@expo.lcs.mit.edu
-
- (Note that the host here is ``expo'', not ``export''.) In the usual case, the
- message should have a subject line and no body, or a single-line body and no
- subject, in either case the line looking like:
-
- send fixes number
-
- where number is a decimal number, starting from one. To get a summary of
- available fixes, make the line:
-
- index fixes
-
- If you need help, make the line:
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 16 -
-
-
- help
-
- Some mailers produce mail headers that are unusable for extracting return
- addresses. If you use such a mailer, you won't get any response. If you hap-
- pen to know an explicit return path, you can include include one in the body of
- your message, and the daemon will use it. For example:
-
- path user%host.bitnet@mitvma.mit.edu
- or
- path host1!host2!user@uunet.uu.net
-
- 9. Configuring for a New Architecture
-
- Here is a very brief overview of the files that imake reads. All the files are
- in the mit/config directory, except for the Imakefile in the directory for
- which the Makefile is being created. The processing order is:
-
- Imake.tmpl variables not related specifically to X
- site.def site-specific BeforeVendorCF part
- *.cf machine-specific
- *Lib.rules shared library rules
- site.def site-specific AfterVendorCF part
- Project.tmpl X-specific variables
- *Lib.tmpl shared library variables
- Imake.rules rules
- Imakefile specific to the program or library
- Library.tmpl library rules
- Server.tmpl server rules
- The indentation levels indicate what files include other files.
-
- 9.1. Imake.tmpl
-
- The first part of Imake.tmpl determines which .cf file to include. If your cpp
- defines a unique symbol, that should be used to select the file. Otherwise,
- you should place a -D symbol definition in BootstrapCFlags in your .cf file and
- use that. The canonical code to add to Imake.tmpl is:
-
- #ifdef symbol
- #define MacroIncludeFile <symbol.cf>
- #define MacroFile symbol.cf
- #undef symbol
- #define SymbolArchitecture
- #endif /* symbol */
-
- 9.2. imakemdep.h
-
- You also need to edit the file imakemdep.h. There are three parts to this
- file. The first contains defines (beyond BootstrapCFlags) or compiler options
- that are required to get imake itself built the first time.
-
- The next section is for imake itself. There is a hook in case your cpp col-
- lapses tabs down to single spaces. There is also a way to override the cpp to
- use. Finally, add specific defines to pass to cpp when processing configura-
- tion files.
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 17 -
-
-
- The last section is for makedepend, to tell it about predefined symbols that
- will be used to control inclusion of header files.
-
-
- 9.3. vendor.cf
-
- Most of the rest of your vendor-specific configuration information goes here.
- We won't try to tell you everything you need; study the other .cf files and
- copy from systems that are similar. One good rule to follow is to not define
- anything that will get the correct default value from somewhere else; this will
- make it easier to see what is special, and will make it easier for sites to
- customize in their site.def.
-
- If you have shared libraries, the convention is to place the configuration
- rules and standard parameters in a file named osLib.rules, and to place version
- number parameters and make variables in a file named osLib.tmpl. Look at the
- existing files and mimic them.
-
- 9.4. Other Files
-
- Unfortunately, for a new system there are a potentially large number of files
- that you may have to modify. Only the most prominent ones are listed here.
-
- mit/include/Xfuncs.h
- mit/include/Xmd.h
- mit/include/Xos.h
- mit/include/Xosdefs.h
- mit/clients/xload/get_load.c
- mit/clients/xman/vendor.c
- mit/clients/xman/vendor.h
- mit/clients/xterm/main.c
- mit/lib/X/Xlibnet.h
- mit/server/include/servermd.h
-
- 10. Writing Portable Code
-
- In this section we give a brief introduction to using various header files to
- aid in writing portable code.
-
- 10.1. <X11/Xosdefs.h>
-
- The file <X11/Xosdefs.h> defines symbols that describe the system environment
- for ANSI C and POSIX. We likely will extend it to other standards in the
- future. We have found these symbols useful in writing portable code, and hope
- that other writers of X software will use them as well. This file is not part
- of any X Consortium standard, it is simply part of our software distribution.
-
- <X11/Xosdefs.h> can be included directly by a file, or it will be automatically
- included when you include <X11/Xos.h>.
-
- The symbols in <X11/Xosdefs.h> tell when you can, for example, do
-
- #include <stdlib.h>
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 18 -
-
-
- without getting a ``no such header file'' error from the compiler. If the sys-
- tem provides a declaration for a function or value for a constant, it is impor-
- tant to use the system's definition rather than providing your own, particu-
- larly because you might not use function prototypes and the system might, or
- vice versa.
-
- <X11/Xosdefs.h> currently controls two symbols: X_NOT_STDC_ENV and X_NOT_POSIX.
-
- X_NOT_STDC_ENV means the system does not have ANSI C header files. Thus, for
- example, if X_NOT_STDC_ENV is not defined, it is safe to include <stdlib.h>.
- Do not confuse this symbol with __STDC__, which says whether the compiler
- itself supports ANSI C semantics. X_NOT_STDC_ENV is independent, and tells
- what header files it is safe to include.
-
- Lack of the symbol X_NOT_STDC_ENV does not mean that the system has <stdarg.h>.
- This header file is part of ANSI C, but we have found it more useful to check
- for it separately because many systems have all the ANSI C files we need except
- this one. __STDC__ is used to control inclusion of this file.
-
- An example of using X_NOT_STDC_ENV might be to know when the system declares
- getenv:
-
- #ifndef X_NOT_STDC_ENV
- #include <stdlib.h>
- #else
- extern char *getenv();
- #endif
-
- We usually put the standard case first in our code, using ``#ifndef''.
-
- X_NOT_POSIX means the system does not have POSIX.1 header files. Lack of this
- symbol does not mean that the POSIX environment is the default. You may still
- have to define _POSIX_SOURCE before including the header file to get POSIX
- definitions.3
-
- An example of using X_NOT_POSIX might be to determine the type that getuid
- would be declared by in <pwd.h>:
-
- #include <pwd.h>
- #ifndef X_NOT_POSIX
- uid_t uid;
- #else
- int uid;
- extern int getuid();
- #endif
- uid = getuid();
-
- Note that both of these symbols, when declared, state a non-compliance. This
- was chosen so that porting to a new, standard platform would be easier. Only
- _________________________
- 3. We have found it very unfortunate that POSIX did not define a standard sym-
- bol that means ``give me POSIX, plus any non-conflicting vendor-specific defin-
- itions''.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 19 -
-
-
- non-standard platforms need to add themselves to <X11/Xosdefs.h> to turn on the
- appropriate symbols.
-
- Not all systems for which we leave these symbols undefined strictly adhere to
- the relevant standards. Thus you will sometimes see checks for a specific O/S
- near a check for one of the Xosdefs.h symbols. However, we have found it most
- useful to label systems as conforming even if they have some holes in their
- compliance. Presumably these holes will become fewer as time goes on.
-
- 10.2. <X11/Xos.h>
-
- In general, <X11/Xos.h> should be used instead of the following header files:
-
- <string.h>
- <strings.h>
- <sys/types.h>
- <sys/file.h>
- <fcntl.h>
- <sys/time.h>
- <unistd.h>
- This file is not part of any X Consortium standard, it is simply part of our
- software distribution.
-
- Some common routines for which you need to include <X11/Xos.h> before using
- are:
-
- index
- rindex
- strchr
- strrchr
- (all the other standard string routines)
- gettimeofday
- time
-
- Data types and constants that should be obtained with <X11/Xos.h> are:
-
- caddr_t
- O_RDONLY
- O_RDWR
- (and other open constants)
- R_OK
- W_OK
- X_OK
- (and other fcntl constants)
-
- Unfortunately, we did not create a header file for declaring malloc correctly,
- and it can be a bit tricky. You can use what we currently have by copying, for
- example, from mit/lib/Xt/Alloc.c:
-
- #ifndef X_NOT_STDC_ENV
- #include <stdlib.h>
- #else
- char *malloc(), *realloc(), *calloc();
- #endif
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 20 -
-
-
- #if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */
- char *malloc(), *realloc(), *calloc();
- #endif /* macII */
-
- 10.3. <X11/Xfuncs.h>
-
- This file contains definitions of bcopy, bzero, and bcmp.4 You should include
- this header in any file that uses these functions. This file is not part of
- any X Consortium standard, it is simply part of our software distribution.
-
- 10.4. <X11/Xfuncproto.h>
-
- This file contains definitions for writing function declarations to get func-
- tion prototypes to work right. It deals with ANSI C compilers as well as pre-
- ANSI C compilers that have parts of function prototypes implemented. This file
- is not part of any X Consortium standard, it is simply part of our software
- distribution.
-
- For external header files that might get used from C++, you should wrap all of
- your function declarations like this:
-
- _XFUNCPROTOBEGIN
- function declarations
- _XFUNCPROTOEND
- When in doubt, assume that the header file might get used from C++.
-
- A typical function declaration uses NeedFunctionPrototypes, like this:
-
- extern Atom XInternAtom(
- #if NeedFunctionPrototypes
- Display* /* display */,
- _Xconst char* /* atom_name */,
- Bool /* only_if_exists */
- #endif
- );
-
- If there are const parameters, use the symbol _Xconst instead, as above. If it
- is plausible to pass a string literal to a char* parameter, then it is a good
- idea to declare the parameter with _Xconst, so that literals can be passed in
- C++.
-
- If there are nested function prototypes, use NeedNestedPrototypes:
-
- extern Bool XCheckIfEvent(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XEvent* /* event_return */,
- Bool (*) (
- #if NeedNestedPrototypes
- Display* /* display */,
- _________________________
- 4. Yes, we should have used the ANSI C function names, but we thought we had
- too much existing code using the BSD names.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 21 -
-
-
- XEvent* /* event */,
- XPointer /* arg */
- #endif
- ) /* predicate */,
- XPointer /* arg */
- #endif
- );
-
- If there is a variable argument list, use NeedVarargsPrototypes:
-
- extern char *XGetIMValues(
- #if NeedVarargsPrototypes
- XIM /* im */, ...
- #endif
- );
-
- If you have parameter types that will widen in K&R C, then you should use
- NeedWidePrototypes:
-
- extern XModifierKeymap *XDeleteModifiermapEntry(
- #if NeedFunctionPrototypes
- XModifierKeymap* /* modmap */,
- #if NeedWidePrototypes
- unsigned int /* keycode_entry */,
- #else
- KeyCode /* keycode_entry */,
- #endif
- int /* modifier */
- #endif
- );
-
- If you use _Xconst, NeedNestedPrototypes, NeedVarargsPrototypes, or
- NeedWidePrototypes, then your function implementation also has to have a func-
- tion prototype. For example:
-
- #if NeedFunctionPrototypes
- Atom XInternAtom (
- Display *dpy,
- _Xconst char *name,
- Bool onlyIfExists)
- #else
- Atom XInternAtom (dpy, name, onlyIfExists)
- Display *dpy;
- char *name;
- Bool onlyIfExists;
- #endif
- {
- ...
- }
-
- Actually, anytime you use a function prototype in a header file, you should use
- a function prototype in the implementation, as required by ANSI C. The MIT X
- sources do not follow this (we've never had time to make all the changes), and
- there are almost certainly compilers that will complain if the implementation
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 22 -
-
-
- does not match the declaration.
-
- 10.5. Other Symbols
-
- Do not use the names class, new, or index as variables or struct members. The
- names class and new are reserved words in C++, and you may find your header
- files used by a C++ program someday. Depending on your system, index can be
- defined as strchr or a macro in <X11/Xos.h>; this may cause problems if you
- include this header file.
-
- The following system-specific symbols are commonly used in X sources where OS
- dependencies intrude:5
-
- USG based on System V Release 2
- SYSV based on System V Release 3
- SVR4 System V Release 4
-
- For other system-specific symbols, look at the StandardDefines parameters in
- the mit/config/*.cf files.
-
- 11. What's New, What's Changed
-
- In this section we briefly describe some of the more significant new features
- of Release 5.
-
- 11.1. New standards
-
- The following standards are new in Release 5:
-
- X Font Service Protocol
-
- Instead of forcing each X server to read all fonts from the filesystem,
- the X Font Server Protocol makes it possible to manage fonts separately
- from the X server, directing the X server to request fonts via this new
- Consortium standard network protocol from a font server. In addition, for
- fonts which take a long time to open, this allows the X server to continue
- with other clients while the font server services the font requests.
-
- XLFD changes for scalable fonts
-
- The X Logical Font Description standard has been compatibly enhanced to
- allow clients to specify and use scalable fonts.
-
- X Input Device Extension
-
- This extension has been promoted from Draft Standard to full Consortium
- Standard with this release.
-
- Inter-Client Communications Conventions
-
- This standard has been updated to cover the new X Device Color
- _________________________
- 5. At most one of these symbols should be defined on a given system!
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 23 -
-
-
- Characterization Conventions for device-independent color support in Xlib.
-
- 11.2. General
-
- We have tried hard with this release to make our code use standard features
- from POSIX.1 and ANSI C when possible. A new include file <X11/Xosdefs.h>
- describes which systems comply or do not comply with these standards.
-
- Two new X authorization schemes are included, a DES based private-key system
- which was described in the R4 XDMCP document - XDM-AUTHORIZATION-1 (along with
- the associated XDMCP authentication system XDM-AUTHENTICATION-1) and the Sun
- Secure RPC based SUN-DES-1 system, which uses the SunOS supplied security sys-
- tem.
-
- 11.3. Clients
-
- Most clients participate in the WM_DELETE_WINDOW protocol.
-
- New clients: editres, viewres, xconsole, xcmsdb. New demos: beach_ball,
- auto_box, gpc, xcmstest, xgas, x11perf. Xlswins has been removed; it is
- replaced by xwininfo -tree. Moved to contrib: muncher, plaid. Completely new
- implementation: bitmap and xmag. Other changes of note:
-
- editres
-
- Editres is a tool that allows users and application developers to view the
- full widget hierarchy of any X Toolkit client that speaks the Editres pro-
- tocol. In addition editres will help the user construct resource specifi-
- cations, allow the user to apply the resource to the application and view
- the results dynamically. Once the user is happy with a resource specifi-
- cation, editres will append the resource string to the user's resources
- file.
-
- xdm
-
- Xdm can now display a menu of hosts for XDMCP-capable terminals using the
- new chooser client. This is useful for X terminals that do not themselves
- offer such a menu. XDMCP works with STREAMS. A new setup program is
- invoked by xdm prior to putting up the login window; this program can be
- used to run xsetroot, xcmsdb, and do any other custom initialization
- required.
-
- xterm
-
- Cuts of wrapped lines are now treated as a single line. Cuts of multi-
- page regions now work and highlight correctly. Pasting large amounts of
- data into xterm now works (on systems with properly-working pty implemen-
- tations). New arguments have been added to the send-signal action: quit,
- alarm. The titeInibit resource has been modified to also inhibit the
- escape sequence which switches to the alternate screen. Two new items
- have been added to the VT Fonts menu: 5x7 (Tiny) and 10x20 (Huge). The
- following resources have been added: resizeGravity, bellSuppressTime,
- appcursorDefault, appkeypadDefault, ginTerminator, autoWrap. The Xterm
- Control Sequences document is up to date. Xterm is installed securely
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 24 -
-
-
- when made setuid on SunOS 4.1.1 with shared libraries.
-
- xmh
-
- Xmh now uses the MH environment variable, if set. Xmh now supports check-
- ing for mail in multiple maildrops. Enhanced participation in
- WM_PROTOCOLS has been added. New resources have been added, including:
- checkpointInterval, checkpointNameFormat, mailInterval, rescanInterval,
- showOnInc, noMailBitmap, newMailBitmap, newMailIconBitmap, and noMailIcon-
- Bitmap. New actions have been added: XmhWMProtocols, XmhShellCommand,
- XmhCheckForNewMail, XmhViewMarkDelete. Better recovery from unexpected
- inconsistencies with the filesystem has been implemented. Better POP sup-
- port has been added. See the file mit/clients/xmh/CHANGES for more
- details.
-
- oclock
-
- Oclock has a new -transparent option.
-
- xload
-
- Xload is secure on SunOS 4.1.1 with shared libraries.
-
- xditview
-
- Xditview now supports pic, scalable fonts, settable device resolution, and
- has a better user interface.
-
- 11.4. Libraries in General
-
- All of the useful libraries now use function prototypes by default for systems
- which support them. SunOS shared libraries now use much less swap space than
- in R4. In addition, System V Release 4 and AIX 3.1 shared libraries are also
- supported now. Configuring new shared library systems should be much easier
- than before.
-
- 11.5. Xlib
-
- Two new major pieces of functionality have been added to Xlib: device indepen-
- dent color, and internationalization (i18n). In addition, a few other addi-
- tions and improvements have been made.
-
- 11.5.1. Xlib Manual
-
- The Xlib manual has been reorganized for Release 5. Unfortunately, this may
- cause considerable confusion for a while when people quote section numbers
- without reference to the release. However, we feel that the new organization
- is a considerable improvement.
-
- 11.5.2. Device-independent Color
-
- The Xcms (X Color Management System) functions in Xlib support device-
- independent color spaces derivable from the CIE XYZ color space. This includes
- the CIE XYZ, xyY, L*u*v*, and L*a*b* color spaces as well as the TekHVC color
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 25 -
-
-
- space. In addition, linear RGB intensity value space has been added, as well
- as gamma correction for device RGB values, and a uniform syntax has been
- adopted for specifying colors in strings. Xlib now supports client-side color
- name databases, and the existing Xlib functions that use color names (e.g.,
- XLookupColor and XAllocNamedColor) now handle all color spaces, so that the
- contrivance of using XParseColor followed by XAllocColor is no longer neces-
- sary. Xlib provides direct programming interfaces for dealing with color
- values in different spaces, and for converting between spaces. New device-
- independent color spaces can also be added. For details on the new color func-
- tionality, read Chapter 6 of the new Xlib manual.
-
- Monitors are characterized by data stored on root window properties; the new
- xcmsdb program can be used to set these properties. Unfortunately, you need a
- color analyzer instrument to generate characterizations; choosing a random one
- will almost certainly produce inaccurate colors. However, you will find some
- sample database files in mit/clients/xcmsdb/datafiles and in
- contrib/clients/ca100/monitors.
-
- 11.5.3. Internationalization
-
- An internationalized application is one which is adaptable to the requirements
- of different native languages, local customs, and character string encodings.
- The process of adapting the operation to a particular native language, local
- custom, or string encoding is called localizaton. A goal of internationaliza-
- tion is to permit localization without program source modifications or recompi-
- lation.
-
- Internationalization in Xlib is based on the concept of a locale. A locale
- defines the ``localized'' behavior of a program at run-time. Locales affect
- Xlib in its:
-
- o Encoding and processing of input method text
-
- o Encoding of resource files and values
-
- o Encoding and imaging of text strings
-
- o Encoding and decoding for inter-client text communication
-
- Characters from various languages are represented in a computer using an encod-
- ing. Different languages have different encodings, and there are even dif-
- ferent encodings for the same characters in the same language.
-
- Xlib provides support for localized text imaging and text input. Sets of func-
- tions are provided for multibyte (char*) text as well as wide character
- (wchar_t) text in the form supported by the host C language environment. For
- details on the new internationalization functionality, read Chapter 13 of the
- new Xlib manual.
-
- Two sample implementations of the internationalization mechanisms exist in this
- release, one called Xsi and one called Ximp. You will find documentation for
- them in mit/doc/I18N and contrib/im, and locale definition files in
- mit/lib/nls. In contrib/im you will also find network-based Input Method
- servers.
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 26 -
-
-
- Unfortunately, none of the programs in the MIT software use the new interna-
- tionalization facilities. However, you will find some sample clients in
- contrib/im, and internationalized versions of some of the MIT clients in
- contrib/clients.
-
- 11.5.4. Keysyms
-
- By default a database of all registered vendor-private keysyms gets installed,
- so that Xlib can map between keysym values and names.
-
- 11.5.5. Resource Databases
-
- A new SCREEN_RESOURCES property has been defined, permitting screen-specific
- resources to be set, so that (for example) colors can be specified for a color
- screen and not effect a monochrome screen on the same server. The xrdb program
- has been enhanced to ``do the right thing'' automatically in most cases.
-
- New functions have been defined to merge a resource database directly from a
- file, and to combine two databases with either ``augment'' or ``override''
- semantics.
-
- A ``#include'' syntax is now supported in resource files. A specific example
- of using this is to have a customized app-defaults file (in an Xt application)
- include the base app-defaults file.
-
- A new reserved component name, ``?'', has been defined that matches a single
- level in the resource hierarchy. This makes it easier to override resources
- specified in app-defaults files.
-
- A new function, XrmEnumerateDatabase, has been defined to search for matching
- entries in a resource database. The appres program has been enhanced in this
- release to become a convenient interface to this function.
-
- A new function, XrmPermStringToQuark, has been introduced to avoid having Xlib
- allocate needless storage for constant strings.
-
- 11.5.6. Extensions
-
- A new function has been added to permit an extension to convert errors with
- additional data into Xlib format, and one has been added to permit an extension
- to print out the values in an error handler.
-
- 11.5.7. Miscellaneous
-
- A new type XPointer has been introduced, replacing uses of the non-standard
- type caddr_t. Old programs using caddr_t will still work, of course.
-
- 11.5.8. Performance
-
- The new color and internationalization facilities have the unfortunate effect
- of making executables quite a bit larger on systems that do not have shared
- libraries.
-
- The resource database functions have been completely rewritten for this
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 27 -
-
-
- release. Databases should be significantly smaller in memory, and loading and
- parsing resources should be faster.
-
- 11.6. Xt Intrinsics
-
- At the data structure level, Release 5 retains complete binary compatibility
- with Release 4. The specification of the ObjectPart, RectObjPart, CorePart,
- CompositePart, ShellPart, WMShellPart, TopLevelShellPart, and Applica-
- tionShellPart instance records was made less strict to permit implementations
- to add internal fields to these structures. Any implementation that chooses to
- do so would, of course, force a recompilation. The Xlib specification for
- XrmValue and XrmOptionDescRec was updated to use a new type, XPointer, for the
- addr and value fields respectively, to avoid ANSI C conformance problems. The
- definition of XPointer is binary compatible with the previous implementation.
-
- 11.6.1. baseTranslations Resource
-
- A new pseudo-resource, XtNbaseTranslations, was defined to permit application
- developers to specify translation tables in application defaults files while
- still giving end users the ability to augment or override individual event
- sequences. This change will affect only those applications that wish to take
- advantage of the new functionality, or those widgets that may have previously
- defined a resource named ``baseTranslations''.
-
- Applications wishing to take advantage of the new functionality would change
- their application defaults file, e.g., from
-
- app.widget.translations: value
- to
-
- app.widget.baseTranslations: value
- If it is important to the application to preserve complete compatibility of the
- defaults file between different versions of the application running under
- Release 4 and Release 5, the full translations can be replicated in both the
- ``translations'' and the ``baseTranslations'' resource.
-
- 11.6.2. Resource File Search Path
-
- The current specification allows implementations greater flexibility in defin-
- ing the directory structure used to hold the application class and per-user
- application defaults files. Previous specifications required the substitution
- strings to appear in the default path in a certain order, preventing sites from
- collecting all the files for a specific application together in one directory.
- The Release 5 specification allows the default path to specify the substitution
- strings in any order within a single path entry. Users will need to pay close
- attention to the documentation for the specific implementation to know where to
- find these files and how to specify their own XFILESEARCHPATH and XUSER-
- FILESEARCHPATH values when overriding the system defaults.
-
- 11.6.3. Customization Resource
-
- XtResolvePathname supports a new substitution string, %C, for specifying
- separate application class resource files according to arbitrary user-specified
- categories. The primary motivation for this addition was separate monochrome
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 28 -
-
-
- and color application class defaults files. The substitution value is obtained
- by querying the current resource database for the application resource name
- ``customization'', class ``Customization''. Any application that previously
- used this resource name and class will need to be aware of the possibly con-
- flicting semantics.
-
- 11.6.4. Per-Screen Resource Database
-
- To allow a user to specify separate preferences for each screen of a display, a
- per-screen resource specification string has been added and multiple resource
- databases are created; one for each screen. This will affect any application
- that modified the (formerly unique) resource database associated with the
- display subsequent to the Intrinsics database initialization. Such applica-
- tions will need to be aware of the particular screen on which each shell widget
- is to be created.
-
- Although the wording of the specification changed substantially in the descrip-
- tion of the process by which the resource database(s) is initialized, the net
- effect is the same as in prior releases with the exception of the added per-
- screen resource specification and the new customization substitution string in
- XtResolvePathname.
-
- 11.6.5. Internationalization of Applications
-
- Internationalization as defined by ANSI is a technology that allows support of
- an application in a single locale. In adding support for internationalization
- to the Intrinsics the restrictions of this model have been followed. In par-
- ticular, the new Intrinsics interfaces are designed to not preclude an applica-
- tion from using other alternatives. For this reason, no Intrinsics routine
- makes a call to establish the locale. However, a convenience routine to
- establish the locale at initialize time has been provided, in the form of a
- default procedure that must be explicitly installed if the application desires
- ANSI C locale behavior.
-
- As many objects in X, particularly resource databases, now inherit the global
- locale when they are created, applications wishing to use the ANSI C locale
- model should use the new function XtSetLanguageProc to do so.
-
- The internationalization additions also define event filters as a part of the
- Xlib Input Method specifications. The Intrinsics enable the use of event
- filters through additions to XtDispatchEvent. Applications that may not be
- dispatching all events through XtDispatchEvent should be reviewed in the con-
- text of this new input method mechanism.
-
- In order to permit internationalization of error messages the name and path of
- the error database file is now allowed to be implementation dependent. No ade-
- quate standard mechanism has yet been suggested to allow the Intrinsics to
- locate the database from localization information supplied by the client.
-
- The previous specification for the syntax of the language string specified by
- xnlLanguage has been dropped to avoid potential conflicts with other standards.
- The language string syntax is now implementation-defined. The example syntax
- cited is consistent with the previous specification.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 29 -
-
-
- 11.6.6. Permanently Allocated Strings
-
- In order to permit additional memory savings, an Xlib interface was added to
- allow the resource manager to avoid copying certain string constants. The
- Intrinsics specification was updated to explicitly require the Object
- class_name, resource_name, resource_class, resource_type, default_type in
- resource tables, Core actions string field, and Constraint resource_name,
- resource_class, resource_type, and default_type resource fields to be per-
- manently allocated. This explicit requirement is expected to affect only
- applications that may create and destroy classes on the fly.
-
- 11.6.7. Arguments to Existing Functions
-
- The args argument to XtAppInitialize, XtVaAppInitialize, XtOpenDisplay,
- XtDisplayInitialize, and XtInitialize were changed from Cardinal* to int* to
- conform to pre-existing convention and avoid otherwise annoying typecasting in
- ANSI C environments.
-
- 11.6.8. Implementation
-
- Function prototypes are now fully supported in the header files.
-
- <X11/Intrinsic.h> no longer includes <X11/Xos.h> by default. Inclusion of this
- file was a bug in earlier releases. If you have old code that depends on this
- bug, you can define -DXT_BC when you compile to get back the old behaviour.
-
- String constants are now defined in a single array, saving memory and external
- symbols. Note that because the new implementation uses #defines, string con-
- stants in widget header files which duplicate a constant defined by Xt should
- either be removed or protected from a collision.
-
- The translation manager facilities have been completely reimplemented in this
- release, resulting in substantially less memory consumed by some applications.
- A number of other memory-saving changes have been implemented, and in a few
- cases execution time should be faster.
-
- The default keycode to keysym translator deals with all Latin keysyms.
-
- 11.6.9. Extension Events
-
- Unfortunately, the Xt standard as of R5 still does not address the issues of
- integrating events from protocol extensions into the normal Xt dispatch mechan-
- ism. The adventurous will find a set of patches to Xt in contrib/lib/Xt that
- attempt to address this problem. These patches are non-standard, experimental,
- subject to change, not guaranteed, may adversely affect your ability to apply
- public patches from MIT, and have not reviewed by the X Consortium.
-
- 11.7. PEX
-
- The PEX Sample Implementation (SI) is composed of several parts. The major com-
- ponents are the extension to the X Server, which implements the PEX protocol,
- and the client side Application Protocol Interface (API), which provides a
- mechanism by which clients can generate PEX protocol. The API provided with
- the PEX-SI is the ISO IS PHIGS Binding and the yet to be standardized PHIGS
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 30 -
-
-
- PLUS Binding.
-
- In addition to these major components, several other minor components are pro-
- vided. These include documentation, 3D fonts for PEX, demos, and a verifica-
- tion suite called InsPEX. Also provided in contrib are additional example pro-
- grams and demos.
-
- These elements are located in the following area:
-
- The PEX server extension is located in the directories under
- mit/extensions/server/PEX. Device independent portions are located in
- mit/extensions/server/PEX/dipex. Device dependent functionality appears in
- mit/extensions/server/PEX/ddpex. Operating system font dependent code appears
- in mit/extensions/server/PEX/ospex. General purpose server include files are
- in mit/extensions/server/PEX/include.
-
- The API code is located under the directory mit/extensions/lib/PEX. The
- PHIGS/PHIGS PLUS Binding routines are in the c_binding subdirectory. The PHIGS
- Monitor (PM), a separate process started at client runtime to handle PHIGS
- Input functionality, is in the cp subdirectory. Other code located in the
- various subdirectories handles PHIGS archival, error handling, and comprises
- the internal library level that PHIGS calls to generate the PEX Protocol.
-
- All PEX documentation is located in the directory mit/doc/extensions/PEX, with
- pregenerated PostScript files in mit/hardcopy/extensions/PEX. The PEX Protocol
- Specification itself is in the Proto subdirectory. All SI documentation is in
- the SI subdirectory. Three subdirectories there contain an Architecture
- Specification, a Porting Guide (with implementation details), and a User's
- Guide. The sources and programs used to generate these files are located in
- the mit/doc/extensions/PEX/SI directory. Also located there is the PHIGS sub-
- directory which contains PHIGS man pages and macros for printing these pages.
-
- Font source for PEX and utilities to build them are located in the directory
- mit/fonts/PEX. Two stroke fonts are supplied.
-
- The PEX verification tool InsPEX can be found in the mit/extensions/test/InsPEX
- directory. Shell scripts are provided there to run InsPEX. More information
- on InsPEX is available in the User's Guide.
-
- Demos for PEX can be found in the mit/demos directory. Two demos and the NCGA
- Graphics Performance Characterization (GPC) Suite can be found there. The
- demos are in the mit/demos/auto_box and mit/demos/beach_ball directories, and
- are named auto_box and beach_ball respectively. The GPC suite is found in
- mit/demos/gpc. This suite consists of demos (in the objects subdirectory),
- benchmarks (various directories below benchmarks) and tests (in tests). For
- more information on how to run these demos see the User's Guide.
-
- There are also several unsupported demos and examples available in contrib. In
- contrib/demos/beach_ball2 a newer version of the beach_ball demo with enhanced
- functionality can be found. In contrib/examples/PEX various PHIGS based
- clients that demonstrate how to use PEX via the PHIGS API are available.
-
-
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 31 -
-
-
- 11.7.1. Standards and Functionality
-
- This release conforms to the PEX Protocol Specification V5.0P. The release
- comes with 2 fonts, Roman and Roman_M (see the User's Guide for more details).
- It implements the minimum required HLHSR (Hidden Line/ Hidden Surface Removal)
- for PHIGS compliance (i.e., NONE). The release only supports 8-bit color.
-
- The API binding has been updated to the ISO IS PHIGS binding. The directory
- mit/util/PEX contains sed scripts for converting programs from the previous
- binding to the new binding. These scripts do most of the work, but some manual
- editing is still needed. There is a README file in this directory with notes
- and information.
-
- The PHIGS Binding provides most PHIGS/PHIGS PLUS functionality. The full PHIGS
- Input Model (Valuator, Locator, Stroke, Choice, String, Pick) is implemented in
- a device independent manner using the Athena Widget Set. PHIGS/PHIGS PLUS
- functionality includes, but is not limited to the following graphical primi-
- tives: Polylines, Polymarkers, Fill Areas, Triangle Strips, NURBS Curves and
- Surfaces, 2D and 3D Text. Other operations include Depth Cueing, Modelling
- Clip, Backface removal, Lighting Models and Surface Reflection.
-
- Functionality not completed in this release is as follows:
-
- In the API:
-
- Mapping of PHIGS font ids to PEX fonts
-
- In the Server:
-
- Backface Attributes and Distinguish Flag
- Font sharing between clients
- Patterns, Hatches and associated attributes
- Color Interpolation
- Transparency
- Depth Cueing for Markers
- Z-buffering
- Double Buffering
-
- In InsPEX:
-
- Completion of port to ISO IS PHIGS Binding
-
- 11.7.2. PEX and PHIGS Documents
-
- The following documents are provided with this release:
-
- PEX-SI User Guide
- PEX-SI Graphics Library Manual Pages
- PEX-SI Architecture Specification
- PEX-SI Porting Guide
-
- They are located in subdirectories of mit/doc/extensions/PEX. Please read the
- PEX-SI User's Guide for descriptions of the documents and how to use them.
- Instructions for printing the documents are provided in a README file in each
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 32 -
-
-
- of the document directories.
-
- The User's Guide is provided as a starting point in the documentation. It
- describes the various documents provided with the release, and includes
- instructions on using the clients, the API and the server code. It also
- includes specifications for the server functionality and archive format.
-
- The Graphics Library Manual Pages are for the client-side library, written to
- the ISO IS binding.
-
- The Architecture Specification describes the PEX-SI architecture at a high
- level.
-
- The Porting Guide is intended as an extension to the Architecture Specifica-
- tion. There is a lot of good information in this document, and it is organized
- fairly well, but it lacks some polish. It is not a complete document.
-
- 11.7.3. InsPEX
-
- This release of InsPEX includes coverage of all the PHIGS PLUS graphics primi-
- tives, such as fill area sets with data, quadrilateral meshes, triangle strips,
- and NURBS. PHIGS PLUS attributes such as direct color specification, depth
- cuing, and lighting are also exercised.
-
- The testing of input is somewhat limited by the problem of simulating mouse and
- keyboard input in a reliable and portable fashion. For the pick, locator, and
- stroke devices, simulating the mouse events is straightforward, but since the
- string, valuator, and choice devices are built upon a toolkit (Athena Widgets
- in the PEX-SI's case), getting window id's for the appropriate windows and
- sending mouse clicks to the right place on those windows is more difficult, and
- probably impossible to do in a way that could be quickly ported to another
- toolkit along with these input devices. The technology for automatic testing
- of software using a graphical user interface under X has not progressed to the
- point where this functionality could be tested in a way that would be useful to
- all the potential users of InsPEX.
-
- For nearly all of the tests that use image comparison to verify graphical out-
- put, reference images have been supplied. Due to outstanding bugs in the code,
- however, some tests are shipped without reference images. Also, since back-
- facing attributes are not implemented, the images saved for these tests are
- actually incorrect. These have been shipped, however, because they still can
- be helpful to someone porting the PEX-SI. It should be expected that when
- backfacing attributes are implemented, these tests will fail and image com-
- parison will be required.
-
- Along with the README in the main InsPEX directory, there is a sample log file,
- sample.log, and an automatically-generated summary of all the current tests,
- test_descrip. See the README for a description of how that file was generated.
-
- 11.8. Athena Widget Set
-
- Many minor bugs have been fixed. The Xaw examples have been moved to contrib.
- However, please note that the Athena Widgets have been and continue to be low
- on our priority list, so many bugs remain (particularly in the Text widget) and
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 33 -
-
-
- many requests for enhancements have not been implemented. Because some incom-
- patible changes have been made, the shared library major version number on Suns
- has been incremented.
-
- Header Files
-
- Function prototypes have been added to the public interfaces.
-
- AsciiSrc
-
- No warning message is printed when the file cannot be written to; the
- return value should be enough info. GetValues on the string resource was
- failing when "useStringInPlace" was set to true; fixed. A memory leak
- when freeing pieces in a source of type "ascii String" has been plugged.
- The buffer is now updated whenever the "string" resource is set using
- XtSetValues. If the type is file then the file is read in again.
-
- Box
-
- Box.h now includes <X11/Xmu/Converters.h> for the orientation resources.
-
- Clock
-
- Changed to be a subclass of Simple instead of Core.
-
- Command
-
- A bug in changing the shape style back to Rectangular has been fixed.
-
- Dialog
-
- The Icon resource type has changed from Pixmap to Bitmap.
-
- Form
-
- The geometry handler now will now disallow geometry management requests
- that will force the child outside the Form's window. EdgeType names have
- been changed to have prefix ``Xaw'' instead of ``Xt'', but the old defini-
- tions are still around with a #define. The string-to-widget converter no
- longer caches resources.
-
- Logo
-
- Changed to be a subclass of Simple instead of Core. Reverse video now
- works correctly.
-
- Mailbox
-
- Changed to be a subclass of Simple instead of Core. Reverse video now
- works correctly.
-
- MenuButton
-
- The MenuButton widget no longer places a server grab on itself. Instead,
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 34 -
-
-
- PopupMenu is registered as a grab action. As a result of this, clients
- which popped up menus without using XtMenuPopup or MenuPopup or PopupMenu
- in the menu button translations will fail to have a grab active. They
- should make a call to XtRegisterGrabAction on the appropriate action in
- the application initialization routine, or use a different translation.
-
- Paned
-
- Paned.h now includes <X11/Xmu/Converters.h> for the orientation resources.
-
- Panner
-
- This widget is new in R5, see the Xaw manual for details.
-
- Porthole
-
- This widget is new in R5, see the Xaw manual for details.
-
- Repeater
-
- This widget is new in R5, see the Xaw manual for details.
-
- Scrollbar
-
- Changed to be a subclass of Simple instead of Core. The type of thumb
- resource has changes from Pixmap to Bitmap. However, if applications pro-
- vide the resource conversion, the SetValues method can still handle pix-
- maps of correct depth.
-
- Simple
-
- A color cursor converter has been added, as well as the new new resource
- types: XtNpointerColor, XtNpointerColorBackground, and XtNcursorName.
-
- SmeBSB
-
- The Right bitmaps are now painted in the correct location. Right and Left
- Bitmaps can be specified in resource files, and at startup time.
-
- Text
-
- If there is no current selection the the selection extends from the insert
- point, rather than some random location. Forward (Backward) Paragraph
- works at the paragraph boundaries now. Selecting a word now transitions
- correctly at both end points. An infinite loop when using fill paragraph
- in a read only text widget has been found and fixed. When the "resize"
- resource is set the text will start up with exactly enough space to con-
- tain the text in the widget. A bug that could cause an infinite loop when
- Meta-Q was used to invoke the form-paragraph function on a read-only text
- widget has been fixed. Problems dealing with exposure events have been
- fixed. In TextP.h, the names of the following symbolic constants have
- each had the prefix Xaw added to them: XawLF, XawCR, XawTAB, XawBS, XawSP,
- XawDEL, and XawBSLASH.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 35 -
-
-
- Toggle
-
- The widget state is preserved across changes in sensitivity. A string-
- to-widget converter is registered for radio groups.
-
- Tree
-
- This widget is new in R5, see the Xaw manual for details.
-
- Paned
-
- A bug that caused XtGeometryYes returns to have bogus values, and caused
- panes to get random sizes, has been fixed.
-
- Vendor
-
- Support has been added for the editres protocol. All applications using
- the Athena Widgets are automatically editable with editres. A bug that
- cause Shell to ignore all but first child has been fixed.
-
- Viewport
-
- XawPannerReport support has been added.
-
- 11.9. X Server
-
- Considerably more work speeding up the server has been done, particularly in
- the cfb and mfb code. The font interfaces are completely new. Compressed
- fonts are not supported in the release. Other changes are documented in
- mit/doc/Server/r5.tbl.ms.
-
- 11.10. Fonts
-
- Font Server
-
- A sample implementation of the server side of the X Font Service Protocol
- is provided in a new program, fs. On the Macintosh, a special version of
- the server called MacFS can be used to serve TrueType fonts.
-
- New Font Format
-
- Both the X server and the font server use a new font format, pcf (portable
- compiled font). Pcf is readable across different machines and contains
- more information about a font than the old snf format. Fonts in snf for-
- mat can still be used.
-
- Font Applications
-
- The following new utilities talk to the font server: fsinfo, fslsfonts,
- fstobdf, and showfont. To build pcf fonts, bdftosnf has been replaced by
- bdftopcf.
-
-
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-
-
-
- - 36 -
-
-
- Scalable Fonts
-
- Bitstream, Inc. has donated an outline scaling engine along with a set of
- sample fonts, matching the donated bitmap fonts included with Release 4.
- In addition, a usable (but not very pretty) bitmap scaling engine has been
- implemented which allows the use of all other fonts at arbitrary point
- sizes.
-
- Font Changes
-
- Many misc fonts now have ISO Latin-1 upper half characters and some tun-
- ing. The following sets of fonts are new: Latin/Hebrew in ISO8859-8
- encoding, Kanji in JISX0208.1983-0 encoding,6 Hangul in KSC5601.1987-0
- encoding.
-
- 12. Acknowledgements
-
- The MIT Release 5 distribution is brought to you by the MIT X Consortium. A
- cast of thousands, literally, have made this release possible. We cannot pos-
- sibly acknowledge them all here. The names of all people who made it a reality
- will be found in the individual documents and source files. We greatly appre-
- ciate the work that everyone has put into this release.
-
- Hoping you enjoy Release 5,
-
- Donna Converse
- Stephen Gildea
- Susan Hardy
- Jay Hersh
- Keith Packard
- David Sternlicht
- Bob Scheifler
- Ralph Swick
-
- (R5 Survival Club)
-
-
-
-
-
-
-
-
-
- _________________________
- 6. The JIS Kanji fonts were purchased on behalf of the MIT X Consortium from
- the Japanese Standards Association, 1-24, Akasaka 4, Minato-ku, Tokyo 107,
- Japan. They were converted to BDF format, keeping within the JIS rules. In
- keeping with JIS rules, these fonts should not be transformed into other encod-
- ings, they should only be used in the JISX0208.1983-0 encoding. It is also
- strongly recommended that companies wishing to use these fonts in commercial
- products should purchase the original JIS font standards directly from JSA.
- The purchase price is nominal.
-
-
-
-
- X Window System Release Notes August 29, 1991 X Version 11, Release 5
-
-
-