summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cad/pcb/Makefile16
-rw-r--r--cad/pcb/files/index.html109
-rw-r--r--cad/pcb/files/patch-sum3
-rw-r--r--cad/pcb/files/pcb.html5715
-rw-r--r--cad/pcb/files/pcb.info4125
-rw-r--r--cad/pcb/files/pcb.ps6489
-rw-r--r--cad/pcb/files/refcard.ps437
-rw-r--r--cad/pcb/patches/patch-ac13
-rw-r--r--cad/pcb/pkg/PLIST10
9 files changed, 16911 insertions, 6 deletions
diff --git a/cad/pcb/Makefile b/cad/pcb/Makefile
index 651aec40456..31a10a308be 100644
--- a/cad/pcb/Makefile
+++ b/cad/pcb/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2000/08/08 07:39:24 rh Exp $
+# $NetBSD: Makefile,v 1.7 2000/08/31 14:55:29 dmcmahill Exp $
# FreeBSD Id: Makefile,v 1.19 1998/10/31 18:05:31 jseger Exp
#
@@ -9,12 +9,20 @@ MASTER_SITES= ftp://ftp.linuxppc.org/pub/linuxppc/users/harry/PCB/ \
EXTRACT_SUFX= .tgz
MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://bach.ece.jhu.edu/~haceaton/pcb/
DEPENDS+= m4-1.4:../../devel/m4
-.if make(install-run-depends)
-DEPENDS+= teTeX>=1.0.7:../../print/teTeX
-.endif
USE_IMAKE= yes
+INFO_FILES= pcb.info
+
+post-install:
+ ${INSTALL_MAN_DIR} ${PREFIX}/share/doc/pcb/
+ ${INSTALL_MAN} ${FILESDIR}/index.html ${PREFIX}/share/doc/pcb/
+ ${INSTALL_MAN} ${FILESDIR}/pcb.html ${PREFIX}/share/doc/pcb/
+ ${INSTALL_MAN} ${FILESDIR}/pcb.info ${PREFIX}/info/
+ ${INSTALL_MAN} ${FILESDIR}/pcb.ps ${PREFIX}/share/doc/pcb/
+ ${INSTALL_MAN} ${FILESDIR}/refcard.ps ${PREFIX}/share/doc/pcb/
+
.include "../../mk/bsd.pkg.mk"
diff --git a/cad/pcb/files/index.html b/cad/pcb/files/index.html
new file mode 100644
index 00000000000..c8d0d6e25c2
--- /dev/null
+++ b/cad/pcb/files/index.html
@@ -0,0 +1,109 @@
+<HTML>
+<HEAD>
+<!-- Created by texi2html 1.56k from pcb.texi on 31 August 2000 -->
+
+<TITLE>Pcb 1.6.3 - Table of Contents</TITLE>
+</HEAD>
+<BODY>
+<H1>Pcb</H1>
+<H2>an interactive</H2>
+<H2>printed circuit board</H2>
+<H2>layout system for <CODE>X11</CODE></H2>
+<ADDRESS>Thomas Nau</ADDRESS>
+<P>
+<P><HR><P>
+<UL>
+<LI><A NAME="TOC1" HREF="pcb.html#SEC1">Copying</A>
+<LI><A NAME="TOC2" HREF="pcb.html#SEC2">History</A>
+<LI><A NAME="TOC3" HREF="pcb.html#SEC3">Introduction</A>
+<UL>
+<LI><A NAME="TOC4" HREF="pcb.html#SEC4">Symbols</A>
+<LI><A NAME="TOC5" HREF="pcb.html#SEC5">Vias</A>
+<LI><A NAME="TOC6" HREF="pcb.html#SEC6">Elements</A>
+<LI><A NAME="TOC7" HREF="pcb.html#SEC7">Layers</A>
+<LI><A NAME="TOC8" HREF="pcb.html#SEC8">Lines</A>
+<LI><A NAME="TOC9" HREF="pcb.html#SEC9">Arcs</A>
+<LI><A NAME="TOC10" HREF="pcb.html#SEC10">Polygons</A>
+<LI><A NAME="TOC11" HREF="pcb.html#SEC11">Text</A>
+</UL>
+<LI><A NAME="TOC12" HREF="pcb.html#SEC12">Getting Started</A>
+<UL>
+<LI><A NAME="TOC13" HREF="pcb.html#SEC13">The Application Window</A>
+<UL>
+<LI><A NAME="TOC14" HREF="pcb.html#SEC14">The Status-line and Input-field</A>
+<LI><A NAME="TOC15" HREF="pcb.html#SEC15">The Control Panel</A>
+<LI><A NAME="TOC16" HREF="pcb.html#SEC16">The Mode Selectors</A>
+<LI><A NAME="TOC17" HREF="pcb.html#SEC17">Drawing Area</A>
+<LI><A NAME="TOC18" HREF="pcb.html#SEC18">Menu</A>
+</UL>
+<LI><A NAME="TOC19" HREF="pcb.html#SEC19">Log Window</A>
+<LI><A NAME="TOC20" HREF="pcb.html#SEC20">Library Window</A>
+<LI><A NAME="TOC21" HREF="pcb.html#SEC21">Drawing and Removing Basic Objects</A>
+<UL>
+<LI><A NAME="TOC22" HREF="pcb.html#SEC22">Lines</A>
+<LI><A NAME="TOC23" HREF="pcb.html#SEC23">Arcs</A>
+<LI><A NAME="TOC24" HREF="pcb.html#SEC24">Polygons and Rectangles</A>
+<LI><A NAME="TOC25" HREF="pcb.html#SEC25">Text</A>
+<LI><A NAME="TOC26" HREF="pcb.html#SEC26">Vias</A>
+<LI><A NAME="TOC27" HREF="pcb.html#SEC27">Elements</A>
+<LI><A NAME="TOC28" HREF="pcb.html#SEC28">Pastebuffer</A>
+</UL>
+<LI><A NAME="TOC29" HREF="pcb.html#SEC29">Moving and Copying</A>
+<LI><A NAME="TOC30" HREF="pcb.html#SEC30">Loading and Saving</A>
+<LI><A NAME="TOC31" HREF="pcb.html#SEC31">Printing</A>
+<LI><A NAME="TOC32" HREF="pcb.html#SEC32">Connection Lists</A>
+<LI><A NAME="TOC33" HREF="pcb.html#SEC33">Selection</A>
+<LI><A NAME="TOC34" HREF="pcb.html#SEC34">Rats Nest</A>
+<LI><A NAME="TOC35" HREF="pcb.html#SEC35">Design Rule Checking</A>
+</UL>
+<LI><A NAME="TOC36" HREF="pcb.html#SEC36">User Commands</A>
+<LI><A NAME="TOC37" HREF="pcb.html#SEC37">Command-Line Options</A>
+<UL>
+<LI><A NAME="TOC38" HREF="pcb.html#SEC38">Options</A>
+<LI><A NAME="TOC39" HREF="pcb.html#SEC39">Special Options</A>
+</UL>
+<LI><A NAME="TOC40" HREF="pcb.html#SEC40">X11 Interface</A>
+<UL>
+<LI><A NAME="TOC41" HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>
+<LI><A NAME="TOC42" HREF="pcb.html#SEC42">Actions</A>
+<LI><A NAME="TOC43" HREF="pcb.html#SEC43">Default Translations</A>
+</UL>
+<LI><A NAME="TOC44" HREF="pcb.html#SEC44">File Formats</A>
+<UL>
+<LI><A NAME="TOC45" HREF="pcb.html#SEC45">Basic Types</A>
+<LI><A NAME="TOC46" HREF="pcb.html#SEC46">Layout File Format</A>
+<LI><A NAME="TOC47" HREF="pcb.html#SEC47">Element File Format</A>
+<LI><A NAME="TOC48" HREF="pcb.html#SEC48">Font File Format</A>
+<LI><A NAME="TOC49" HREF="pcb.html#SEC49">Library Contents File Format</A>
+<LI><A NAME="TOC50" HREF="pcb.html#SEC50">Library File Format</A>
+</UL>
+<LI><A NAME="TOC51" HREF="pcb.html#SEC51">Installation and Troubleshooting</A>
+<UL>
+<LI><A NAME="TOC52" HREF="pcb.html#SEC52">Compiling and Installing</A>
+<UL>
+<LI><A NAME="TOC53" HREF="pcb.html#SEC53">Editing config.h</A>
+<LI><A NAME="TOC54" HREF="pcb.html#SEC54">Manuals</A>
+<LI><A NAME="TOC55" HREF="pcb.html#SEC55">Compiling the Package</A>
+</UL>
+<LI><A NAME="TOC56" HREF="pcb.html#SEC56">Troubleshooting</A>
+<UL>
+<LI><A NAME="TOC57" HREF="pcb.html#SEC57">HP Series 700 and 800</A>
+<LI><A NAME="TOC58" HREF="pcb.html#SEC58">Sun SPARC architecture</A>
+<LI><A NAME="TOC59" HREF="pcb.html#SEC59">Silicon Graphics</A>
+<LI><A NAME="TOC60" HREF="pcb.html#SEC60">DEC Alpha</A>
+<LI><A NAME="TOC61" HREF="pcb.html#SEC61">SCO Unix</A>
+<LI><A NAME="TOC62" HREF="pcb.html#SEC62">Linux</A>
+<LI><A NAME="TOC63" HREF="pcb.html#SEC63">FreeBSD and NetBSD</A>
+<LI><A NAME="TOC64" HREF="pcb.html#SEC64">Problems related to X11</A>
+<LI><A NAME="TOC65" HREF="pcb.html#SEC65">Problems related to TeX</A>
+</UL>
+</UL>
+<LI><A NAME="TOC66" HREF="pcb.html#SEC66">Index of Resources</A>
+<LI><A NAME="TOC67" HREF="pcb.html#SEC67">Index of Actions, Commands and Options</A>
+<LI><A NAME="TOC68" HREF="pcb.html#SEC68">Index of Concepts</A>
+</UL>
+<P><HR><P>
+This document was generated on 31 August 2000 using
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
+</BODY>
+</HTML>
diff --git a/cad/pcb/files/patch-sum b/cad/pcb/files/patch-sum
index aea42090163..ef6bcaec539 100644
--- a/cad/pcb/files/patch-sum
+++ b/cad/pcb/files/patch-sum
@@ -1,4 +1,5 @@
-$NetBSD: patch-sum,v 1.1 1999/07/09 13:50:21 agc Exp $
+$NetBSD: patch-sum,v 1.2 2000/08/31 14:55:31 dmcmahill Exp $
MD5 (patch-aa) = 3b394845186c2f0cec9bb03f70c20eee
MD5 (patch-ab) = 6953bf71ba2952d783b7f2294b2aa704
+MD5 (patch-ac) = 6e33a104c5ac7ad2453a5575edc6c207
diff --git a/cad/pcb/files/pcb.html b/cad/pcb/files/pcb.html
new file mode 100644
index 00000000000..2a0e02218f1
--- /dev/null
+++ b/cad/pcb/files/pcb.html
@@ -0,0 +1,5715 @@
+<HTML>
+<HEAD>
+<!-- Created by texi2html 1.56k from pcb.texi on 31 August 2000 -->
+
+<TITLE>Pcb 1.6.3</TITLE>
+</HEAD>
+<BODY>
+<H1>Pcb</H1>
+<H2>an interactive</H2>
+<H2>printed circuit board</H2>
+<H2>layout system for <CODE>X11</CODE></H2>
+<ADDRESS>Thomas Nau</ADDRESS>
+<P>
+<P><HR><P>
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC1">Copying</A>: <CODE>Pcb</CODE> is freely redistributable!
+<LI><A HREF="pcb.html#SEC2">History</A>: How it all began.
+<LI><A HREF="pcb.html#SEC3">Intro</A>: A short description of the basic objects.
+<LI><A HREF="pcb.html#SEC12">Getting Started</A>: Introduction to <CODE>Pcb</CODE>.
+<LI><A HREF="pcb.html#SEC36">User Commands</A>: User commands of <CODE>Pcb</CODE>.
+<LI><A HREF="pcb.html#SEC37">Command-Line Options</A>: Calling <CODE>Pcb</CODE> from a shell.
+<LI><A HREF="pcb.html#SEC40">X11 Interface</A>: Action routines, resources and default translation.
+<LI><A HREF="pcb.html#SEC44">File Formats</A>: Description of <CODE>ASCII</CODE> files used by <CODE>Pcb</CODE>.
+<LI><A HREF="pcb.html#SEC51">Installation</A>: Compiling, installing and troubleshooting.
+</UL>
+
+
+
+<H1><A NAME="SEC1" HREF="pcb_toc.html#TOC1">Copying</A></H1>
+<P>
+Copyright (C) 1994,1995,1996,1997 Thomas Nau
+
+
+<P>
+This program is free software; you may redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+
+<P>
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANT-ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+<B>GNU General Public License</B> for more details.
+
+
+
+
+<H1><A NAME="SEC2" HREF="pcb_toc.html#TOC2">History</A></H1>
+<P>
+<A NAME="IDX1"></A>
+<CODE>Pcb</CODE> is a handy tool for laying out printed circuit
+boards.
+It was first written for an Atari ST in 1990 and ported to <CODE>UNIX</CODE> and
+<CODE>X11</CODE> in 1994.
+I never had the intention to create another professional layout system,
+but to write a tool which supports people like you who do some
+home-developing of hardware. For this reason it has no auto-router nor
+auto-placement code.
+
+
+<P>
+The second release 1.2 included menus for the first time. This made
+<CODE>PCB</CODE> easier to use and thus a more important tool.
+
+
+<P>
+Release 1.3 introduced undo for highly-destructive commands,
+more straightforward action handling and scalable fonts. Layer-groups
+were introduced to group signal-layers together.
+
+
+<P>
+Release 1.4 provided support for add-on device drivers.
+Two layers (the solder and the component side)
+were added to support SMD elements. The handling of libraries
+was also improved in 1.4.1. Support for additional devices like
+GERBER plotters started in 1.4.4. The undo feature was expanded
+and the redo-feature added in 1.4.5.
+
+
+<P>
+Release 1.5 provides support for rats-nest generation from simple net
+lists. It also allows for automatic clearances around pins that pierce
+a polygon. A variety of other enhancments including a Gerber RS274X
+driver and NC drill file generation have also been added.
+harry eaton (haceaton@aplcomm.jhuapl.edu)
+was responsible for most of the changes found in this release.
+
+
+<P>
+Release 1.6 provides automatic screen updates of changed regions.
+This should elliminate most of the need for the redraw (r) key.
+Also some changes to what order items under the cursor are selected
+were made for better consistancy - it is no longer possible to
+accidentally move a line or line point that is completely obscured
+by a polygon laying over top of it. Larger objects on the upper
+most layers can be selected ahead of smaller objects on lower layers.
+These changes make operations more intuitive. A new mode of line
+creation was added that creates two line on 45 degree angles
+with a single click. The actual outline of the prospective line(s) are
+now shown during line creation. An arc creation mode was added.
+Drawn arcs are quarter circles and can be useful for high frequency
+controlled impedance lines. (You can have eighth circle arc if the
+source is compiled with -DARC45, but be aware that the ends of such
+arcs can never intersect a grid point). Two new flags for pins and
+vias were created - one indicates that the pin or via is purely a
+drill hole and has no copper annulus. You can only toggle this flag
+for vias - for elements, it must be an integral part of the element
+definition. The other flag controls whether the pad will be round
+or octagonal. There is also now a feature for converting the contents
+of a buffer into an element. Vias become the pins (or mounting holes),
+lines and arcs on the solder layer become silkscreen, and lines on the
+component layer become the pads. Action commands entered via the colon
+command entry are no longer proceeded with "a ", just type the command
+directly. Several bugs have also been fixed. New
+ones were probably introduced since extensive changes were made.
+harry eaton was responsible for these changes.
+
+
+<P>
+Release 1.6.1 adds the ability to make groups of action commands bound to
+a single X11 event to be undone by a single undo. Also a simple design rule
+checker was added - it checks for minimum spacing and overlap rules. Plus
+many fixes for bugs introduced with the many changes of 1.6
+harry is responsible for these changes too.
+
+
+<P>
+Special thanks goes to:
+
+<PRE>
+Bernhard Daeubler (Bernhard.Daeubler@physik.uni-ulm.de)
+Harald Daeubler (Harald.Daeubler@physik.uni-ulm.de)
+Roland Merk (merk@faw.uni-ulm.de)
+Erland Unruh (Erland.Unruh@malmo.trab.se)
+Albert John FitzPatrick III (ajf_nylorac@acm.org)
+Boerge Strand (borges@ifi.uio.no)
+harry eaton (haceaton@aplcomm.jhuapl.edu)
+Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu)
+</PRE>
+
+<P>
+who did most of the alpha and beta testing, helped to port <CODE>PCB</CODE> to
+several operating systems and platforms and corrected several typos in the
+manuals. In addition to these, many others donated time for bug-fixing and
+other important work. Some of them can be identified in the source code
+files. Thanks to all of them.
+
+
+<P>
+<A NAME="IDX2"></A>
+
+
+<H1><A NAME="SEC3" HREF="pcb_toc.html#TOC3">Introduction</A></H1>
+<P>
+Each layout consists of several, mostly independent, objects. This chapter
+gives an overview of the object types and their relationship to each other.
+For a complete description of how to use <CODE>Pcb</CODE>, refer to
+section <A HREF="pcb.html#SEC12">Getting Started</A>.
+The layout is generated on-screen on a grid that has its origin in the
+upper left corner of the screen.
+The x coordinate increases to the right, y increases down to the bottom.
+All distances and sizes in <CODE>Pcb</CODE> are measured in mils (0.001 inch).
+One unit on the display grid is one mil in distance on the board.
+The sections in this chapter are sorted by the
+order of appearance of the objects within a layout file.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC4">Symbol Objects</A>: Information about fonts and symbols.
+<LI><A HREF="pcb.html#SEC5">Via Objects</A>: Vias and pins connect layers.
+<LI><A HREF="pcb.html#SEC6">Element Objects</A>: Element, the basic type of circuits.
+<LI><A HREF="pcb.html#SEC7">Layer Objects</A>: A <SAMP>`container'</SAMP> for lines, text...
+<LI><A HREF="pcb.html#SEC8">Line Objects</A>
+<LI><A HREF="pcb.html#SEC9">Arc Objects</A>
+<LI><A HREF="pcb.html#SEC10">Polygon Objects</A>
+<LI><A HREF="pcb.html#SEC11">Text Objects</A>: Objects to add symbols to your board.
+</UL>
+
+<P>
+<A NAME="IDX3"></A>
+<A NAME="IDX4"></A>
+
+
+<H2><A NAME="SEC4" HREF="pcb_toc.html#TOC4">Symbols</A></H2>
+<P>
+The top object is the layout itself. It uses a set of symbols
+that resides at the first logical level. Each symbol is uniquely identified
+by a seven bit <CODE>ASCII</CODE> code. All layout objects share the same set of
+symbols. These symbols are used to form text objects on the silkscreen
+and copper layers. Undefined symbols are drawn as filled rectangles.
+
+
+<P>
+Every font file is preprocessed by a user-defined command when it is loaded.
+For details see <SAMP>`fontCommand'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>.
+
+
+<P>
+<A NAME="IDX5"></A>
+
+
+<H2><A NAME="SEC5" HREF="pcb_toc.html#TOC5">Vias</A></H2>
+<P>
+Vias are identical to the pins used by elements except that they can be added
+or removed individually.
+The purpose of vias is to provide connections between different layers.
+Don't use vias for adding elements to the layout, even if that seems
+easier than creating a new element.
+Vias are useful for defining arbitrary drill points such as
+those used for mounting a board.
+You can assign a name to a via even though you probably won't ever want to.
+Vias reside at the first logical level; therefore, each
+via exists on all layers. (<EM>i.e.</EM>
+blind vias are not supported)
+
+
+<P>
+<A NAME="IDX6"></A>
+<A NAME="IDX7"></A>
+
+
+<H2><A NAME="SEC6" HREF="pcb_toc.html#TOC6">Elements</A></H2>
+<P>
+Elements represent the components on a board.
+Elements are loaded from <CODE>ASCII</CODE> coded files in a
+similar manner to the layout file itself.
+They are composed of lines and arcs on the silk-screen
+layer (used to define the package outline) , pins
+(or pads for SMD) and three labels that define the
+description, the element's layout-name (which also
+appears on the silk- screen layer) and its value.
+Element pins are contained on the first logical level
+and so reside on all layers.
+A mark is used to position the element with
+respect to the cursor cross-hair during pasting.
+SMD elements use pads instead of pins.
+Pads are handled similarly to lines on a layer but they must be oriented
+either vertically or horizontally.
+Pads can have either rounded or square ends.
+All parts of an element are treated as one unit.
+It is not possible to delete a single pin or break
+an element into pieces on the layout.
+You can resize separate pieces of an element,
+but doing so is usually a bad idea.
+
+
+<P>
+Elements are supported by several special layers: <EM>silk</EM>, <EM>pins/pads</EM> and
+<EM>far-side</EM>. The <EM>silk</EM> layer shows the package outline and
+also holds legend text and element names. The <EM>pins/pads</EM> layer is used to toggle
+whether the element's pins and pads are displayed. The <EM>far-side</EM> layer controls visibility
+of objects (silkscreen and pads) that are on the far (<EM>i.e.</EM> not currently viewed) side
+of the board.
+
+
+<P>
+Every element file is preprocessed by a user-defined command when the file is read.
+For details see <SAMP>`elementCommand'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>. <CODE>m4</CODE>, the default
+value of <SAMP>`elementCommand'</SAMP>, allows you to create libraries for
+package definitions that are shared by all elements.
+The element libraries distributed with <CODE>Pcb</CODE> expect <CODE>m4</CODE> or an
+equivalent to be the <EM>elementCommand</EM>.
+
+
+<P>
+<CODE>Pcb</CODE> can create a list of
+all connections from one (or all) elements to the others or a list of
+unconnected pins.
+It can also verify the layout connections against a netlist file.
+The element's <SAMP>`layout-name'</SAMP> is the name used to identify an element
+in a netlist file.
+The pin numbering for an element is defined by unique strings assigned to
+each pin. In addition to the "pin number" string, each pin has a "name"
+which describes its function. Previously element pin number was established
+by the order of appearance of the pin definitions in the layout or element
+file. Since the "number" strings for each pin are a new feature, if they are
+absent then the numbering is again established by the order of pin appearance
+in the file.
+In other words, the first pin appearing in the file is pin one, the
+next pin is pin two and so on.
+Usually the names assigned to pins are simply numbers, but they don't
+have to be. It is only necessary that the "number" string for the pin
+matches exactly the "number" string in the netlist file.
+<B>Be aware that a few of the library parts may still be incorrectly
+implemented regarding pin-numbering.</B> All of the DIL (Dual-
+Inline-Pins) parts are correct and most of the others are too,
+but you should verify the pin numbering
+of any non-DIL part (use the <EM>Report Menu</EM> to see what <CODE>Pcb</CODE> thinks a pin's
+number is) before using the rats nest feature with a library part. Hopefully sometime
+soon someone will volunteer to cross-check all of the element libraries and make
+fixes available as necessary.
+<CODE>Pcb</CODE> can also check a layout to see that it meets minimum spacing
+and overlap rules.
+
+
+<P>
+You can make your own quick-and-dirty element definitions graphically now.
+Simply draw vias for the pins
+and lines and arcs on a solder layer for the silkscreen
+outline. You should name each via with the pin number.
+If you want to create a SMD device, draw lines for the pads on a
+component side layer (You must draw these in pin number order since lines can't
+be named). They must be
+either horizontal or vertical or they will not be recognized as pads. Once
+you are happy with the geometry, select everything that is to become part of
+the element, then choose "cut to buffer" from the menu. Now select "convert
+buffer to element" from the menu. Viola'! Afterwards you can make pin one
+square (or pads) if you like, and give the element its various names. Note that the
+element mark corresponds to the cut position when everything was put into the
+buffer. If the vias are not named, then the pin numbering will correspond to the
+order in which the vias were placed.
+
+
+<P>
+<A NAME="IDX8"></A>
+
+
+<H2><A NAME="SEC7" HREF="pcb_toc.html#TOC7">Layers</A></H2>
+<P>
+Every layout consists of several layers that can be used independently
+or treated as a group.
+Layer groups can be used to logically separate (and color-code)
+different traces (<EM>e.g.</EM> power and signal); however, all
+layers within a group reside on the same physical
+copper layer of a board, so using different layers within the same
+group won't provide electrical separation where they touch or overlap.
+For details, see <SAMP>`layerGroups'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>.
+Each layer is drawn in a color defined in the resource file (for
+details see <SAMP>`layerColor'</SAMP>, section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>) and identified by a name
+that you can change.
+Layers are really just containers for line, polygon, and text objects. The
+component and solder layers contain SMD elements as well, but the
+file structure doesn't reflect that fact directly. Each layer group
+represents a physical layer on the printed circuit board. If you want to make
+a four layer board, you'll need to have four layer groups.
+Connections between layer groups are established only through element pins and vias.
+The relationship between a specific layer and the board itself is configureable from
+the <SAMP>`Edit layer groups'</SAMP> option in the <SAMP>`Objects'</SAMP> menu.
+The layer groups corresponding to the physical layers <EM>component-side</EM>
+and <EM>solder-side</EM> are always defined, and you must map at least one
+logical layer to each.
+Of course, you are not obligated to put tracks on either of them.
+SMD-elements always reside on either the component-side or the solder-side
+layer group.
+You can swap which side of the board you are viewing by pressing
+<EM>&#60;Key&#62;Tab</EM>.
+You can decide which layer group will be the solder side and which will be
+the component side.
+The layers groups just have a name or number associated with them - where
+they are sandwiched in the board is left to the manufacturing processes.
+
+
+<P>
+<A NAME="IDX9"></A>
+
+
+<H2><A NAME="SEC8" HREF="pcb_toc.html#TOC8">Lines</A></H2>
+<P>
+Lines are used to draw tracks on the pc board.
+When in the line mode, each <EM>&#60;Btn1&#62;</EM>
+press establishes one end of a line.
+Once the second point is defined, the line is drawn
+and a new line started where the first one ended.
+You can abondon the new starting point in favor
+of another by pressing <EM>Ctrl&#60;Btn1&#62;</EM>.
+The undo function (<EM>&#60;Key&#62;u</EM>) will take you back
+point by point if you use it while in the line mode.
+New lines can be restricted to 45 degree angles if desired. You can toggle this
+restriction on and off while creating lines by pressing <EM>&#60;Key&#62;.</EM> (that is the
+<EM>period</EM> key). If the 45 degree restriction is turned on, then the <EM>&#60;Key&#62;/</EM>
+can be used to cylce through three different modes of 45 degree line creation.
+One mode just creates a single line forced to the nearest 45 degree vector. The next
+mode creates two lines from the start to end points such that the first line leaves the
+start point at a 90 degree vector, and the second line enters the end point on a 45
+degree vector. The next mode creates two lines such that the first line leaves the
+start point on a 45 degree vector and arrives at the end point on a 90 degree vector.
+You can temporarily swap between the last two modes by holding the shift key down.
+It is simple to edit a line type object by breaking it into pieces (insert point mode),
+moving an end point (or the whole line) (<EM>&#60;Btn2Down&#62;&#60;drag&#62;&#60;Btn2Up&#62;</EM>),
+or changing the layer it resides on (<EM>&#60;Key&#62;m</EM> moves the line under the pointer
+to the active layer).
+In the case when two line segments meet at exactly the same
+point you can delete the intermediate point, otherwise the delete mode removes an entire line.
+Feel free to experiment
+since <CODE>Pcb</CODE> will allow you to undo anything that materially affects your work.
+If you switch active layers in the midst of placing lines a via will automatically be
+placed, when necessary, in order to continue the connection.
+
+
+<P>
+<A NAME="IDX10"></A>
+
+
+<H2><A NAME="SEC9" HREF="pcb_toc.html#TOC9">Arcs</A></H2>
+<P>
+With version 1.6 it is possible to draw copper arcs. The arcs are restricted to
+be quarter circles. This means they always bend a right angle. They are very similar
+to lines otherwise. They are created on the current layer and have the same thickness
+that new lines will have. The various clicks for creating lines work pretty much the
+same way for creating arcs. The start point for the arc is at the first <EM>&#60;Btn1&#62;</EM>
+position. In order to make the arc curve in the direction desired, drag the mouse along
+the tangent line from the starting position towards the end position. If the grid is
+too coarse, it may not be possible to distinguish whether you've moved over then up,
+or up then over, so if you can't seem to make the arc go the direction you want, you
+should decrease the grid spacing. Alternatively you could drawn the wrong arc, then
+rotate and move it where you want. Like the line tool, after an arc is drawn a new
+starting point is established at the end point. Whenever a start point is established
+by either the line or arc tools it will be retained if you switch directly between the
+tools (e.g. <EM>&#60;Key&#62;F2</EM> for Lines, <EM>&#60;Key&#62;F8</EM> for Arcs. Of course connection
+searches, undo and all the other features you'd expect work with arcs now.
+
+
+<P>
+<A NAME="IDX11"></A>
+
+
+<H2><A NAME="SEC10" HREF="pcb_toc.html#TOC10">Polygons</A></H2>
+<P>
+Sometimes it's useful to fill large areas with solid copper.
+The way to do this is with polygons.
+Polygons can be created in either the polygon mode or the rectangle mode.
+In the polygon mode, you'll have to define each corner of the polygon
+with a mouse click (<EM>&#60;Btn1&#62;</EM>). When the last point is clicked
+exactly on top of the starting point, the polygon is finished.
+Since this can be hard to do, the <EM>Shift&#60;Key&#62;p</EM> will enter the
+final point for you, closing the polygon.
+If the 45 degree angle restriction is turned on
+and you try to close the polygon when it is not possible, you'll get a
+warning instead. If you haven't finished entering a polygon, but want to
+undo one (or more) of the points that you've already defined, use the
+undo command (<EM>&#60;Key&#62;u</EM>).
+With the rectangle tool, defining
+the two opposite corners is sufficient, but of course the resulting
+polygon is a rectangle.
+Like lines, a polygon can by edited by deleting, inserting and moving the points
+that define it.
+<CODE>Pcb</CODE> is capable of handling complex polygons, but
+using a number of simpler ones improves performance of the connection tracing code.
+
+
+<P>
+A new feature in version 1.5 of <CODE>Pcb</CODE> automatically creates clearance
+regions around pins and vias that pierce a polygon. This means that they
+aren't electrically connected to the polygon unless you add "thermals"
+to cross the clearance region.
+Thermals can be added and removed by selecting the thermal mode and clicking
+<EM>&#60;Btn1&#62;</EM> on the pin or via.
+Remember that this only creates connections to the polygon on the active layer.
+The great advantage to this new polygon behavior is that simple or complex ground
+and/or power planes can be easily made with polygons and seen on the screen.
+If you don't want this auto-clearance behavior, or you load a layout created by
+an earlier version of <CODE>Pcb</CODE>, the old behavior
+(shorts to all piercing pins and vias) is available. A <SAMP>`ChangeSize'</SAMP>
+operation (<EM>&#60;Key&#62;s</EM>) toggles a polygon between the new and old polygon/pin
+behavior.
+
+
+<P>
+<A NAME="IDX12"></A>
+<A NAME="IDX13"></A>
+
+
+<H2><A NAME="SEC11" HREF="pcb_toc.html#TOC11">Text</A></H2>
+<P>
+Text objects should be used to label a layout or to put additional
+information on the board, but not to identify elements because elements
+have their own labels.
+Text is always horizontal when first created, but the
+rotate mode can align it along 0, 90, 180 and 270 degree angles.
+Text can be moved from any layer to the silk-screen layer with a
+command in the <SAMP>`selection menu'</SAMP>.
+Text that is moved to the silk-screen layer will appear on the
+solder-side silk-screen if it originating on a solder-side layer.
+Otherwise moving it to the silk-screen layer will put it on the
+component-side silk-screen.
+To move text back to a copper layer from
+the silk-screen, use the <SAMP>`MoveToCurrentLayer'</SAMP> (<EM>&#60;Key&#62;m</EM>) command.
+Text on the far side of the board will automatically appear mirror-imaged.
+
+
+<P>
+<B>TEXT OBJECTS ON A COPPER LAYER CREATE COPPER LINES BUT THEY ARE NOT SCANNED FOR
+CONNECTIONS OR TESTED FOR CREATING SHORTS VS. THE NETLIST. NEITHER ARE TEXT OBJECTS TESTED AGAINST ANY DESIGN RULES</B>.
+
+
+<P>
+<A NAME="IDX14"></A>
+
+
+<H1><A NAME="SEC12" HREF="pcb_toc.html#TOC12">Getting Started</A></H1>
+<P>
+The goal of this chapter is to give you enough information to learn how
+<CODE>Pcb</CODE> works and how to develop your layouts to make the best use of <CODE>Pcb</CODE>'s
+features. All event translations (<EM>i.e.</EM> the buttons and keys you
+press) refer to the default application resource file shipped with <CODE>Pcb</CODE>.
+There is probably no need to change them unless your window
+manager uses some of the button events itself; however, if you <EM>want</EM>
+to customize the behavior of <CODE>Pcb</CODE> then changing the resource file
+is usually the best way to do it.
+
+
+<P>
+Get yourself a printout of this chapter and <EM>User Commands</EM>, if you
+haven't already done so, and follow the examples.
+An example layout may be found in <TT>`example/68HC11'</TT>.
+An example illustrating some version 1.5 features is found in
+<TT>`example/LED'</TT> along with its corresponding netlist file <TT>`example/LED.NET'</TT>.
+
+
+<P>
+Start <CODE>Pcb</CODE> (the actual command will use all lower-case letters)
+without any additional options.
+If you get the error message:
+
+
+
+<PRE>
+ can't find default font-symbol-file 'default_font'
+</PRE>
+
+<P>
+then the font searchpath or filename in the application resource
+file is wrong. Be sure that your <CODE>m4</CODE> program supports searchpaths.
+If not, get <CODE>GNU m4</CODE>.
+For other messages, see section <A HREF="pcb.html#SEC56">Troubleshooting</A>.
+Another quick-start is provided by <CODE>pcbtest.sh</CODE> in the <TT>`src'</TT>
+directory.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC13">Application Window</A>: The elements of the main window.
+<LI><A HREF="pcb.html#SEC19">Log Window</A>: The optional logging window
+<LI><A HREF="pcb.html#SEC20">Library Window</A>: The circuit selection window
+<LI><A HREF="pcb.html#SEC21">Drawing and Removing</A>
+<LI><A HREF="pcb.html#SEC29">Moving and Copying</A>
+<LI><A HREF="pcb.html#SEC30">Loading and Saving</A>
+<LI><A HREF="pcb.html#SEC31">Printing</A>
+<LI><A HREF="pcb.html#SEC32">Connection Lists</A>: How to get a list of all or some connections.
+<LI><A HREF="pcb.html#SEC33">Selection</A>: Commands which handle more than one object.
+<LI><A HREF="pcb.html#SEC34">Rats Nest</A>: Helps you place and route tracks against a netlist.
+<LI><A HREF="pcb.html#SEC35">Design Rule Checking</A>
+</UL>
+
+
+
+<H2><A NAME="SEC13" HREF="pcb_toc.html#TOC13">The Application Window</A></H2>
+<P>
+The main window consists of five areas:
+the menu at the top, the control panel in the upper left corner, the mode buttons
+located below the control panel, the drawing area to the right of these, and the
+status line at the bottom of the window.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC14">Status-line and Input-field</A>: What is the program configuration.
+<LI><A HREF="pcb.html#SEC15">Control Panel</A>: Switch layers on/off; change current one.
+<LI><A HREF="pcb.html#SEC16">Mode Selectors</A>: Select an operation mode.
+<LI><A HREF="pcb.html#SEC17">Drawing Area</A>: Where the layout is drawn.
+<LI><A HREF="pcb.html#SEC18">Menu</A>
+</UL>
+
+<P>
+<A NAME="IDX15"></A>
+<A NAME="IDX16"></A>
+<A NAME="IDX17"></A>
+
+
+<H3><A NAME="SEC14" HREF="pcb_toc.html#TOC14">The Status-line and Input-field</A></H3>
+<P>
+The status-line is located at the bottom edge of the main window.
+During normal operation the status information is visible there.
+When a selected menu operation requires an additional button click, the
+status-line is replaced by a message telling you to position the cursor
+and click.
+When a text input is required, the status-line is replaced by the
+Input-field which has a prompt for the typed input.
+
+
+<P>
+The status-line shows, from left to right, the side of the board that you
+are viewing (<EM>&#60;Key&#62;Tab</EM> changes this), if an absolute
+(abs) or relative (rel) grid is used, if new lines are restricted to 45 degrees,
+which type of 45 degree line mode is active, whether rubberband move and
+rotate mode is on (R), the current grid values, and the zoom factor.
+This information is followed by the line-width, via-size
+and drilling hole in mil, text scaling, the active buffer number and the
+name of the layout. An asterisk appearing at the left edge indicates the
+layout has been modified since the last save.
+Note that the name of the layout is not the same
+thing as the filename of the layout.
+
+
+<P>
+The input-field pops up (temporarily replacing the status-line) whenever user input
+is required. Two keys are bound to the input field: <EM>&#60;Key&#62;Escape</EM>
+aborts the input, <EM>&#60;Key&#62;Return</EM> finishes it.
+
+
+<P>
+The present cursor position is displayed in the upper right corner of the window.
+Normally this position is an absolute coordinate, but with
+version 1.5 of <CODE>Pcb</CODE> you can anchor a marker at
+the current cursor location by pressing <EM>Ctrl&#60;Key&#62;m</EM> then the
+display will read both the absolute cursor position as well as the difference
+between it and the marker. Pressing <EM>Ctrl&#60;Key&#62;m</EM> again turns the marker off.
+
+
+<P>
+<A NAME="IDX18"></A>
+<A NAME="IDX19"></A>
+<A NAME="IDX20"></A>
+<A NAME="IDX21"></A>
+
+
+<H3><A NAME="SEC15" HREF="pcb_toc.html#TOC15">The Control Panel</A></H3>
+<P>
+The control panel, located at the left side of the window, is used to turn on
+and off the display of layer groups and to select the active drawing layer.
+If a layer hasn't been named, the label "<EM>(unknown)</EM>" is used as the defualt.
+
+
+<P>
+The upper control box is used to switch layers on and off. Click
+<EM>&#60;Btn1Down&#62;</EM> on one or more of them. Each click toggles the setting.
+The currently active layer can't be switched off.
+The layout is refreshed when the pointer reenters the drawing area. This
+prevents excessive redrawing when the visibility of several layers is changed.
+When the layers are grouped, clicking on these fields will toggle
+the visibility of all layers in the same group. This is a good idea because
+layers in the same group reside on the same physical layer of
+the actual board.
+Use the <SAMP>`Edit layer groups'</SAMP> option in the <SAMP>`Objects'</SAMP> menu to
+change the layer groupings.
+Grouping layers is only useful for helping you to color-code
+signals in your layout. Note that grouping layers actually reduces the number
+of different physical layers available for your board, thus to make an eight
+layer board, you cannot group any layers.
+
+
+<P>
+<EM>far side</EM> turns on and off the visibility of elements
+(including SMD pads) on the opposite
+board side, as well as silk screening on that side. It does not automatically
+hide the x-ray view of the other copper layers, these must be turned off
+separately if desired. Use the <EM>tab</EM> key to view the entire board from the other
+side. To see a view of what the back side of the board will actually look like,
+make the solder layer the active layer then press <EM>tab</EM> until the status
+line says "solder" on the right, then turn off the visibility of all other layers
+except pins/pads, vias, and silk.
+
+
+<P>
+The lower control menu, named <EM>active</EM>, is used to change the active
+drawing layer. <EM>&#60;Btn1Down&#62;</EM> pops up a menu to select a one.
+Each entry is labeled with the layer's name and drawn in its color.
+The new drawing layer is automatically made visible.
+Try changing the active layer's name to <EM>ABC</EM> by selecting
+<SAMP>`set name of layer'</SAMP> from the <SAMP>`File'</SAMP> menu.
+Changing the active layer also is available with <EM>&#60;Key&#62;1..8</EM>.
+
+
+<P>
+<A NAME="IDX22"></A>
+<A NAME="IDX23"></A>
+
+
+<H3><A NAME="SEC16" HREF="pcb_toc.html#TOC16">The Mode Selectors</A></H3>
+<P>
+The mode selector buttons reside below the control panel.
+They are used to select the operation mode of <CODE>Pcb</CODE>. A mode can be
+thought of as a tool that gets used when <EM>&#60;Btn1&#62;</EM> is pressed.
+Each mode causes the cursor to take on a unique shape that identifies the tool.
+The buttons themselves are icons that illustrate their function.
+The drawing modes can also be selected from the keyboard:
+
+<PRE>
+ <EM>&#60;Key&#62;Escape</EM> reset mode
+ <EM>&#60;Key&#62;F1</EM> via-mode
+ <EM>&#60;Key&#62;F2</EM> line-mode
+ <EM>&#60;Key&#62;F3</EM> pastebuffer-mode
+ <EM>&#60;Key&#62;F4</EM> rectangle-mode
+ <EM>&#60;Key&#62;F5</EM> text-mode
+ <EM>&#60;Key&#62;F6</EM> polygon-mode
+ <EM>&#60;Key&#62;Insert</EM> insert-point-mode
+ <EM>&#60;Key&#62;F7</EM> thermal-mode
+ <EM>&#60;Key&#62;F8</EM> arc-mode
+</PRE>
+
+<P>
+The <EM>&#60;Key&#62;Space</EM> cycles through all of the modes in the
+mode button palette.
+
+
+<P>
+Reset-mode is really no mode, and <EM>&#60;Btn1&#62;</EM> has no effect with
+this setting.
+Some of the modes are very simple, such as the via-mode. Clicking
+<EM>&#60;Btn1&#62;</EM> while in this mode creates a via at the cross-hair position.
+The pastebuffer-mode is similar. With this mode, <EM>&#60;Btn1&#62;</EM> copies
+the contents of the active buffer to the layout, but only
+those parts that reside on visible layers are copied.
+The rotate-mode allows you to rotate elements and text objects
+90 degrees counter-clockwise with each click.
+The line-mode is explained in detail in section <A HREF="pcb.html#SEC8">Lines</A>.
+The arc-mode is explained in detainl in section <A HREF="pcb.html#SEC9">Arcs</A>.
+Rectangle-mode, polygon-mode and thermal-mode are explained in detail in
+section <A HREF="pcb.html#SEC10">Polygons</A>.
+Remember that the thermal-mode will only create and destroy thermals
+to polygons on the active layer.
+
+
+<P>
+The insert-point-mode is an editing tool that allows you to add
+points into lines or polygons. With version 1.5 of <CODE>Pcb</CODE>, the
+insert-point-mode enforces the 45 degree line
+rule. You can force only the shorter line segment to 45
+degrees by holding the shift key down while inserting the point.
+The delete-mode deletes the smallest object beneath the cursor with each
+<EM>&#60;Btn1&#62;</EM> click.
+If you use click at an end-point
+that two lines have in common, it will replace the two lines with a single line
+spanning the two remaining points. This can be used to delete an "inserted"
+point in a line, restoring the previous line.
+
+
+<P>
+<A NAME="IDX24"></A>
+
+
+<H3><A NAME="SEC17" HREF="pcb_toc.html#TOC17">Drawing Area</A></H3>
+<P>
+The drawing area is made from a viewport widget that also includes two
+scrollbars. The cursor changes shape depending
+on the current operation mode when the pointer is moved into the drawing area.
+A crosshair follows the X11 pointer with respect to the grid setting.
+Move around and watch the cursor position displayed in the upper right of
+the window.
+Now select a new grid from the <EM>Display</EM> menu.
+The new value is updated in the statusline.
+Now move again and watch the difference. A different way to change the grid is
+<EM>Shift&#60;Key&#62;g</EM> to decrease or <EM>&#60;Key&#62;g</EM> to increase
+it. The grid setting is saved along with the data when you save a pcb layout.
+For homemade layouts a value around 50 is a good setting.
+The cursor also may be moved with the cursor keys or, for larger
+distances, by pressing the <EM>shift</EM> modifier together with a cursor key.
+
+
+<P>
+<A NAME="IDX25"></A>
+<A NAME="IDX26"></A>
+
+
+<H3><A NAME="SEC18" HREF="pcb_toc.html#TOC18">Menu</A></H3>
+<P>
+The menus are located at the top of the drawing area. Most, but not all,
+of their functions are also available from the keyboard.
+Some of the entries such as <EM>center</EM> require a certain cursor position.
+In this case a statusline will popup at the bottom with wording similar to
+the following:
+
+<PRE>
+ move pointer to the appropriate screen position and press a button
+</PRE>
+
+<P>
+Any mouse button will do the job, whereas any key except the cursor keys
+will cancel the operation. For details see section <A HREF="pcb.html#SEC42">Actions</A>.
+
+
+<DL COMPACT>
+
+<DT><SAMP>`About'</SAMP>
+<DD>
+<A NAME="IDX27"></A>
+
+There is no menu hiding behind this button, but a small information box will
+pop up.
+
+<A NAME="IDX28"></A>
+<DT><SAMP>`File'</SAMP>
+<DD>
+This menu offers a choice of loading, saving and printing data, saving
+connection information to a file or quitting the application.
+You also may change the layout's or the active layer's name. Selecting
+<EM>print layout</EM> pops up a printer control dialog which is, hopefully,
+self explaining. This box contains a panner widget (only <CODE>X11R5</CODE> and later)
+which simplifies adjusting the offsets. With earlier releases the printout
+will always appear in the upper left corner with respect to the media margins.
+
+A selection of several device drivers is available from the printer control
+dialog. Presently <EM>PostScript</EM>, <EM>encapsulated PostScript</EM>,
+and <EM>GerberX</EM> are supported. <EM>GerberD</EM> support may be forthcoming.
+It requires a rastering engine that pcb presently lacks.
+
+<A NAME="IDX29"></A>
+<A NAME="IDX30"></A>
+<A NAME="IDX31"></A>
+<A NAME="IDX32"></A>
+<A NAME="IDX33"></A>
+<A NAME="IDX34"></A>
+<DT><SAMP>`Display'</SAMP>
+<DD>
+The display menu supports the most needed functions related to
+screen output. The entries are used to change the grid to some popular
+values, the zoom factor, the displayed element name and also are used
+to center or refresh the output.
+You also may switch grid-displaying on or off and select between
+absolute grid (origin at (0,0)) or relative grid (origin at the position where
+the grid has been changed). The relative grid position is now
+established at the actual pointer position, NOT necessarily the same
+as the crosshair position. This allows you to shift the grid without
+changing the grid spacing. I recommend that you zoom in as close as
+possible before setting a relative grid so that you're sure the grid
+lines fall where you want.
+The clipping to 45-degree lines is selected in this menu, as well as
+enabling rubberband mode (see description of <EM>Mode</EM>).
+
+<A NAME="IDX35"></A>
+<DT><SAMP>`Sizes'</SAMP>
+<DD>
+This menu allows you to select a group of line thickness, via diameter and via drill
+size (collectively called a "routing style") to be coppied to the "active" sizes.
+You can also change the names given to these styles and adjust their values from
+this menu. You can also edit the "active" sizes (the initial size of new vias,
+drilling holes, lines, text-objects and the current maximum size of the layout)
+from this menu.
+
+<A NAME="IDX36"></A>
+<A NAME="IDX37"></A>
+<A NAME="IDX38"></A>
+<DT><SAMP>`Objects'</SAMP>
+<DD>
+Displaying the pinout of an element and changing its names, the one
+that is currently selected by the <EM>Display</EM> menu, as well as
+editing a text object is offered by this menu. The latter two selections
+require an additional pointer button click at the object's position.
+A dialog for changing the layer groupings is also reached from this
+menu.
+
+<A NAME="IDX39"></A>
+<A NAME="IDX40"></A>
+<A NAME="IDX41"></A>
+<A NAME="IDX42"></A>
+<A NAME="IDX43"></A>
+<DT><SAMP>`Selection'</SAMP>
+<DD>
+This menu covers most of the operations that work with selected objects.
+You may either (un)select all visible objects of a layout or only the ones
+which have been found by the last connection scan. The mouse can also
+be used to change which things are and are not selected:
+toggle the selection of a single object by pressing
+<EM>&#60;Btn3Down&#62;</EM> and releasing without moving the mouse.
+Pressing <EM>Mod1&#60;Btn3Down&#62;</EM>, moving and
+releasing the button selects all visible objects inside the
+rectangle. Pressing the modifier key <EM>Shift</EM> too, unselects all
+objects in the area. You can delete all selected objects from this
+menu, and also move selected text objects to the silk-screen layer.
+The other entries change the sizes of visible and selected objects.
+
+<A NAME="IDX44"></A>
+<A NAME="IDX45"></A>
+<DT><SAMP>`Buffer'</SAMP>
+<DD>
+This menu handles pastebuffer related actions. You may select one out of five
+(per viewing side) buffers to use, rotate or clear its contents and paste
+it to the layout. You can also gather objects in the buffer into an element definition
+from this menu.
+Note: only visible objects are pasted to the layout.
+
+<A NAME="IDX46"></A>
+<DT><SAMP>`Connections'</SAMP>
+<DD>
+The entries available through the connections menu button allow the user to find
+connections from pins or vias and to manipulate these.
+The connection lists may be saved by selecting entries from the
+<EM>File</EM> menu. In many cases it is desireable to use the ratsnest
+function to check connections against a netlist file instead of using the
+connections menu to generate text connection lists.
+
+<A NAME="IDX47"></A>
+<DT><SAMP>`Undo'</SAMP>
+<DD>
+This menu is a frontend for managing the reversing of operations
+such as remove, copy, move, name changes, etc. The number of
+operations is unlimited (depending on memory). The list is cleared if
+new layout data is loaded or by selecting the appropriate entry from
+this menu. The inverse operation, redo, is also available.
+
+<A NAME="IDX48"></A>
+<DT><SAMP>`Report'</SAMP>
+<DD>
+This menu allows you to generate a dialog that summerizes information
+about an object such as sizes and coordinates. You can also get a report
+about all of the drills that are used on the board.
+
+</DL>
+
+<P>
+<A NAME="IDX49"></A>
+<A NAME="IDX50"></A>
+
+
+<H2><A NAME="SEC19" HREF="pcb_toc.html#TOC19">Log Window</A></H2>
+<P>
+This optional window is used to display all kind of messages including
+the ones written to <EM>stderr</EM> by external commands. The main advantage is
+that its contents are saved in a scrolling list until the
+program exits. Disabling this feature by setting the resource
+<EM>useLogWindow</EM> to <EM>false</EM> will generate popup windows to display
+messages. The <EM>stderr</EM> of external commands will appear on <CODE>Pcb</CODE>s
+<EM>stderr</EM> which normally is the parent shell. I suggest you iconify
+the window after startup for example by setting <EM>*log.iconic</EM> to
+<EM>true</EM>. If <EM>raiseLogWindow</EM> is set <EM>true</EM>,
+the window will deiconify and raise itself whenever new messages are to be
+displayed.
+
+
+<P>
+<A NAME="IDX51"></A>
+
+
+<H2><A NAME="SEC20" HREF="pcb_toc.html#TOC20">Library Window</A></H2>
+<P>
+First appearing in 1.4.1 the library window is one of the best new features
+in my opinion. It simplifies loading circuits quiet a lot just by selecting
+the appropriate type from the menu at the top. A circuit is then selected
+by simply double-clicking on the text line. For details on libraries
+check-out section <A HREF="pcb.html#SEC50">Library File Format</A> and section <A HREF="pcb.html#SEC49">Library Contents File Format</A>.
+
+
+<P>
+<A NAME="IDX52"></A>
+<A NAME="IDX53"></A>
+<A NAME="IDX54"></A>
+<A NAME="IDX55"></A>
+
+
+<H2><A NAME="SEC21" HREF="pcb_toc.html#TOC21">Drawing and Removing Basic Objects</A></H2>
+<P>
+There are several ways of creating new objects: you may draw them yourself,
+you may copy an existing object or you may load an element from a file or
+library. Creating new objects is normally related to a special
+mode depending on the object type.
+The notation of key and button events is the same as described in the
+X11 Intrinsics manual.
+
+
+<P>
+The operation mode may be selected by one of the mode selectors in the bottom
+left corner, by one of the function keys listed earlier in this chapter,
+or by pressing the space bar to cycle through the modes.
+<EM>&#60;Btn1Down&#62;</EM> sends a notify request to the application which
+responds by creating or changing the appropriate object or at least takes
+the first step to do so. Switching to a mode causes the cursor to take
+on a unique shape and also causes the cooresponding
+mode selector button to be drawn with thick lines. You can use either cue
+to see which mode is currently selected.
+
+
+<P>
+Removing objects is possible using <EM>&#60;Key&#62;BackSpace</EM> (or <EM>&#60;Key&#62;Delete</EM>
+on some machines)
+which deletes the object at the cursor location. If more than one object
+is located at the same position, the smallest matching type will be chosen.
+If two or more of the same type are the smallest at the position, then the
+newest one will be deleted.
+You also may change to <EM>remove-mode</EM> and click <EM>&#60;Btn1Down&#62;</EM>
+at the location of the objects which are to be removed. If you "remove"
+the end-point where two lines connect, it will remove the point of
+connection leaving a single line that spans the far end points.
+
+
+<P>
+Rotating works in a similar fashion. Change the mode and press
+<EM>&#60;Btn1Down&#62;</EM> at the object's location. Remember only text,
+elements and arcs can be rotated. (Anything including groups of objects
+may be rotated inside a buffer using the rotate buffer menu option.)
+
+
+<P>
+Insert mode provides the capability of inserting new points into existing
+polygons or lines. The 45 degree line clipping is now enforced when selected.
+Press and hold the shift key while positioning the new point to only clip
+the line segment to the nearer of the two existing points to 45 degrees.
+You can also toggle the 45-degree clipping in the middle of a point
+insertion by pressing the <EM>&#60;Key&#62;.</EM>
+If the shift key is not depressed and the 45 degree line clipping mode
+is on, both new line segments must be on 45 degree angles - greatly
+restricting where the new point may be placed. In some cases this can cause
+confusion as to whether an insertion has been started since the two new
+lines may be forced to lie parallel on top of the original line until the
+pointer is moved far from the end points.
+
+
+<P>
+Removing objects, changing their size or moving them only applies to objects
+that are visible when the command is executed.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC22">Lines</A>
+<LI><A HREF="pcb.html#SEC23">Arcs</A>
+<LI><A HREF="pcb.html#SEC24">Polygons</A>: Drawing polygons and rectangles.
+<LI><A HREF="pcb.html#SEC25">Text</A>
+<LI><A HREF="pcb.html#SEC26">Vias</A>
+<LI><A HREF="pcb.html#SEC27">Elements</A>
+<LI><A HREF="pcb.html#SEC28">Pastebuffer</A>: A multi-purpose buffer.
+</UL>
+
+<P>
+<A NAME="IDX56"></A>
+<A NAME="IDX57"></A>
+<A NAME="IDX58"></A>
+<A NAME="IDX59"></A>
+<A NAME="IDX60"></A>
+<A NAME="IDX61"></A>
+There are several keystrokes and button events refering to an <EM>object</EM>
+without identifying its type. Here's a list of them:
+
+
+<P>
+<EM>&#60;Btn1Down&#62;</EM> creates (or deletes) an object depending on the
+current mode.
+
+
+<P>
+<EM>&#60;Key&#62;BackSpace</EM> or <EM>&#60;Key&#62;Delete</EM> removes the visible
+object at the cursor location. When more than one object exists at the
+location, the order of removal is: via, line, text, polygon and
+element. The drawn layer order also affects the search - whatever is
+top - most (except elements) is affected before lower items. Basically
+all this means that what is removed is probably just what you expect.
+If for some reason it isn't, undo and try again.
+Only one object is removed for each keystroke. If two or more
+of the same type match, the newest one is removed.
+
+
+<P>
+Use <EM>&#60;Key&#62;s</EM> and <EM>Shift&#60;Key&#62;s</EM> to change the size (width)
+of lines, arcs, text objects, pins, pads and vias, or to toggle the style
+of polygons (whether pins and vias automatically have clearances).
+
+
+<P>
+<EM>&#60;Key&#62;n</EM> changes the name of pins, pads, vias, the
+string of a text object, or the currently displayed label of an element.
+
+
+<P>
+<EM>&#60;Key&#62;m</EM> moves the line, arc, or polygon under the crosshair to the
+active layer if it wasn't on that layer already.
+
+
+<P>
+<EM>&#60;Key&#62;u</EM> (undo) recovers from an unlimited number of operations
+such as creating, removing, moving, copying, selecting etc. It works like
+you'd expect even if you're in the midst of creating something.
+
+
+<P>
+<EM>Shift&#60;Key&#62;r</EM> restores the last undone operation provided no other
+changes have been made since the undo was performed.
+
+
+<P>
+<EM>&#60;Key&#62;tab</EM> changes the board side you are viewing.
+
+
+<P>
+For a complete list of keystrokes and button events see section <A HREF="pcb.html#SEC43">Default Translations</A>.
+
+
+<P>
+<A NAME="IDX62"></A>
+<A NAME="IDX63"></A>
+
+
+<H3><A NAME="SEC22" HREF="pcb_toc.html#TOC22">Lines</A></H3>
+<P>
+To draw new lines you have to be in <EM>line-mode</EM>. Get there either by
+selecting it from the <EM>Tool palette</EM> or by pressing <EM>&#60;Key&#62;F2</EM>.
+Each successive <EM>notify</EM> event creates a new line. The
+adjustment to 45 degree lines is done automatically if it is selected from the
+<EM>Display</EM> menu. You can toggle the 45 degree mode setting by
+pressing the <EM>&#60;Key&#62;.</EM> (That is the period key). When 45 degree enforcement
+is turned on there are three distinct modes of line creation: a single
+line on the closest 45 degree vector towards the crosshair (but not necessarily
+actually ending at the crosshair), two lines created such that the first leaves
+the start point on a 90 degree vector and the second arrives at the crosshair
+on a 45 degree vector, and finally two lines created such that the first leaves
+the start point on a 45 degree vector and the second arrives at the crosshair
+on a 90 degree vector. These last two modes always connect all the way from
+the start and end points, and all lines have angles in 45 degree multiples.
+The <EM>&#60;Key&#62;/</EM> cycles through the three modes. The status line shows a
+text icon to indicate which of the modes is active and the lines following
+the crosshair motion show the outline of the line(s) that will actually be created.
+Press <EM>&#60;Key&#62;Escape</EM> to leave line-mode.
+
+
+<P>
+<EM>&#60;Key&#62;l</EM>, <EM>Shift&#60;Key&#62;l</EM> and the entries in the
+<EM>Sizes</EM> menu change the initial width of new lines. This width is also
+displayed in the status line.
+
+
+<P>
+<A NAME="IDX64"></A>
+
+
+<H3><A NAME="SEC23" HREF="pcb_toc.html#TOC23">Arcs</A></H3>
+<P>
+An Arc is drawn with the <EM>arc-tool</EM>. Get there either by selecting it
+from the <EM>Tool palette</EM> or by pressing <EM>&#60;Key&#62;F8</EM>. Press <EM>Btn1</EM> to
+define the starting point for the arc. Drag the mouse towards the desired
+end point along the path you want the arc to follow. The outline of the arc that
+will be created is shown on the screen as you move the mouse. Arcs are always
+forced to be 90 degrees and have symmetrical length and width ( i.e. they are
+a quarter circle). The next <EM>Btn1</EM> click creates the arc. It will have
+the same width as new lines (displayed in the status line) and appear on the
+active layer. The arc leaves the starting point towards the crosshair along
+the axis whose distance from the crosshair is largest. Normally this means that
+if you drag along the path you want the arc to follow, you'll get what you
+want. If the grid is set to the arc radius, then the two distances will be
+equal and you won't be able to get all of the possible directions. If this
+is thwarting your desires, reduce the grid spacing (<EM>!Shift&#60;Key&#62;G</EM>) and
+try again.
+
+
+<P>
+<A NAME="IDX65"></A>
+<A NAME="IDX66"></A>
+<A NAME="IDX67"></A>
+<A NAME="IDX68"></A>
+
+
+<H3><A NAME="SEC24" HREF="pcb_toc.html#TOC24">Polygons and Rectangles</A></H3>
+<P>
+A polygon is drawn by defining all of its segments as a series of
+consecutive line segments. If the first point matches a new one and if
+the number of points is greater than two, then the polygon is closed.
+Since matching up with the first point may be difficult, you may use
+<EM>Shift&#60;Key&#62;p</EM> to close the polygon. The <EM>Shift&#60;Key&#62;p</EM> won't
+work if clipping to 45 degree lines is selected
+and the final segment cannot match this condition.
+I suggest you create simple convex polygons in order to avoid a strong
+negative impact on the performance of the connection scanning routines.
+The <EM>rectangle-mode</EM> is just an easy way to generate rectangular polygons.
+<EM>Polygon-mode</EM> also is selected by <EM>&#60;Key&#62;F6</EM> whereas
+<EM>rectangle-mode</EM> uses <EM>&#60;Key&#62;F4</EM>.
+Pressing a <EM>&#60;Btn1Down&#62;</EM> at two locations creates a rectangle by
+defining two of its corners.
+<EM>&#60;Key&#62;Insert</EM> brings you to <EM>insert-point-mode</EM> which lets you
+add additional points to an already existing polygon.
+Single points may be removed by moving the crosshair to them and selecting
+one of the delete actions <EM>(remove-mode, BackSpace, or Delete</EM>. This only works
+if the remaining polygon will still have three or more corners.
+Pressing <EM>&#60;Key&#62;u</EM> or <EM>&#60;Key&#62;p</EM> while entering a new polygon
+brings you back to the previous corner. Removing a point does not
+force clipping to 45 degree angles (because it's not generally possible).
+Newly created polygons will not connect to pins or vias
+that pierce it unless you create a thermal (using the thermal mode) to make
+the connection. If the edge of a polygon gets too close to a pin or via that
+lies outside of it, a warning will be issued and the pin will be given a
+special color. Increasing the distance between them will remove the warning
+color.
+
+
+
+
+<H3><A NAME="SEC25" HREF="pcb_toc.html#TOC25">Text</A></H3>
+<P>
+<A NAME="IDX69"></A>
+<A NAME="IDX70"></A>
+<A NAME="IDX71"></A>
+Pressing <EM>&#60;Key&#62;F5</EM> or clicking one of the text selector buttons
+changes to <EM>text-mode</EM>.
+Each successive notify event (<EM>&#60;Btn1Down&#62;</EM>)
+pops up the input line at the bottom and queries for a string.
+Enter it and press <EM>&#60;Key&#62;Return</EM> to confirm or
+<EM>&#60;Key&#62;Escape</EM> to abort.
+The text object is created with its upper left corner at the current pointer
+location.
+The initial scaling is changed by <EM>&#60;Key&#62;t</EM> and
+<EM>Shift&#60;Key&#62;t</EM> or from the <EM>Sizes</EM> menu.
+
+
+<P>
+Now switch to <EM>rotate-mode</EM> and press
+<EM>&#60;Btn1Down&#62;</EM> at the text-objects location. Text objects
+on the solder side of the layout are automatically mirrored and
+flipped so that they are seen correctly when viewing the solder-side.
+
+
+<P>
+Use <EM>&#60;Key&#62;n</EM> to edit the string.
+
+
+<P>
+<B>TEXT OBJECTS ON COPPER LAYERS CREATE COPPER LINES BUT THEY ARE NOT SCANNED FOR
+CONNECTIONS</B>. If they are moved to the silkscreen layer, they
+no longer create copper.
+
+
+<P>
+<A NAME="IDX72"></A>
+<A NAME="IDX73"></A>
+
+
+<H3><A NAME="SEC26" HREF="pcb_toc.html#TOC26">Vias</A></H3>
+<P>
+The initial size of new vias may be changed by <EM>&#60;Key&#62;v</EM> and
+<EM>Shift&#60;Key&#62;v</EM> or by selecting the appropriate entry from the
+<EM>Sizes</EM> menu. <EM>Mod1&#60;Key&#62;v</EM> and <EM>Mod1 Shift&#60;Key&#62;v</EM> do
+the same for the drilling hole of the via.
+The statusline is updated with the new values.
+Creating a via is similar to the other objects. Switch to <EM>via-mode</EM>
+by using either the selector button or <EM>&#60;Key&#62;F1</EM> then press
+<EM>&#60;Key&#62;]</EM> or <EM>&#60;Btn1Down&#62;</EM> to create one.
+<EM>&#60;Key&#62;n</EM> changes the name of a via. If you want to create a mounting
+hole for your board, then you can place a via where you want the hole to
+be then convert the via into a hole. The conversion is done by pressing
+<EM>!Ctrl&#60;Key&#62;h</EM> with the crosshair over the via. Conceptually it is
+still a via, but it has no copper annulus. If you create such a hole in
+the middle of two polygons on different layers, it will short the layers.
+Theoretically you could arrange for such a hole not to be plated, but a
+metal screw inserted in the hole would still risk shorting the layers.
+A good rule is to realize that holes in the board really are vias between
+the layers and so place them where they won't interfere with connectivity.
+You can convert a hole back into a normal via with the same keystroke used
+to convery it in the first place.
+
+
+<P>
+<A NAME="IDX74"></A>
+<A NAME="IDX75"></A>
+
+
+<H3><A NAME="SEC27" HREF="pcb_toc.html#TOC27">Elements</A></H3>
+<P>
+Some of the functions related to elements only work if both the package
+layer and the pin layer are switched on.
+
+
+<P>
+Now that you're familiar with many of the basic commands, it is
+time to put the first element on the layout.
+First of all, you have to load data into the paste buffer.
+There are four ways to do this:
+
+<PRE>
+ 1) load the data from a library
+ 2) load the data from a file
+ 3) copy data from an already existing element
+ 4) convert objects in the buffer into an element
+</PRE>
+
+<P>
+We don't have any elements on the screen yet nor anything in the
+buffer, so we use number one.
+
+
+<P>
+<A NAME="IDX76"></A>
+<A NAME="IDX77"></A>
+Select <EM>lsi</EM> from the menu in the library window press
+<EM>&#60;Btn1Down&#62;</EM> twice at the appropriate text-line to get
+the MC68030 CPU.
+The data is loaded and the mode is switched to <EM>pastebuffer-mode</EM>.
+Each notify event now creates one of these beasts. Leave the mode
+by selecting a different one or by <EM>&#60;Key&#62;Escape</EM> which resets
+all modes..
+The crosshair is located at the <EM>mark</EM> position as defined by
+the data file. Rotating the buffer contents is done by selecting
+the <EM>rotate</EM> entry of the <EM>Buffer</EM> menu or by pressing
+<EM>Shift&#60;Key&#62;F3</EM>. The contents of the buffer
+are valid until new data is loaded into it either by a cut-to-buffer
+operation, copy-to-buffer operation or by loading a new data file.
+There are 5 buffers
+available. Switching between them is done by selecting a menu entry or
+by <EM>Shift&#60;Key&#62;1..5</EM>.
+Each of the two board sides has its own buffers.
+
+
+<P>
+The release includes all data files for the circuits that are used
+by the demo layout. The elements in the LED example are not found in the library,
+but you can lift them from the example itself if you want.
+If you have problems with the color of the crosshair, change the resource
+<EM>crosshairColor</EM> setting to a different one.
+
+
+<P>
+<A NAME="IDX78"></A>
+<A NAME="IDX79"></A>
+<A NAME="IDX80"></A>
+Now load a second circuit, the MC68882 FPU for example.
+Create the circuit as explained above. You now have two different unnamed
+elements. Unnamed means that the layout-name of the element
+hasn't been set yet. Selecting <EM>description</EM> from the <EM>Display</EM>
+menu displays the description string of the two circuits which
+are CPU and FPU. The values of the circuits are set to MC68030 and MC68882.
+Each of the names of an element may be changed
+by <EM>&#60;Key&#62;n</EM> at the elements location and editing the old name in
+the bottom input line. Naming pins and vias is similar to elements.
+You can hide the element name so that it won't appear on the board
+silkscreen by pressing <EM>&#60;key&#62;h</EM> with the cursor over the element.
+Doing so again un-hides the element name.
+
+
+<P>
+Entering <KBD>:le</KBD> and selecting an element data file is
+the second way to load circuits.
+
+
+<P>
+The third way to create a new element is to copy an existing one.
+Please refer to section <A HREF="pcb.html#SEC29">Moving and Copying</A>.
+
+
+<P>
+<A NAME="IDX81"></A>
+<A NAME="IDX82"></A>
+<A NAME="IDX83"></A>
+<A NAME="IDX84"></A>
+The fourth way to create a new element is to convert a buffer's contents
+into an element. Here's how it's done: Select the Via-tool from the
+<EM>Tool pallette</EM>. Set the grid spacing to something appropriate for
+the element pin spacing. Now create a series of vias where the pins
+go. Create them in pin number order. It is often handy to place a reference
+point (<EM>!Ctrl&#60;Key&#62;m</EM>) in the center of the first pin in order to measure
+the location of the other pins. Next make a solder-side layer the active
+layer from the <EM>active-layer</EM> popup menu. Now draw the outline of
+the element using lines and arcs. When you're done, select everything that
+makes up the element with a box selection (<EM>&#60;Btn3Down&#62; drag,
+&#60;Btn3Up&#62;</EM>). Now select "cut selection to buffer" from the <EM>Buffer</EM>
+menu. Position the cursor over the center of pin 1 and press the left
+button to load the data into the buffer.
+Finally select "convert buffer to element" from the <EM>Buffer</EM> menu.
+You'll only want to create elements this way if they aren't already in the
+library. It's also probably a good idea to do this before starting any of
+the other aspects of a layout, but it isn't necessary.
+
+
+<P>
+To display the pinout of a circuit move to it and press <EM>Shift&#60;Key&#62;d</EM>
+or select <EM>show pinout</EM> from the <EM>Objects</EM> menu. A new window
+pops up and displays the complete pinout of the element. This display can
+be difficult to read if the component has been rotated 90 degrees :-(
+therefore, the new window will show an un-rotated view so the pin names
+are readable.
+<EM>&#60;Key&#62;d</EM> displays the name of one or all pins/pads inside the
+drawing area, this is only for display on-screen, it has no effect on any
+printing of the layout.
+
+
+<P>
+You also may want to change a pin's or pad's current size by pressing
+<EM>&#60;Key&#62;s</EM> to increase or <EM>Shift&#60;Key&#62;s</EM> to decrease it. While
+this is possible, it is not recommended since care was probably taken
+to define the element structure in the first place. You can also change the thickness
+of the element's silkscreen outline with the same keys. You can
+change whether a pin or SMD pad is rounded or square with the <EM>&#60;Key&#62;q</EM>.
+SMD pads should usually have squared ends. Finally, you can change whether
+the non-square pins are round or octagonal with the <EM>!Ctrl&#60;Key&#62;o</EM>.
+
+
+<P>
+SMD elements and silkscreen objects are drawn in the "invisible object"
+color if they are located on the opposite side of the board.
+
+
+<P>
+For information on element connections refer to section <A HREF="pcb.html#SEC32">Connection Lists</A>.
+
+
+<P>
+<A NAME="IDX85"></A>
+<A NAME="IDX86"></A>
+<A NAME="IDX87"></A>
+<A NAME="IDX88"></A>
+
+
+<H3><A NAME="SEC28" HREF="pcb_toc.html#TOC28">Pastebuffer</A></H3>
+<P>
+The linestack and element-buffer of former releases have been replaced
+by 5 multi-purpose buffers that are selected by
+<EM>Shift&#60;Key&#62;1..5</EM>. The status line shows which buffer is
+the active one.
+You may load data from a file or layout into them.
+Cut-and-paste works too.
+If you followed the instructions earlier in this chapter you should
+now have several objects on the screen. Move the crosshair to one of them
+and press <EM>&#60;Btn3Down&#62;</EM> to toggle its selection flag. (If you drag the
+mouse while the button is down, a box selection will be attempted instead
+of toggling the selection.) The object
+is redrawn in a different color. You also may want to try
+moving the pointer while holding the third button down and
+release it on a different location. This selects all objects inside the
+rectangle and unselects everything else. If you want to add a box selection
+to an existing selection, drag with <EM>Mod1&#60;Btn3Down&#62;</EM> instead.
+Dragging <EM>Shift Mod1&#60;Btn3Down&#62;</EM> unselects objects in a box.
+Now change to <EM>pastebuffer-mode</EM> and select some operations from the
+<EM>Buffer</EM> menu. Copying objects to the buffer is available as
+<EM>Mod1&#60;Key&#62;c</EM> while cutting them uses <EM>Mod1&#60;Key&#62;x</EM> as
+shortcut. Both clear the buffer before new data is added.
+If you use the menu entries, you have to supply a crosshair position by
+pressing a mouse button. The objects are attached to the pastebuffer
+relative to that crosshair location.
+Element data or PCB data may be merged into an existing layout by loading
+the datafiles into the pastebuffer. Both operations are available from
+the <EM>File</EM> menu or as user commands.
+
+
+
+
+<H2><A NAME="SEC29" HREF="pcb_toc.html#TOC29">Moving and Copying</A></H2>
+<P>
+<A NAME="IDX89"></A>
+<A NAME="IDX90"></A>
+<A NAME="IDX91"></A>
+<A NAME="IDX92"></A>
+All objects can be moved including element-names, by
+<EM>&#60;Btn2Down&#62;</EM>, draging the pointer while holding the button down
+and releasing it at the new location of the object. If you use
+<EM>Mod1&#60;Btn2Down&#62;</EM> instead, the object is copied. Copying does not work for
+element-names of course. You can move all selected objects with
+<EM>Shift &#60;Btn1Down&#62;</EM>. This uses the Pastebuffer, so
+it will remove whatever was previously in the Pastebuffer.
+Please refer to section <A HREF="pcb.html#SEC28">Pastebuffer</A>.
+If you want to give a small nudge to an object, but you don't think
+that the mouse will give you the fine level of control that you want,
+you can position the cursor over the object, press <EM>&#60;Key&#62;[</EM>,
+move it with the arrow keys, then press <EM>&#60;Key&#62;]</EM> when it's at the
+desired position. Remember that all movements are forced onto grid coordinates, so
+you may want to change the grid spacing first.
+
+
+
+
+<H2><A NAME="SEC30" HREF="pcb_toc.html#TOC30">Loading and Saving</A></H2>
+<P>
+<A NAME="IDX93"></A>
+<A NAME="IDX94"></A>
+<A NAME="IDX95"></A>
+<A NAME="IDX96"></A>
+After your first experience with <CODE>Pcb</CODE> you will probably want to save
+your work. <KBD>:s name</KBD> passes the data to an external program which
+is responsible for saving it. For details see <EM>saveCommand</EM> in
+section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>.
+Saving also is available from the <EM>File</EM> menu, either with or
+without supplying a filename. <CODE>Pcb</CODE> reuses the last
+filename if you do not pass a new one to the save routine.
+
+
+<P>
+To load an existing layout either select <EM>load layout data</EM> from the
+<EM>File</EM> menu or use <KBD>:l filename</KBD>. A file select box pops up if you
+don't specify a filename. Merging existing layouts into the new one is
+supported either by the <EM>File</EM> menu or by <KBD>:m filename</KBD>.
+
+
+<P>
+<A NAME="IDX97"></A>
+<A NAME="IDX98"></A>
+<A NAME="IDX99"></A>
+<A NAME="IDX100"></A>
+<A NAME="IDX101"></A>
+<A NAME="IDX102"></A>
+<CODE>Pcb</CODE> saves a backup of the current layout depending on the resource
+<EM>backup</EM>. The file is named <TT>`/tmp/PCB.%i.backup'</TT>. During critical
+sections of the program or when data would be lost it is saved as
+<TT>`/tmp/PCB.%i.save'</TT>.
+<EM>%i</EM> is replaced by the process ID.
+
+
+<P>
+<A NAME="IDX103"></A>
+<A NAME="IDX104"></A>
+
+
+<H2><A NAME="SEC31" HREF="pcb_toc.html#TOC31">Printing</A></H2>
+<P>
+<CODE>Pcb</CODE> now has support for device drivers,
+<CODE>PostScript</CODE>, <EM>encapsulated PostScript</EM>,
+and <EM>Gerber X</EM> drivers are
+available so far. The <EM>Gerber X</EM>
+driver generates a NC drill file for automated drilling.
+ I recommend the use of <CODE>GhostScript</CODE> if you
+don't have a <CODE>PostScript</CODE> printer for handling the PostScript
+output. Printing always generates
+a complete set of files for a specified driver.
+See the page about
+the <EM>Print()</EM> action for addtional information about the filenames.
+The control panel offers a number of options. Most of them are not avilable
+for Gerber output because it wouldn't make sense, for example, to scale the gerber output
+(you'd get an incorrectly made board!) The options are:
+
+
+<DL COMPACT>
+
+<DT><SAMP>`device'</SAMP>
+<DD>
+<A NAME="IDX105"></A>
+ <A NAME="IDX106"></A>
+
+The top menu button selects from the available device drivers.
+
+<A NAME="IDX107"></A>
+<DT><SAMP>`rotate'</SAMP>
+<DD>
+Rotate layout 90 degrees counter-clockwise before printing (default).
+
+<A NAME="IDX108"></A>
+<DT><SAMP>`mirror'</SAMP>
+<DD>
+Mirror layout before printing. Use this option depending
+on your production line.
+
+<A NAME="IDX109"></A>
+<DT><SAMP>`color'</SAMP>
+<DD>
+Created colored output. All colors will be converted to black if this option
+is inactive.
+
+<A NAME="IDX110"></A>
+<DT><SAMP>`outline'</SAMP>
+<DD>
+Add a board outline to the output file. The size is determined by the
+maximum boardsize changeable from the <EM>sizes</EM> menu. The outline appears
+on the top and bottom sides of the board, but not on the internal layers.
+An outline can be useful for determining where to shear the board from the
+panel, but be aware that it creates a copper line. Thus it has the potential
+to cause short circuits if you don't leave enough room from your wiring
+to the board edge. Use a viewer to see what the output outline looks like
+if you want to know what it looks like.
+
+<A NAME="IDX111"></A>
+<DT><SAMP>`alignment'</SAMP>
+<DD>
+Additional alignement targets are added to the output. The distances between
+the board outline is set by the resource <EM>alignmentDistance</EM>. Alignment
+targets should only be used if you know for certain that YOU WILL BE USING
+THEM YOURSELF. It is extremely unlikely that you will want to have alignment
+targets if you send gerber files to a commercial pcb manufacture to be made.
+
+<A NAME="IDX112"></A>
+<DT><SAMP>`scaling'</SAMP>
+<DD>
+It's quite useful to enlarge your printout for checking the layout.
+Use the scrollbar to adjust the scaling factor to your needs.
+
+<A NAME="IDX113"></A>
+<A NAME="IDX114"></A>
+<DT><SAMP>`media'</SAMP>
+<DD>
+Select the size of the output media from this menu. The user defined size
+may be set by the resource <EM>media</EM> either from one of the well known
+paper sizes or by a <CODE>X11</CODE> geometry specification.
+This entry is only available if you use <CODE>X11R5</CODE> or later.
+For earlier releases the user defined size or, if not available, <EM>A4</EM>
+is used.
+Well known size are:
+
+<PRE>
+ A3
+ A4
+ A5
+ letter
+ tabloid
+ ledger
+ legal
+ executive
+</PRE>
+
+<A NAME="IDX115"></A>
+<A NAME="IDX116"></A>
+<DT><SAMP>`offset'</SAMP>
+<DD>
+Adjust the offsets of the printout by using the panner at the right side
+of the dialog box.
+This entry is only available if you use <CODE>X11R5</CODE> or later. A zero
+offset is used for earlier releases.
+
+<A NAME="IDX117"></A>
+<DT><SAMP>`8.3 filenames'</SAMP>
+<DD>
+Select this button to generate DOS compatible filenames for the output files.
+The <EM>command</EM> input area will disappear if selected.
+
+<A NAME="IDX118"></A>
+<DT><SAMP>`commandline'</SAMP>
+<DD>
+Use this line to enter a command (starts with <KBD>|</KBD>) or a filename.
+A %f is replaced by the current filename.
+The default is set by the resource <EM>printCommand</EM>.
+
+</DL>
+
+<P>
+The created file includes some labels which are guaranteed to stay unchanged
+<DL COMPACT>
+
+<DT><SAMP>`PCBMIN'</SAMP>
+<DD>
+identifies the lowest x and y coordinates in mil.
+
+<DT><SAMP>`PCBMAX'</SAMP>
+<DD>
+identifies the highest x and y coordinates in mil.
+
+<DT><SAMP>`PCBOFFSET'</SAMP>
+<DD>
+is set to the x and y offset in mil.
+
+<DT><SAMP>`PCBSCALE'</SAMP>
+<DD>
+is a floating point value which identifies the scaling factor.
+
+<DT><SAMP>`PCBSTARTDATA'</SAMP>
+<DD>
+<DT><SAMP>`PCBENDDATA'</SAMP>
+<DD>
+all layout data is included between these two marks. You may use them with an
+<CODE>awk</CODE> script to produce several printouts on one piece of paper by
+duplicating the code and putting some <CODE>translate</CODE> commands in front.
+Note, the normal <CODE>PostScript</CODE> units are 1/72 inch.
+</DL>
+
+<P>
+<A NAME="IDX119"></A>
+<A NAME="IDX120"></A>
+
+
+<H2><A NAME="SEC32" HREF="pcb_toc.html#TOC32">Connection Lists</A></H2>
+<P>
+After completing parts of your layout you may want to check if all drawn
+connections match the ones you have in mind. This is probably best done
+in conjunction with a net-list file: see section <A HREF="pcb.html#SEC34">Rats Nest</A>.
+The following examples give more rudimentary ways to examine
+the connections.
+
+<PRE>
+ 1) create at least two elements and name them
+ 2) create some connections between their pins
+ 3) optionally add some vias and connections to them
+</PRE>
+
+<P>
+Now select <EM>lookup connection</EM> from the <EM>Connections</EM> menu,
+move the cursor to a pin or via and press any mouse button. <CODE>Pcb</CODE>
+will look for all other pins and/or vias connected to the one you have
+selected and display the objects in a different color.
+Now try some of the reset options available from the same menu.
+
+
+<P>
+There also is a way to scan all connections of one element. Select
+<EM>a single element</EM> from the menu and press any button at the
+element's location. All connections of this element will be saved
+to the specified file.
+Either the layout name of the element or its canonical name is used to
+identify pins depending on the one which is displayed on the screen
+(may be changed by <EM>Display</EM> menu).
+
+
+<P>
+An automatic scan of all elements is initiated by choosing
+<EM>all elements</EM>. It behaves in a similar fashion to scanning a single
+element except the resource <EM>resetAfterElement</EM>
+is used to determine if connections should be reset before a new element is
+scanned. Doing so will produce very long lists because the power lines are
+rescanned for every element. By default the resource is set to <EM>false</EM>
+for this reason.
+
+
+<P>
+To scan for unconnected pins select <EM>unused pins</EM> from the same
+menu.
+
+
+<P>
+<A NAME="IDX121"></A>
+
+
+<H2><A NAME="SEC33" HREF="pcb_toc.html#TOC33">Selection</A></H2>
+<P>
+Some commands mentioned earlier in this chapter also are able to operate on all
+selected and visible objects.
+Now go back to the layout and toggle the selection flag of a single one
+by <EM>&#60;Btn3Down&#62;</EM>. Try <EM>&#60;Btn3Down&#62;</EM>, move the pointer while
+holding the button down and release it on a different location.
+This selects all objects inside the rectangle and unselects everything else.
+Dragging with <EM>Mod1&#60;Btn3Down&#62;</EM> adds everything in the box to the
+existing selection. Dragging <EM>Shift &#60;Btn3Down&#62;</EM> unselects objects in the
+box.
+
+
+<P>
+The entries of the <EM>Selection</EM> menu are hopefully self-explanatory.
+Many of the <EM>Action Commands</EM> can take various key words that make
+them function on all or some of the selected items.
+
+
+<P>
+<A NAME="IDX122"></A>
+<A NAME="IDX123"></A>
+<A NAME="IDX124"></A>
+
+
+<H2><A NAME="SEC34" HREF="pcb_toc.html#TOC34">Rats Nest</A></H2>
+<P>
+If you have a netlist that corresponds to the layout you are working on, you
+can use the rats-nest feature to add rat-lines to the layout.
+First you will need to load a netlist file (see <EM>:rn</EM>,
+section <A HREF="pcb.html#SEC36">User Commands</A>).
+<EM>&#60;Key&#62;w</EM> adds rat-lines on the active layer using the current
+line thickness shown in the status line (usually you'll want them to be thin lines).
+Only those rat-lines that fill in missing connectivity (since you have
+probably routed some connections already) are added.
+If the layout is already completely wired, nothing will be added, and you will
+get a message that the wiring is complete.
+
+
+<P>
+Rat-lines are lines having the special property that they only connect to pins and
+pads at their end points. Rat-lines are drawn on the screen with a stippled pattern
+to make them easier to identify since they have special behavior and cannot
+remain in a completed layout.
+Rat-lines are added in the minimum length straight-line tree pattern
+(always ending on pins or pads) that satisfies the missing connectivity in the circuit.
+Used in connection with moves and rotates of the elements, they are extremely useful for
+deciding where to place elements on the board. The rat-lines will always automatically
+rubberband to the elements whether or not the rubberband mode is on. The only way for
+you to move them is by moving the parts they connect to.
+This is because it is never desireable to have the rat-lines disconnected from
+their element pins. Rat-lines will normally criss-cross
+all over which gives rise to the name "rats nest" describing a layout connected with
+them. If a SMD pad is unreachable on the active layer, a warning will be issued
+about it and the rat-line to that pad will not be generated.
+
+
+<P>
+A common way to use rats nests is to place some
+elements on the board, add the rat-lines, and then use a series of moves/rotates of the
+elements until the rats nest appears to have minimum tangling. You may want to iterate this step
+several times. Don't worry if the layout looks messy - as long as you can get a sense for whether
+the criss-crossing is better or worse as you move things, you're fine.
+After moving some elements arround, you may want to optimize the rats nest <EM>&#60;Key&#62;o</EM>
+so that the lines are drawn between the closest points (this can change once you've moved components).
+Adding rat-lines only to selected pads/pins (<EM>Shift&#60;Key&#62;w</EM>)
+is often useful to layout a circuit a little bit at a time.
+Sometimes you'll want to delete all the rat-lines (<EM>&#60;Key&#62;e</EM>) or
+selected rat-lines (<EM>Shift&#60;Key&#62;e</EM>) in order to reduce confusion.
+With a little practice you'll be able to achieve a near optimal component placement with
+the use of a rats nest.
+
+
+<P>
+Rat-lines are not only used for assisting your element placement, they can also help
+you to route traces on the board.
+Use the <EM>&#60;Key&#62;m</EM> to convert a rat-line under the cursor into
+a normal line on the active layer.
+Inserting a point into a rat-line will also cause the two new lines to be normal lines
+on the board.
+Another way that you can use rat-lines is to
+use the <EM>&#60;Key&#62;f</EM> with the cursor over a pad or pin. All of the pins and
+pads and rat-lines belonging to that net will be highlighted. This is a helpful way to
+distinguish one net from the rest of the rats nest. You can then route those tracks,
+turn off the highlighting (<EM>Shift&#60;Key&#62;f</EM>) and repeat the process. This will work even
+if the layer that the rat-lines reside on is made invisible - so only the pins and pads
+are highlighted.
+Be sure to erase the rat-lines (<EM>&#60;Key&#62;e</EM> erases them all) once you've
+duplicated their connectivity by adding your own lines.
+When in doubt, the <EM>&#60;Key&#62;o</EM> will delete only those
+rat-lines that are no longer needed.
+
+
+<P>
+If connections exist on the board that are not listed in the netlist when
+<EM>&#60;Key&#62;w</EM> is pressed, warning messages are issued and the affected pins and
+pads are drawn in a special <EM>warnColor</EM> until the next <EM>Notify()</EM> event.
+If the entire layout agrees completely with the netlist, a message informs you that
+the layout is complete and no rat-lines will be added (since none are needed).
+If the layout is complete, but still has rat-lines then you will be warned
+that rat-lines remain. If you get no message at all it's probably because some
+elements listed in the net list can't be found and where reported in an earlier
+message.
+There shouldn't be any rat-lines left in a completed layout, only normal lines.
+
+
+<P>
+The <EM>Shift&#60;Key&#62;w</EM> is used to add rat-lines to only those missing connections among
+the selected pins and pads. This can be used to add rat-lines in an incremental
+manner, or to force a rat-line to route between two points that are not the
+closest points within the net. Often it is best to add the rats nest in an incremental fashion, laying
+out a sub-section of the board before going further. This is easy to accomplish since
+new rat-lines are never added where routed connectivity already makes the necessary
+connections.
+
+
+<P>
+<A NAME="IDX125"></A>
+<A NAME="IDX126"></A>
+<A NAME="IDX127"></A>
+<A NAME="IDX128"></A>
+
+
+<H2><A NAME="SEC35" HREF="pcb_toc.html#TOC35">Design Rule Checking</A></H2>
+<P>
+After you've finished laying out a board, you may want to check
+to be certain that none of your interconnections are too closely
+spaced or too tenuously touching to be reliably fabricated. The design
+rule checking (DRC) function does this for you. Use the command ":DRC()" (without
+the quotes of course) to invoke the checker. If there are no problem areas,
+you'll get a message to that effect. If any problem is encountered, you will get
+a message about it and the affected traces will be highlighted. One part of the
+tracks of concern will be selected, while the other parts of concern will have the
+"FindConnection" highlighting. The screen will automatically be centered in the
+middle of the object having the "FindConnection" (Green) highlighting. The middle of
+the object is also the coordinates reported to be "near" the problem. The actual trouble
+region will be somewhere on the boundary of this object. If the two parts are
+from different nets then there is some place where they approach each
+other closer than the minimum rule. If the parts are from the same net, then
+there is place where they are only barely connected. Find that place and connect
+them better.
+
+
+<P>
+After a DRC error is found and corrected you must run the DRC again because
+the search for errors is halted as soon as the first problem is found. Unless you've
+been extremely careless there should be no more than a few design rule errors
+in your layout. The DRC checker does not check for minimum spacing rules to
+copper text, so always be very careful when adding copper text to a layout.
+The rules for the DRC are specified in the application resource file. The minimum
+spacing value (in mils) is given by the <EM>Settings.Bloat</EM> value. The default
+is 7 mils. The minimum touching overlap (in mils) is given by the
+<EM>Settings.Shrink</EM> value. This value defaults to 5 mils. Check with your
+fabrication process people to determine the values that are right for you.
+
+
+<P>
+If you want to turn off the highlighting produced by the DRC, perform an
+undo (assuming no other changes have been made). To restore the highlighting,
+use redo. The redo will restore the highlighting quickly without re-running
+the DRC checker.
+
+
+<P>
+<A NAME="IDX129"></A>
+<A NAME="IDX130"></A>
+
+
+<H1><A NAME="SEC36" HREF="pcb_toc.html#TOC36">User Commands</A></H1>
+<P>
+The entering of user-commands is initiated by the action routine
+<EM>Command()</EM> (the <CODE>(":")</CODE> character) and finished by either
+<EM>&#60;Key&#62;Return</EM>
+or <EM>&#60;Key&#62;Escape</EM> to confirm or to abort. These two keybindings
+cannot be changed from the resource file.
+The triggering event, normally a key press, is ignored.
+The input area will replace the bottom statusline. It pops
+up when <EM>Command()</EM> is called. The arguments of the user-commands
+are passed to the external commands without modification.
+See also, the resource <EM>saveInTMP</EM>.
+
+
+<P>
+There are simple <EM>usage</EM> dialogs for each command and one for the
+complete set of commands.
+
+
+<DL COMPACT>
+
+<DT><SAMP>`l [filename]'</SAMP>
+<DD>
+<A NAME="IDX131"></A>
+ <A NAME="IDX132"></A>
+ <A NAME="IDX133"></A>
+
+Loads a new datafile (layout) and, if confirmed, overwrites any existing unsaved data.
+The filename and the searchpath (<EM>filePath</EM>) are passed to the
+command defined by <EM>fileCommand</EM>.
+If no filename is specified a file select box will popup.
+
+<A NAME="IDX134"></A>
+<A NAME="IDX135"></A>
+<A NAME="IDX136"></A>
+<DT><SAMP>`le [filename]'</SAMP>
+<DD>
+Loads an element description into the paste buffer.
+The filename and the searchpath (<EM>elementPath</EM>) are passed to the
+command defined by <EM>elementCommand</EM>.
+If no filename is specified a file select box will popup.
+
+<A NAME="IDX137"></A>
+<A NAME="IDX138"></A>
+<A NAME="IDX139"></A>
+<A NAME="IDX140"></A>
+<A NAME="IDX141"></A>
+<DT><SAMP>`m [filename]'</SAMP>
+<DD>
+Loads an layout file into the paste buffer.
+The filename and the searchpath (<EM>filePath</EM>) are passed to the
+command defined by <EM>fileCommand</EM>.
+If no filename is specified a file select box will popup.
+
+<A NAME="IDX142"></A>
+<A NAME="IDX143"></A>
+<A NAME="IDX144"></A>
+<DT><SAMP>`q[!]'</SAMP>
+<DD>
+Quits the program without saving any data (after confirmation).
+q! doesn't ask for confirmation, it just quits.
+
+<A NAME="IDX145"></A>
+<A NAME="IDX146"></A>
+<A NAME="IDX147"></A>
+<DT><SAMP>`s [filename]'</SAMP>
+<DD>
+Data and the filename are passed to the command defined by the resource
+<EM>saveCommand</EM>. It must read the layout data from <EM>stdin</EM>.
+If no filename is entered, either the last one is used
+again or, if it is not available, a file select box will pop up.
+
+<A NAME="IDX148"></A>
+<A NAME="IDX149"></A>
+<A NAME="IDX150"></A>
+<A NAME="IDX151"></A>
+<DT><SAMP>`rn [filename]'</SAMP>
+<DD>
+Reads in a netlist file. If no filename is given
+a file select box will pop up.
+The file is read via the command defined by the
+<EM>RatCommand</EM> resource. The command must send its output to <EM>stdout</EM>.
+The netlist received by pcb must have this simple text form:
+
+netname NAME-PINNUM NAME2-PINNUM2 NAME3-PINNUM3 ... [\]
+
+where "netname" is the name of the net (currently its value is ignored but
+it must be present nonetheless),
+NAME is the layout-name given to an element, and PINNUM is the (usually numeric)
+pin number of the element that is part of the net (see section <A HREF="pcb.html#SEC6">Elements</A>
+for details on pin numbering).
+Spaces or tabs separate the fields.
+If the line ends with a "\" the
+net continues on the next line and the "\" is treated exactly as if it
+were a space. If the NAME ends with a lower-case letter,
+all lower-case letters are stripped from end of the NAME to determine the
+matching name-on-board name. For example:
+
+Data U1-3 U2abc-4 FLOP1a-7 Uabc3-A9
+
+would specifiy that pin 3 of U1 be connected to pin 4 of U2, to pin 7 of
+FLOP1 and to pin A9 of Uabc3. Note that if pin numbers contain alphabetic
+characters, they must match the case contained in the "number" string defining the
+pin number on the cooresponding element.
+It is up to you to name the elements so that their layout-names agrees with the netlist.
+Netlists are used for generating rats nest (see section <A HREF="pcb.html#SEC34">Rats Nest</A>) and for
+verifying the board layout (which is also accomplished by the <EM>Ratsnest</EM>
+command.
+
+<A NAME="IDX152"></A>
+<A NAME="IDX153"></A>
+<A NAME="IDX154"></A>
+<DT><SAMP>`w[q] [filename]'</SAMP>
+<DD>
+These commands have been added for the convenience of <CODE>vi</CODE> users and
+have the same functionality as <EM>s</EM> combined with <EM>q</EM>.
+
+<A NAME="IDX155"></A>
+<A NAME="IDX156"></A>
+<A NAME="IDX157"></A>
+<DT><SAMP>`actionCommand'</SAMP>
+<DD>
+Causes the actionCommand to be executed. This allows you to initiate actions
+for which no bindings exist in the resource file. It can be used to initiate any
+action with whatever arguments you enter. This makes it possible to do things
+that otherwise would be extremely tedious. For example, to change the drilling
+hole diameter of all vias in the layout to 32 mils, you could select everything using the
+selection menu, then type "<EM>:ChangeDrillSize(SelectedVias, 32)</EM>". (This will
+only work provided the via's diameter is sufficiently large to accomodate a 32 mil hole).
+Another example might be to set the grid to 1 mil by typing "<EM>:SetValue(Grid, 1)</EM>".
+Note that some actions use the current cursor location, so be sure to place the cursor
+where you want before entering the command. This is one of my favorite new
+features in 1.5 and can be a powerful tool. Study the section <A HREF="pcb.html#SEC42">Actions</A> section to
+see what actions are available.
+
+</DL>
+
+<P>
+<A NAME="IDX158"></A>
+<A NAME="IDX159"></A>
+
+
+<H1><A NAME="SEC37" HREF="pcb_toc.html#TOC37">Command-Line Options</A></H1>
+<P>
+There are several resources which may be set or reset in addition to the
+standard toolkit command-line options. For a complete list refer to
+section <A HREF="pcb.html#SEC41">Non-Standard X11 Application Resources</A>.
+
+
+<P>
+The synopsis is:
+
+
+<P>
+<CODE>pcb [-option ...] [-toolkit_option ...] [layout-file]</CODE>
+
+
+<P>
+or
+
+
+<P>
+<CODE>pcb -specialoption</CODE>
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC38">Options</A>: <CODE>Pcb</CODE> command-line options.
+<LI><A HREF="pcb.html#SEC39">Special Options</A>: Version and copyright information.
+</UL>
+
+
+
+<H2><A NAME="SEC38" HREF="pcb_toc.html#TOC38">Options</A></H2>
+<DL COMPACT>
+
+<DT><SAMP>`-alldirections/+alldirections'</SAMP>
+<DD>
+<A NAME="IDX160"></A>
+ <A NAME="IDX161"></A>
+ <A NAME="IDX162"></A>
+ <A NAME="IDX163"></A>
+ <A NAME="IDX164"></A>
+
+Disables or enables line clipping to 45 degree angles. Overwrites the
+resource <EM>allDirectionLines</EM>.
+
+<A NAME="IDX165"></A>
+<A NAME="IDX166"></A>
+<A NAME="IDX167"></A>
+<DT><SAMP>`-backup value'</SAMP>
+<DD>
+Time between two backups in seconds. Passing zero disables the backup feature.
+Overwrites the resource <EM>backupInterval</EM>.
+
+<A NAME="IDX168"></A>
+<A NAME="IDX169"></A>
+<A NAME="IDX170"></A>
+<A NAME="IDX171"></A>
+<A NAME="IDX172"></A>
+<DT><SAMP>`-c value'</SAMP>
+<DD>
+Number of characters per output line. The resource <EM>charactersPerLine</EM> is
+overwritten.
+
+<A NAME="IDX173"></A>
+<A NAME="IDX174"></A>
+<A NAME="IDX175"></A>
+<A NAME="IDX176"></A>
+<A NAME="IDX177"></A>
+<DT><SAMP>`-fontfile filename'</SAMP>
+<DD>
+The default set of symbols (font) for a new layout is read from this file.
+All directories as defined by the resource <EM>fontPath</EM> are scanned
+for the file. The scan is only performed if the filename doesn't contain
+a directory component. The <EM>fontFile</EM> resource is changed.
+
+<A NAME="IDX178"></A>
+<A NAME="IDX179"></A>
+<A NAME="IDX180"></A>
+<A NAME="IDX181"></A>
+<A NAME="IDX182"></A>
+<A NAME="IDX183"></A>
+<A NAME="IDX184"></A>
+<DT><SAMP>`-lelement command-line'</SAMP>
+<DD>
+Sets the command to be executed when an element is loaded from a file to the
+paste buffer. The command may contain %f and %p to pass the requested filename
+and the searchpath to the command. It must write the data to its
+standard output. The related resource is <EM>elementCommand</EM>.
+
+<A NAME="IDX185"></A>
+<A NAME="IDX186"></A>
+<A NAME="IDX187"></A>
+<A NAME="IDX188"></A>
+<A NAME="IDX189"></A>
+<A NAME="IDX190"></A>
+<A NAME="IDX191"></A>
+<DT><SAMP>`-lfile command-line'</SAMP>
+<DD>
+Sets the command to be executed when a new layout is loaded from a file.
+The command may contain %f and %p to pass the requested filename
+and the searchpath to the command. It must write the data to its
+standard output. The related resource is <EM>fileCommand</EM>.
+
+<A NAME="IDX192"></A>
+<A NAME="IDX193"></A>
+<A NAME="IDX194"></A>
+<A NAME="IDX195"></A>
+<A NAME="IDX196"></A>
+<A NAME="IDX197"></A>
+<A NAME="IDX198"></A>
+<A NAME="IDX199"></A>
+<DT><SAMP>`-lfont command-line'</SAMP>
+<DD>
+Sets the command to be executed when a font is loaded from a file.
+The command may contain %f and %p to pass the requested filename
+and the searchpath to the command. It must write the data to its
+standard output. The related resource is <EM>fontCommand</EM>.
+
+<A NAME="IDX200"></A>
+<A NAME="IDX201"></A>
+<A NAME="IDX202"></A>
+<A NAME="IDX203"></A>
+<DT><SAMP>`-lg layergroups'</SAMP>
+<DD>
+This option overwrites the resource <EM>layerGroups</EM>. See its description
+for more information. The value is used for new layouts only.
+
+<A NAME="IDX204"></A>
+<A NAME="IDX205"></A>
+<A NAME="IDX206"></A>
+<DT><SAMP>`-libname filename'</SAMP>
+<DD>
+The default filename for the library. Overwrites the resource
+<EM>libraryFilename</EM>.
+
+<A NAME="IDX207"></A>
+<A NAME="IDX208"></A>
+<A NAME="IDX209"></A>
+<DT><SAMP>`-libpath path'</SAMP>
+<DD>
+The default search path for the the library. Overwrites the resource
+<EM>libraryPath</EM>.
+
+<A NAME="IDX210"></A>
+<A NAME="IDX211"></A>
+<A NAME="IDX212"></A>
+<A NAME="IDX213"></A>
+<A NAME="IDX214"></A>
+<A NAME="IDX215"></A>
+<DT><SAMP>`-llib command-line'</SAMP>
+<DD>
+Sets the command to be executed when an element is loaded from the library.
+The command may contain %f and %p to pass the requested filename
+and the searchpath to the command. %a is replaces by the three arguments
+<EM>template</EM>, <EM>value</EM> and <EM>package</EM>. The command must write
+the data to its standard output. The related resource is <EM>libraryCommand</EM>.
+
+<A NAME="IDX216"></A>
+<A NAME="IDX217"></A>
+<A NAME="IDX218"></A>
+<A NAME="IDX219"></A>
+<A NAME="IDX220"></A>
+<DT><SAMP>`-llibcont command-line'</SAMP>
+<DD>
+The command lists the contents of the library.
+The command may contain %f and %p to pass the library filename
+and the searchpath to the command. Also refer to section <A HREF="pcb.html#SEC50">Library File Format</A>
+and section <A HREF="pcb.html#SEC49">Library Contents File Format</A>.
+The related resource is <EM>libraryContentsCommand</EM>.
+
+<A NAME="IDX221"></A>
+<A NAME="IDX222"></A>
+<A NAME="IDX223"></A>
+<DT><SAMP>`-loggeometry geometry'</SAMP>
+<DD>
+Determines the geometry of the log window.
+
+<A NAME="IDX224"></A>
+<A NAME="IDX225"></A>
+<A NAME="IDX226"></A>
+<A NAME="IDX227"></A>
+<A NAME="IDX228"></A>
+<DT><SAMP>`-pnl value'</SAMP>
+<DD>
+Restricts the displayed length of the name of a pin in the pinout window to
+the passed value. See also, the resource <EM>pinoutNameLength</EM>.
+
+<A NAME="IDX229"></A>
+<A NAME="IDX230"></A>
+<A NAME="IDX231"></A>
+<A NAME="IDX232"></A>
+<DT><SAMP>`-pz value'</SAMP>
+<DD>
+Sets the zoom factor for the pinout window according to the formula:
+scale = 1:(2 power value). The related resource is <EM>pinoutZoom</EM>.
+
+<A NAME="IDX233"></A>
+<A NAME="IDX234"></A>
+<A NAME="IDX235"></A>
+<A NAME="IDX236"></A>
+<A NAME="IDX237"></A>
+<DT><SAMP>`-reset/+reset'</SAMP>
+<DD>
+If enabled, all connections are reset after each element is scanned.
+This feature is only used while scanning connections to all elements.
+See also, <EM>resetAfterElement</EM>.
+
+<A NAME="IDX238"></A>
+<A NAME="IDX239"></A>
+<A NAME="IDX240"></A>
+<A NAME="IDX241"></A>
+<DT><SAMP>`-ring/+ring'</SAMP>
+<DD>
+Overrides the resource <EM>ringBellWhenFinished</EM>. If enabled, the bell
+sounds when connection searching has finished.
+
+<A NAME="IDX242"></A>
+<A NAME="IDX243"></A>
+<A NAME="IDX244"></A>
+<DT><SAMP>`-rs string'</SAMP>
+<DD>
+Overrides the resource <EM>routeStyle</EM>. The string defines a colon
+separated list of route styles. The route styles consist of a
+comma separated list of name, line thickness, via diameter, and via drill size.
+e.g. "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20"
+
+<A NAME="IDX245"></A>
+<A NAME="IDX246"></A>
+<A NAME="IDX247"></A>
+<A NAME="IDX248"></A>
+<A NAME="IDX249"></A>
+<DT><SAMP>`-s/+s'</SAMP>
+<DD>
+Enables/Disables the saving of the previous commandline. Overrides the
+<EM>saveLastCommand</EM> resource.
+
+<A NAME="IDX250"></A>
+<A NAME="IDX251"></A>
+<A NAME="IDX252"></A>
+<A NAME="IDX253"></A>
+<A NAME="IDX254"></A>
+<A NAME="IDX255"></A>
+<A NAME="IDX256"></A>
+<A NAME="IDX257"></A>
+<A NAME="IDX258"></A>
+<DT><SAMP>`-save/+save'</SAMP>
+<DD>
+See the resource description of <EM>saveInTMP</EM> for details.
+
+<A NAME="IDX259"></A>
+<A NAME="IDX260"></A>
+<A NAME="IDX261"></A>
+<A NAME="IDX262"></A>
+<A NAME="IDX263"></A>
+<A NAME="IDX264"></A>
+<A NAME="IDX265"></A>
+<DT><SAMP>`-sfile command-line'</SAMP>
+<DD>
+Sets the command to be executed when an layout file is saved.
+The command may contain %f which is replaced by the filename. The command
+must read its data from the standard input.
+The resource <EM>saveCommand</EM> is overwritten.
+
+<A NAME="IDX266"></A>
+<A NAME="IDX267"></A>
+<A NAME="IDX268"></A>
+<A NAME="IDX269"></A>
+<DT><SAMP>`-size &#60;width&#62;x&#60;height&#62;'</SAMP>
+<DD>
+Overrides the resource <EM>size</EM> which determines the maximum size
+of a layout.
+
+<A NAME="IDX270"></A>
+<A NAME="IDX271"></A>
+<A NAME="IDX272"></A>
+<A NAME="IDX273"></A>
+<DT><SAMP>`-v value'</SAMP>
+<DD>
+Sets the volume of the X speaker. The value is passed to <CODE>XBell()</CODE> and
+must be in the range -100..100.
+
+</DL>
+
+
+
+<H2><A NAME="SEC39" HREF="pcb_toc.html#TOC39">Special Options</A></H2>
+<P>
+There are some special options available in addition to normal command line
+options. Each of these must be the only option specified on a command line.
+The available special options are:
+
+
+<DL COMPACT>
+
+<DT><SAMP>`-copyright'</SAMP>
+<DD>
+<A NAME="IDX274"></A>
+ <A NAME="IDX275"></A>
+
+Prints out the copyright notice and terminates.
+
+<A NAME="IDX276"></A>
+<A NAME="IDX277"></A>
+<A NAME="IDX278"></A>
+<DT><SAMP>`-version'</SAMP>
+<DD>
+Prints out the version ID and terminates.
+
+<A NAME="IDX279"></A>
+<DT><SAMP>`-help'</SAMP>
+<DD>
+Prints out the usage message and terminates.
+
+</DL>
+
+<P>
+<A NAME="IDX280"></A>
+
+
+<H1><A NAME="SEC40" HREF="pcb_toc.html#TOC40">X11 Interface</A></H1>
+<P>
+This chapter gives an overview about the additional <CODE>X11</CODE> resources which
+are defined by <CODE>Pcb</CODE> as well as the defined action routines.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC41">Resources</A>: Non-standard <CODE>X11</CODE> application resources.
+<LI><A HREF="pcb.html#SEC42">Actions</A>: A list of available action routines.
+<LI><A HREF="pcb.html#SEC43">Translations</A>: A list of the default key translations (as shipped).
+</UL>
+
+<P>
+<A NAME="IDX281"></A>
+<A NAME="IDX282"></A>
+
+
+<H2><A NAME="SEC41" HREF="pcb_toc.html#TOC41">Non-Standard X11 Application Resources</A></H2>
+<P>
+In addition to the toolkit resources, <CODE>Pcb</CODE> defines the
+following resources:
+
+
+<DL COMPACT>
+
+<DT><SAMP>`absoluteGrid (boolean)'</SAMP>
+<DD>
+<A NAME="IDX283"></A>
+ <A NAME="IDX284"></A>
+
+Selects if either the grid is relative to the position where it has changed
+last or absolute, the default, to the origin (0,0).
+
+<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
+<DT><SAMP>`alignmentDistance (dimension)'</SAMP>
+<DD>
+Specifies the distance between the boards outline to the alignment targets.
+
+<A NAME="IDX287"></A>
+<A NAME="IDX288"></A>
+<A NAME="IDX289"></A>
+<DT><SAMP>`allDirectionLines (boolean)'</SAMP>
+<DD>
+Enables (default) or disables clipping of new lines to 45 degree angles.
+
+<A NAME="IDX290"></A>
+<A NAME="IDX291"></A>
+<DT><SAMP>`backupInterval (int)'</SAMP>
+<DD>
+<CODE>Pcb</CODE> has an automatic backup feature which saves the current data
+every n seconds. The default is <EM>300</EM> seconds. A value of zero disables
+the feature. The backup file is named <TT>`/tmp/PCB.%i.backup'</TT>.
+<EM>%i</EM> is replaced by the process ID.
+See also, the command-line option <EM>-backup</EM>.
+
+<A NAME="IDX292"></A>
+<A NAME="IDX293"></A>
+<A NAME="IDX294"></A>
+<DT><SAMP>`Bloat (dimension)'</SAMP>
+<DD>
+Specifies the minimum spacing design rule in mils.
+
+<A NAME="IDX295"></A>
+<A NAME="IDX296"></A>
+<A NAME="IDX297"></A>
+<A NAME="IDX298"></A>
+<DT><SAMP>`charactersPerLine (int)'</SAMP>
+<DD>
+<CODE>Pcb</CODE> uses this value to determine the page width when creating lists.
+N, the number of characters per line, defaults to <EM>80</EM>.
+See also, the command-line option <EM>-c</EM>.
+
+<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
+<A NAME="IDX301"></A>
+<DT><SAMP>`connectedColor (color)'</SAMP>
+<DD>
+All pins, vias, lines and rectangles which are selected during a connection
+search are drawn with this color. The default value is determined by
+<EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX302"></A>
+<A NAME="IDX303"></A>
+<A NAME="IDX304"></A>
+<DT><SAMP>`crosshairColor (color)'</SAMP>
+<DD>
+This color is used to draw the crosshair cursor. The color is a result of
+a <EM>XOR</EM> operation with the contents of the drawing area. The result
+also depends on the default colormap of the <CODE>X11</CODE> server because only
+the colormap index is used in the boolean operation and <CODE>Pcb</CODE> doesn't
+create its own colormap. The default setting is <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX305"></A>
+<A NAME="IDX306"></A>
+<A NAME="IDX307"></A>
+<A NAME="IDX308"></A>
+<DT><SAMP>`elementColor (color)'</SAMP>
+<DD>
+<DT><SAMP>`elementSelectedColor (color)'</SAMP>
+<DD>
+The elements package part is drawn in these colors, for normal and selected
+mode, respectively, which both default to <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX309"></A>
+<A NAME="IDX310"></A>
+<A NAME="IDX311"></A>
+<A NAME="IDX312"></A>
+<A NAME="IDX313"></A>
+<A NAME="IDX314"></A>
+<A NAME="IDX315"></A>
+<DT><SAMP>`elementCommand (string)'</SAMP>
+<DD>
+<CODE>Pcb</CODE> uses a user defined command to read element files. This resources
+is used to set the command which is executed by the users default shell.
+Two escape sequences are defined to pass the selected filename (%f) and the
+current search path (%p). The command must write the element data
+to its standard output. The default value is
+
+<PRE>
+ M4PATH="%p";export M4PATH;echo 'include(%f)' | m4
+</PRE>
+
+Using the GNU version of <CODE>m4</CODE> is highly recommended.
+See also, the command-line option <EM>-lelement</EM>.
+
+<A NAME="IDX316"></A>
+<A NAME="IDX317"></A>
+<A NAME="IDX318"></A>
+<A NAME="IDX319"></A>
+<A NAME="IDX320"></A>
+<DT><SAMP>`elementPath (string)'</SAMP>
+<DD>
+A colon separated list of directories or commands (starts with '|').
+The path is passed to the program specified in <EM>elementCommand</EM> together
+with the selected elementname. A specified command will be executed in order
+to create entries for the fileselect box. It must write its results to
+<EM>stdout</EM> one entry per line.
+See also, the user-command <EM>le[!]</EM>.
+
+<A NAME="IDX321"></A>
+<A NAME="IDX322"></A>
+<A NAME="IDX323"></A>
+<A NAME="IDX324"></A>
+<A NAME="IDX325"></A>
+<A NAME="IDX326"></A>
+<A NAME="IDX327"></A>
+<DT><SAMP>`fileCommand (string)'</SAMP>
+<DD>
+The command is executed by the user's default shell whenever existing layout
+files are loaded. Data is read from the command's standard output.
+Two escape sequences may be specified to pass the selected filename (%f)
+and the current search path (%p). The default value is:
+
+<PRE>
+ cat %f
+</PRE>
+
+See also, the command-line option <EM>-lfile</EM>.
+
+<A NAME="IDX328"></A>
+<A NAME="IDX329"></A>
+<A NAME="IDX330"></A>
+<A NAME="IDX331"></A>
+<A NAME="IDX332"></A>
+<DT><SAMP>`filePath (string)'</SAMP>
+<DD>
+A colon separated list of directories or commands (starts with '|').
+The path is passed to the program specified in <EM>fileCommand</EM> together
+with the selected filename. A specified command will be executed in order
+to create entries for the fileselect box. It must write its results to
+<EM>stdout</EM> one entry per line.
+See also, the user-command <EM>l[!]</EM>.
+
+<A NAME="IDX333"></A>
+<A NAME="IDX334"></A>
+<A NAME="IDX335"></A>
+<A NAME="IDX336"></A>
+<A NAME="IDX337"></A>
+<A NAME="IDX338"></A>
+<A NAME="IDX339"></A>
+<A NAME="IDX340"></A>
+<DT><SAMP>`fontCommand (string)'</SAMP>
+<DD>
+Loading new symbol sets also is handled by an external command. You again
+may pass the selected filename and the current search path by passing
+%f and %p in the command string. Data is read from the commands standard
+output. This command defaults to
+
+<PRE>
+ cat %f
+</PRE>
+
+See also, the command-line option <EM>-lfont</EM>.
+
+<A NAME="IDX341"></A>
+<A NAME="IDX342"></A>
+<A NAME="IDX343"></A>
+<DT><SAMP>`fontFile (string)'</SAMP>
+<DD>
+The default font for new layouts is read from this file which is searched
+in the directories as defined by the resource <EM>fontPath</EM>.
+Searching is only performed if the filename does not contain a directory
+component.
+The default filename is <TT>`default_font'</TT>.
+See also, the command-line option <EM>-fontfile</EM>.
+
+<A NAME="IDX344"></A>
+<A NAME="IDX345"></A>
+<A NAME="IDX346"></A>
+<A NAME="IDX347"></A>
+<A NAME="IDX348"></A>
+<A NAME="IDX349"></A>
+<DT><SAMP>`fontPath (string)'</SAMP>
+<DD>
+This resource, a colon separated list of directories, defines the searchpath
+for font files. See also, the resource <EM>fontFile</EM>.
+
+<A NAME="IDX350"></A>
+<A NAME="IDX351"></A>
+<A NAME="IDX352"></A>
+<DT><SAMP>`grid (int)'</SAMP>
+<DD>
+This resources defines the initial value of one cursor step. It defaults
+to <EM>100 mil</EM> and any changes are saved together with the layout data.
+
+<A NAME="IDX353"></A>
+<A NAME="IDX354"></A>
+<A NAME="IDX355"></A>
+<DT><SAMP>`gridColor (color)'</SAMP>
+<DD>
+This color is used to draw the grid. The color is a result of
+a <EM>INVERT</EM> operation with the contents of the drawing area. The result
+also depends on the default colormap of the <CODE>X11</CODE> server because only
+the colormap index is used in the boolean operation and <CODE>Pcb</CODE> doesn't
+create its own colormap. The default setting is <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX356"></A>
+<A NAME="IDX357"></A>
+<A NAME="IDX358"></A>
+<DT><SAMP>`elementColor (color)'</SAMP>
+<DD>
+Elements localted on the opposite side of the board are drawn in this color.
+The default is <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX359"></A>
+<A NAME="IDX360"></A>
+<A NAME="IDX361"></A>
+<A NAME="IDX362"></A>
+<DT><SAMP>`layerColor1..8 (color)'</SAMP>
+<DD>
+<DT><SAMP>`layerSelectedColor1..8 (color)'</SAMP>
+<DD>
+These resources define the drawing colors of the different layers in
+normal and selected state. All values are preset to <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX363"></A>
+<A NAME="IDX364"></A>
+<A NAME="IDX365"></A>
+<DT><SAMP>`layerGroups (string)'</SAMP>
+<DD>
+The argument to this resource is a colon separated list of comma separated
+layernumbers (1..8). All layers within one group are switched on/off
+together. The default setting is <EM>1:2:3:...:8</EM> which means
+all layers are handled separatly. Grouping layers one to three looks like
+<EM>1,2,3:4:...:8</EM>
+See also, the command-line option <EM>-lg</EM>.
+
+<A NAME="IDX366"></A>
+<A NAME="IDX367"></A>
+<DT><SAMP>`layerName1..8 (string)'</SAMP>
+<DD>
+The default name of the layers in a new layout are determined by these
+resources. The defaults are empty strings.
+
+<A NAME="IDX368"></A>
+<A NAME="IDX369"></A>
+<A NAME="IDX370"></A>
+<A NAME="IDX371"></A>
+<DT><SAMP>`libraryCommand (string)'</SAMP>
+<DD>
+<CODE>Pcb</CODE> uses a command to read element data from libraries.
+The resources is used to set the command which is executed by the users
+default shell. Three escape sequences are defined to pass the selected
+filename (%f), the current search path (%p) as well (%a) as the three
+parameters <EM>template</EM>, <EM>value</EM> and <EM>package</EM> to the command.
+It must write the element data to its standard output. The default value is
+
+<PRE>
+ /usr/X11R6/lib/X11/pcb/QueryLibrary.sh %p %f %a
+</PRE>
+
+<A NAME="IDX372"></A>
+<A NAME="IDX373"></A>
+<A NAME="IDX374"></A>
+<A NAME="IDX375"></A>
+<DT><SAMP>`libraryContentsCommand (string)'</SAMP>
+<DD>
+Similar to <EM>libraryCommand</EM>, <CODE>Pcb</CODE> uses the command specified
+by this resource to list the contents of a library.
+
+<PRE>
+ /usr/X11R6/lib/X11/pcb/ListLibraryContents.sh %p %f
+</PRE>
+
+is the default.
+
+<A NAME="IDX376"></A>
+<A NAME="IDX377"></A>
+<A NAME="IDX378"></A>
+<DT><SAMP>`libraryFilename (string)'</SAMP>
+<DD>
+The resource specifies the name of the library. The default value is
+<EM>pcblib</EM>.
+
+<A NAME="IDX379"></A>
+<A NAME="IDX380"></A>
+<A NAME="IDX381"></A>
+<A NAME="IDX382"></A>
+<DT><SAMP>`libraryPath (string)'</SAMP>
+<DD>
+A colon separated list of directories that will be passed to the commands
+specified by <EM>elementCommand</EM> and <EM>elementContentsCommand</EM>.
+
+<A NAME="IDX383"></A>
+<A NAME="IDX384"></A>
+<A NAME="IDX385"></A>
+<A NAME="IDX386"></A>
+<DT><SAMP>`lineThickness (dimension)'</SAMP>
+<DD>
+The value, int the range [1..250], defines the
+initial thickness of new lines. The value is preset to <EM>ten mil</EM>.
+
+<A NAME="IDX387"></A>
+<A NAME="IDX388"></A>
+<A NAME="IDX389"></A>
+<A NAME="IDX390"></A>
+<DT><SAMP>`media (&#60;predefined&#62; | &#60;width&#62;x&#60;height&#62;+-&#60;left_margin&#62;+-&#60;top_margin&#62;)'</SAMP>
+<DD>
+The default (user defined) media of the <CODE>PostScript</CODE> device. Predefined
+values are <EM>a3</EM>, <EM>a4</EM>, <EM>a5</EM>, <EM>letter</EM>, <EM>tabloit</EM>,
+<EM>ledger</EM>, <EM>legal</EM>, and <EM>executive</EM>.
+The second way is to specify the medias width, height and margins in mil.
+The resource defaults to <EM>a4</EM> size.
+
+<A NAME="IDX391"></A>
+<A NAME="IDX392"></A>
+<A NAME="IDX393"></A>
+<DT><SAMP>`offLimitColor (color)'</SAMP>
+<DD>
+The area outside the current maximum settings for width and height is drawn
+with this color. The default value is determined by <EM>XtDefaultBackground</EM>.
+
+<A NAME="IDX394"></A>
+<A NAME="IDX395"></A>
+<A NAME="IDX396"></A>
+<A NAME="IDX397"></A>
+<DT><SAMP>`pinColor (color)'</SAMP>
+<DD>
+<DT><SAMP>`pinSelectedColor(color)'</SAMP>
+<DD>
+This resource defines the drawing color of pins and pads in both states.
+The values are preset to <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX398"></A>
+<A NAME="IDX399"></A>
+<A NAME="IDX400"></A>
+<DT><SAMP>`pinoutFont (string)'</SAMP>
+<DD>
+This fonts are used to display pin names. There is one font for each zoom
+value. The values are preset to <EM>XtdefaultFont</EM>.
+
+<A NAME="IDX401"></A>
+<A NAME="IDX402"></A>
+<A NAME="IDX403"></A>
+<A NAME="IDX404"></A>
+<DT><SAMP>`pinoutNameLength (int)'</SAMP>
+<DD>
+This resource limits the number of characters which are displayed for
+pin names in the pinout window. By default the string length is limited
+to <EM>eight</EM> characters per name.
+See also, the command-line option <EM>-pnl</EM>.
+
+<A NAME="IDX405"></A>
+<A NAME="IDX406"></A>
+<A NAME="IDX407"></A>
+<DT><SAMP>`pinoutOffsetX (int)'</SAMP>
+<DD>
+<DT><SAMP>`pinoutOffsetY (int)'</SAMP>
+<DD>
+These resources determine the offset in <EM>mil</EM> of the circuit from the
+upper left corner of the window when displaying pinout information.
+Both default to <EM>100 mil</EM>.
+
+<A NAME="IDX408"></A>
+<A NAME="IDX409"></A>
+<A NAME="IDX410"></A>
+<DT><SAMP>`pinoutTextOffsetX (int)'</SAMP>
+<DD>
+<DT><SAMP>`pinoutTextOffsetY (int)'</SAMP>
+<DD>
+The resources determine the distance in mil between the drilling hole of a pin
+to the location where its name is displayed in the pinout window.
+They default to <EM>X:50</EM> and <EM>Y:0</EM>.
+
+<A NAME="IDX411"></A>
+<A NAME="IDX412"></A>
+<A NAME="IDX413"></A>
+<DT><SAMP>`pinoutZoom (int)'</SAMP>
+<DD>
+Sets the zoom factor for the pinout window according to the formula:
+scale = 1:(2 power value). Its default value is <EM>two</EM> which results in
+a <EM>1:4</EM> scale.
+See also, the command-line option <EM>-pz</EM>.
+
+<A NAME="IDX414"></A>
+<A NAME="IDX415"></A>
+<DT><SAMP>`printCommand (string)'</SAMP>
+<DD>
+Default file for printouts. If the name starts with a '|' the output
+is piped through the command. A %f is replaced by the current filename.
+There is no default file or command.
+
+<A NAME="IDX416"></A>
+<A NAME="IDX417"></A>
+<A NAME="IDX418"></A>
+<DT><SAMP>`raiseLogWindow (boolean)'</SAMP>
+<DD>
+The log window will be raised when new messages arrive if this resource
+is set <EM>true</EM>, the default.
+
+<A NAME="IDX419"></A>
+<A NAME="IDX420"></A>
+<A NAME="IDX421"></A>
+<DT><SAMP>`ratCommand (string)'</SAMP>
+<DD>
+Default command for reading a netlist. A %f is replaced by the netlist
+filename. Its default value is "<EM>cat %f</EM>".
+
+<A NAME="IDX422"></A>
+<A NAME="IDX423"></A>
+<A NAME="IDX424"></A>
+<DT><SAMP>`ratPath (string)'</SAMP>
+<DD>
+Default path to look for netlist files. It's default value is "."
+
+<A NAME="IDX425"></A>
+<A NAME="IDX426"></A>
+<A NAME="IDX427"></A>
+<DT><SAMP>`resetAfterElement (boolean)'</SAMP>
+<DD>
+If set to <EM>true</EM>, all found connections will be reset before a new
+element is scanned. This will produce long lists when scanning the whole
+layout for connections. The resource is set to <EM>false</EM> by default.
+The feature is only used while looking up connections of all elements.
+See also, the command-line option <EM>-reset, +reset</EM>.
+
+<A NAME="IDX428"></A>
+<A NAME="IDX429"></A>
+<DT><SAMP>`ringBellWhenFinished (boolean)'</SAMP>
+<DD>
+Whether to ring the bell (the default) when a possibly lengthy operation
+has finished or not.
+See also, the command-line option <EM>-ring, +ring</EM>.
+
+<A NAME="IDX430"></A>
+<A NAME="IDX431"></A>
+<DT><SAMP>`routeStyle (string)'</SAMP>
+<DD>
+Default values for the menu of routing styles (seen in the sizes menu).
+The string is a comma separated list of name, line thickness,
+via diameter, and via drill size.
+e.g. "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20"
+See also, the command-line option <EM>-rs</EM> and <EM>Sizes Menu</EM>
+
+<A NAME="IDX432"></A>
+<A NAME="IDX433"></A>
+<A NAME="IDX434"></A>
+<A NAME="IDX435"></A>
+<DT><SAMP>`rubberBandMode (boolean)'</SAMP>
+<DD>
+Whether rubberband move and rotate (attached lines stretch like
+rubberbands) is enabled (the default).
+
+<A NAME="IDX436"></A>
+<A NAME="IDX437"></A>
+<A NAME="IDX438"></A>
+<A NAME="IDX439"></A>
+<A NAME="IDX440"></A>
+<A NAME="IDX441"></A>
+<A NAME="IDX442"></A>
+<DT><SAMP>`saveCommand (string)'</SAMP>
+<DD>
+This command is used to save data to a layout file. The filename may be
+indicated by placing <CODE>%f</CODE> in the string. It must read the data from
+its standard input. The default command is:
+
+<PRE>
+ cat - &#62; %f
+</PRE>
+
+See also, the command-line option <EM>-sfile</EM>.
+
+<A NAME="IDX443"></A>
+<A NAME="IDX444"></A>
+<A NAME="IDX445"></A>
+<A NAME="IDX446"></A>
+<A NAME="IDX447"></A>
+<A NAME="IDX448"></A>
+<A NAME="IDX449"></A>
+<DT><SAMP>`saveInTMP (boolean)'</SAMP>
+<DD>
+Enabling this resource will save all data which would otherwise be lost
+in a temporary file <TT>`/tmp/PCB.%i.save'</TT>.
+<EM>%i</EM> is replaced by the process ID.
+As an example, loading a new layout when the old one hasn't been saved would
+use this resource.
+See also, the command-line option <EM>-save, +save</EM>.
+
+<A NAME="IDX450"></A>
+<A NAME="IDX451"></A>
+<A NAME="IDX452"></A>
+<DT><SAMP>`saveLastCommand (boolean)'</SAMP>
+<DD>
+Enables the saving of the last entered user command. The option is
+<EM>disabled</EM> by default.
+See also, the command-line option <EM>-s, +s</EM>.
+
+<A NAME="IDX453"></A>
+<A NAME="IDX454"></A>
+<A NAME="IDX455"></A>
+<DT><SAMP>`Shrink (dimension)'</SAMP>
+<DD>
+Specifies the minimum overlap (touching) design rule in mils.
+
+<A NAME="IDX456"></A>
+<A NAME="IDX457"></A>
+<A NAME="IDX458"></A>
+<DT><SAMP>`size (&#60;width&#62;x&#60;height&#62;)'</SAMP>
+<DD>
+Defines the width and height of a new layout. The default is
+<EM>7000x5000</EM>.
+
+<A NAME="IDX459"></A>
+<A NAME="IDX460"></A>
+<A NAME="IDX461"></A>
+<DT><SAMP>`stipllePolygons (boolean)'</SAMP>
+<DD>
+Determines whether to display polygons on the screen with a stippled
+pattern. Stippling can create some amount of transperency so that
+you can still (to some extent) see layers beneath polygons.
+It defaults to False.
+
+<A NAME="IDX462"></A>
+<A NAME="IDX463"></A>
+<A NAME="IDX464"></A>
+<DT><SAMP>`textScale (dimension)'</SAMP>
+<DD>
+The font scaling in percent is defined by this resource. The default is
+<EM>100</EM> percent.
+
+<A NAME="IDX465"></A>
+<A NAME="IDX466"></A>
+<A NAME="IDX467"></A>
+<DT><SAMP>`useLogWindow (boolean)'</SAMP>
+<DD>
+Several subroutines send messages to the user if an error occurs.
+This resource determines if they appear inside the log window or as a separate
+dialog box. See also, the resource <EM>raiseLogWindow</EM> and the command line
+option <EM>-loggeometry</EM>.
+The default value is <EM>true</EM>.
+
+<A NAME="IDX468"></A>
+<A NAME="IDX469"></A>
+<A NAME="IDX470"></A>
+<A NAME="IDX471"></A>
+<DT><SAMP>`viaColor (color)'</SAMP>
+<DD>
+<DT><SAMP>`viaSelectedColor (color)'</SAMP>
+<DD>
+This resource defines the drawing color of vias in both states.
+The values are preset to <EM>XtDefaultForeground</EM>.
+
+<A NAME="IDX472"></A>
+<A NAME="IDX473"></A>
+<A NAME="IDX474"></A>
+<A NAME="IDX475"></A>
+<A NAME="IDX476"></A>
+<DT><SAMP>`viaThickness (dimension)'</SAMP>
+<DD>
+<DT><SAMP>`viaDrillingHole (dimension)'</SAMP>
+<DD>
+The initial thickness and drilling hole of new vias. The values must be in the
+range [30..250] with at least 20
+mil of copper.
+The default thickness is <EM>40 mil</EM> and the default drilling hole is
+<EM>20 mil</EM>.
+
+<A NAME="IDX477"></A>
+<A NAME="IDX478"></A>
+<A NAME="IDX479"></A>
+<DT><SAMP>`volume (int)'</SAMP>
+<DD>
+The value is passed to <CODE>XBell()</CODE> which sets the volume of the <CODE>X</CODE>
+speaker.
+The value lies in the range -100..100 and it defaults to the maximum volume of
+<EM>100</EM>.
+
+<A NAME="IDX480"></A>
+<A NAME="IDX481"></A>
+<A NAME="IDX482"></A>
+<DT><SAMP>`warnColor (color)'</SAMP>
+<DD>
+This resources defines the color to be used for drawing pins and pads when
+a warning has been issued about them.
+
+<A NAME="IDX483"></A>
+<A NAME="IDX484"></A>
+<DT><SAMP>`zoom (int)'</SAMP>
+<DD>
+The initial value for output scaling is set according to the following
+formula: scale = 1:(2 power value). It defaults to <EM>three</EM> which results
+in an output scale of <EM>1:8</EM>.
+
+</DL>
+
+<P>
+Refer also to section <A HREF="pcb.html#SEC37">Command-Line Options</A>.
+
+
+<P>
+<A NAME="IDX485"></A>
+<A NAME="IDX486"></A>
+<A NAME="IDX487"></A>
+<A NAME="IDX488"></A>
+<A NAME="IDX489"></A>
+
+
+<H2><A NAME="SEC42" HREF="pcb_toc.html#TOC42">Actions</A></H2>
+<P>
+All user accessible commands may be bound to almost any <CODE>X</CODE> event. Almost
+no default binding for commands is done in the binaries, so it is vital for the
+application that at least a system-wide application resource file exists.
+This file normally resides in the <TT>`X11/lib/app-defaults'</TT> directory and
+is called <TT>`Pcb'</TT>. The bindings to which the manual refers to are the
+ones as defined by the shipped resource file. Besides binding an action to
+an X11 event, you can also execute any action command using a ":" command
+(see section <A HREF="pcb.html#SEC36">User Commands</A>).
+
+
+<P>
+Take special care about translations related to the functions keys and the
+pointer buttons because most of the window managers use them too.
+Change the file according to your hardware/software environment.
+You may have to replace all occurances of <EM>baseTranslations</EM> to
+<EM>translations</EM> if you use a <CODE>X11R4</CODE> server.
+
+
+<P>
+Passing <EM>Object</EM> as an argument to an action routine causes the object
+at the cursor location to be changed, removed or whatever. If more than
+one object is located at the crosshair position the smallest type is used.
+If there are two of the same type the newer one is taken.
+<EM>SelectedObjects</EM> will handle all selected and visible objects.
+
+
+<DL COMPACT>
+
+<DT><SAMP>`AddRats(AllRats|SelectedRats)'</SAMP>
+<DD>
+<A NAME="IDX490"></A>
+ <A NAME="IDX491"></A>
+ <A NAME="IDX492"></A>
+ <A NAME="IDX493"></A>
+
+Adds rat-lines to the layout using the loaded netlist file (see the <EM>:rn</EM>,
+section <A HREF="pcb.html#SEC36">User Commands</A>.). Rat lines are added on the active layer using the current
+line thickness shown in the status line.
+Only missing connectivity is added by the
+AddRats command so if, for example, the layout is complete nothing will be added.
+Rat lines are drawn on the screen with a stippled pattern
+to make them easier to identify since they cannot appear in a completed layout.
+The rat-lines are added in the minimum length straight-line tree pattern
+(always ending on pins or pads) that satisfies the missing connectivity in the circuit.
+If a SMD pad is unreachable on the active layer, a warning will be issued
+about it and the rat-line to that pad will not be generated.
+If connections exist on the board which are not listed in the netlist while
+AllRats are being added, warning messages will be issued and the affected pins and
+pads will be drawn in a special <EM>warnColor</EM> until the next <EM>Notify()</EM> event.
+If the entire layout agrees completely with the net-list a message informs you that
+the layout is complete and no rat-lines are added (since none are needed).
+If <EM>SelectedRats</EM>
+is passed as the argument, only those missing connections that might connect among
+the selected pins and pads are drawn.
+Default:
+
+<PRE>
+None&#60;Key&#62;w: AddRats(AllRats)
+!Shift&#60;Key&#62;w: AddRats(SelectedRats)
+None&#60;Key&#62;o: DeleteRats(AllRats) AddRats(AllRats)
+!Shift&#60;Key&#62;o: DeleteRats(SelectedRats) AddRats(SelectedRats)
+</PRE>
+
+<A NAME="IDX494"></A>
+<A NAME="IDX495"></A>
+<A NAME="IDX496"></A>
+<DT><SAMP>`Atomic(Save|Restore|Block|Close)'</SAMP>
+<DD>
+Controls the undo grouping of sequences of actions. Before the first action
+in a group, Atomic(Save) should be issued. After each action that might
+be undoable, Atomic(Restore) should be issued. Atomic(Block) concludes
+and save the undo grouping if there was anything in the group to undo.
+Atomic(Close) concludes and save the undo grouping even if nothing was
+actually done. Thus it might produce an "empty" undo. This can be useful
+when you want to use undo in a group of actions.
+
+<A NAME="IDX497"></A>
+<A NAME="IDX498"></A>
+<A NAME="IDX499"></A>
+<DT><SAMP>`Bell([-100..100])'</SAMP>
+<DD>
+Rings the bell of your display. If no value is passed the setting
+of the resource <EM>volume</EM> will be used.
+
+<A NAME="IDX500"></A>
+<A NAME="IDX501"></A>
+<A NAME="IDX502"></A>
+<A NAME="IDX503"></A>
+<DT><SAMP>`ChangeDrillSize(Object, value)'</SAMP>
+<DD>
+<DT><SAMP>`ChangeDrillSize(SelectedPins|SelectedVias, value)'</SAMP>
+<DD>
+This action routine changes the drilling hole of pins and vias.
+If <EM>value</EM> starts with + or -, then it adds (or subtracts)
+<EM>value</EM> from the current hole diameter, otherwise it sets the
+diameter to the value.
+Default:
+
+<PRE>
+!Mod1&#60;Key&#62;s: Change2ndSize(Object, +5)
+!Mod1 Shift&#60;Key&#62;s: Change2ndSize(Object, -5)
+</PRE>
+
+<A NAME="IDX504"></A>
+<A NAME="IDX505"></A>
+<A NAME="IDX506"></A>
+<DT><SAMP>`ChangeHole(Object|SelectedVias)'</SAMP>
+<DD>
+This action routine converts a via to and from a hole. A hole is
+a via that has no copper annulus. The drill size for the via
+determines the hole diameter.
+
+<PRE>
+!Ctrl&#60;Key&#62;h: ChangeHole(Object)
+</PRE>
+
+<A NAME="IDX507"></A>
+<A NAME="IDX508"></A>
+<A NAME="IDX509"></A>
+<A NAME="IDX510"></A>
+<DT><SAMP>`ChangeName(Object)'</SAMP>
+<DD>
+<DT><SAMP>`ChangeName(Layer|Layout)'</SAMP>
+<DD>
+Changes the name of the visible object at the cursor location. A text object
+doesn't have a name therefore the text string itself is changed.
+The element name currently used for display is always the one changed with this
+command.
+See <EM>Display(Description|NameOnPCB|Value)</EM> for details.
+Passing <EM>Layer</EM> changes the current layers name.
+Default:
+
+<PRE>
+None&#60;Key&#62;n: ChangeName(Object)
+</PRE>
+
+<A NAME="IDX511"></A>
+<A NAME="IDX512"></A>
+<A NAME="IDX513"></A>
+<A NAME="IDX514"></A>
+<DT><SAMP>`ChangeOctagon(Object|SelectElements|SelectedPins|SelectedVias|Selected)'</SAMP>
+<DD>
+Toggles what shape the affected pin(s) or via(s) will be drawn when they
+are not square. The shape will either be round or octagonal.
+Default:
+
+<PRE>
+!Ctrl&#60;Key&#62;o: ChangeOctagon(Object)
+</PRE>
+
+<A NAME="IDX515"></A>
+<A NAME="IDX516"></A>
+<A NAME="IDX517"></A>
+<A NAME="IDX518"></A>
+<DT><SAMP>`ChangeSize(Object, value)'</SAMP>
+<DD>
+<DT><SAMP>`ChangeSize(SelectedLines|SelectedPins|SelectedVias, value)'</SAMP>
+<DD>
+<DT><SAMP>`ChangeSize(SelectedPads|SelectedTexts|SelectedNames, value)'</SAMP>
+<DD>
+<DT><SAMP>`ChangeSize(SelectedElements, value)'</SAMP>
+<DD>
+To change the size of an object you have to bind these action to some
+<CODE>X</CODE> event (or use :ChangeSize(...)). If <EM>value</EM> begins with
+a + or - then the value will be added (or subtracted) from the current
+size, otherwise the size is set equal to <EM>value</EM>. Range checking is
+done to insure that none of the maximum/minimums of any size are violated.
+If <EM>Object</EM> is passed then a single object at the cursor location is
+changed. If any of the <EM>Selected</EM> arguments are passed then all selected
+and visible objects of that type are changed. If the type being modified is
+an element, then the thickness of the silkscreen lines defining the element
+is changed.
+Default:
+
+<PRE>
+None&#60;Key&#62;s: ChangeSize(Object, +5)
+!Shift&#60;Key&#62;s: ChangeSize(Object, -5)
+</PRE>
+
+<A NAME="IDX519"></A>
+<A NAME="IDX520"></A>
+<A NAME="IDX521"></A>
+<A NAME="IDX522"></A>
+<DT><SAMP>`ChangeSquare(Object|SelectedElements|SelectedPins)'</SAMP>
+<DD>
+Toggles the setting of the square flag. The flag is used to identify a
+certain pin, normally the first one, of circuits. It is also used to
+make SMD pads have square ends.
+
+<PRE>
+None&#60;Key&#62;q: ChangeSquare(Object)
+</PRE>
+
+<A NAME="IDX523"></A>
+<A NAME="IDX524"></A>
+<A NAME="IDX525"></A>
+<DT><SAMP>`Command()'</SAMP>
+<DD>
+Calling <EM>Command()</EM> pops up an input line at the bottom of the window
+which allows you to enter commands. Including all action commands!
+The dialog ends when <EM>None&#60;Key&#62;Return</EM>
+to confirm or <EM>None&#60;Key&#62;Escape</EM> to abort is entered.
+Default:
+
+<PRE>
+&#60;Key&#62;colon: Command()
+</PRE>
+
+<A NAME="IDX526"></A>
+<A NAME="IDX527"></A>
+<A NAME="IDX528"></A>
+<A NAME="IDX529"></A>
+<A NAME="IDX530"></A>
+<A NAME="IDX531"></A>
+<A NAME="IDX532"></A>
+<DT><SAMP>`Connection(Find)'</SAMP>
+<DD>
+<DT><SAMP>`Connection(ResetFoundLinesAndRectangles|ResetPinsViasAndPads|Reset)'</SAMP>
+<DD>
+The <EM>Connection()</EM> action is used to mark all connections from one pin,
+line or via to others.
+The <EM>ResetFoundLinesAndRectangles, ResetFoundPinsAndVias</EM> and
+<EM>Reset</EM> arguments may be used to reset all marked lines and rectangles,
+vias and pins or all of them. The search starts with the pin or via
+at the cursor position. All found objects are drawn with the color
+defined by the resource <EM>connectedColor</EM>.
+See also, <EM>Display(Description|NameOnPCB|Value)</EM>.
+Default:
+
+<PRE>
+!Shift&#60;Key&#62;c: Connection(Reset)
+None&#60;Key&#62;f: Connection(Find)
+!Shift&#60;Key&#62;f: Connection(Reset)
+</PRE>
+
+<A NAME="IDX533"></A>
+<A NAME="IDX534"></A>
+<A NAME="IDX535"></A>
+<A NAME="IDX536"></A>
+<DT><SAMP>`DeleteRats(AllRats|SelectedRats)'</SAMP>
+<DD>
+This routine deletes either all rat-lines in the layout, or only
+the selected and visible ones. Non-rat-lines and other layout
+objects are unaffected.
+Default:
+
+<PRE>
+None&#60;Key&#62;e: DeleteRats(AllRats)
+!Shift&#60;Key&#62;e: DeleteRats(SelectedRats)
+</PRE>
+
+<A NAME="IDX537"></A>
+<A NAME="IDX538"></A>
+<A NAME="IDX539"></A>
+<A NAME="IDX540"></A>
+<A NAME="IDX541"></A>
+<A NAME="IDX542"></A>
+<A NAME="IDX543"></A>
+<A NAME="IDX544"></A>
+<A NAME="IDX545"></A>
+<A NAME="IDX546"></A>
+<A NAME="IDX547"></A>
+<A NAME="IDX548"></A>
+<A NAME="IDX549"></A>
+<A NAME="IDX550"></A>
+<DT><SAMP>`Display(Description|NameOnPCB|Value)'</SAMP>
+<DD>
+<DT><SAMP>`Display(Toggle45Degree|CycleClip)'</SAMP>
+<DD>
+<DT><SAMP>`Display(Grid|ToggleGrid)'</SAMP>
+<DD>
+<DT><SAMP>`Display(ToggleRubberBandMode)'</SAMP>
+<DD>
+<DT><SAMP>`Display(Center|ClearAndRedraw|Redraw)'</SAMP>
+<DD>
+<DT><SAMP>`Display(Pinout|PinOrPadName)'</SAMP>
+<DD>
+This action routines handles some output related settings. It is
+used to center the display around the cursor location and to redraw the
+output area optionally after clearing the window.
+Centering is done with respect to the <EM>grid</EM> setting. Displaying the
+grid itself may be switched on and off by <EM>Grid</EM> but only if
+the distance between two pixels exceeds 1_DISTANCE pixels.
+<CODE>Pcb</CODE> is able to handle several labels of an element. One of them
+is a description of the functionality (eg resistor), the second should be
+a unique identifier (R1) whereas the last one is a value (100k).
+The <EM>Display()</EM> action selects which of the names is displayed.
+It also controls which name will be affected by the <EM>ChangeName</EM> command.
+If <EM>ToggleGrid</EM> is passed, <CODE>Pcb</CODE> changes between relative
+('rel' in the statusline) and absolute grid (an 'abs' in the statusline).
+Relative grid means the pointer position when the command is issued is
+used as the grid origin; while (0,0) is used in the absolute grid case.
+Passing <EM>Pinout</EM> displays the pinout of the element at the current
+cursor location whereas <EM>PinOrPadName</EM> toggles displaying of the
+pins or pads name under the cursor. If none of them matches but the cursor
+is inside of an element, the flags is toggled for all of its pins and pads.
+For details about rubberbands see also the details about <EM>Mode</EM>.
+Default:
+
+<PRE>
+None&#60;Key&#62;c: Display(Center)
+None&#60;Key&#62;d: Display(PinOrPadName)
+!Shift&#60;Key&#62;d: Display(Pinout)
+None&#60;Key&#62;r: Display(ClearAndRedraw)
+None&#60;Key&#62;.: Display(Toggle45Degree)
+None&#60;Key&#62;/: Display(CycleClip)
+</PRE>
+
+<A NAME="IDX551"></A>
+<A NAME="IDX552"></A>
+<A NAME="IDX553"></A>
+<DT><SAMP>`DRC()'</SAMP>
+<DD>
+Initiates design rule checking of the entire layout. Must be repeated
+until no errors are found.
+
+<A NAME="IDX554"></A>
+<A NAME="IDX555"></A>
+<A NAME="IDX556"></A>
+<DT><SAMP>`EditLayerGroups()'</SAMP>
+<DD>
+Pops up a dialog box to edit the layergroup setting. The function is also
+available from the <EM>Objects</EM> menu.
+There are no defaults.
+
+<A NAME="IDX557"></A>
+<A NAME="IDX558"></A>
+<DT><SAMP>`Load(ElementToBuffer|Layout|LayoutToBuffer|Nelist)'</SAMP>
+<DD>
+This routine pops up a fileselect box to load layout, element data,
+or netlist.
+The passed filename for layout data is saved and may be reused.
+<EM>ElementToBuffer</EM> and <EM>LayoutToBuffer</EM> load the data into the
+current buffer.
+There are no defaults.
+
+<A NAME="IDX559"></A>
+<A NAME="IDX560"></A>
+<A NAME="IDX561"></A>
+<DT><SAMP>`MarkCrosshair()'</SAMP>
+<DD>
+This routine marks the current cursor location with an X, and then
+the cursor display shows both absolute position and position relative to
+the mark. If a mark is already present, this routine removes it and
+stops displaying relative cursor coordinates.
+Defaults:
+
+<PRE>
+!Ctrl&#60;key&#62;m: MarkCrosshair()
+</PRE>
+
+<A NAME="IDX562"></A>
+<A NAME="IDX563"></A>
+<A NAME="IDX564"></A>
+<DT><SAMP>`Mode(Copy|InsertPoint|Line|Move|None|PasteBuffer|Polygon|Thermal)'</SAMP>
+<DD>
+<DT><SAMP>`Mode(Remove|Rectangle|RubberbandMove|Text|Via)'</SAMP>
+<DD>
+<DT><SAMP>`Mode(Cycle)'</SAMP>
+<DD>
+<DT><SAMP>`Mode(Notify)'</SAMP>
+<DD>
+<DT><SAMP>`Mode(Save|Restore)'</SAMP>
+<DD>
+Switches to a new mode of operation. The active mode is displayed by a thick
+line around the matching mode selector button.
+Most of the functionality of <CODE>Pcb</CODE> is implemented by selecting a mode
+and calling <EM>Mode(Notify)</EM>. The arguments <EM>Line</EM>, <EM>Polygon</EM>,
+<EM>Rectangle</EM>, <EM>Text</EM> and <EM>Via</EM> are used to create the
+appropriate object whenever <EM>Mode(Notify)</EM> is called. Some of them,
+such as <EM>Polygon</EM>, need more than one call for one object to be created.
+<EM>InsertPoint</EM> adds points to existing polygons or lines.
+<EM>Save</EM> and <EM>Restore</EM> are used to temporarily save the mode, switch
+to another one, call <EM>Mode(Notify)</EM> and restore the saved one. Have
+a look at the application resource file for examples.
+<EM>Copy</EM> and <EM>Move</EM> modes are used to change an object's location and,
+optionally, to create a new one. The first call of <EM>Mode(Notify)</EM> attaches
+the object at the pointer location to the crosshair whereas the second
+one drops it to the layout. The <EM>rubberband</EM> version of move performs the
+move while overriding the current rubberband mode.
+Passing <EM>PasteBuffer</EM> attaches the contents of the currently selected
+buffer to the crosshair. Each call to <EM>Mode(Notify)</EM> pastes this contents
+to the layout. <EM>Mode(Cycle)</EM> cycles through the modes available in the
+mode-button pallete.
+<EM>Mode(None)</EM> switches all modes off.
+Default:
+
+<PRE>
+&#60;Key&#62;Escape: Mode(None)
+&#60;Key&#62;space: Mode(Cycle)
+None&#60;Key&#62;BackSpace: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
+None&#60;Key&#62;Delete: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
+None&#60;Key&#62;F1: Mode(Via)
+None&#60;Key&#62;F2: Mode(Line)
+None&#60;Key&#62;F3: Mode(PasteBuffer)
+None&#60;Key&#62;F4: Mode(Rectangle)
+None&#60;Key&#62;F5: Mode(Text)
+None&#60;Key&#62;F6: Mode(Polygon)
+None&#60;Key&#62;F7: Mode(Thermal)
+None&#60;Key&#62;F8: Mode(Arc)
+None&#60;Key&#62;Insert: Mode(InsertPoint)
+None&#60;Key&#62;[: Mode(Save) Mode(Move) Mode(Notify)
+None&#60;Key&#62;]: Mode(Notify) Mode(Restore)
+None&#60;Btn1Down&#62;: Mode(Notify)
+!Shift Ctrl&#60;Btn1Down&#62;: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
+None&#60;Btn2Down&#62;: Mode(Save) Mode(Move) Mode(Notify)
+None&#60;Btn2Up&#62;: Mode(Notify) Mode(Restore)
+!Mod1&#60;Btn2Down&#62;: Mode(Save) Mode(Copy) Mode(Notify)
+!Mod1&#60;Btn2Up&#62;: Mode(Notify) Mode(Restore)
+Shift Mod1&#60;Btn2Down&#62;: Mode(Save) Mode(RubberbandMove) Mode(Notify)
+</PRE>
+
+<A NAME="IDX565"></A>
+<A NAME="IDX566"></A>
+<A NAME="IDX567"></A>
+<DT><SAMP>`MovePointer(delta_x, delta_y)'</SAMP>
+<DD>
+With this function it is possible to move the crosshair cursor by using the
+cursor keys. The <CODE>X</CODE> server's pointer follows because the necessary
+events are generated by <CODE>Pcb</CODE>. All movements are performed with respect
+to the currently set grid value.
+Default:
+
+<PRE>
+None&#60;Key&#62;Up: MovePointer(0, -1)
+!Shift&#60;Key&#62;Up: MovePointer(0, -10)
+None&#60;Key&#62;Down: MovePointer(0, 1)
+!Shift&#60;Key&#62;Down: MovePointer(0, 10)
+None&#60;Key&#62;Right: MovePointer(1, 0)
+!Shift&#60;Key&#62;Right: MovePointer(10, 0)
+None&#60;Key&#62;Left: MovePointer(-1, 0)
+!Shift&#60;Key&#62;Left: MovePointer(-10, 0)
+</PRE>
+
+<A NAME="IDX568"></A>
+<A NAME="IDX569"></A>
+<A NAME="IDX570"></A>
+<DT><SAMP>`MoveToCurrentLayer(Object|SelectedObjects)'</SAMP>
+<DD>
+The function moves a single object at the crosshair location or all selected
+objects to the current layer. Elements are not moveable by this function.
+They have to be deleted and replaced on the other side.
+If a line segment is moved and the movement would result in a loss of
+connectivity to another segment then via(s) are automatically added to
+maintain the connectivity.
+
+<PRE>
+None&#60;Key&#62;m: MoveToCurrentLayer(Object)
+!Shift&#60;Key&#62;m: MoveToCurrentLayer(SelectedObjects)
+</PRE>
+
+<A NAME="IDX571"></A>
+<A NAME="IDX572"></A>
+<A NAME="IDX573"></A>
+<DT><SAMP>`New()'</SAMP>
+<DD>
+Clear the current layout and starts a new one after entering its name.
+Refer to the resource <EM>backup</EM> for more information.
+No defaults.
+
+<A NAME="IDX574"></A>
+<A NAME="IDX575"></A>
+<A NAME="IDX576"></A>
+<A NAME="IDX577"></A>
+<A NAME="IDX578"></A>
+<A NAME="IDX579"></A>
+<A NAME="IDX580"></A>
+<DT><SAMP>`PasteBuffer(AddSelected|Clear|1..5)'</SAMP>
+<DD>
+<DT><SAMP>`PasteBuffer(Rotate, 1..3)'</SAMP>
+<DD>
+<DT><SAMP>`PasteBuffer(Convert)'</SAMP>
+<DD>
+This action routine controls and selects the pastebuffer as well as all
+cut-and-paste operations. Passing a buffer number selects one in of the
+range 1..5. The statusline is updated with the new number.
+<EM>Rotate</EM> performs a number of 90 degree counter clockwise rotations
+of the buffer contents. <EM>AddSelected</EM> as first argument copies all
+selected and visible objects into the buffer. Passing <EM>Clear</EM> removes
+all objects from the currently selected buffer. <EM>Convert</EM> causes
+the contents of the buffer (lines, arc, vias) to be converted into an
+element definition. Refer to section <A HREF="pcb.html#SEC28">Pastebuffer</A>
+for examples.
+Default:
+
+<PRE>
+!Ctrl&#60;Key&#62;x: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ Mode(PasteBuffer)
+!Shift Ctrl&#60;Key&#62;x: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ RemoveSelected() Mode(PasteBuffer)
+!Mod1&#60;Key&#62;c: PasteBuffer(Clear) PasteBuffer(AddSelected)
+!Mod1&#60;key&#62;x: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ RemoveSelected()
+!Shift&#60;Key&#62;1: PasteBuffer(1)
+!Shift&#60;Key&#62;2: PasteBuffer(2)
+!Shift&#60;Key&#62;3: PasteBuffer(3)
+!Shift&#60;Key&#62;4: PasteBuffer(4)
+!Shift&#60;Key&#62;5: PasteBuffer(5)
+None&#60;Key&#62;F3: Mode(PasteBuffer)
+</PRE>
+
+<A NAME="IDX581"></A>
+<A NAME="IDX582"></A>
+<A NAME="IDX583"></A>
+<A NAME="IDX584"></A>
+<DT><SAMP>`Polygon((Close|PreviousPoint)'</SAMP>
+<DD>
+Polygons need a special action routine to make life easier. Calling
+<EM>Polygon(PreviousPoint)</EM> resets the newly entered corner to the
+previous one. The Undo action will call Polygon(PreviousPoint)
+when appropriate to do so. <EM>Close</EM> creates the final
+segment of the polygon. This may fail if clipping to 45 degree
+lines is switched on, in which case a warning is issued.
+Default:
+
+<PRE>
+None&#60;Key&#62;p: Polygon(Close)
+!Shift&#60;Key&#62;p: Polygon(Close)
+</PRE>
+
+<A NAME="IDX585"></A>
+<A NAME="IDX586"></A>
+<A NAME="IDX587"></A>
+<DT><SAMP>`Print()'</SAMP>
+<DD>
+Pops up a print control box that lets you select the output
+device, scaling and many more options. Each run creates all
+files that are supported by the selected device. These are
+mask files as well as drilling files, silk screens and so on. The table
+shows the filenames for all possible files:
+
+<PRE>
+ POSIX (extention) 8.3 filename
+ ---------------------------------------------
+ *_componentmask.* cmsk.*
+ *_componentsilk.* cslk.*
+ *_soldermask.* smsk.*
+ *_soldersilk.* sslk.*
+ *_drill.* dril.*
+ *_groundplane.* gpl.*
+ *_group[1..8].* [..8].*
+</PRE>
+
+The output may be sent to a postprocessor by starting the filename with the
+<EM>pipe</EM> <CODE>("|")</CODE> character. Any <CODE>"%f"</CODE> in a command is replaced
+with the current filename. The function is available from the <EM>file</EM> menu.
+There are no defaults.
+
+<A NAME="IDX588"></A>
+<A NAME="IDX589"></A>
+<A NAME="IDX590"></A>
+<DT><SAMP>`Quit()'</SAMP>
+<DD>
+Quits the application after confirming the operation.
+Default:
+
+<PRE>
+&#60;Message&#62;WM_PROTOCOLS: Quit()
+</PRE>
+
+<A NAME="IDX591"></A>
+<A NAME="IDX592"></A>
+<A NAME="IDX593"></A>
+<DT><SAMP>`Redo()'</SAMP>
+<DD>
+This routine allows you to recover from the last undo command.
+You might want to do this if you thought that undo was going to
+revert something other than what it actually did (in case you
+are confused about which operations are un-doable), or if you
+have been backing up through a long undo list and over-shoot
+your stopping point. Any change that is made since the undo
+in question will trim the redo list. For example if you add
+ten lines, then undo three of them you could use redo to put
+them back, but if you move a line on the board before performing
+the redo, you will lose the ability to "redo" the three "undone" lines.
+Default:
+
+<PRE>
+!Shift&#60;Key&#62;r: Redo()
+</PRE>
+
+<A NAME="IDX594"></A>
+<A NAME="IDX595"></A>
+<A NAME="IDX596"></A>
+<DT><SAMP>`RemoveSelected()'</SAMP>
+<DD>
+This routine removes all visible and selected objects.
+There are no defaults.
+
+<A NAME="IDX597"></A>
+<A NAME="IDX598"></A>
+<A NAME="IDX599"></A>
+<A NAME="IDX600"></A>
+<DT><SAMP>`Report(Object|DrillReport)'</SAMP>
+<DD>
+This routine pops up a dialog box describing the various
+characteristics of an object (or piece of an object such as a pad or pin)
+in the layout at the cursor position, or a report about all of the
+drill holes in the layout.
+There are no defaults.
+
+<A NAME="IDX601"></A>
+<A NAME="IDX602"></A>
+<A NAME="IDX603"></A>
+<DT><SAMP>`RouteStyle(1|2|3|4)'</SAMP>
+<DD>
+This routine copies the sizes corresponding to the numbered route style
+into the active line thicknes, via diameter, and via drill size.
+Defaults:
+
+<PRE>
+!Ctrl&#60;Key&#62;1: RouteStyle(1)
+...
+!Ctrl&#60;Key&#62;4: RouteStyle(4)
+</PRE>
+
+<A NAME="IDX604"></A>
+<A NAME="IDX605"></A>
+<A NAME="IDX606"></A>
+<DT><SAMP>`Save(Layout|LayoutAs)'</SAMP>
+<DD>
+<DT><SAMP>`Save(AllConnections|AllUnusedPins|ElementConnections)'</SAMP>
+<DD>
+Passing <EM>Layout</EM> saves the layout using the file from which it was
+loaded or, if it is a new layout, calls <EM>Save(LayoutAs)</EM> which queries
+the user for a filename.
+The values: <EM>AllConnections</EM>, <EM>AllUnusedPins</EM> and
+<EM>ElementConnections</EM> start a connection scan and save all connections,
+all unused pins or the connections of a single element to a file.
+There are no defaults.
+
+<A NAME="IDX607"></A>
+<A NAME="IDX608"></A>
+<A NAME="IDX609"></A>
+<DT><SAMP>`Select(All|Block|Connection|ToggleObject)'</SAMP>
+<DD>
+<DT><SAMP>`Select(ElementByName|ObjectByName|PadByName|PinByName)'</SAMP>
+<DD>
+<DT><SAMP>`Select(TextByName|ViaByName)'</SAMP>
+<DD>
+Toggles either the selection flag of the object at the crosshair position
+(<EM>ToggleObject</EM>) or selects all visible objects, all inside a
+rectangle or all objects which have been found during the last connection
+scan. The <EM>ByName</EM> functions use a regular expression search,
+always case insensitive, to select the objects.
+Default:
+
+<PRE>
+None&#60;Btn3Down&#62;: Select(ToggleObject)
+None&#60;Btn3Down&#62;,None&#60;Btn3Motion&#62;: See resource file - this is complex
+</PRE>
+
+<A NAME="IDX610"></A>
+<A NAME="IDX611"></A>
+<A NAME="IDX612"></A>
+<A NAME="IDX613"></A>
+<A NAME="IDX614"></A>
+<A NAME="IDX615"></A>
+<A NAME="IDX616"></A>
+<DT><SAMP>`SetValue(Grid|LineSize|TextScale|ViaDrillingHole|ViaSize|Zoom, value)'</SAMP>
+<DD>
+Some internal values may be changed online by this function.
+The first parameter specifies which data has to be changed. The other one
+determines if the resource is set to the passed value, if <EM>value</EM> is
+specified without sign, or increments/decrements if it is specified with
+a plus or minus sign.
+The function doesn't change any existing object only the initial values of
+new objects. Use the <EM>ChangeSize()</EM> and <EM>ChangeDrillSize()</EM>
+to change existing objects.
+Default:
+
+<PRE>
+None&#60;Key&#62;g: SetValue(Grid, +5)
+!Shift&#60;Key&#62;g: SetValue(Grid, -5)
+None&#60;Key&#62;l: SetValue(LineSize, +5)
+!Shift&#60;Key&#62;l: SetValue(LineSize, -5)
+None&#60;Key&#62;t: SetValue(TextScale, +10)
+!Shift&#60;Key&#62;t: SetValue(TextScale, -10)
+None&#60;Key&#62;v: SetValue(ViaSize, +5)
+!Shift&#60;Key&#62;v: SetValue(ViaSize, -5)
+!Mod1&#60;Key&#62;v: SetValue(ViaDrillingHole, +5)
+!Mod1 Shift&#60;Key&#62;v: SetValue(ViaDrillingHole, -5)
+None&#60;Key&#62;z: SetValue(Zoom, -1)
+!Shift&#60;Key&#62;z: SetValue(Zoom, +1)
+</PRE>
+
+<A NAME="IDX617"></A>
+<A NAME="IDX618"></A>
+<A NAME="IDX619"></A>
+<DT><SAMP>`SwapSides()'</SAMP>
+<DD>
+This routine changes the board side you are viewing.
+Default:
+
+<PRE>
+None&#60;Key&#62;Tab: SwapSides()
+</PRE>
+
+<A NAME="IDX620"></A>
+<A NAME="IDX621"></A>
+<A NAME="IDX622"></A>
+<DT><SAMP>`SwitchDrawingLayer(value)'</SAMP>
+<DD>
+Makes layer numer 1..8 the current one.
+Default:
+
+<PRE>
+None&#60;Key&#62;1: SwitchDrawingLayer(1)
+...
+None&#60;Key&#62;8: SwitchDrawingLayer(8)
+</PRE>
+
+<A NAME="IDX623"></A>
+<A NAME="IDX624"></A>
+<A NAME="IDX625"></A>
+<A NAME="IDX626"></A>
+<DT><SAMP>`ToggleHideName(Object|SelectedElements)'</SAMP>
+<DD>
+Toggles whether the element's name is displayed or hidden. If it
+is hidden you won't see it on the screen and it will not appear
+on the silk layer when you print the layout.
+
+<PRE>
+None&#60;Key&#62;h: ToggleHideName(Object)
+!Shift&#60;Key&#62;h: ToggleHideName(SelectedElements)
+</PRE>
+
+<A NAME="IDX627"></A>
+<A NAME="IDX628"></A>
+<A NAME="IDX629"></A>
+<DT><SAMP>`Undo()'</SAMP>
+<DD>
+<DT><SAMP>`Undo(ClearList)'</SAMP>
+<DD>
+The unlimited undo feature of <CODE>Pcb</CODE> allows you to recover
+from most operations that materially affect you work.
+Calling <EM>Undo()</EM> without any parameter recovers
+from the last (non-undo) operation. <EM>ClearList</EM> is used to release the
+allocated memory. <EM>ClearList</EM> is called whenever a new layout is started
+or loaded. See also <EM>Redo</EM>.
+Default:
+
+<PRE>
+None&#60;Key&#62;u: Undo()
+!Shift Ctrl&#60;Key&#62;u: Undo(ClearList)
+</PRE>
+
+<A NAME="IDX630"></A>
+<A NAME="IDX631"></A>
+<A NAME="IDX632"></A>
+<DT><SAMP>`Unselect(All|Block|Connection)'</SAMP>
+<DD>
+Unselects all visible objects, all inside a rectangle or all objects which
+have been found during the last connection scan.
+Default:
+
+<PRE>
+!Shift &#60;Btn3Down&#62;: Mode(Save) Mode(None) Unselect(Block)
+!Shift &#60;Btn3Up&#62;: Unselect(Block) Mode(Restore)
+</PRE>
+
+</DL>
+
+<P>
+<A NAME="IDX633"></A>
+<A NAME="IDX634"></A>
+<A NAME="IDX635"></A>
+
+
+<H2><A NAME="SEC43" HREF="pcb_toc.html#TOC43">Default Translations</A></H2>
+<P>
+This section covers some default translations of key and button events as
+defined in the shipped default application resource file. Most of them have
+already been listed in section <A HREF="pcb.html#SEC42">Actions</A>. <CODE>Pcb</CODE> makes use of a nice <CODE>X11</CODE>
+feature; calling several action routines for one event.
+
+
+<DL COMPACT>
+
+<DT><SAMP>`None&#60;Key&#62;BackSpace:'</SAMP>
+<DD>
+<A NAME="IDX636"></A>
+ <A NAME="IDX637"></A>
+ <A NAME="IDX638"></A>
+ <A NAME="IDX639"></A>
+
+<DT><SAMP>`None&#60;key&#62;Delete:'</SAMP>
+<DD>
+<DT><SAMP>`!Shift&#60;Key&#62;BackSpace:'</SAMP>
+<DD>
+<DT><SAMP>`!Shift Ctrl&#60;Btn1Down&#62;:'</SAMP>
+<DD>
+The object at the cursor location is removed by <EM>None&#60;Key&#62;BackSpace</EM> or
+<EM>Shift Ctrl&#60;Btn1Down&#62;</EM> whereas <EM>Shift&#60;Key&#62;BackSpace</EM> also removes
+all other objects that are fully-connected to the one at the cursor location.
+
+<A NAME="IDX640"></A>
+<DT><SAMP>`!Mod1 Ctrl&#60;Key&#62;Left:'</SAMP>
+<DD>
+<DT><SAMP>`!Mod1 Ctrl&#60;Key&#62;Right:'</SAMP>
+<DD>
+<DT><SAMP>`!Mod1 Ctrl&#60;Key&#62;Up:'</SAMP>
+<DD>
+<DT><SAMP>`!Mod1 Ctrl&#60;Key&#62;Down:'</SAMP>
+<DD>
+Scroll one page in one of the four directions.
+
+<A NAME="IDX641"></A>
+<DT><SAMP>`None&#60;Key&#62;Left:, !Shift&#60;Key&#62;Left:'</SAMP>
+<DD>
+<DT><SAMP>`None&#60;Key&#62;Right:, !Shift&#60;Key&#62;Right:'</SAMP>
+<DD>
+<DT><SAMP>`None&#60;Key&#62;Up:, !Shift&#60;Key&#62;Up:'</SAMP>
+<DD>
+<DT><SAMP>`None&#60;Key&#62;Down:, !Shift&#60;Key&#62;Down:'</SAMP>
+<DD>
+Move crosshair either one or ten points in grid.
+
+<A NAME="IDX642"></A>
+<DT><SAMP>`None&#60;Key&#62;Return:'</SAMP>
+<DD>
+Finished user input, selects the 'default' button of dialogs.
+
+<A NAME="IDX643"></A>
+<DT><SAMP>`None&#60;Key&#62;Escape:'</SAMP>
+<DD>
+<EM>Mode(Reset)</EM>, aborts user input, selects the 'abort' button of
+dialogs or resets all modes.
+
+<A NAME="IDX644"></A>
+<A NAME="IDX645"></A>
+<A NAME="IDX646"></A>
+<A NAME="IDX647"></A>
+<A NAME="IDX648"></A>
+<DT><SAMP>`None&#60;Btn2Down&#62;, Btn2&#60;Motion&#62;, None&#60;Btn2Up&#62;:'</SAMP>
+<DD>
+<DT><SAMP>`!Mod1&#60;Btn2Down&#62;, Btn2&#60;Motion&#62;, !Mod1&#60;Btn2Up&#62;:'</SAMP>
+<DD>
+The first sequence moves the object or element name at the cursor location.
+The second one copies the objects. Copying isn't available for
+element names.
+
+</DL>
+
+<P>
+<A NAME="IDX649"></A>
+<A NAME="IDX650"></A>
+
+
+<H1><A NAME="SEC44" HREF="pcb_toc.html#TOC44">File Formats</A></H1>
+<P>
+All files used by <CODE>Pcb</CODE> are read from the standard output of a command
+or written to the standard input of one as plain seven bit <CODE>ASCII</CODE>. This
+makes it possible to use any editor to change the contents of a layout file.
+It is the only way for element or font description files to be created.
+To do so you'll need to study the example files <TT>`example/*'</TT> and
+<TT>`default_font'</TT> which are shipped with <CODE>Pcb</CODE>.
+For an overview refer to section <A HREF="pcb.html#SEC3">Introduction</A>.
+
+
+<P>
+<A NAME="IDX651"></A>
+<A NAME="IDX652"></A>
+<A NAME="IDX653"></A>
+<A NAME="IDX654"></A>
+<A NAME="IDX655"></A>
+<A NAME="IDX656"></A>
+The following sections provide the necessary information about the syntax of
+the files.
+Netlist files are not created by <CODE>Pcb</CODE>, but it does use them. For information
+on the format of a netlist file see the <EM>:rn</EM>,
+section <A HREF="pcb.html#SEC36">User Commands</A>. Rat lines are added on the current layer using the current
+The commands described allow you to add almost any additional
+functionality you may need. Examples are compressed read and write access as
+well as archives. The commands themselves are defined by the resources
+<EM>elementCommand</EM>, <EM>fileCommand</EM>, <EM>fontCommand</EM>,
+<EM>libraryCommand</EM>, <EM>libraryContentsCommand</EM> and <EM>saveCommand</EM>.
+Note that the commands are not saved along with the data.
+It is considered an advantage to have the layout file contain all necessary
+information, independent of any other files.
+
+
+<P>
+One thing common to all files is they may include comments, newlines,
+and carriage returns at any place except within quoted strings.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC45">Basic Types</A>: Basic types used by all data files.
+<LI><A HREF="pcb.html#SEC46">Layout File</A>
+<LI><A HREF="pcb.html#SEC47">Element File</A>
+<LI><A HREF="pcb.html#SEC48">Font File</A>
+<LI><A HREF="pcb.html#SEC49">Library Contents File</A>
+<LI><A HREF="pcb.html#SEC50">Library File</A>
+</UL>
+
+<P>
+<A NAME="IDX657"></A>
+<A NAME="IDX658"></A>
+
+
+<H2><A NAME="SEC45" HREF="pcb_toc.html#TOC45">Basic Types</A></H2>
+<P>
+Here are the basic type definitions used in the other sections of this
+chapter.
+
+
+
+<PRE>
+Description = Name
+DeltaAngle = Number
+DrillingHole = Number
+Flags = Number
+FontPosition = Number
+Grid = Number
+GridOffsetX = Number
+GridOffsetY = Number
+Group = GroupMember [,GroupMember]...
+GroupMember = decimal | [cs]
+GroupString = """ Group [:Group]... """
+StyleString = """ Style [:Style]... """
+Height = Number
+LayerNumber = Number
+LayoutName = Name
+Name = quoted_string
+Number = decimal | hex
+PinNumber = quoted_string
+Spacing = Number
+StartAngle = Number
+SymbolID = Number | charconst
+Thickness = Number
+TextData = quoted_string
+TextFlags = Flags
+TextScale = scale
+TextX = Number
+TextY = Number
+Value = Name
+Width = Number
+X = Number
+X1 = Number
+X2 = Number
+Y = Number
+Y1 = Number
+Y2 = Number
+charconst = "'" &#60;any character&#62; "'"
+comment = "#" {&#60;any character up to a newline&#62;}...
+decimal = [0-9]+
+direction = [0-3]
+hex = 0x[0-9a-fA-F]+
+scale = [1-&#60;positive integer&#62;]
+quoted_string = """ &#60;anything except \n and \r&#62; """
+zoom = [0-MAX]
+</PRE>
+
+<P>
+<A NAME="IDX659"></A>
+<A NAME="IDX660"></A>
+<A NAME="IDX661"></A>
+
+
+<H2><A NAME="SEC46" HREF="pcb_toc.html#TOC46">Layout File Format</A></H2>
+<P>
+The layout file describes a complete layout including symbols, vias,
+elements and layers with lines, rectangles and text. This is the most
+complex file of all.
+
+
+
+<PRE>
+File = Header Font PCBData
+Header = PCBName [GridData] [CursorData] [PCBFlags] [Groups]
+PCBName = "PCB(" Name Width Height ")"
+GridData = "Grid(" Grid GridOffsetX GridOffsetY ")"
+CursorData = "Cursor(" X Y zoom ")"
+PCBFlags = "Flags(" Flags ")"
+Groups = "Groups(" GroupString ")"
+Styles = "Styles(" StyleString ")"
+Font = {FontData}...
+FontData = {Symbol}...
+Symbol = "Symbol(" SymbolID Spacing ")"
+ "(" {SymbolData}... ")"
+SymbolData = {SymbolLine}...
+SymbolLine = "SymbolLine(" X1 Y1 X2 Y2 Thickness ")"
+PCBData = {Via | Layer | Element}...
+
+Via = "Via(" X Y Thickness DrillingHole Name Flags ")"
+
+Element = "Element(" Flags Description LayoutName Value \
+ TextX TextY direction scale TextFlags")"
+ "(" {ElementData}... [Mark] ")"
+ElementData = {ElementLine | Pad | Pin | ElementArc }...
+ElementArc = "ElementArc(" X Y Width Height
+ StartAngle DeltaAngle Thickness ")"
+ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")"
+Mark = "Mark(" X Y ")"
+Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags")"
+Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")"
+
+Layer = "Layer(" LayerNumber Name ")"
+ "(" {LayerData}... ")"
+LayerData = {Line | Polygon | Text}...
+Line = "Line(" X1 Y1 X2 Y2 Thickness Flags")"
+Arc = "Arc(" X Y Width Height StartAngle DeltaAngle Thickness Flags")"
+Polygon = "Polygon(" Flags ")" \
+ "(" {Points}... ")"
+Points = "(" X Y ")"
+Text = "Text(" X Y direction scale TextData Flags")"
+</PRE>
+
+<DL COMPACT>
+
+<DT><SAMP>`PCBName'</SAMP>
+<DD>
+is used to define the layout's name which is independent of its filename.
+It is displayed in the lower left corner of the main window.
+
+<DT><SAMP>`GridData'</SAMP>
+<DD>
+is optional and is used to save the grid setting and offset which were set
+at the time the layout was saved.
+
+<DT><SAMP>`CursorData'</SAMP>
+<DD>
+also is an optional parameter to save the last cursor location and zoom value.
+The real zoom factor is calculated by scale = 1:(2 power value).
+
+<DT><SAMP>`PCBFlags'</SAMP>
+<DD>
+determine how to draw lines and which name of the elements should be
+displayed.
+
+<PRE>
+ bit 4: do rubberband moves and rotates if set
+ bit 5: display description of elements if set
+ bit 6: display unique name of an element if set
+ bit 7: use absolute grid if set
+ bit 8: don't clip lines to 45 degrees
+</PRE>
+
+<DT><SAMP>`Groups'</SAMP>
+<DD>
+Layergroups are saved by using this optional parameter. The only way of
+changing them is to use an editor and alter the appropriate line. The
+characters <EM>c,s</EM> idenify the component- and solder-side for SMD
+objects.
+
+<DT><SAMP>`Symbol'</SAMP>
+<DD>
+See the description of font files in this chapter.
+
+<DT><SAMP>`Via'</SAMP>
+<DD>
+Vias are always connected to all layers which also means vias are one
+logical level ahead of layers. Vias are defined by position, size, name and
+by some flags.
+
+<PRE>
+ bit 0: always clear
+ bit 1: always set
+ bit 2: set if via was found during a connection search
+ bit 4: set if via is a hole (has no copper annulus)
+ bit 5: display the vias name
+ bit 6: via has been selected
+ bit 12: set if via has octagonal shape
+ Other bits have special meaning and should not be changed
+ by the user. See const.h for more information
+</PRE>
+
+<DT><SAMP>`Element'</SAMP>
+<DD>
+See the description of element files in this chapter.
+
+<DT><SAMP>`Layer'</SAMP>
+<DD>
+A layer is the central object from the user's point of view. It holds all
+connections and all text objects. Up to 8 may be used individually.
+Its number, starting with one, and its name are read as arguments.
+
+<DL COMPACT>
+
+<DT><SAMP>`Line'</SAMP>
+<DD>
+All lines are identified by their start and endpoints together with their
+thickness and some flags. They have to fit a 45 degree scheme.
+
+<PRE>
+ bit 2: set if line was found during a connection search
+ bit 4: line is a rat-line
+ bit 6: line has been selected
+</PRE>
+
+<DT><SAMP>`Polygon'</SAMP>
+<DD>
+used to fill a larger area with <SAMP>`copper'</SAMP>. The coordinates specify the
+corners. The flags are:
+
+<PRE>
+ bit 2: set if polygon was found during a connection search
+ bit 4: polygon is a 1.5 style polygon that automatically clears pins
+ bit 6: polygon has been selected
+</PRE>
+
+<DT><SAMP>`Text'</SAMP>
+<DD>
+You may use text objects to add information to your board. An example would
+be naming a connector or marking pin one of it. The position marks the
+lower left corner of the string which is also a fixpoint for rotations.
+Text directions are independent to those of lines. They are counted from
+zero to three with a meaning of zero to 270 degree rotations counter-clockwise.
+The scaling value is a positive integer which determines a zoom factor in
+percent.
+
+<PRE>
+ bit 6: the text has been selected
+ bit 7: the text is on the solder (back) side of the board
+ bit 10: the text is on the silkscreen layer
+</PRE>
+
+</DL>
+
+</DL>
+
+<P>
+<A NAME="IDX662"></A>
+<A NAME="IDX663"></A>
+<A NAME="IDX664"></A>
+
+
+<H2><A NAME="SEC47" HREF="pcb_toc.html#TOC47">Element File Format</A></H2>
+<P>
+Element files are used to describe one component which then may be used
+several times within one or more layouts. You will normally split the
+file into two parts, one for the pinout and one for the package description.
+Using <CODE>m4</CODE> allows you to define pin names as macros in one file and
+include a package description file which evaluates the macros. See
+the resource <EM>elementCommand</EM> for more information. The pins (and pads)
+must appear in squential order in the element file (new in 1.5) so that
+pin 1 must be the first PIN(...) in the file.
+
+
+<P>
+Doing things this way makes it possible to use one package file for several
+different circuits. See the sample files <TT>`dil*'</TT>.
+
+
+<P>
+The lowest x and y coordinates of all subobjects of an element are used
+as an attachment point for the crosshair cursor of the main window.
+
+
+
+<PRE>
+File = {Element}...
+Element = "Element(" Flags Description LayoutName Value \
+ TextX TextY direction scale TextFlags")"
+ "(" {ElementData}... [Mark] ")"
+ElementData = {ElementLine | Pad | Pin | ElementArc }...
+ElementArc = "ElementArc(" X Y Width Height
+ StartAngle DeltaAngle Thickness ")"
+ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")"
+Mark = "Mark(" X Y ")"
+Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags ")"
+Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")"
+</PRE>
+
+<DL COMPACT>
+
+<DT><SAMP>`Element'</SAMP>
+<DD>
+Objects of type element are determined by flags, some names, a canonical
+and a layout name as well as a value. Additional fields are text position,
+their direction counted from zero to three (n * 90 degrees counter-clockwise)
+and element data.
+
+<DL COMPACT>
+
+<DT><SAMP>`Flags'</SAMP>
+<DD>
+The flag field determines the state of an element.
+The bit values are:
+
+<PRE>
+ bit 4: the element name is hidden
+ bit 6: element has been selected
+ bit 7: element is located on the solder side
+</PRE>
+
+<DT><SAMP>`TextFlags'</SAMP>
+<DD>
+<DT><SAMP>`scale'</SAMP>
+<DD>
+<DT><SAMP>`direction'</SAMP>
+<DD>
+See the description of text object earlier in this chapter.
+
+<DT><SAMP>`ElementLine'</SAMP>
+<DD>
+A line is defined by its start and end points and by its size, or width.
+
+<DT><SAMP>`ElementArc'</SAMP>
+<DD>
+Defines an arc by its center, width, height, startangle, its length in
+degrees and its size. Remember the y axis on the screen grows downwards.
+
+<DT><SAMP>`Mark'</SAMP>
+<DD>
+is just a hint to make positioning easier. The crosshair will be positioned
+here. Its center is passed as the two arguments.
+
+<DT><SAMP>`Pad'</SAMP>
+<DD>
+A pad is very similar to a line except it may not be disconnected from
+its element and it has an associated name.
+Is is defined by two end point position, size, name and by some flags.
+
+<PRE>
+ bit 2: set if pad was found during a connection search
+ bit 5: display the pads name
+ bit 6: pad has been selected
+ bit 7: pad is located on the solder side
+</PRE>
+
+<DT><SAMP>`Pin'</SAMP>
+<DD>
+A pin is very similar to a via except it may not be disconnected from
+its element.
+
+<PRE>
+ bit 0: always set
+ bit 1: always clear
+ bit 2: set if pin was found during a connection search
+ bit 3: set if pin is only a mounting hole (no copper annulus)
+ bit 5: display the pins name
+ bit 6: pin has been selected
+ bit 8: pin is drawn as a square
+ bit 12: set if pin is drawn with an octagonal shape
+</PRE>
+
+</DL>
+
+</DL>
+
+<P>
+<A NAME="IDX665"></A>
+<A NAME="IDX666"></A>
+<A NAME="IDX667"></A>
+
+
+<H2><A NAME="SEC48" HREF="pcb_toc.html#TOC48">Font File Format</A></H2>
+<P>
+A number of user defined symbols are called a font. There is only one per
+layout. All symbols are made of lines. See the file <TT>`default_font'</TT>
+as an example.
+
+
+<P>
+The lowest x and y coordinates of all lines of a font are transformed to (0,0).
+
+
+
+<PRE>
+File = Font
+Font = {FontData}...
+FontData = {Symbol}...
+Symbol = "Symbol(" SymbolID FontPosition ")"
+ "(" {SymbolData}... ")"
+SymbolData = {SymbolLine}...
+</PRE>
+
+<DL COMPACT>
+
+<DT><SAMP>`Symbol'</SAMP>
+<DD>
+The two arguments are the <CODE>ASCII</CODE> code of the symbol and its distance to
+the next symbol. Undefined symbols are drawn as filled rectangles.
+The <CODE>ASCII</CODE> code may be passed as a character constant or as a hexadecimal
+value.
+
+<DL COMPACT>
+
+<DT><SAMP>`SymbolLine'</SAMP>
+<DD>
+The symbol data itself is made up of several entries
+of type <EM>SymbolLine</EM>.
+</DL>
+
+</DL>
+
+<P>
+<A NAME="IDX668"></A>
+<A NAME="IDX669"></A>
+<A NAME="IDX670"></A>
+
+
+<H2><A NAME="SEC49" HREF="pcb_toc.html#TOC49">Library Contents File Format</A></H2>
+<P>
+There is nothing like a special library format. The ones that have been
+introduced in 1.4.1 just use some nice (and time consuming) fetures of GNU
+<CODE>m4</CODE>. The only predefined format is the one of the contents file
+which is read during startup. It is made up of two basic line types:
+
+
+
+<PRE>
+menu entry = "TYPE="name
+contents line = template":"package":"value":"description
+name = String
+template = String
+package = String
+value = String
+description = String
+String = &#60;anything except ":", "\n" and "\r"&#62;
+</PRE>
+
+<P>
+No leading whitespaces or comments are allowed in this file. If you need
+either one, define a command that removes them before loading. Have a look
+to the <EM>libraryContentsCommand</EM> resource.
+
+
+<P>
+The menu entry will appear in the selection menu at the top and of the
+library window.
+
+
+<P>
+<A NAME="IDX671"></A>
+<A NAME="IDX672"></A>
+<A NAME="IDX673"></A>
+
+
+<H2><A NAME="SEC50" HREF="pcb_toc.html#TOC50">Library File Format</A></H2>
+<P>
+This section provides an overview about the existing <CODE>m4</CODE> definitions
+of the elements. There are basically two different types of files. One
+to define element specific data like the pinout, package and so on, the
+other to define the values. For example the static RAM circuits 43256 and
+62256 are very similar. They therefore share a common definition in the
+macro file but are defined with two different value labels.
+
+
+<P>
+The macro file entry:
+
+<PRE>
+define(`Description_43256_dil', `SRAM 32Kx8')
+define(`Param1_43256_dil', 28)
+define(`Param2_43256_dil', 600)
+define(`PinList_43256_dil', ``pin1', `pin2', ...')
+</PRE>
+
+<P>
+And the list file:
+
+<PRE>
+43256_dil:N:43256:62256
+</PRE>
+
+<P>
+The macro must define a description, the pin list and up to two additional
+parameters that are passed to the package definitions. The first one is
+the number of pins whereas the second one defines for example the width
+of a package.
+
+
+<P>
+It is very important to select a unique identifier for each macro. In
+the example this would be <EM>43256_dil</EM> which is also the templates name.
+It is required by some low-level macros that
+<EM>Description_, Param1_, Param2_</EM> and <EM>PinList_</EM> are prepended.
+
+
+<P>
+The list file uses a syntax:
+
+<PRE>
+template:package:value[:more values]
+</PRE>
+
+<P>
+This means that the shown example will create two element entries with the
+sam package and pinout but with different names.
+
+
+<P>
+A number of packages are defined in <TT>`common.m4'</TT>. Included are:
+
+
+
+<PRE>
+DIL packages with suffix D, DW, J, JD, JG, N, NT, P
+PLCC
+TO3
+generic connectors
+DIN 41.612 connectors
+zick-zack (SD suffix)
+15 pin multiwatt
+</PRE>
+
+<P>
+If you are going to start your own library please take care about <CODE>m4</CODE>
+functions. Be aware of quoting and so on and, most important check your
+additional entry by calling the macro:
+
+
+
+<PRE>
+CreateObject(`template', `value', `package suffix')
+</PRE>
+
+<P>
+If quoting is incorrect an endless loop may occur (broken by a out-of-memory
+message).
+
+
+<P>
+The scripts in the <TT>`lib'</TT> directory handle the creation of libraries
+as well as of their contents files. Querying is also supported.
+
+
+<P>
+I know quite well that this description of the library implementation is
+not what some out there expect. But in my opinion it's much more useful to
+look at the comments and follow the macros step by step.
+
+
+
+
+<H1><A NAME="SEC51" HREF="pcb_toc.html#TOC51">Installation and Troubleshooting</A></H1>
+<P>
+Compiling and installing the package should be straightforward. If any problems
+occur, please contact the author (Thomas.Nau@rz.uni-ulm.de) to find
+a solution and include it into the next release.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC52">compiling</A>: Compiling and installing.
+<LI><A HREF="pcb.html#SEC56">problems</A>: Troubleshooting.
+</UL>
+
+<P>
+<A NAME="IDX674"></A>
+<A NAME="IDX675"></A>
+
+
+<H2><A NAME="SEC52" HREF="pcb_toc.html#TOC52">Compiling and Installing</A></H2>
+<P>
+This section covers the steps which are necessary to compile the package.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC53">config.h</A>: Editing <TT>`config.h'</TT> options.
+<LI><A HREF="pcb.html#SEC54">manuals</A>: Creating the man page, info file and this manual.
+<LI><A HREF="pcb.html#SEC55">make</A>: Creating the <TT>`Makefile'</TT>, compiling and installing.
+</UL>
+
+<P>
+<A NAME="IDX676"></A>
+<A NAME="IDX677"></A>
+<A NAME="IDX678"></A>
+
+
+<H3><A NAME="SEC53" HREF="pcb_toc.html#TOC53">Editing config.h</A></H3>
+<P>
+Most <CODE>X11</CODE> related options are automatically covered by <CODE>imake</CODE>
+which is called from <CODE>xmkmf</CODE>. The ones special to <CODE>Pcb</CODE>
+have to be edited in <TT>`config.h'</TT>.
+In order of appearance:
+
+
+<DL COMPACT>
+
+<DT><SAMP>`INFOLIBDIR'</SAMP>
+<DD>
+<A NAME="IDX679"></A>
+
+must be set to the directory where your GNU info files are located.
+
+<A NAME="IDX680"></A>
+<DT><SAMP>`/usr/X11R6/lib/X11/pcb'</SAMP>
+<DD>
+is the path of a directory where the font files will be installed.
+
+<A NAME="IDX681"></A>
+<DT><SAMP>`DEFAULTFONT'</SAMP>
+<DD>
+the name of the default font file.
+
+<A NAME="IDX682"></A>
+<DT><SAMP>`DEFAULTLIBRARY'</SAMP>
+<DD>
+the name of the default library.
+
+<A NAME="IDX683"></A>
+<DT><SAMP>`gm4'</SAMP>
+<DD>
+the name of GNUs m4 version.
+
+<A NAME="IDX684"></A>
+<DT><SAMP>`Mod1'</SAMP>
+<DD>
+If your window manager has already bound <EM>Mod1</EM> together with some
+function keys you may want to change this setting. This is true for HP-VUE.
+
+<A NAME="IDX685"></A>
+<DT><SAMP>`EXTRA_INCLUDES'</SAMP>
+<DD>
+Some systems do not have the Athena Widget include files in their normal
+place as configured by <CODE>X11</CODE>s config files. Define this as follows:
+
+<PRE>
+ EXTRA_INCLUDES = -I/usr/openwin/share/include
+</PRE>
+
+This is probably true for Suns which use <CODE>OpenWindows</CODE>.
+
+<A NAME="IDX686"></A>
+<DT><SAMP>`PATCHES'</SAMP>
+<DD>
+This symbol is passed to the compiler. Use it to define additional compiler
+flags.
+Add the <EM>-DNEED_STRDUP</EM> flag, if your system does not have a strdup()
+library function.
+
+<A NAME="IDX687"></A>
+<DT><SAMP>`HAS_REGEX'</SAMP>
+<DD>
+Set to <EM>-DHAS_REGEX</EM> if your system supports regular expressions.
+This enables the actions <EM>Select(*ByName)</EM>.
+
+<A NAME="IDX688"></A>
+<A NAME="IDX689"></A>
+<DT><SAMP>`EXITCALL'</SAMP>
+<DD>
+The symbol <EM>EXITCALL</EM> should be defined according to the
+<EM>call on exit</EM> functions supported by your system. There are three
+choices:
+
+<PRE>
+ EXITCALL = -DHAS_ATEXIT if atexit() is supported (SYSV)
+ EXITCALL = -DHAS_ON_EXIT if on_exit() and no atexit() is supported
+ EXITCALL = if none of them is supported
+</PRE>
+
+Please check your manpages for details.
+
+<A NAME="IDX690"></A>
+<DT><SAMP>`SYS_LIBRARIES'</SAMP>
+<DD>
+This symbol is used to pass additional libraries to the linker. The only
+additional libraries which are used are the math and lex library.
+
+</DL>
+
+<P>
+If you have to make system dependent changes please include them into a
+<EM>#ifdef Architecture</EM> ... <EM>#endif</EM> construct and mail a copy to
+the author (Thomas.Nau@rz.uni-ulm.de).
+
+
+<P>
+Now run <CODE>xmkmf -a</CODE> which creates the <TT>`Makefiles'</TT> and runs
+<CODE>make depend</CODE>. This should finish without any problems except some
+systems which complain about missing include files. Don't worry about any
+such warnings at this time, the package should compile without any problems.
+
+
+<P>
+<A NAME="IDX691"></A>
+<A NAME="IDX692"></A>
+<A NAME="IDX693"></A>
+<A NAME="IDX694"></A>
+
+
+<H3><A NAME="SEC54" HREF="pcb_toc.html#TOC54">Manuals</A></H3>
+<P>
+After <CODE>xmkmf -a</CODE> has created the new <TT>`Makefile'</TT> you are able to
+create the manpages, the application resource, the info file, the
+<CODE>TeX</CODE> output and a reference card by executing
+
+<PRE>
+ (cd doc; make)
+ (cd src; make Pcb.ad)
+</PRE>
+
+<P>
+You'll need <CODE>TeX</CODE>, <CODE>texindex</CODE> and, if you want <CODE>PostScript</CODE>,
+<CODE>dvips</CODE> to build the manuals. Preformatted documentation for the
+default configuration may be found in the <TT>`./doc.ps'</TT> directory.
+A simple <EM>make</EM> builds everything.
+Generate a printed copy to make your life easier.
+<CODE>TeX-3.0</CODE> failed, <CODE>TeX-3.14</CODE> worked just fine.
+
+
+<P>
+<A NAME="IDX695"></A>
+
+
+<H3><A NAME="SEC55" HREF="pcb_toc.html#TOC55">Compiling the Package</A></H3>
+<P>
+After reaching this point, it is time for <CODE>make</CODE>. It should build
+everything without any errors.
+If it doesn't refer to section <A HREF="pcb.html#SEC56">Troubleshooting</A>.
+
+
+<P>
+You have to be root to install the package or at least a user with
+the appropriate priveleges in some <CODE>X11</CODE> directories. Set the umask to
+<EM>022</EM> or else some files will not be found because the directory isn't
+world readable.
+
+
+<P>
+If you do not have the appropriate permissions you should run
+<TT>`./pcbtest.sh'</TT> in the <TT>`src'</TT> directory to run <CODE>Pcb</CODE> from
+the installation directory.
+
+
+<P>
+<CODE>make install</CODE> and <CODE>make install.man</CODE> install the program,
+the fonts, the application default resource file, all element and package
+data as well as the manpage into the <CODE>X11</CODE> directories.
+<CODE>make install.info</CODE> does the same for the <CODE>GNU</CODE> info file.
+
+
+<P>
+<A NAME="IDX696"></A>
+<A NAME="IDX697"></A>
+
+
+<H2><A NAME="SEC56" HREF="pcb_toc.html#TOC56">Troubleshooting</A></H2>
+<P>
+There are some known problems. Most of them are related to
+missing parts of a standard <CODE>X11</CODE> distribution. Some others are caused by
+third party applications such as <CODE>X</CODE> servers. To make this list more
+complete please mail your problems and, if available, solutions to the author.
+The mail address may be found at the beginning of this chapter.
+In any case, read section <A HREF="pcb.html#SEC64">Problems related to X11</A>.
+
+
+<P>
+By the way, you <CODE>MUST HAVE AN ANSI COMPILER</CODE> to make <CODE>Pcb</CODE> work.
+
+
+<P>
+If the shell script <CODE>create_sed_script.sh</CODE> fails with an error
+of <CODE>awk</CODE> check your system for <CODE>nawk</CODE> or get the <CODE>GNU gawk</CODE>.
+See the script for details.
+
+
+<P>
+Another source of problems are older versions of <CODE>flex</CODE> and <CODE>bison</CODE>.
+<CODE>Pcb</CODE> definitely works with <CODE>flex-2.4.7</CODE> and <CODE>bison-1.22</CODE> or
+later. The problems will result in a <EM>syntax error</EM> while parsing files.
+You will have to add <EM>-lfl</EM> to the SYS_LIBRARIES identifier in
+<TT>`Imakefile'</TT>. See also, section <A HREF="pcb.html#SEC63">FreeBSD and NetBSD</A>.
+
+
+<P>
+The following list gives you just an idea because I'm not able to test
+all <CODE>Pcb</CODE> releases on all platforms.
+
+
+
+<UL>
+<LI><A HREF="pcb.html#SEC57">HP</A>: Hewlett-Packard series 700 and 800 running HP-UX 10.*
+<LI><A HREF="pcb.html#SEC58">Sun</A>: Sun, Solaris 2.5
+<LI><A HREF="pcb.html#SEC59">SGI</A>: SGI, IRIX 5.3 and 6.*
+<LI><A HREF="pcb.html#SEC60">DEC Alpha</A>: DEC Alpha, DEC UNIX 3.2c and 4.0
+<LI><A HREF="pcb.html#SEC61">SCO</A>: SCO Unix ODT 3.0, PC hardware
+<LI><A HREF="pcb.html#SEC62">Linux</A>: Linux 0.99pl14 and later
+<LI><A HREF="pcb.html#SEC63">FreeBSD</A>: FreeBSD, NetBSD ...
+<LI><A HREF="pcb.html#SEC64">X11</A>: Refers to <CODE>X11R4</CODE>, <CODE>X11R5</CODE>, and <CODE>OpenWindows</CODE>
+<LI><A HREF="pcb.html#SEC65">TeX and Manuals</A>: Problems creating the <TT>`pcb.dvi'</TT>
+</UL>
+
+<P>
+<A NAME="IDX698"></A>
+<A NAME="IDX699"></A>
+<A NAME="IDX700"></A>
+
+
+<H3><A NAME="SEC57" HREF="pcb_toc.html#TOC57">HP Series 700 and 800</A></H3>
+<P>
+You have to install several <CODE>X11</CODE> tools (<CODE>imake</CODE>) and include files
+or, better, install a complete <CODE>X11R5</CODE> release. Hewlett-Packard doesn't
+support the Athena Widgets. So the header files and libraries are missing
+from the application media, but they are available as a patch.
+They also do not ship the <CODE>ANSI</CODE> compiler with the normal operating
+system release so you have to buy one or use <CODE>GCC</CODE>.
+Some of the tools are available as patches.
+
+
+<P>
+In addition, <CODE>Pcb</CODE> has been successfully tested on these platforms with
+<CODE>HPUX 9.*, 10.*</CODE> running self-compiled <CODE>X11R5</CODE>.
+
+
+<P>
+<A NAME="IDX701"></A>
+<A NAME="IDX702"></A>
+<A NAME="IDX703"></A>
+<A NAME="IDX704"></A>
+
+
+<H3><A NAME="SEC58" HREF="pcb_toc.html#TOC58">Sun SPARC architecture</A></H3>
+<P>
+There are no known problems with Sun machines if they use <CODE>X11R5</CODE> instead
+of <CODE>OpenWindows</CODE>. <CODE>Pcb</CODE> compiled successfully with all kinds of
+SPARCstations <CODE>Solaris-2.[345]</CODE>.
+
+
+<P>
+For problems with <CODE>OpenWindows</CODE> refer to section <A HREF="pcb.html#SEC64">Problems related to X11</A>.
+
+
+<P>
+If <CODE>xmkmf</CODE> is missing, try
+
+<PRE>
+ /usr/openwin/bin/imake -DUseInstalled -I/usr/openwin/lib/config
+ make Makefile
+ make includes
+ make depend
+</PRE>
+
+<P>
+instead. I got it compiled but the linker complained about missing symbols.
+The problem may be related to the mixed <CODE>OpenWindows</CODE> - <CODE>X11R5</CODE>
+environment which is installed on the test machine.
+Anyway the code was executable and I haven't got a core yet.
+
+
+<P>
+<A NAME="IDX705"></A>
+<A NAME="IDX706"></A>
+<A NAME="IDX707"></A>
+
+
+<H3><A NAME="SEC59" HREF="pcb_toc.html#TOC59">Silicon Graphics</A></H3>
+<P>
+<CODE>Pcb</CODE> has been tested on some boxes running either <CODE>IRIX-4.0.5</CODE> or
+<CODE>IRIX-5.3</CODE>. The former one uses a <CODE>X11R4</CODE> server.
+There are no problems except some additionally needed
+compiler flags. For known problems
+with <CODE>X11R4</CODE>, see section <A HREF="pcb.html#SEC64">Problems related to X11</A>. Check <TT>`Imakefile'</TT>, too.
+
+
+<P>
+<A NAME="IDX708"></A>
+<A NAME="IDX709"></A>
+<A NAME="IDX710"></A>
+
+
+<H3><A NAME="SEC60" HREF="pcb_toc.html#TOC60">DEC Alpha</A></H3>
+<P>
+<CODE>Pcb</CODE> compiled and runs without problems on <CODE>DEC UNIX V3.2c</CODE> if you
+do the following instead of calling <CODE>xmkmf -a</CODE>:
+
+<PRE>
+ xmkmf
+ make Makefiles
+ make includes
+ make depend
+</PRE>
+
+<P>
+<A NAME="IDX711"></A>
+<A NAME="IDX712"></A>
+<A NAME="IDX713"></A>
+
+
+<H3><A NAME="SEC61" HREF="pcb_toc.html#TOC61">SCO Unix</A></H3>
+<P>
+John DuBois &#60;spcecdt@deeptht.armory.com&#62; wrote:
+
+<PRE>
+<CODE>SCO-ODT-3.0</CODE> requires the latest version of tls003, the Athena
+widget library (available from sosco.sco.com). The main problems
+I have encountered are it core dumps fairly often, especially
+while loading/dropping elements...
+</PRE>
+
+<P>
+I'll see what I am able to do as soon as I have access to an <CODE>SCO</CODE> system.
+
+
+<P>
+<A NAME="IDX714"></A>
+<A NAME="IDX715"></A>
+<A NAME="IDX716"></A>
+
+
+<H3><A NAME="SEC62" HREF="pcb_toc.html#TOC62">Linux</A></H3>
+<P>
+Since the <CODE>X11</CODE> version of <CODE>Pcb</CODE> has been developed on a Linux
+system here are no known problems.
+
+
+<P>
+<A NAME="IDX717"></A>
+<A NAME="IDX718"></A>
+<A NAME="IDX719"></A>
+
+
+<H3><A NAME="SEC63" HREF="pcb_toc.html#TOC63">FreeBSD and NetBSD</A></H3>
+<P>
+If <CODE>Pcb</CODE> complains about syntax errors even in the demo files get
+rid of your <CODE>lex</CODE> and <CODE>yacc</CODE> implementation. Replace them by
+<CODE>GNU flex</CODE> and <CODE>bison</CODE>. Don't forget to change the SYS_LIBRARIES
+in <TT>`Imakefile'</TT> from <EM>-ll</EM> to <EM>-lfl</EM>. You also need to define:
+
+<PRE>
+ YACC = bison -y
+ LEX = flex
+</PRE>
+
+<P>
+<A NAME="IDX720"></A>
+
+
+<H3><A NAME="SEC64" HREF="pcb_toc.html#TOC64">Problems related to X11</A></H3>
+<P>
+There are a some problems related to <CODE>X11R4</CODE> or systems derived from
+<CODE>X11</CODE> such as <CODE>OpenWindows</CODE>. See section <A HREF="pcb.html#SEC58">Sun SPARC architecture</A>. You at least have to change
+all occurances of <EM>baseTranslations</EM> in the resource files to
+<EM>translations</EM> if you are using a <CODE>X11R4</CODE> server. Look at the
+<CODE>X11R5</CODE> <EM>Intrinsics</EM> manual for details.
+
+
+<P>
+The panner widget (print dialog box) appears only in release <CODE>X11R5</CODE> and
+later. It really simplifies adjusting the offsets.
+With earlier releases the printout will always appear in the center of the
+page.
+
+
+<P>
+You may have some problems in a mixed <CODE>X11-OpenWindows</CODE>
+environment.
+If you want to try it anyway you have to add an additional path for
+include files and define another symbol in <TT>`Imakefile'</TT>,
+
+<PRE>
+ EXTRA_INCLUDES = -I/usr/openwin/include
+</PRE>
+
+<P>
+<CODE>Pcb</CODE> has been tested successfully with <CODE>X11R6</CODE> under Linux 1.1.59
+and later.
+
+
+<P>
+<A NAME="IDX721"></A>
+
+
+<H3><A NAME="SEC65" HREF="pcb_toc.html#TOC65">Problems related to TeX</A></H3>
+<P>
+If your <CODE>TeX</CODE> installation complains about a missing <TT>`texinfo.tex'</TT>
+file copy the one included in this release (directory <TT>`doc'</TT>
+to your <CODE>TeX</CODE> macro directory.
+Note, there are probably newer versions of this file available from some
+FTP sites.
+<CODE>TeX-3.0</CODE> failed, <CODE>TeX-3.14</CODE> worked just fine. Check our FTP server
+<EM>ftp.uni-ulm.de</EM> for ready-to-print versions of the manuals.
+
+
+
+
+<H1><A NAME="SEC66" HREF="pcb_toc.html#TOC66">Index of Resources</A></H1>
+<P>
+Jump to:
+<A HREF="#vindex_/">/</A>
+-
+<A HREF="#vindex_a">a</A>
+-
+<A HREF="#vindex_b">b</A>
+-
+<A HREF="#vindex_c">c</A>
+-
+<A HREF="#vindex_d">d</A>
+-
+<A HREF="#vindex_e">e</A>
+-
+<A HREF="#vindex_f">f</A>
+-
+<A HREF="#vindex_g">g</A>
+-
+<A HREF="#vindex_h">h</A>
+-
+<A HREF="#vindex_i">i</A>
+-
+<A HREF="#vindex_l">l</A>
+-
+<A HREF="#vindex_m">m</A>
+-
+<A HREF="#vindex_o">o</A>
+-
+<A HREF="#vindex_p">p</A>
+-
+<A HREF="#vindex_r">r</A>
+-
+<A HREF="#vindex_s">s</A>
+-
+<A HREF="#vindex_t">t</A>
+-
+<A HREF="#vindex_u">u</A>
+-
+<A HREF="#vindex_v">v</A>
+-
+<A HREF="#vindex_w">w</A>
+-
+<A HREF="#vindex_z">z</A>
+<P>
+<H2><A NAME="vindex_/">/</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX680">/usr/X11R6/lib/X11/pcb</A>
+</DIR>
+<H2><A NAME="vindex_a">a</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX283">absoluteGrid</A>
+<LI><A HREF="pcb.html#IDX285">alignmentDistance</A>
+<LI><A HREF="pcb.html#IDX160">allDirectionLines</A>, <A HREF="pcb.html#IDX287">allDirectionLines</A>
+</DIR>
+<H2><A NAME="vindex_b">b</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX165">backupInterval</A>, <A HREF="pcb.html#IDX290">backupInterval</A>
+<LI><A HREF="pcb.html#IDX292">bloat</A>
+</DIR>
+<H2><A NAME="vindex_c">c</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX168">charactersPerLine</A>, <A HREF="pcb.html#IDX295">charactersPerLine</A>
+<LI><A HREF="pcb.html#IDX299">connectedColor</A>
+<LI><A HREF="pcb.html#IDX302">crosshairColor</A>
+</DIR>
+<H2><A NAME="vindex_d">d</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX174">default font</A>
+<LI><A HREF="pcb.html#IDX681">DEFAULTFONT</A>
+<LI><A HREF="pcb.html#IDX682">DEFAULTLIBRARY</A>
+</DIR>
+<H2><A NAME="vindex_e">e</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX305">elementColor</A>
+<LI><A HREF="pcb.html#IDX178">elementCommand</A>, <A HREF="pcb.html#IDX309">elementCommand</A>, <A HREF="pcb.html#IDX651">elementCommand</A>
+<LI><A HREF="pcb.html#IDX372">elementContentsCommand</A>
+<LI><A HREF="pcb.html#IDX316">elementPath</A>
+<LI><A HREF="pcb.html#IDX306">elementSelectedColor</A>
+<LI><A HREF="pcb.html#IDX688">EXITCALL</A>, <A HREF="pcb.html#IDX689">EXITCALL</A>
+<LI><A HREF="pcb.html#IDX685">EXTRA_INCLUDES</A>
+</DIR>
+<H2><A NAME="vindex_f">f</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX185">fileCommand</A>, <A HREF="pcb.html#IDX321">fileCommand</A>, <A HREF="pcb.html#IDX652">fileCommand</A>
+<LI><A HREF="pcb.html#IDX328">filePath</A>
+<LI><A HREF="pcb.html#IDX192">fontCommand</A>, <A HREF="pcb.html#IDX333">fontCommand</A>, <A HREF="pcb.html#IDX653">fontCommand</A>
+<LI><A HREF="pcb.html#IDX173">fontFile</A>, <A HREF="pcb.html#IDX341">fontFile</A>
+<LI><A HREF="pcb.html#IDX344">fontPath</A>
+</DIR>
+<H2><A NAME="vindex_g">g</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX683">gm4</A>
+<LI><A HREF="pcb.html#IDX350">grid</A>
+<LI><A HREF="pcb.html#IDX353">gridColor</A>
+</DIR>
+<H2><A NAME="vindex_h">h</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX687">HAS_REGEX</A>
+</DIR>
+<H2><A NAME="vindex_i">i</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX679">INFOLIBDIR</A>
+<LI><A HREF="pcb.html#IDX356">invisibleObjectsColor</A>
+</DIR>
+<H2><A NAME="vindex_l">l</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX359">layerColor</A>
+<LI><A HREF="pcb.html#IDX200">layerGroups</A>, <A HREF="pcb.html#IDX363">layerGroups</A>
+<LI><A HREF="pcb.html#IDX366">layerName</A>
+<LI><A HREF="pcb.html#IDX360">layerSelectedColor</A>
+<LI><A HREF="pcb.html#IDX210">libraryCommand</A>, <A HREF="pcb.html#IDX368">libraryCommand</A>, <A HREF="pcb.html#IDX654">libraryCommand</A>
+<LI><A HREF="pcb.html#IDX216">libraryContentsCommand</A>, <A HREF="pcb.html#IDX655">libraryContentsCommand</A>
+<LI><A HREF="pcb.html#IDX204">libraryFilename</A>, <A HREF="pcb.html#IDX376">libraryFilename</A>
+<LI><A HREF="pcb.html#IDX207">libraryPath</A>, <A HREF="pcb.html#IDX379">libraryPath</A>
+<LI><A HREF="pcb.html#IDX383">lineThickness</A>
+</DIR>
+<H2><A NAME="vindex_m">m</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX387">media</A>
+<LI><A HREF="pcb.html#IDX684">Mod1</A>
+</DIR>
+<H2><A NAME="vindex_o">o</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX391">offLimitColor</A>
+</DIR>
+<H2><A NAME="vindex_p">p</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX686">PATCHES</A>
+<LI><A HREF="pcb.html#IDX394">pinColor</A>
+<LI><A HREF="pcb.html#IDX398">pinoutFont0..4</A>
+<LI><A HREF="pcb.html#IDX224">pinoutNameLength</A>, <A HREF="pcb.html#IDX401">pinoutNameLength</A>
+<LI><A HREF="pcb.html#IDX405">pinoutOffsetX</A>
+<LI><A HREF="pcb.html#IDX406">pinoutOffsetY</A>
+<LI><A HREF="pcb.html#IDX408">pinoutTextOffsetX</A>
+<LI><A HREF="pcb.html#IDX409">pinoutTextOffsetY</A>
+<LI><A HREF="pcb.html#IDX229">pinoutZoom</A>, <A HREF="pcb.html#IDX411">pinoutZoom</A>
+<LI><A HREF="pcb.html#IDX395">pinSelectedColor</A>
+<LI><A HREF="pcb.html#IDX414">printCommand</A>
+</DIR>
+<H2><A NAME="vindex_r">r</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX416">raiseLogWindow</A>
+<LI><A HREF="pcb.html#IDX419">ratCommand</A>
+<LI><A HREF="pcb.html#IDX422">ratPath</A>
+<LI><A HREF="pcb.html#IDX233">resetAfterElement</A>, <A HREF="pcb.html#IDX425">resetAfterElement</A>
+<LI><A HREF="pcb.html#IDX238">ringBellWhenFinished</A>, <A HREF="pcb.html#IDX428">ringBellWhenFinished</A>
+<LI><A HREF="pcb.html#IDX242">routeStyle</A>, <A HREF="pcb.html#IDX430">routeStyle</A>
+<LI><A HREF="pcb.html#IDX432">rubberBandMode</A>
+</DIR>
+<H2><A NAME="vindex_s">s</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX259">saveCommand</A>, <A HREF="pcb.html#IDX436">saveCommand</A>, <A HREF="pcb.html#IDX656">saveCommand</A>
+<LI><A HREF="pcb.html#IDX250">saveInTMP</A>, <A HREF="pcb.html#IDX443">saveInTMP</A>
+<LI><A HREF="pcb.html#IDX245">saveLastCommand</A>, <A HREF="pcb.html#IDX450">saveLastCommand</A>
+<LI><A HREF="pcb.html#IDX453">shrink</A>
+<LI><A HREF="pcb.html#IDX266">size</A>, <A HREF="pcb.html#IDX456">size</A>
+<LI><A HREF="pcb.html#IDX459">stipplePolygons</A>
+<LI><A HREF="pcb.html#IDX690">SYS_LIBRARIES</A>
+</DIR>
+<H2><A NAME="vindex_t">t</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX462">textScale</A>
+</DIR>
+<H2><A NAME="vindex_u">u</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX465">useLogWindow</A>
+</DIR>
+<H2><A NAME="vindex_v">v</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX468">viaColor</A>
+<LI><A HREF="pcb.html#IDX473">viaDrillingHole</A>
+<LI><A HREF="pcb.html#IDX469">viaSelectedColor</A>
+<LI><A HREF="pcb.html#IDX472">viaThickness</A>
+<LI><A HREF="pcb.html#IDX270">volume</A>, <A HREF="pcb.html#IDX477">volume</A>
+</DIR>
+<H2><A NAME="vindex_w">w</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX480">warnColor</A>
+</DIR>
+<H2><A NAME="vindex_z">z</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX483">zoom</A>
+</DIR>
+
+
+
+
+<H1><A NAME="SEC67" HREF="pcb_toc.html#TOC67">Index of Actions, Commands and Options</A></H1>
+<P>
+Jump to:
+<A HREF="#findex_+">+</A>
+-
+<A HREF="#findex_-">-</A>
+-
+<A HREF="#findex_:">:</A>
+-
+<A HREF="#findex_a">a</A>
+-
+<A HREF="#findex_b">b</A>
+-
+<A HREF="#findex_c">c</A>
+-
+<A HREF="#findex_d">d</A>
+-
+<A HREF="#findex_e">e</A>
+-
+<A HREF="#findex_l">l</A>
+-
+<A HREF="#findex_m">m</A>
+-
+<A HREF="#findex_n">n</A>
+-
+<A HREF="#findex_p">p</A>
+-
+<A HREF="#findex_q">q</A>
+-
+<A HREF="#findex_r">r</A>
+-
+<A HREF="#findex_s">s</A>
+-
+<A HREF="#findex_t">t</A>
+-
+<A HREF="#findex_u">u</A>
+<P>
+<H2><A NAME="findex_+">+</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX164">+alldirections</A>
+<LI><A HREF="pcb.html#IDX235">+reset</A>
+<LI><A HREF="pcb.html#IDX240">+ring</A>
+<LI><A HREF="pcb.html#IDX249">+s</A>
+<LI><A HREF="pcb.html#IDX252">+save</A>
+</DIR>
+<H2><A NAME="findex_-">-</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX163">-alldirections</A>
+<LI><A HREF="pcb.html#IDX167">-backup</A>
+<LI><A HREF="pcb.html#IDX172">-c</A>
+<LI><A HREF="pcb.html#IDX274">-copyright</A>
+<LI><A HREF="pcb.html#IDX175">-fontfile</A>
+<LI><A HREF="pcb.html#IDX279">-help</A>
+<LI><A HREF="pcb.html#IDX179">-lelement</A>
+<LI><A HREF="pcb.html#IDX186">-lfile</A>
+<LI><A HREF="pcb.html#IDX199">-lfont</A>
+<LI><A HREF="pcb.html#IDX203">-lg</A>
+<LI><A HREF="pcb.html#IDX205">-libname</A>
+<LI><A HREF="pcb.html#IDX208">-libpath</A>
+<LI><A HREF="pcb.html#IDX215">-llib</A>
+<LI><A HREF="pcb.html#IDX220">-llibcont</A>
+<LI><A HREF="pcb.html#IDX223">-loggeometry</A>
+<LI><A HREF="pcb.html#IDX225">-pnl</A>
+<LI><A HREF="pcb.html#IDX232">-pz</A>
+<LI><A HREF="pcb.html#IDX234">-reset</A>
+<LI><A HREF="pcb.html#IDX239">-ring</A>
+<LI><A HREF="pcb.html#IDX243">-rs</A>
+<LI><A HREF="pcb.html#IDX248">-s</A>
+<LI><A HREF="pcb.html#IDX251">-save</A>
+<LI><A HREF="pcb.html#IDX265">-sfile</A>
+<LI><A HREF="pcb.html#IDX269">-size</A>
+<LI><A HREF="pcb.html#IDX273">-v</A>
+<LI><A HREF="pcb.html#IDX276">-version</A>
+</DIR>
+<H2><A NAME="findex_:">:</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX155">:actionCommand()</A>
+<LI><A HREF="pcb.html#IDX131">:l</A>
+<LI><A HREF="pcb.html#IDX134">:le</A>
+<LI><A HREF="pcb.html#IDX137">:m</A>
+<LI><A HREF="pcb.html#IDX142">:q</A>
+<LI><A HREF="pcb.html#IDX148">:rn</A>
+<LI><A HREF="pcb.html#IDX145">:s</A>
+<LI><A HREF="pcb.html#IDX152">:w[q]</A>
+</DIR>
+<H2><A NAME="findex_a">a</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX490">AddRats()</A>
+<LI><A HREF="pcb.html#IDX494">Atomic()</A>
+</DIR>
+<H2><A NAME="findex_b">b</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX497">Bell()</A>
+</DIR>
+<H2><A NAME="findex_c">c</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX500">ChangeDrillSize()</A>
+<LI><A HREF="pcb.html#IDX504">ChangeHole()</A>
+<LI><A HREF="pcb.html#IDX507">ChangeName()</A>
+<LI><A HREF="pcb.html#IDX511">ChangeOctagon()</A>
+<LI><A HREF="pcb.html#IDX515">ChangeSize()</A>
+<LI><A HREF="pcb.html#IDX519">ChangeSquare()</A>
+<LI><A HREF="pcb.html#IDX523">Command()</A>
+<LI><A HREF="pcb.html#IDX526">Connection()</A>
+</DIR>
+<H2><A NAME="findex_d">d</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX533">DeleteRats()</A>
+<LI><A HREF="pcb.html#IDX537">Display()</A>
+<LI><A HREF="pcb.html#IDX551">DRC()</A>
+</DIR>
+<H2><A NAME="findex_e">e</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX554">EditLayerGroups()</A>
+</DIR>
+<H2><A NAME="findex_l">l</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX557">Load()</A>
+</DIR>
+<H2><A NAME="findex_m">m</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX559">MarkCrosshair()</A>
+<LI><A HREF="pcb.html#IDX562">Mode()</A>
+<LI><A HREF="pcb.html#IDX565">MovePointer()</A>
+<LI><A HREF="pcb.html#IDX568">MoveToCurrentLayer()</A>
+</DIR>
+<H2><A NAME="findex_n">n</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX571">New()</A>
+</DIR>
+<H2><A NAME="findex_p">p</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX574">PasteBuffer()</A>
+<LI><A HREF="pcb.html#IDX581">Polygon()</A>
+<LI><A HREF="pcb.html#IDX585">Print()</A>
+</DIR>
+<H2><A NAME="findex_q">q</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX588">Quit()</A>
+</DIR>
+<H2><A NAME="findex_r">r</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX591">Redo()</A>
+<LI><A HREF="pcb.html#IDX594">RemoveSelected()</A>
+<LI><A HREF="pcb.html#IDX597">Report()</A>
+<LI><A HREF="pcb.html#IDX601">RouteStyle()</A>
+</DIR>
+<H2><A NAME="findex_s">s</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX604">Save()</A>
+<LI><A HREF="pcb.html#IDX607">Select()</A>
+<LI><A HREF="pcb.html#IDX610">SetValue()</A>
+<LI><A HREF="pcb.html#IDX617">SwapSides()</A>
+<LI><A HREF="pcb.html#IDX620">SwitchDrawingLayer()</A>
+</DIR>
+<H2><A NAME="findex_t">t</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX623">ToggleHideName()</A>
+</DIR>
+<H2><A NAME="findex_u">u</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX627">Undo()</A>
+<LI><A HREF="pcb.html#IDX630">Unselect()</A>
+</DIR>
+
+
+
+
+<H1><A NAME="SEC68" HREF="pcb_toc.html#TOC68">Index of Concepts</A></H1>
+<P>
+Jump to:
+<A HREF="#cindex_/">/</A>
+-
+<A HREF="#cindex_a">a</A>
+-
+<A HREF="#cindex_b">b</A>
+-
+<A HREF="#cindex_c">c</A>
+-
+<A HREF="#cindex_d">d</A>
+-
+<A HREF="#cindex_e">e</A>
+-
+<A HREF="#cindex_f">f</A>
+-
+<A HREF="#cindex_g">g</A>
+-
+<A HREF="#cindex_h">h</A>
+-
+<A HREF="#cindex_i">i</A>
+-
+<A HREF="#cindex_k">k</A>
+-
+<A HREF="#cindex_l">l</A>
+-
+<A HREF="#cindex_m">m</A>
+-
+<A HREF="#cindex_n">n</A>
+-
+<A HREF="#cindex_o">o</A>
+-
+<A HREF="#cindex_p">p</A>
+-
+<A HREF="#cindex_q">q</A>
+-
+<A HREF="#cindex_r">r</A>
+-
+<A HREF="#cindex_s">s</A>
+-
+<A HREF="#cindex_t">t</A>
+-
+<A HREF="#cindex_u">u</A>
+-
+<A HREF="#cindex_v">v</A>
+-
+<A HREF="#cindex_x">x</A>
+-
+<A HREF="#cindex_z">z</A>
+<P>
+<H2><A NAME="cindex_/">/</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX100">/tmp</A>, <A HREF="pcb.html#IDX257">/tmp</A>, <A HREF="pcb.html#IDX448">/tmp</A>
+</DIR>
+<H2><A NAME="cindex_a">a</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX27">about, command button</A>
+<LI><A HREF="pcb.html#IDX156">action command</A>
+<LI><A HREF="pcb.html#IDX485">actions</A>
+<LI><A HREF="pcb.html#IDX157">Actions, initiating</A>
+<LI><A HREF="pcb.html#IDX286">alignment</A>
+<LI><A HREF="pcb.html#IDX111">alignment targets</A>
+<LI><A HREF="pcb.html#IDX710">Alpha</A>
+<LI><A HREF="pcb.html#IDX10">arc</A>
+<LI><A HREF="pcb.html#IDX64">arc, an example</A>
+<LI><A HREF="pcb.html#IDX698">architecture</A>, <A HREF="pcb.html#IDX701">architecture</A>, <A HREF="pcb.html#IDX705">architecture</A>, <A HREF="pcb.html#IDX708">architecture</A>, <A HREF="pcb.html#IDX711">architecture</A>, <A HREF="pcb.html#IDX714">architecture</A>
+<LI><A HREF="pcb.html#IDX650">ASCII files, format of</A>
+<LI><A HREF="pcb.html#IDX1">Atari version</A>
+<LI><A HREF="pcb.html#IDX496">atomic</A>
+</DIR>
+<H2><A NAME="cindex_b">b</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX97">backup</A>, <A HREF="pcb.html#IDX166">backup</A>, <A HREF="pcb.html#IDX253">backup</A>, <A HREF="pcb.html#IDX291">backup</A>, <A HREF="pcb.html#IDX444">backup</A>
+<LI><A HREF="pcb.html#IDX657">basic types</A>
+<LI><A HREF="pcb.html#IDX499">bell</A>
+<LI><A HREF="pcb.html#IDX293">bloat</A>
+<LI><A HREF="pcb.html#IDX87">buffer, an example</A>
+<LI><A HREF="pcb.html#IDX84">buffer, convert contents to element</A>
+<LI><A HREF="pcb.html#IDX44">buffer, popup menu</A>
+<LI><A HREF="pcb.html#IDX575">buffer, selecting a</A>
+<LI><A HREF="pcb.html#IDX488">button translations</A>
+</DIR>
+<H2><A NAME="cindex_c">c</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX327">cat</A>, <A HREF="pcb.html#IDX340">cat</A>, <A HREF="pcb.html#IDX442">cat</A>
+<LI><A HREF="pcb.html#IDX538">centering</A>
+<LI><A HREF="pcb.html#IDX21">change active layer</A>
+<LI><A HREF="pcb.html#IDX621">change drawing layer</A>
+<LI><A HREF="pcb.html#IDX509">change object name</A>
+<LI><A HREF="pcb.html#IDX611">change settings</A>
+<LI><A HREF="pcb.html#IDX501">change sizes</A>, <A HREF="pcb.html#IDX516">change sizes</A>
+<LI><A HREF="pcb.html#IDX520">change square flag</A>
+<LI><A HREF="pcb.html#IDX618">change viewing side</A>
+<LI><A HREF="pcb.html#IDX169">characters per line</A>, <A HREF="pcb.html#IDX296">characters per line</A>
+<LI><A HREF="pcb.html#IDX289">clipping lines to 45 degree</A>, <A HREF="pcb.html#IDX550">clipping lines to 45 degree</A>
+<LI><A HREF="pcb.html#IDX162">clipping of lines</A>
+<LI><A HREF="pcb.html#IDX584">closing a polygon</A>
+<LI><A HREF="pcb.html#IDX109">color printout</A>
+<LI><A HREF="pcb.html#IDX482">color, warning</A>
+<LI><A HREF="pcb.html#IDX300">colors</A>, <A HREF="pcb.html#IDX303">colors</A>, <A HREF="pcb.html#IDX307">colors</A>, <A HREF="pcb.html#IDX354">colors</A>, <A HREF="pcb.html#IDX357">colors</A>, <A HREF="pcb.html#IDX361">colors</A>, <A HREF="pcb.html#IDX392">colors</A>, <A HREF="pcb.html#IDX396">colors</A>, <A HREF="pcb.html#IDX470">colors</A>, <A HREF="pcb.html#IDX481">colors</A>
+<LI><A HREF="pcb.html#IDX159">command-line options</A>
+<LI><A HREF="pcb.html#IDX675">compile, how to</A>
+<LI><A HREF="pcb.html#IDX676">config.h</A>
+<LI><A HREF="pcb.html#IDX639">connection, removing an</A>
+<LI><A HREF="pcb.html#IDX301">connections, colors</A>
+<LI><A HREF="pcb.html#IDX120">connections, creating list of</A>
+<LI><A HREF="pcb.html#IDX46">connections, popup menu</A>
+<LI><A HREF="pcb.html#IDX529">connections, reseting</A>
+<LI><A HREF="pcb.html#IDX236">connections, reseting after element</A>, <A HREF="pcb.html#IDX426">connections, reseting after element</A>
+<LI><A HREF="pcb.html#IDX531">connections, searching for</A>
+<LI><A HREF="pcb.html#IDX18">control panel</A>
+<LI><A HREF="pcb.html#IDX648">copy an object</A>
+<LI><A HREF="pcb.html#IDX580">copying objects</A>
+<LI><A HREF="pcb.html#IDX90">copying, an example</A>
+<LI><A HREF="pcb.html#IDX275">copyright</A>
+<LI><A HREF="pcb.html#IDX56">creating objects</A>
+<LI><A HREF="pcb.html#IDX304">cursor color</A>
+<LI><A HREF="pcb.html#IDX567">cursor movements</A>
+<LI><A HREF="pcb.html#IDX561">cursor position</A>
+<LI><A HREF="pcb.html#IDX352">cursor steps</A>
+<LI><A HREF="pcb.html#IDX579">cutting objects</A>
+</DIR>
+<H2><A NAME="cindex_d">d</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX709">DEC</A>
+<LI><A HREF="pcb.html#IDX176">default font</A>, <A HREF="pcb.html#IDX342">default font</A>
+<LI><A HREF="pcb.html#IDX457">default layout size</A>
+<LI><A HREF="pcb.html#IDX377">default library</A>
+<LI><A HREF="pcb.html#IDX464">default text scaling</A>
+<LI><A HREF="pcb.html#IDX634">default translations</A>
+<LI><A HREF="pcb.html#IDX125">design rule checking</A>, <A HREF="pcb.html#IDX552">design rule checking</A>
+<LI><A HREF="pcb.html#IDX105">device, selecting an output</A>
+<LI><A HREF="pcb.html#IDX101">directory /tmp</A>, <A HREF="pcb.html#IDX258">directory /tmp</A>, <A HREF="pcb.html#IDX449">directory /tmp</A>
+<LI><A HREF="pcb.html#IDX461">display</A>
+<LI><A HREF="pcb.html#IDX29">display, popup menu</A>
+<LI><A HREF="pcb.html#IDX30">displaying element names</A>, <A HREF="pcb.html#IDX542">displaying element names</A>
+<LI><A HREF="pcb.html#IDX548">displaying pinout</A>
+<LI><A HREF="pcb.html#IDX16">displaying status information</A>
+<LI><A HREF="pcb.html#IDX117">DOS filenames</A>
+<LI><A HREF="pcb.html#IDX52">drawing objects</A>
+<LI><A HREF="pcb.html#IDX126">drc</A>, <A HREF="pcb.html#IDX294">drc</A>, <A HREF="pcb.html#IDX455">drc</A>, <A HREF="pcb.html#IDX553">drc</A>
+<LI><A HREF="pcb.html#IDX600">drill</A>
+<LI><A HREF="pcb.html#IDX503">drilling hole, changing of objects</A>
+<LI><A HREF="pcb.html#IDX614">drilling hole, setting of initial size</A>
+<LI><A HREF="pcb.html#IDX694">DVI format of manual</A>
+</DIR>
+<H2><A NAME="cindex_e">e</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX625">element name, hiding</A>
+<LI><A HREF="pcb.html#IDX626">element name, removing from silk-screen</A>
+<LI><A HREF="pcb.html#IDX74">element, an example</A>
+<LI><A HREF="pcb.html#IDX6">element, an overview</A>
+<LI><A HREF="pcb.html#IDX308">element, color</A>, <A HREF="pcb.html#IDX358">element, color</A>
+<LI><A HREF="pcb.html#IDX180">element, command</A>, <A HREF="pcb.html#IDX310">element, command</A>
+<LI><A HREF="pcb.html#IDX82">element, creating a new package</A>
+<LI><A HREF="pcb.html#IDX31">element, display names of</A>, <A HREF="pcb.html#IDX543">element, display names of</A>
+<LI><A HREF="pcb.html#IDX662">element, fileformat</A>
+<LI><A HREF="pcb.html#IDX181">element, files</A>, <A HREF="pcb.html#IDX311">element, files</A>, <A HREF="pcb.html#IDX319">element, files</A>
+<LI><A HREF="pcb.html#IDX136">element, loading to buffer</A>
+<LI><A HREF="pcb.html#IDX644">element, move name of</A>
+<LI><A HREF="pcb.html#IDX130">entering user commands</A>
+<LI><A HREF="pcb.html#IDX54">erasing objects</A>
+<LI><A HREF="pcb.html#IDX76">example files</A>
+<LI><A HREF="pcb.html#IDX88">example of buffer handling</A>
+<LI><A HREF="pcb.html#IDX119">example of connection lists</A>
+<LI><A HREF="pcb.html#IDX92">example of copying</A>
+<LI><A HREF="pcb.html#IDX81">example of creating an element</A>
+<LI><A HREF="pcb.html#IDX75">example of element handling</A>
+<LI><A HREF="pcb.html#IDX63">example of line handling</A>
+<LI><A HREF="pcb.html#IDX96">example of loading</A>
+<LI><A HREF="pcb.html#IDX78">example of loading an element file</A>
+<LI><A HREF="pcb.html#IDX91">example of moving</A>
+<LI><A HREF="pcb.html#IDX86">example of pastebuffer handling</A>
+<LI><A HREF="pcb.html#IDX80">example of pin handling</A>
+<LI><A HREF="pcb.html#IDX66">example of polygon handling</A>
+<LI><A HREF="pcb.html#IDX104">example of printing</A>
+<LI><A HREF="pcb.html#IDX68">example of rectangle handling</A>
+<LI><A HREF="pcb.html#IDX95">example of saving</A>
+<LI><A HREF="pcb.html#IDX71">example of text handling</A>
+<LI><A HREF="pcb.html#IDX73">example of via handling</A>
+<LI><A HREF="pcb.html#IDX143">exit</A>, <A HREF="pcb.html#IDX590">exit</A>
+</DIR>
+<H2><A NAME="cindex_f">f</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX664">file format, element data</A>
+<LI><A HREF="pcb.html#IDX667">file format, font data</A>
+<LI><A HREF="pcb.html#IDX661">file format, layout data</A>
+<LI><A HREF="pcb.html#IDX673">file format, libraries</A>
+<LI><A HREF="pcb.html#IDX670">file format, library contents</A>
+<LI><A HREF="pcb.html#IDX649">file formats</A>
+<LI><A HREF="pcb.html#IDX658">file formats, basic types</A>
+<LI><A HREF="pcb.html#IDX187">file load command</A>, <A HREF="pcb.html#IDX322">file load command</A>
+<LI><A HREF="pcb.html#IDX260">file save command</A>, <A HREF="pcb.html#IDX437">file save command</A>
+<LI><A HREF="pcb.html#IDX28">file, popup menu</A>
+<LI><A HREF="pcb.html#IDX193">font command</A>, <A HREF="pcb.html#IDX334">font command</A>
+<LI><A HREF="pcb.html#IDX665">font file, format of</A>
+<LI><A HREF="pcb.html#IDX194">font files</A>, <A HREF="pcb.html#IDX335">font files</A>, <A HREF="pcb.html#IDX347">font files</A>
+<LI><A HREF="pcb.html#IDX4">font, an overview</A>
+<LI><A HREF="pcb.html#IDX399">font, used for pin names</A>
+<LI><A HREF="pcb.html#IDX663">format of element files</A>
+<LI><A HREF="pcb.html#IDX666">format of font files</A>
+<LI><A HREF="pcb.html#IDX660">format of layout files</A>
+<LI><A HREF="pcb.html#IDX672">format of libraries</A>
+<LI><A HREF="pcb.html#IDX669">format of library contents</A>
+<LI><A HREF="pcb.html#IDX717">FreeBSD</A>
+</DIR>
+<H2><A NAME="cindex_g">g</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX24">grid</A>, <A HREF="pcb.html#IDX284">grid</A>, <A HREF="pcb.html#IDX351">grid</A>
+<LI><A HREF="pcb.html#IDX355">grid color</A>
+<LI><A HREF="pcb.html#IDX33">grid, absolute and relative</A>, <A HREF="pcb.html#IDX544">grid, absolute and relative</A>
+<LI><A HREF="pcb.html#IDX32">grid, display</A>, <A HREF="pcb.html#IDX545">grid, display</A>
+<LI><A HREF="pcb.html#IDX613">grid, setting of</A>
+<LI><A HREF="pcb.html#IDX202">groups</A>, <A HREF="pcb.html#IDX365">groups</A>
+<LI><A HREF="pcb.html#IDX556">groups, editing of</A>
+</DIR>
+<H2><A NAME="cindex_h">h</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX700">Hewlett Packard</A>
+<LI><A HREF="pcb.html#IDX624">hide element name</A>
+<LI><A HREF="pcb.html#IDX14">how to start</A>
+<LI><A HREF="pcb.html#IDX699">HP</A>
+</DIR>
+<H2><A NAME="cindex_i">i</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX692">info file</A>
+<LI><A HREF="pcb.html#IDX599">information about objects</A>
+<LI><A HREF="pcb.html#IDX17">input-field, position of</A>
+<LI><A HREF="pcb.html#IDX247">inputfield, saving entered command-line</A>, <A HREF="pcb.html#IDX452">inputfield, saving entered command-line</A>
+<LI><A HREF="pcb.html#IDX525">inputfield, start user input</A>
+<LI><A HREF="pcb.html#IDX674">install, how to</A>
+</DIR>
+<H2><A NAME="cindex_k">k</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX487">key translations</A>
+<LI><A HREF="pcb.html#IDX241">keyboard bell</A>, <A HREF="pcb.html#IDX429">keyboard bell</A>
+</DIR>
+<H2><A NAME="cindex_l">l</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX622">layer, change active</A>
+<LI><A HREF="pcb.html#IDX367">layer, name of</A>
+<LI><A HREF="pcb.html#IDX8">layers, an overview</A>
+<LI><A HREF="pcb.html#IDX20">layers, changing active one</A>
+<LI><A HREF="pcb.html#IDX362">layers, colors</A>
+<LI><A HREF="pcb.html#IDX555">layers, editing of groups</A>
+<LI><A HREF="pcb.html#IDX201">layers, groups</A>, <A HREF="pcb.html#IDX364">layers, groups</A>
+<LI><A HREF="pcb.html#IDX19">layers, switching on/off</A>
+<LI><A HREF="pcb.html#IDX188">layout files</A>, <A HREF="pcb.html#IDX261">layout files</A>, <A HREF="pcb.html#IDX323">layout files</A>, <A HREF="pcb.html#IDX331">layout files</A>, <A HREF="pcb.html#IDX438">layout files</A>
+<LI><A HREF="pcb.html#IDX659">layout files, format of</A>
+<LI><A HREF="pcb.html#IDX147">layout files, saving of</A>, <A HREF="pcb.html#IDX154">layout files, saving of</A>
+<LI><A HREF="pcb.html#IDX2">layout objects, an overview</A>
+<LI><A HREF="pcb.html#IDX268">layout size</A>
+<LI><A HREF="pcb.html#IDX458">layout, default size of</A>
+<LI><A HREF="pcb.html#IDX133">layout, loading a</A>
+<LI><A HREF="pcb.html#IDX140">layout, loading to buffer</A>
+<LI><A HREF="pcb.html#IDX141">layout, merging a</A>
+<LI><A HREF="pcb.html#IDX586">layout, printing a</A>
+<LI><A HREF="pcb.html#IDX572">layout, start a new</A>
+<LI><A HREF="pcb.html#IDX7">layout-name</A>, <A HREF="pcb.html#IDX151">layout-name</A>
+<LI><A HREF="pcb.html#IDX228">length of a pin name</A>, <A HREF="pcb.html#IDX404">length of a pin name</A>
+<LI><A HREF="pcb.html#IDX170">length of outputline</A>
+<LI><A HREF="pcb.html#IDX211">library command</A>, <A HREF="pcb.html#IDX369">library command</A>
+<LI><A HREF="pcb.html#IDX217">library contents command</A>, <A HREF="pcb.html#IDX373">library contents command</A>
+<LI><A HREF="pcb.html#IDX668">library contents file, format of</A>
+<LI><A HREF="pcb.html#IDX671">library file, format of</A>
+<LI><A HREF="pcb.html#IDX206">library name</A>, <A HREF="pcb.html#IDX378">library name</A>
+<LI><A HREF="pcb.html#IDX209">library search path</A>
+<LI><A HREF="pcb.html#IDX382">library searchpath</A>
+<LI><A HREF="pcb.html#IDX51">library window</A>
+<LI><A HREF="pcb.html#IDX161">line clipping</A>
+<LI><A HREF="pcb.html#IDX297">linelength</A>
+<LI><A HREF="pcb.html#IDX62">lines, an example</A>
+<LI><A HREF="pcb.html#IDX9">lines, an overview</A>
+<LI><A HREF="pcb.html#IDX288">lines, clipping to 45 degree</A>, <A HREF="pcb.html#IDX549">lines, clipping to 45 degree</A>
+<LI><A HREF="pcb.html#IDX616">lines, setting of initial size</A>
+<LI><A HREF="pcb.html#IDX384">lines, size</A>
+<LI><A HREF="pcb.html#IDX715">Linux</A>
+<LI><A HREF="pcb.html#IDX298">list of connections</A>
+<LI><A HREF="pcb.html#IDX218">listing libraries</A>
+<LI><A HREF="pcb.html#IDX374">listing library contents</A>
+<LI><A HREF="pcb.html#IDX138">loading a layout to buffer</A>
+<LI><A HREF="pcb.html#IDX182">loading elements</A>, <A HREF="pcb.html#IDX212">loading elements</A>, <A HREF="pcb.html#IDX312">loading elements</A>, <A HREF="pcb.html#IDX320">loading elements</A>, <A HREF="pcb.html#IDX370">loading elements</A>
+<LI><A HREF="pcb.html#IDX135">loading elements to buffer</A>
+<LI><A HREF="pcb.html#IDX558">loading files</A>
+<LI><A HREF="pcb.html#IDX195">loading fonts</A>, <A HREF="pcb.html#IDX336">loading fonts</A>, <A HREF="pcb.html#IDX348">loading fonts</A>
+<LI><A HREF="pcb.html#IDX132">loading layouts</A>, <A HREF="pcb.html#IDX189">loading layouts</A>, <A HREF="pcb.html#IDX324">loading layouts</A>, <A HREF="pcb.html#IDX332">loading layouts</A>
+<LI><A HREF="pcb.html#IDX196">loading symbols</A>, <A HREF="pcb.html#IDX337">loading symbols</A>, <A HREF="pcb.html#IDX349">loading symbols</A>
+<LI><A HREF="pcb.html#IDX93">loading, an example</A>
+<LI><A HREF="pcb.html#IDX49">log window</A>, <A HREF="pcb.html#IDX221">log window</A>, <A HREF="pcb.html#IDX417">log window</A>, <A HREF="pcb.html#IDX466">log window</A>
+</DIR>
+<H2><A NAME="cindex_m">m</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX315">m4</A>
+<LI><A HREF="pcb.html#IDX77">m4, preprocessing example files</A>
+<LI><A HREF="pcb.html#IDX695">make</A>
+<LI><A HREF="pcb.html#IDX678">Makefile</A>
+<LI><A HREF="pcb.html#IDX691">manuals</A>
+<LI><A HREF="pcb.html#IDX560">mark</A>
+<LI><A HREF="pcb.html#IDX388">media</A>
+<LI><A HREF="pcb.html#IDX389">media margin</A>
+<LI><A HREF="pcb.html#IDX114">media, size of</A>
+<LI><A HREF="pcb.html#IDX25">menus</A>
+<LI><A HREF="pcb.html#IDX139">merging layouts</A>
+<LI><A HREF="pcb.html#IDX50">messages</A>, <A HREF="pcb.html#IDX222">messages</A>, <A HREF="pcb.html#IDX418">messages</A>, <A HREF="pcb.html#IDX467">messages</A>
+<LI><A HREF="pcb.html#IDX108">mirroring printout</A>
+<LI><A HREF="pcb.html#IDX22">mode selection</A>
+<LI><A HREF="pcb.html#IDX563">mode, selecting of</A>
+<LI><A HREF="pcb.html#IDX506">mounting holes</A>
+<LI><A HREF="pcb.html#IDX433">move</A>
+<LI><A HREF="pcb.html#IDX647">move an object</A>
+<LI><A HREF="pcb.html#IDX570">moving objects to current layer</A>
+<LI><A HREF="pcb.html#IDX89">moving, an example</A>
+</DIR>
+<H2><A NAME="cindex_n">n</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX541">name of an element</A>
+<LI><A HREF="pcb.html#IDX508">name, change an objects</A>
+<LI><A HREF="pcb.html#IDX226">namelength of pins</A>, <A HREF="pcb.html#IDX402">namelength of pins</A>
+<LI><A HREF="pcb.html#IDX718">NetBSD</A>
+<LI><A HREF="pcb.html#IDX123">netlist</A>, <A HREF="pcb.html#IDX149">netlist</A>, <A HREF="pcb.html#IDX421">netlist</A>, <A HREF="pcb.html#IDX424">netlist</A>, <A HREF="pcb.html#IDX492">netlist</A>, <A HREF="pcb.html#IDX536">netlist</A>
+</DIR>
+<H2><A NAME="cindex_o">o</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX510">object, change name of</A>
+<LI><A HREF="pcb.html#IDX61">object, changing the size of an</A>
+<LI><A HREF="pcb.html#IDX646">object, copy an</A>
+<LI><A HREF="pcb.html#IDX57">object, creating an</A>
+<LI><A HREF="pcb.html#IDX55">object, drawing and removing</A>
+<LI><A HREF="pcb.html#IDX645">object, move an</A>
+<LI><A HREF="pcb.html#IDX59">object, removing an</A>, <A HREF="pcb.html#IDX638">object, removing an</A>
+<LI><A HREF="pcb.html#IDX42">object, selecting an</A>
+<LI><A HREF="pcb.html#IDX569">objects, moving to current layer</A>
+<LI><A HREF="pcb.html#IDX36">objects, popup menu</A>
+<LI><A HREF="pcb.html#IDX514">octagonal pins and vias</A>
+<LI><A HREF="pcb.html#IDX393">off limit color</A>
+<LI><A HREF="pcb.html#IDX410">offset of pinnames</A>
+<LI><A HREF="pcb.html#IDX407">offset of pinout</A>
+<LI><A HREF="pcb.html#IDX115">offset of printout</A>
+<LI><A HREF="pcb.html#IDX704">OpenWindows</A>
+<LI><A HREF="pcb.html#IDX564">operation modes, selecting of</A>
+<LI><A HREF="pcb.html#IDX110">outline printout</A>
+<LI><A HREF="pcb.html#IDX106">output device</A>
+<LI><A HREF="pcb.html#IDX171">outputline, length of</A>
+<LI><A HREF="pcb.html#IDX128">overlap, minimum</A>
+</DIR>
+<H2><A NAME="cindex_p">p</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX85">pastebuffer, an example</A>
+<LI><A HREF="pcb.html#IDX83">pastebuffer, convert contents to element</A>
+<LI><A HREF="pcb.html#IDX45">pastebuffer, popup menu</A>
+<LI><A HREF="pcb.html#IDX576">pastebuffer, selecting a</A>
+<LI><A HREF="pcb.html#IDX318">path for element files</A>
+<LI><A HREF="pcb.html#IDX346">path for font files</A>
+<LI><A HREF="pcb.html#IDX330">path for layout files</A>
+<LI><A HREF="pcb.html#IDX381">path for libraries</A>
+<LI><A HREF="pcb.html#IDX713">PC UNIX</A>, <A HREF="pcb.html#IDX716">PC UNIX</A>, <A HREF="pcb.html#IDX719">PC UNIX</A>
+<LI><A HREF="pcb.html#IDX397">pin color</A>
+<LI><A HREF="pcb.html#IDX227">pin, name of</A>, <A HREF="pcb.html#IDX403">pin, name of</A>
+<LI><A HREF="pcb.html#IDX37">pinout of elements</A>
+<LI><A HREF="pcb.html#IDX547">pinout, display of</A>
+<LI><A HREF="pcb.html#IDX400">pinout, font to display pin names</A>
+<LI><A HREF="pcb.html#IDX230">pinout, zoomfactor of display</A>, <A HREF="pcb.html#IDX412">pinout, zoomfactor of display</A>
+<LI><A HREF="pcb.html#IDX79">pins, an example</A>
+<LI><A HREF="pcb.html#IDX512">pins, changing shape of</A>
+<LI><A HREF="pcb.html#IDX566">pointer, moving of</A>
+<LI><A HREF="pcb.html#IDX460">polygon</A>
+<LI><A HREF="pcb.html#IDX583">polygon point, go back to previous</A>
+<LI><A HREF="pcb.html#IDX65">polygon, an example</A>
+<LI><A HREF="pcb.html#IDX11">polygon, an overview</A>
+<LI><A HREF="pcb.html#IDX582">polygon, closing a</A>
+<LI><A HREF="pcb.html#IDX26">popping up menus</A>
+<LI><A HREF="pcb.html#IDX263">postprocessing layout data</A>, <A HREF="pcb.html#IDX440">postprocessing layout data</A>
+<LI><A HREF="pcb.html#IDX183">preprocessing element data</A>, <A HREF="pcb.html#IDX213">preprocessing element data</A>, <A HREF="pcb.html#IDX313">preprocessing element data</A>
+<LI><A HREF="pcb.html#IDX197">preprocessing font data</A>, <A HREF="pcb.html#IDX338">preprocessing font data</A>
+<LI><A HREF="pcb.html#IDX190">preprocessing layout data</A>, <A HREF="pcb.html#IDX325">preprocessing layout data</A>
+<LI><A HREF="pcb.html#IDX99">preventing loss of data</A>, <A HREF="pcb.html#IDX255">preventing loss of data</A>, <A HREF="pcb.html#IDX446">preventing loss of data</A>
+<LI><A HREF="pcb.html#IDX118">print command</A>
+<LI><A HREF="pcb.html#IDX113">print media</A>, <A HREF="pcb.html#IDX390">print media</A>
+<LI><A HREF="pcb.html#IDX116">print offset</A>
+<LI><A HREF="pcb.html#IDX415">printing</A>
+<LI><A HREF="pcb.html#IDX587">printing a layout</A>
+<LI><A HREF="pcb.html#IDX103">printing, an example</A>
+<LI><A HREF="pcb.html#IDX696">problems</A>
+</DIR>
+<H2><A NAME="cindex_q">q</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX144">quit</A>, <A HREF="pcb.html#IDX589">quit</A>
+</DIR>
+<H2><A NAME="cindex_r">r</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX124">rat-line</A>, <A HREF="pcb.html#IDX493">rat-line</A>, <A HREF="pcb.html#IDX535">rat-line</A>
+<LI><A HREF="pcb.html#IDX122">rats nest</A>, <A HREF="pcb.html#IDX150">rats nest</A>, <A HREF="pcb.html#IDX420">rats nest</A>, <A HREF="pcb.html#IDX423">rats nest</A>, <A HREF="pcb.html#IDX491">rats nest</A>, <A HREF="pcb.html#IDX534">rats nest</A>
+<LI><A HREF="pcb.html#IDX593">recover</A>, <A HREF="pcb.html#IDX629">recover</A>
+<LI><A HREF="pcb.html#IDX67">rectangle, an example</A>
+<LI><A HREF="pcb.html#IDX592">redo</A>
+<LI><A HREF="pcb.html#IDX539">redrawing layout</A>
+<LI><A HREF="pcb.html#IDX540">refreshing layout</A>
+<LI><A HREF="pcb.html#IDX277">release, current</A>
+<LI><A HREF="pcb.html#IDX637">removing connections</A>
+<LI><A HREF="pcb.html#IDX53">removing objects</A>, <A HREF="pcb.html#IDX58">removing objects</A>, <A HREF="pcb.html#IDX636">removing objects</A>
+<LI><A HREF="pcb.html#IDX595">removing selected objects</A>
+<LI><A HREF="pcb.html#IDX598">report</A>
+<LI><A HREF="pcb.html#IDX48">report, popup menu</A>
+<LI><A HREF="pcb.html#IDX237">reseting found connections</A>, <A HREF="pcb.html#IDX427">reseting found connections</A>, <A HREF="pcb.html#IDX530">reseting found connections</A>
+<LI><A HREF="pcb.html#IDX281">resources</A>
+<LI><A HREF="pcb.html#IDX435">rotate</A>
+<LI><A HREF="pcb.html#IDX578">rotating a buffer</A>
+<LI><A HREF="pcb.html#IDX107">rotating printout</A>
+<LI><A HREF="pcb.html#IDX244">routing style</A>, <A HREF="pcb.html#IDX431">routing style</A>, <A HREF="pcb.html#IDX602">routing style</A>
+<LI><A HREF="pcb.html#IDX434">rubberband</A>, <A HREF="pcb.html#IDX546">rubberband</A>
+</DIR>
+<H2><A NAME="cindex_s">s</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX606">saving connections</A>
+<LI><A HREF="pcb.html#IDX605">saving files</A>
+<LI><A HREF="pcb.html#IDX532">saving found connections</A>
+<LI><A HREF="pcb.html#IDX246">saving last entered user command</A>, <A HREF="pcb.html#IDX451">saving last entered user command</A>
+<LI><A HREF="pcb.html#IDX98">saving layouts</A>, <A HREF="pcb.html#IDX146">saving layouts</A>, <A HREF="pcb.html#IDX153">saving layouts</A>, <A HREF="pcb.html#IDX254">saving layouts</A>, <A HREF="pcb.html#IDX262">saving layouts</A>, <A HREF="pcb.html#IDX439">saving layouts</A>, <A HREF="pcb.html#IDX445">saving layouts</A>
+<LI><A HREF="pcb.html#IDX94">saving, an example</A>
+<LI><A HREF="pcb.html#IDX112">scaling a printout</A>
+<LI><A HREF="pcb.html#IDX527">scanning connections</A>
+<LI><A HREF="pcb.html#IDX712">SCO</A>
+<LI><A HREF="pcb.html#IDX640">scrolling</A>, <A HREF="pcb.html#IDX641">scrolling</A>
+<LI><A HREF="pcb.html#IDX528">searching connections</A>
+<LI><A HREF="pcb.html#IDX317">searchpath for element files</A>
+<LI><A HREF="pcb.html#IDX345">searchpath for font files</A>
+<LI><A HREF="pcb.html#IDX329">searchpath for layout files</A>
+<LI><A HREF="pcb.html#IDX380">searchpath for libraries</A>
+<LI><A HREF="pcb.html#IDX596">selected object, removing an</A>
+<LI><A HREF="pcb.html#IDX41">selected objects, changing size</A>
+<LI><A HREF="pcb.html#IDX40">selected objects, removing</A>
+<LI><A HREF="pcb.html#IDX577">selecting a buffer</A>
+<LI><A HREF="pcb.html#IDX23">selecting a new mode</A>
+<LI><A HREF="pcb.html#IDX43">selecting objects</A>, <A HREF="pcb.html#IDX609">selecting objects</A>
+<LI><A HREF="pcb.html#IDX608">selection</A>, <A HREF="pcb.html#IDX631">selection</A>
+<LI><A HREF="pcb.html#IDX121">selection, an example</A>
+<LI><A HREF="pcb.html#IDX39">selection, popup menu</A>
+<LI><A HREF="pcb.html#IDX707">SGI</A>
+<LI><A HREF="pcb.html#IDX454">shrink</A>
+<LI><A HREF="pcb.html#IDX498">signal</A>
+<LI><A HREF="pcb.html#IDX706">Silicon Graphics</A>
+<LI><A HREF="pcb.html#IDX267">size of a layout</A>
+<LI><A HREF="pcb.html#IDX385">size of lines</A>
+<LI><A HREF="pcb.html#IDX603">size of lines and vias</A>
+<LI><A HREF="pcb.html#IDX475">size of vias</A>
+<LI><A HREF="pcb.html#IDX502">sizes, changing of objects</A>, <A HREF="pcb.html#IDX517">sizes, changing of objects</A>
+<LI><A HREF="pcb.html#IDX35">sizes, popup menu</A>
+<LI><A HREF="pcb.html#IDX703">Solaris</A>
+<LI><A HREF="pcb.html#IDX127">spacing, minimum</A>
+<LI><A HREF="pcb.html#IDX271">speaker volume</A>, <A HREF="pcb.html#IDX478">speaker volume</A>
+<LI><A HREF="pcb.html#IDX521">square flag, changing of objects</A>
+<LI><A HREF="pcb.html#IDX524">start user input</A>
+<LI><A HREF="pcb.html#IDX573">starting a new layout</A>
+<LI><A HREF="pcb.html#IDX158">starting <CODE>Pcb</CODE></A>
+<LI><A HREF="pcb.html#IDX15">status information</A>
+<LI><A HREF="pcb.html#IDX70">strings, an example</A>
+<LI><A HREF="pcb.html#IDX13">strings, an overview</A>
+<LI><A HREF="pcb.html#IDX702">Sun</A>
+<LI><A HREF="pcb.html#IDX177">symbols</A>, <A HREF="pcb.html#IDX343">symbols</A>
+<LI><A HREF="pcb.html#IDX3">symbols, an overview</A>
+</DIR>
+<H2><A NAME="cindex_t">t</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX102">temporary files</A>, <A HREF="pcb.html#IDX256">temporary files</A>, <A HREF="pcb.html#IDX447">temporary files</A>
+<LI><A HREF="pcb.html#IDX721">TeX, problems</A>
+<LI><A HREF="pcb.html#IDX693">texinfo file</A>
+<LI><A HREF="pcb.html#IDX69">text, an example</A>
+<LI><A HREF="pcb.html#IDX12">text, an overview</A>
+<LI><A HREF="pcb.html#IDX463">text, default scaling</A>
+<LI><A HREF="pcb.html#IDX38">text, editing</A>
+<LI><A HREF="pcb.html#IDX386">thickness of lines</A>
+<LI><A HREF="pcb.html#IDX60">thickness of objects</A>
+<LI><A HREF="pcb.html#IDX476">thickness of vias</A>
+<LI><A HREF="pcb.html#IDX518">thickness, changing of objects</A>, <A HREF="pcb.html#IDX522">thickness, changing of objects</A>
+<LI><A HREF="pcb.html#IDX486">translations</A>, <A HREF="pcb.html#IDX633">translations</A>
+<LI><A HREF="pcb.html#IDX697">troubleshooting</A>
+</DIR>
+<H2><A NAME="cindex_u">u</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX628">undo</A>
+<LI><A HREF="pcb.html#IDX495">undo, multi-action resources</A>
+<LI><A HREF="pcb.html#IDX47">undo, popup menu</A>
+<LI><A HREF="pcb.html#IDX184">unix command</A>, <A HREF="pcb.html#IDX191">unix command</A>, <A HREF="pcb.html#IDX198">unix command</A>, <A HREF="pcb.html#IDX214">unix command</A>, <A HREF="pcb.html#IDX219">unix command</A>, <A HREF="pcb.html#IDX264">unix command</A>, <A HREF="pcb.html#IDX314">unix command</A>, <A HREF="pcb.html#IDX326">unix command</A>, <A HREF="pcb.html#IDX339">unix command</A>, <A HREF="pcb.html#IDX371">unix command</A>, <A HREF="pcb.html#IDX375">unix command</A>, <A HREF="pcb.html#IDX441">unix command</A>
+<LI><A HREF="pcb.html#IDX632">unselect objects</A>
+<LI><A HREF="pcb.html#IDX129">user commands</A>
+<LI><A HREF="pcb.html#IDX642">user input</A>, <A HREF="pcb.html#IDX643">user input</A>
+</DIR>
+<H2><A NAME="cindex_v">v</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX278">version, current</A>
+<LI><A HREF="pcb.html#IDX72">vias, an example</A>
+<LI><A HREF="pcb.html#IDX5">vias, an overview</A>
+<LI><A HREF="pcb.html#IDX513">vias, changing shape of</A>
+<LI><A HREF="pcb.html#IDX471">vias, color</A>
+<LI><A HREF="pcb.html#IDX505">vias, converting to mounting hole</A>
+<LI><A HREF="pcb.html#IDX615">vias, setting of initial size</A>
+<LI><A HREF="pcb.html#IDX474">vias, size</A>
+<LI><A HREF="pcb.html#IDX619">viewing side, changing of</A>
+<LI><A HREF="pcb.html#IDX272">volume of speaker</A>, <A HREF="pcb.html#IDX479">volume of speaker</A>
+</DIR>
+<H2><A NAME="cindex_x">x</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX280">X11</A>
+<LI><A HREF="pcb.html#IDX635">X11 default translations</A>
+<LI><A HREF="pcb.html#IDX282">X11 resources</A>
+<LI><A HREF="pcb.html#IDX489">X11 translations</A>
+<LI><A HREF="pcb.html#IDX720">X11, problems</A>
+<LI><A HREF="pcb.html#IDX677">xmkmf</A>
+</DIR>
+<H2><A NAME="cindex_z">z</A></H2>
+<DIR>
+<LI><A HREF="pcb.html#IDX484">zoom of drawing window</A>
+<LI><A HREF="pcb.html#IDX231">zoom of pinout window</A>, <A HREF="pcb.html#IDX413">zoom of pinout window</A>
+<LI><A HREF="pcb.html#IDX34">zoom, setting</A>
+<LI><A HREF="pcb.html#IDX612">zoom, setting of</A>
+</DIR>
+
+
+<P><HR><P>
+This document was generated on 31 August 2000 using
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>&nbsp;1.56k.
+</BODY>
+</HTML>
diff --git a/cad/pcb/files/pcb.info b/cad/pcb/files/pcb.info
new file mode 100644
index 00000000000..d206463fd1e
--- /dev/null
+++ b/cad/pcb/files/pcb.info
@@ -0,0 +1,4125 @@
+This is Info file pcb.info, produced by Makeinfo version 1.68 from the
+input file pcb.texi.
+
+INFO-DIR-SECTION PCB Layout Tool
+START-INFO-DIR-ENTRY
+* Pcb: (pcb). PCB Layout Tool.
+END-INFO-DIR-ENTRY
+
+ This file documents how to use Pcb, the interactive printed circuit
+board layout system for `X11'.
+
+ Copyright (C) 1994,1995,1996 Thomas Nau
+
+ This program is free software; you may redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANT-ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+
+File: pcb.info, Node: Top, Next: Copying, Prev: (dir), Up: (dir)
+
+Pcb
+***
+
+ This document is a manual for `Pcb', the interactive printed circuit
+board layout system for `X11'.
+
+* Menu:
+
+* Copying:: `Pcb' is freely redistributable!
+* History:: How it all began.
+* Intro:: A short description of the basic objects.
+* Getting Started:: Introduction to `Pcb'.
+* User Commands:: User commands of `Pcb'.
+* Command-Line Options:: Calling `Pcb' from a shell.
+* X11 Interface:: Action routines, resources and default translation.
+* File Formats:: Description of `ASCII' files used by `Pcb'.
+* Installation:: Compiling, installing and troubleshooting.
+
+
+File: pcb.info, Node: Copying, Next: History, Prev: Top, Up: Top
+
+Copying
+*******
+
+ Copyright (C) 1994,1995,1996,1997 Thomas Nau
+
+ This program is free software; you may redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANT-ABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+
+File: pcb.info, Node: History, Next: Intro, Prev: Copying, Up: Top
+
+History
+*******
+
+ `Pcb' is a handy tool for laying out printed circuit boards. It was
+first written for an Atari ST in 1990 and ported to `UNIX' and `X11' in
+1994. I never had the intention to create another professional layout
+system, but to write a tool which supports people like you who do some
+home-developing of hardware. For this reason it has no auto-router nor
+auto-placement code.
+
+ The second release 1.2 included menus for the first time. This made
+`PCB' easier to use and thus a more important tool.
+
+ Release 1.3 introduced undo for highly-destructive commands, more
+straightforward action handling and scalable fonts. Layer-groups were
+introduced to group signal-layers together.
+
+ Release 1.4 provided support for add-on device drivers. Two layers
+(the solder and the component side) were added to support SMD elements.
+The handling of libraries was also improved in 1.4.1. Support for
+additional devices like GERBER plotters started in 1.4.4. The undo
+feature was expanded and the redo-feature added in 1.4.5.
+
+ Release 1.5 provides support for rats-nest generation from simple net
+lists. It also allows for automatic clearances around pins that pierce
+a polygon. A variety of other enhancments including a Gerber RS274X
+driver and NC drill file generation have also been added. harry eaton
+(haceaton@aplcomm.jhuapl.edu) was responsible for most of the changes
+found in this release.
+
+ Release 1.6 provides automatic screen updates of changed regions.
+This should elliminate most of the need for the redraw (r) key. Also
+some changes to what order items under the cursor are selected were
+made for better consistancy - it is no longer possible to accidentally
+move a line or line point that is completely obscured by a polygon
+laying over top of it. Larger objects on the upper most layers can be
+selected ahead of smaller objects on lower layers. These changes make
+operations more intuitive. A new mode of line creation was added that
+creates two line on 45 degree angles with a single click. The actual
+outline of the prospective line(s) are now shown during line creation.
+An arc creation mode was added. Drawn arcs are quarter circles and can
+be useful for high frequency controlled impedance lines. (You can have
+eighth circle arc if the source is compiled with -DARC45, but be aware
+that the ends of such arcs can never intersect a grid point). Two new
+flags for pins and vias were created - one indicates that the pin or
+via is purely a drill hole and has no copper annulus. You can only
+toggle this flag for vias - for elements, it must be an integral part
+of the element definition. The other flag controls whether the pad
+will be round or octagonal. There is also now a feature for converting
+the contents of a buffer into an element. Vias become the pins (or
+mounting holes), lines and arcs on the solder layer become silkscreen,
+and lines on the component layer become the pads. Action commands
+entered via the colon command entry are no longer proceeded with "a ",
+just type the command directly. Several bugs have also been fixed. New
+ones were probably introduced since extensive changes were made. harry
+eaton was responsible for these changes.
+
+ Release 1.6.1 adds the ability to make groups of action commands
+bound to a single X11 event to be undone by a single undo. Also a
+simple design rule checker was added - it checks for minimum spacing
+and overlap rules. Plus many fixes for bugs introduced with the many
+changes of 1.6 harry is responsible for these changes too.
+
+ Special thanks goes to:
+ Bernhard Daeubler (Bernhard.Daeubler@physik.uni-ulm.de)
+ Harald Daeubler (Harald.Daeubler@physik.uni-ulm.de)
+ Roland Merk (merk@faw.uni-ulm.de)
+ Erland Unruh (Erland.Unruh@malmo.trab.se)
+ Albert John FitzPatrick III (ajf_nylorac@acm.org)
+ Boerge Strand (borges@ifi.uio.no)
+ harry eaton (haceaton@aplcomm.jhuapl.edu)
+ Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu)
+
+ who did most of the alpha and beta testing, helped to port `PCB' to
+ several operating systems and platforms and corrected several typos
+in the manuals. In addition to these, many others donated time for
+bug-fixing and other important work. Some of them can be identified in
+the source code files. Thanks to all of them.
+
+
+File: pcb.info, Node: Intro, Next: Getting Started, Prev: History, Up: Top
+
+Introduction
+************
+
+ Each layout consists of several, mostly independent, objects. This
+chapter gives an overview of the object types and their relationship to
+each other. For a complete description of how to use `Pcb', refer to
+*Note Getting Started::. The layout is generated on-screen on a grid
+that has its origin in the upper left corner of the screen. The x
+coordinate increases to the right, y increases down to the bottom. All
+distances and sizes in `Pcb' are measured in mils (0.001 inch). One
+unit on the display grid is one mil in distance on the board. The
+sections in this chapter are sorted by the order of appearance of the
+objects within a layout file.
+
+* Menu:
+
+* Symbol Objects:: Information about fonts and symbols.
+* Via Objects:: Vias and pins connect layers.
+* Element Objects:: Element, the basic type of circuits.
+* Layer Objects:: A `container' for lines, text...
+* Line Objects::
+* Arc Objects::
+* Polygon Objects::
+* Text Objects:: Objects to add symbols to your board.
+
+
+File: pcb.info, Node: Symbol Objects, Next: Via Objects, Up: Intro
+
+Symbols
+=======
+
+ The top object is the layout itself. It uses a set of symbols that
+resides at the first logical level. Each symbol is uniquely identified
+by a seven bit `ASCII' code. All layout objects share the same set of
+symbols. These symbols are used to form text objects on the silkscreen
+and copper layers. Undefined symbols are drawn as filled rectangles.
+
+ Every font file is preprocessed by a user-defined command when it is
+loaded. For details see `fontCommand', *Note Resources::.
+
+
+File: pcb.info, Node: Via Objects, Next: Element Objects, Prev: Symbol Objects, Up: Intro
+
+Vias
+====
+
+ Vias are identical to the pins used by elements except that they can
+be added or removed individually. The purpose of vias is to provide
+connections between different layers. Don't use vias for adding
+elements to the layout, even if that seems easier than creating a new
+element. Vias are useful for defining arbitrary drill points such as
+those used for mounting a board. You can assign a name to a via even
+though you probably won't ever want to. Vias reside at the first
+logical level; therefore, each via exists on all layers. (*i.e.* blind
+vias are not supported)
+
+
+File: pcb.info, Node: Element Objects, Next: Layer Objects, Prev: Via Objects, Up: Intro
+
+Elements
+========
+
+ Elements represent the components on a board. Elements are loaded
+from `ASCII' coded files in a similar manner to the layout file itself.
+They are composed of lines and arcs on the silk-screen layer (used to
+define the package outline) , pins (or pads for SMD) and three labels
+that define the description, the element's layout-name (which also
+appears on the silk- screen layer) and its value. Element pins are
+contained on the first logical level and so reside on all layers. A
+mark is used to position the element with respect to the cursor
+cross-hair during pasting. SMD elements use pads instead of pins.
+Pads are handled similarly to lines on a layer but they must be oriented
+either vertically or horizontally. Pads can have either rounded or
+square ends. All parts of an element are treated as one unit. It is
+not possible to delete a single pin or break an element into pieces on
+the layout. You can resize separate pieces of an element, but doing so
+is usually a bad idea.
+
+ Elements are supported by several special layers: *silk*,
+*pins/pads* and *far-side*. The *silk* layer shows the package outline
+and also holds legend text and element names. The *pins/pads* layer is
+used to toggle whether the element's pins and pads are displayed. The
+*far-side* layer controls visibility of objects (silkscreen and pads)
+that are on the far (*i.e.* not currently viewed) side of the board.
+
+ Every element file is preprocessed by a user-defined command when
+the file is read. For details see `elementCommand', *Note Resources::.
+`m4', the default value of `elementCommand', allows you to create
+libraries for package definitions that are shared by all elements. The
+element libraries distributed with `Pcb' expect `m4' or an equivalent
+to be the *elementCommand*.
+
+ `Pcb' can create a list of all connections from one (or all)
+elements to the others or a list of unconnected pins. It can also
+verify the layout connections against a netlist file. The element's
+`layout-name' is the name used to identify an element in a netlist file.
+The pin numbering for an element is defined by unique strings assigned
+to each pin. In addition to the "pin number" string, each pin has a
+"name" which describes its function. Previously element pin number was
+established by the order of appearance of the pin definitions in the
+layout or element file. Since the "number" strings for each pin are a
+new feature, if they are absent then the numbering is again established
+by the order of pin appearance in the file. In other words, the first
+pin appearing in the file is pin one, the next pin is pin two and so on.
+Usually the names assigned to pins are simply numbers, but they don't
+have to be. It is only necessary that the "number" string for the pin
+matches exactly the "number" string in the netlist file. Be aware that
+a few of the library parts may still be incorrectly implemented
+regarding pin-numbering. All of the DIL (Dual- Inline-Pins) parts are
+correct and most of the others are too, but you should verify the pin
+numbering of any non-DIL part (use the *Report Menu* to see what `Pcb'
+thinks a pin's number is) before using the rats nest feature with a
+library part. Hopefully sometime soon someone will volunteer to
+cross-check all of the element libraries and make fixes available as
+necessary. `Pcb' can also check a layout to see that it meets minimum
+spacing and overlap rules.
+
+ You can make your own quick-and-dirty element definitions
+graphically now. Simply draw vias for the pins and lines and arcs on a
+solder layer for the silkscreen outline. You should name each via with
+the pin number. If you want to create a SMD device, draw lines for the
+pads on a component side layer (You must draw these in pin number order
+since lines can't be named). They must be either horizontal or vertical
+or they will not be recognized as pads. Once you are happy with the
+geometry, select everything that is to become part of the element, then
+choose "cut to buffer" from the menu. Now select "convert buffer to
+element" from the menu. Viola'! Afterwards you can make pin one
+square (or pads) if you like, and give the element its various names.
+Note that the element mark corresponds to the cut position when
+everything was put into the buffer. If the vias are not named, then the
+pin numbering will correspond to the order in which the vias were
+placed.
+
+
+File: pcb.info, Node: Layer Objects, Next: Line Objects, Prev: Element Objects, Up: Intro
+
+Layers
+======
+
+ Every layout consists of several layers that can be used
+independently or treated as a group. Layer groups can be used to
+logically separate (and color-code) different traces (*e.g.* power and
+signal); however, all layers within a group reside on the same physical
+copper layer of a board, so using different layers within the same
+group won't provide electrical separation where they touch or overlap.
+For details, see `layerGroups', *Note Resources::. Each layer is drawn
+in a color defined in the resource file (for details see `layerColor',
+*Note Resources::) and identified by a name that you can change.
+Layers are really just containers for line, polygon, and text objects.
+The component and solder layers contain SMD elements as well, but the
+file structure doesn't reflect that fact directly. Each layer group
+represents a physical layer on the printed circuit board. If you want
+to make a four layer board, you'll need to have four layer groups.
+Connections between layer groups are established only through element
+pins and vias. The relationship between a specific layer and the board
+itself is configureable from the `Edit layer groups' option in the
+`Objects' menu. The layer groups corresponding to the physical layers
+*component-side* and *solder-side* are always defined, and you must map
+at least one logical layer to each. Of course, you are not obligated
+to put tracks on either of them. SMD-elements always reside on either
+the component-side or the solder-side layer group. You can swap which
+side of the board you are viewing by pressing *<Key>Tab*. You can
+decide which layer group will be the solder side and which will be the
+component side. The layers groups just have a name or number
+associated with them - where they are sandwiched in the board is left
+to the manufacturing processes.
+
+
+File: pcb.info, Node: Line Objects, Next: Arc Objects, Prev: Layer Objects, Up: Intro
+
+Lines
+=====
+
+ Lines are used to draw tracks on the pc board. When in the line
+mode, each *<Btn1>* press establishes one end of a line. Once the
+second point is defined, the line is drawn and a new line started where
+the first one ended. You can abondon the new starting point in favor
+of another by pressing *Ctrl<Btn1>*. The undo function (*<Key>u*) will
+take you back point by point if you use it while in the line mode. New
+lines can be restricted to 45 degree angles if desired. You can toggle
+this restriction on and off while creating lines by pressing *<Key>.*
+(that is the *period* key). If the 45 degree restriction is turned on,
+then the *<Key>/* can be used to cylce through three different modes of
+45 degree line creation. One mode just creates a single line forced to
+the nearest 45 degree vector. The next mode creates two lines from the
+start to end points such that the first line leaves the start point at
+a 90 degree vector, and the second line enters the end point on a 45
+degree vector. The next mode creates two lines such that the first line
+leaves the start point on a 45 degree vector and arrives at the end
+point on a 90 degree vector. You can temporarily swap between the last
+two modes by holding the shift key down. It is simple to edit a line
+type object by breaking it into pieces (insert point mode), moving an
+end point (or the whole line) (*<Btn2Down><drag><Btn2Up>*), or changing
+the layer it resides on (*<Key>m* moves the line under the pointer to
+the active layer). In the case when two line segments meet at exactly
+the same point you can delete the intermediate point, otherwise the
+delete mode removes an entire line. Feel free to experiment since
+`Pcb' will allow you to undo anything that materially affects your work.
+If you switch active layers in the midst of placing lines a via will
+automatically be placed, when necessary, in order to continue the
+connection.
+
+
+File: pcb.info, Node: Arc Objects, Next: Polygon Objects, Prev: Line Objects, Up: Into
+
+Arcs
+====
+
+ With version 1.6 it is possible to draw copper arcs. The arcs are
+restricted to be quarter circles. This means they always bend a right
+angle. They are very similar to lines otherwise. They are created on
+the current layer and have the same thickness that new lines will have.
+The various clicks for creating lines work pretty much the same way
+for creating arcs. The start point for the arc is at the first *<Btn1>*
+position. In order to make the arc curve in the direction desired,
+drag the mouse along the tangent line from the starting position
+towards the end position. If the grid is too coarse, it may not be
+possible to distinguish whether you've moved over then up, or up then
+over, so if you can't seem to make the arc go the direction you want,
+you should decrease the grid spacing. Alternatively you could drawn
+the wrong arc, then rotate and move it where you want. Like the line
+tool, after an arc is drawn a new starting point is established at the
+end point. Whenever a start point is established by either the line or
+arc tools it will be retained if you switch directly between the tools
+(e.g. *<Key>F2* for Lines, *<Key>F8* for Arcs. Of course connection
+searches, undo and all the other features you'd expect work with arcs
+now.
+
+
+File: pcb.info, Node: Polygon Objects, Next: Text Objects, Prev: Arc Objects, Up: Intro
+
+Polygons
+========
+
+ Sometimes it's useful to fill large areas with solid copper. The
+way to do this is with polygons. Polygons can be created in either the
+polygon mode or the rectangle mode. In the polygon mode, you'll have
+to define each corner of the polygon with a mouse click (*<Btn1>*).
+When the last point is clicked exactly on top of the starting point,
+the polygon is finished. Since this can be hard to do, the
+*Shift<Key>p* will enter the final point for you, closing the polygon.
+If the 45 degree angle restriction is turned on and you try to close
+the polygon when it is not possible, you'll get a warning instead. If
+you haven't finished entering a polygon, but want to undo one (or more)
+of the points that you've already defined, use the undo command
+(*<Key>u*). With the rectangle tool, defining the two opposite corners
+is sufficient, but of course the resulting polygon is a rectangle.
+Like lines, a polygon can by edited by deleting, inserting and moving
+the points that define it. `Pcb' is capable of handling complex
+polygons, but using a number of simpler ones improves performance of
+the connection tracing code.
+
+ A new feature in version 1.5 of `Pcb' automatically creates clearance
+regions around pins and vias that pierce a polygon. This means that they
+aren't electrically connected to the polygon unless you add "thermals"
+to cross the clearance region. Thermals can be added and removed by
+selecting the thermal mode and clicking *<Btn1>* on the pin or via.
+Remember that this only creates connections to the polygon on the
+active layer. The great advantage to this new polygon behavior is that
+simple or complex ground and/or power planes can be easily made with
+polygons and seen on the screen. If you don't want this auto-clearance
+behavior, or you load a layout created by an earlier version of `Pcb',
+the old behavior (shorts to all piercing pins and vias) is available.
+A `ChangeSize' operation (*<Key>s*) toggles a polygon between the new
+and old polygon/pin behavior.
+
+
+File: pcb.info, Node: Text Objects, Prev: Polygon Objects, Up: Intro
+
+Text
+====
+
+ Text objects should be used to label a layout or to put additional
+information on the board, but not to identify elements because elements
+have their own labels. Text is always horizontal when first created,
+but the rotate mode can align it along 0, 90, 180 and 270 degree angles.
+Text can be moved from any layer to the silk-screen layer with a
+command in the `selection menu'. Text that is moved to the silk-screen
+layer will appear on the solder-side silk-screen if it originating on a
+solder-side layer. Otherwise moving it to the silk-screen layer will
+put it on the component-side silk-screen. To move text back to a
+copper layer from the silk-screen, use the `MoveToCurrentLayer'
+(*<Key>m*) command. Text on the far side of the board will
+automatically appear mirror-imaged.
+
+ TEXT OBJECTS ON A COPPER LAYER CREATE COPPER LINES BUT THEY ARE NOT
+SCANNED FOR CONNECTIONS OR TESTED FOR CREATING SHORTS VS. THE NETLIST.
+NEITHER ARE TEXT OBJECTS TESTED AGAINST ANY DESIGN RULES.
+
+
+File: pcb.info, Node: Getting Started, Next: User Commands, Prev: Intro, Up: Top
+
+Getting Started
+***************
+
+ The goal of this chapter is to give you enough information to learn
+how `Pcb' works and how to develop your layouts to make the best use of
+`Pcb''s features. All event translations (*i.e.* the buttons and keys
+you press) refer to the default application resource file shipped with
+`Pcb'. There is probably no need to change them unless your window
+manager uses some of the button events itself; however, if you *want*
+to customize the behavior of `Pcb' then changing the resource file is
+usually the best way to do it.
+
+ Get yourself a printout of this chapter and *User Commands*, if you
+haven't already done so, and follow the examples. An example layout
+may be found in `example/68HC11'. An example illustrating some version
+1.5 features is found in `example/LED' along with its corresponding
+netlist file `example/LED.NET'.
+
+ Start `Pcb' (the actual command will use all lower-case letters)
+without any additional options. If you get the error message:
+
+ can't find default font-symbol-file 'default_font'
+
+ then the font searchpath or filename in the application resource
+ file is wrong. Be sure that your `m4' program supports searchpaths.
+If not, get `GNU m4'. For other messages, see *Note problems::.
+Another quick-start is provided by `pcbtest.sh' in the `src' directory.
+
+* Menu:
+
+* Application Window:: The elements of the main window.
+* Log Window:: The optional logging window
+* Library Window:: The circuit selection window
+* Drawing and Removing::
+* Moving and Copying::
+* Loading and Saving::
+* Printing::
+* Connection Lists:: How to get a list of all or some connections.
+* Selection:: Commands which handle more than one object.
+* Rats Nest:: Helps you place and route tracks against a netlist.
+* Design Rule Checking::
+
+
+File: pcb.info, Node: Application Window, Next: Log Window, Up: Getting Started
+
+The Application Window
+======================
+
+ The main window consists of five areas: the menu at the top, the
+control panel in the upper left corner, the mode buttons located below
+the control panel, the drawing area to the right of these, and the
+status line at the bottom of the window.
+
+* Menu:
+
+* Status-line and Input-field:: What is the program configuration.
+* Control Panel:: Switch layers on/off; change current one.
+* Mode Selectors:: Select an operation mode.
+* Drawing Area:: Where the layout is drawn.
+* Menu::
+
+
+File: pcb.info, Node: Status-line and Input-field, Next: Control Panel, Up: Application Window
+
+The Status-line and Input-field
+-------------------------------
+
+ The status-line is located at the bottom edge of the main window.
+During normal operation the status information is visible there. When
+a selected menu operation requires an additional button click, the
+status-line is replaced by a message telling you to position the cursor
+and click. When a text input is required, the status-line is replaced
+by the Input-field which has a prompt for the typed input.
+
+ The status-line shows, from left to right, the side of the board
+that you are viewing (*<Key>Tab* changes this), if an absolute (abs) or
+relative (rel) grid is used, if new lines are restricted to 45 degrees,
+which type of 45 degree line mode is active, whether rubberband move and
+rotate mode is on (R), the current grid values, and the zoom factor.
+This information is followed by the line-width, via-size and drilling
+hole in mil, text scaling, the active buffer number and the name of the
+layout. An asterisk appearing at the left edge indicates the layout has
+been modified since the last save. Note that the name of the layout is
+not the same thing as the filename of the layout.
+
+ The input-field pops up (temporarily replacing the status-line)
+whenever user input is required. Two keys are bound to the input field:
+*<Key>Escape* aborts the input, *<Key>Return* finishes it.
+
+ The present cursor position is displayed in the upper right corner
+of the window. Normally this position is an absolute coordinate, but
+with version 1.5 of `Pcb' you can anchor a marker at the current cursor
+location by pressing *Ctrl<Key>m* then the display will read both the
+absolute cursor position as well as the difference between it and the
+marker. Pressing *Ctrl<Key>m* again turns the marker off.
+
+
+File: pcb.info, Node: Control Panel, Next: Mode Selectors, Prev: Status-line and Input-field, Up: Application Window
+
+The Control Panel
+-----------------
+
+ The control panel, located at the left side of the window, is used
+to turn on and off the display of layer groups and to select the active
+drawing layer. If a layer hasn't been named, the label "*(unknown)*"
+is used as the defualt.
+
+ The upper control box is used to switch layers on and off. Click
+*<Btn1Down>* on one or more of them. Each click toggles the setting.
+The currently active layer can't be switched off. The layout is
+refreshed when the pointer reenters the drawing area. This prevents
+excessive redrawing when the visibility of several layers is changed.
+When the layers are grouped, clicking on these fields will toggle the
+visibility of all layers in the same group. This is a good idea because
+layers in the same group reside on the same physical layer of the
+actual board. Use the `Edit layer groups' option in the `Objects' menu
+to change the layer groupings. Grouping layers is only useful for
+helping you to color-code signals in your layout. Note that grouping
+layers actually reduces the number of different physical layers
+available for your board, thus to make an eight layer board, you cannot
+group any layers.
+
+ *far side* turns on and off the visibility of elements (including
+SMD pads) on the opposite board side, as well as silk screening on that
+side. It does not automatically hide the x-ray view of the other copper
+layers, these must be turned off separately if desired. Use the *tab*
+key to view the entire board from the other side. To see a view of
+what the back side of the board will actually look like, make the
+solder layer the active layer then press *tab* until the status line
+says "solder" on the right, then turn off the visibility of all other
+layers except pins/pads, vias, and silk.
+
+ The lower control menu, named *active*, is used to change the active
+drawing layer. *<Btn1Down>* pops up a menu to select a one. Each entry
+is labeled with the layer's name and drawn in its color. The new
+drawing layer is automatically made visible. Try changing the active
+layer's name to *ABC* by selecting `set name of layer' from the `File'
+menu. Changing the active layer also is available with *<Key>1..8*.
+
+
+File: pcb.info, Node: Mode Selectors, Next: Drawing Area, Prev: Control Panel, Up: Application Window
+
+The Mode Selectors
+------------------
+
+ The mode selector buttons reside below the control panel. They are
+used to select the operation mode of `Pcb'. A mode can be thought of as
+a tool that gets used when *<Btn1>* is pressed. Each mode causes the
+cursor to take on a unique shape that identifies the tool. The buttons
+themselves are icons that illustrate their function. The drawing modes
+can also be selected from the keyboard:
+ *<Key>Escape* reset mode
+ *<Key>F1* via-mode
+ *<Key>F2* line-mode
+ *<Key>F3* pastebuffer-mode
+ *<Key>F4* rectangle-mode
+ *<Key>F5* text-mode
+ *<Key>F6* polygon-mode
+ *<Key>Insert* insert-point-mode
+ *<Key>F7* thermal-mode
+ *<Key>F8* arc-mode
+ The *<Key>Space* cycles through all of the modes in the mode button
+palette.
+
+ Reset-mode is really no mode, and *<Btn1>* has no effect with this
+setting. Some of the modes are very simple, such as the via-mode.
+Clicking *<Btn1>* while in this mode creates a via at the cross-hair
+position. The pastebuffer-mode is similar. With this mode, *<Btn1>*
+copies the contents of the active buffer to the layout, but only those
+parts that reside on visible layers are copied. The rotate-mode allows
+you to rotate elements and text objects 90 degrees counter-clockwise
+with each click. The line-mode is explained in detail in *Note Line
+Objects::. The arc-mode is explained in detainl in *Note Arc Objects::.
+Rectangle-mode, polygon-mode and thermal-mode are explained in detail in
+*Note Polygon Objects::. Remember that the thermal-mode will only
+create and destroy thermals to polygons on the active layer.
+
+ The insert-point-mode is an editing tool that allows you to add
+points into lines or polygons. With version 1.5 of `Pcb', the
+insert-point-mode enforces the 45 degree line rule. You can force only
+the shorter line segment to 45 degrees by holding the shift key down
+while inserting the point. The delete-mode deletes the smallest object
+beneath the cursor with each *<Btn1>* click. If you use click at an
+end-point that two lines have in common, it will replace the two lines
+with a single line spanning the two remaining points. This can be used
+to delete an "inserted" point in a line, restoring the previous line.
+
+
+File: pcb.info, Node: Drawing Area, Next: Menu, Prev: Mode Selectors, Up: Application Window
+
+Drawing Area
+------------
+
+ The drawing area is made from a viewport widget that also includes
+two scrollbars. The cursor changes shape depending on the current
+operation mode when the pointer is moved into the drawing area. A
+crosshair follows the X11 pointer with respect to the grid setting.
+Move around and watch the cursor position displayed in the upper right
+of the window. Now select a new grid from the *Display* menu. The new
+value is updated in the statusline. Now move again and watch the
+difference. A different way to change the grid is *Shift<Key>g* to
+decrease or *<Key>g* to increase it. The grid setting is saved along
+with the data when you save a pcb layout. For homemade layouts a value
+around 50 is a good setting. The cursor also may be moved with the
+cursor keys or, for larger distances, by pressing the *shift* modifier
+together with a cursor key.
+
+
+File: pcb.info, Node: Menu, Prev: Drawing Area, Up: Application Window
+
+Menu
+----
+
+ The menus are located at the top of the drawing area. Most, but not
+all, of their functions are also available from the keyboard. Some of
+the entries such as *center* require a certain cursor position. In
+this case a statusline will popup at the bottom with wording similar to
+the following:
+ move pointer to the appropriate screen position and press a button
+ Any mouse button will do the job, whereas any key except the cursor
+keys will cancel the operation. For details see *Note Actions::.
+
+`About'
+ There is no menu hiding behind this button, but a small
+ information box will pop up.
+
+`File'
+ This menu offers a choice of loading, saving and printing data,
+ saving connection information to a file or quitting the
+ application. You also may change the layout's or the active
+ layer's name. Selecting *print layout* pops up a printer control
+ dialog which is, hopefully, self explaining. This box contains a
+ panner widget (only `X11R5' and later) which simplifies adjusting
+ the offsets. With earlier releases the printout will always appear
+ in the upper left corner with respect to the media margins.
+
+ A selection of several device drivers is available from the
+ printer control dialog. Presently *PostScript*, *encapsulated
+ PostScript*, and *GerberX* are supported. *GerberD* support may be
+ forthcoming. It requires a rastering engine that pcb presently
+ lacks.
+
+`Display'
+ The display menu supports the most needed functions related to
+ screen output. The entries are used to change the grid to some
+ popular values, the zoom factor, the displayed element name and
+ also are used to center or refresh the output. You also may
+ switch grid-displaying on or off and select between absolute grid
+ (origin at (0,0)) or relative grid (origin at the position where
+ the grid has been changed). The relative grid position is now
+ established at the actual pointer position, NOT necessarily the
+ same as the crosshair position. This allows you to shift the grid
+ without changing the grid spacing. I recommend that you zoom in
+ as close as possible before setting a relative grid so that you're
+ sure the grid lines fall where you want. The clipping to
+ 45-degree lines is selected in this menu, as well as enabling
+ rubberband mode (see description of *Mode*).
+
+`Sizes'
+ This menu allows you to select a group of line thickness, via
+ diameter and via drill size (collectively called a "routing
+ style") to be coppied to the "active" sizes. You can also change
+ the names given to these styles and adjust their values from this
+ menu. You can also edit the "active" sizes (the initial size of
+ new vias, drilling holes, lines, text-objects and the current
+ maximum size of the layout) from this menu.
+
+`Objects'
+ Displaying the pinout of an element and changing its names, the one
+ that is currently selected by the *Display* menu, as well as
+ editing a text object is offered by this menu. The latter two
+ selections require an additional pointer button click at the
+ object's position. A dialog for changing the layer groupings is
+ also reached from this menu.
+
+`Selection'
+ This menu covers most of the operations that work with selected
+ objects. You may either (un)select all visible objects of a
+ layout or only the ones which have been found by the last
+ connection scan. The mouse can also be used to change which things
+ are and are not selected: toggle the selection of a single object
+ by pressing *<Btn3Down>* and releasing without moving the mouse.
+ Pressing *Mod1<Btn3Down>*, moving and releasing the button selects
+ all visible objects inside the rectangle. Pressing the modifier
+ key *Shift* too, unselects all objects in the area. You can delete
+ all selected objects from this menu, and also move selected text
+ objects to the silk-screen layer. The other entries change the
+ sizes of visible and selected objects.
+
+`Buffer'
+ This menu handles pastebuffer related actions. You may select one
+ out of five (per viewing side) buffers to use, rotate or clear its
+ contents and paste it to the layout. You can also gather objects
+ in the buffer into an element definition from this menu. Note:
+ only visible objects are pasted to the layout.
+
+`Connections'
+ The entries available through the connections menu button allow
+ the user to find connections from pins or vias and to manipulate
+ these. The connection lists may be saved by selecting entries
+ from the *File* menu. In many cases it is desireable to use the
+ ratsnest function to check connections against a netlist file
+ instead of using the connections menu to generate text connection
+ lists.
+
+`Undo'
+ This menu is a frontend for managing the reversing of operations
+ such as remove, copy, move, name changes, etc. The number of
+ operations is unlimited (depending on memory). The list is cleared
+ if new layout data is loaded or by selecting the appropriate entry
+ from this menu. The inverse operation, redo, is also available.
+
+`Report'
+ This menu allows you to generate a dialog that summerizes
+ information about an object such as sizes and coordinates. You can
+ also get a report about all of the drills that are used on the
+ board.
+
+
+File: pcb.info, Node: Log Window, Next: Library Window, Prev: Application Window, Up: Getting Started
+
+Log Window
+==========
+
+ This optional window is used to display all kind of messages
+including the ones written to *stderr* by external commands. The main
+advantage is that its contents are saved in a scrolling list until the
+program exits. Disabling this feature by setting the resource
+*useLogWindow* to *false* will generate popup windows to display
+messages. The *stderr* of external commands will appear on `Pcb's
+*stderr* which normally is the parent shell. I suggest you iconify the
+window after startup for example by setting **log.iconic* to *true*. If
+*raiseLogWindow* is set *true*, the window will deiconify and raise
+itself whenever new messages are to be displayed.
+
+
+File: pcb.info, Node: Library Window, Next: Drawing and Removing, Prev: Log Window, Up: Getting Started
+
+Library Window
+==============
+
+ First appearing in 1.4.1 the library window is one of the best new
+features in my opinion. It simplifies loading circuits quiet a lot just
+by selecting the appropriate type from the menu at the top. A circuit
+is then selected by simply double-clicking on the text line. For
+details on libraries check-out *Note Library File:: and *Note Library
+Contents File::.
+
+
+File: pcb.info, Node: Drawing and Removing, Next: Moving and Copying, Prev: Library Window, Up: Getting Started
+
+Drawing and Removing Basic Objects
+==================================
+
+ There are several ways of creating new objects: you may draw them
+yourself, you may copy an existing object or you may load an element
+from a file or library. Creating new objects is normally related to a
+special mode depending on the object type. The notation of key and
+button events is the same as described in the X11 Intrinsics manual.
+
+ The operation mode may be selected by one of the mode selectors in
+the bottom left corner, by one of the function keys listed earlier in
+this chapter, or by pressing the space bar to cycle through the modes.
+*<Btn1Down>* sends a notify request to the application which responds
+by creating or changing the appropriate object or at least takes the
+first step to do so. Switching to a mode causes the cursor to take on a
+unique shape and also causes the cooresponding mode selector button to
+be drawn with thick lines. You can use either cue to see which mode is
+currently selected.
+
+ Removing objects is possible using *<Key>BackSpace* (or *<Key>Delete*
+on some machines) which deletes the object at the cursor location. If
+more than one object is located at the same position, the smallest
+matching type will be chosen. If two or more of the same type are the
+smallest at the position, then the newest one will be deleted. You
+also may change to *remove-mode* and click *<Btn1Down>* at the location
+of the objects which are to be removed. If you "remove" the end-point
+where two lines connect, it will remove the point of connection leaving
+a single line that spans the far end points.
+
+ Rotating works in a similar fashion. Change the mode and press
+*<Btn1Down>* at the object's location. Remember only text, elements and
+arcs can be rotated. (Anything including groups of objects may be
+rotated inside a buffer using the rotate buffer menu option.)
+
+ Insert mode provides the capability of inserting new points into
+existing polygons or lines. The 45 degree line clipping is now enforced
+when selected. Press and hold the shift key while positioning the new
+point to only clip the line segment to the nearer of the two existing
+points to 45 degrees. You can also toggle the 45-degree clipping in
+the middle of a point insertion by pressing the *<Key>.* If the shift
+key is not depressed and the 45 degree line clipping mode is on, both
+new line segments must be on 45 degree angles - greatly restricting
+where the new point may be placed. In some cases this can cause
+confusion as to whether an insertion has been started since the two new
+lines may be forced to lie parallel on top of the original line until
+the pointer is moved far from the end points.
+
+ Removing objects, changing their size or moving them only applies to
+objects that are visible when the command is executed.
+
+* Menu:
+
+* Common:: Keystrokes common to some objects.
+* Lines::
+* Arcs::
+* Polygons:: Drawing polygons and rectangles.
+* Text::
+* Vias::
+* Elements::
+* Pastebuffer:: A multi-purpose buffer.
+
+
+File: pcb.info, Node: Common, Next: Lines, Up: Drawing and Removing
+
+ There are several keystrokes and button events refering to an
+*object* without identifying its type. Here's a list of them:
+
+ *<Btn1Down>* creates (or deletes) an object depending on the
+current mode.
+
+ *<Key>BackSpace* or *<Key>Delete* removes the visible object at the
+cursor location. When more than one object exists at the location, the
+order of removal is: via, line, text, polygon and element. The drawn
+layer order also affects the search - whatever is top - most (except
+elements) is affected before lower items. Basically all this means
+that what is removed is probably just what you expect. If for some
+reason it isn't, undo and try again. Only one object is removed for
+each keystroke. If two or more of the same type match, the newest one
+is removed.
+
+ Use *<Key>s* and *Shift<Key>s* to change the size (width) of lines,
+arcs, text objects, pins, pads and vias, or to toggle the style of
+polygons (whether pins and vias automatically have clearances).
+
+ *<Key>n* changes the name of pins, pads, vias, the string of a text
+object, or the currently displayed label of an element.
+
+ *<Key>m* moves the line, arc, or polygon under the crosshair to the
+active layer if it wasn't on that layer already.
+
+ *<Key>u* (undo) recovers from an unlimited number of operations such
+as creating, removing, moving, copying, selecting etc. It works like
+you'd expect even if you're in the midst of creating something.
+
+ *Shift<Key>r* restores the last undone operation provided no other
+changes have been made since the undo was performed.
+
+ *<Key>tab* changes the board side you are viewing.
+
+ For a complete list of keystrokes and button events see *Note
+Translations::.
+
+
+File: pcb.info, Node: Lines, Next: Arcs, Prev: Common, Up: Drawing and Removing
+
+Lines
+-----
+
+ To draw new lines you have to be in *line-mode*. Get there either by
+selecting it from the *Tool palette* or by pressing *<Key>F2*. Each
+successive *notify* event creates a new line. The adjustment to 45
+degree lines is done automatically if it is selected from the *Display*
+menu. You can toggle the 45 degree mode setting by pressing the
+*<Key>.* (That is the period key). When 45 degree enforcement is turned
+on there are three distinct modes of line creation: a single line on
+the closest 45 degree vector towards the crosshair (but not necessarily
+actually ending at the crosshair), two lines created such that the
+first leaves the start point on a 90 degree vector and the second
+arrives at the crosshair on a 45 degree vector, and finally two lines
+created such that the first leaves the start point on a 45 degree
+vector and the second arrives at the crosshair on a 90 degree vector.
+These last two modes always connect all the way from the start and end
+points, and all lines have angles in 45 degree multiples. The *<Key>/*
+cycles through the three modes. The status line shows a text icon to
+indicate which of the modes is active and the lines following the
+crosshair motion show the outline of the line(s) that will actually be
+created. Press *<Key>Escape* to leave line-mode.
+
+ *<Key>l*, *Shift<Key>l* and the entries in the *Sizes* menu change
+the initial width of new lines. This width is also displayed in the
+status line.
+
+
+File: pcb.info, Node: Arcs, Next: Polygons, Prev: Lines, Up: Drawing and Removing
+
+Arcs
+----
+
+ An Arc is drawn with the *arc-tool*. Get there either by selecting
+it from the *Tool palette* or by pressing *<Key>F8*. Press *Btn1* to
+define the starting point for the arc. Drag the mouse towards the
+desired end point along the path you want the arc to follow. The
+outline of the arc that will be created is shown on the screen as you
+move the mouse. Arcs are always forced to be 90 degrees and have
+symmetrical length and width ( i.e. they are a quarter circle). The
+next *Btn1* click creates the arc. It will have the same width as new
+lines (displayed in the status line) and appear on the active layer.
+The arc leaves the starting point towards the crosshair along the axis
+whose distance from the crosshair is largest. Normally this means that
+if you drag along the path you want the arc to follow, you'll get what
+you want. If the grid is set to the arc radius, then the two distances
+will be equal and you won't be able to get all of the possible
+directions. If this is thwarting your desires, reduce the grid spacing
+(*!Shift<Key>G*) and try again.
+
+
+File: pcb.info, Node: Polygons, Next: Text, Prev: Arcs, Up: Drawing and Removing
+
+Polygons and Rectangles
+-----------------------
+
+ A polygon is drawn by defining all of its segments as a series of
+consecutive line segments. If the first point matches a new one and if
+the number of points is greater than two, then the polygon is closed.
+Since matching up with the first point may be difficult, you may use
+*Shift<Key>p* to close the polygon. The *Shift<Key>p* won't work if
+clipping to 45 degree lines is selected and the final segment cannot
+match this condition. I suggest you create simple convex polygons in
+order to avoid a strong negative impact on the performance of the
+connection scanning routines. The *rectangle-mode* is just an easy way
+to generate rectangular polygons. *Polygon-mode* also is selected by
+*<Key>F6* whereas *rectangle-mode* uses *<Key>F4*. Pressing a
+*<Btn1Down>* at two locations creates a rectangle by defining two of
+its corners. *<Key>Insert* brings you to *insert-point-mode* which
+lets you add additional points to an already existing polygon. Single
+points may be removed by moving the crosshair to them and selecting one
+of the delete actions *(remove-mode, BackSpace, or Delete*. This only
+works if the remaining polygon will still have three or more corners.
+Pressing *<Key>u* or *<Key>p* while entering a new polygon brings you
+back to the previous corner. Removing a point does not force clipping
+to 45 degree angles (because it's not generally possible). Newly
+created polygons will not connect to pins or vias that pierce it unless
+you create a thermal (using the thermal mode) to make the connection.
+If the edge of a polygon gets too close to a pin or via that lies
+outside of it, a warning will be issued and the pin will be given a
+special color. Increasing the distance between them will remove the
+warning color.
+
+
+File: pcb.info, Node: Text, Next: Vias, Prev: Polygons, Up: Drawing and Removing
+
+Text
+----
+
+ Pressing *<Key>F5* or clicking one of the text selector buttons
+changes to *text-mode*. Each successive notify event (*<Btn1Down>*)
+pops up the input line at the bottom and queries for a string. Enter
+it and press *<Key>Return* to confirm or *<Key>Escape* to abort. The
+text object is created with its upper left corner at the current pointer
+location. The initial scaling is changed by *<Key>t* and *Shift<Key>t*
+or from the *Sizes* menu.
+
+ Now switch to *rotate-mode* and press *<Btn1Down>* at the
+text-objects location. Text objects on the solder side of the layout
+are automatically mirrored and flipped so that they are seen correctly
+when viewing the solder-side.
+
+ Use *<Key>n* to edit the string.
+
+ TEXT OBJECTS ON COPPER LAYERS CREATE COPPER LINES BUT THEY ARE NOT
+SCANNED FOR CONNECTIONS. If they are moved to the silkscreen layer, they
+no longer create copper.
+
+
+File: pcb.info, Node: Vias, Next: Elements, Prev: Text, Up: Drawing and Removing
+
+Vias
+----
+
+ The initial size of new vias may be changed by *<Key>v* and
+*Shift<Key>v* or by selecting the appropriate entry from the *Sizes*
+menu. *Mod1<Key>v* and *Mod1 Shift<Key>v* do the same for the drilling
+hole of the via. The statusline is updated with the new values.
+Creating a via is similar to the other objects. Switch to *via-mode* by
+using either the selector button or *<Key>F1* then press *<Key>]* or
+*<Btn1Down>* to create one. *<Key>n* changes the name of a via. If you
+want to create a mounting hole for your board, then you can place a via
+where you want the hole to be then convert the via into a hole. The
+conversion is done by pressing *!Ctrl<Key>h* with the crosshair over
+the via. Conceptually it is still a via, but it has no copper annulus.
+If you create such a hole in the middle of two polygons on different
+layers, it will short the layers. Theoretically you could arrange for
+such a hole not to be plated, but a metal screw inserted in the hole
+would still risk shorting the layers. A good rule is to realize that
+holes in the board really are vias between the layers and so place them
+where they won't interfere with connectivity. You can convert a hole
+back into a normal via with the same keystroke used to convery it in
+the first place.
+
+
+File: pcb.info, Node: Elements, Next: Pastebuffer, Prev: Vias, Up: Drawing and Removing
+
+Elements
+--------
+
+ Some of the functions related to elements only work if both the
+package layer and the pin layer are switched on.
+
+ Now that you're familiar with many of the basic commands, it is time
+to put the first element on the layout. First of all, you have to load
+data into the paste buffer. There are four ways to do this:
+ 1) load the data from a library
+ 2) load the data from a file
+ 3) copy data from an already existing element
+ 4) convert objects in the buffer into an element
+ We don't have any elements on the screen yet nor anything in the
+buffer, so we use number one.
+
+ Select *lsi* from the menu in the library window press *<Btn1Down>*
+twice at the appropriate text-line to get the MC68030 CPU. The data is
+loaded and the mode is switched to *pastebuffer-mode*. Each notify
+event now creates one of these beasts. Leave the mode by selecting a
+different one or by *<Key>Escape* which resets all modes.. The
+crosshair is located at the *mark* position as defined by the data
+file. Rotating the buffer contents is done by selecting the *rotate*
+entry of the *Buffer* menu or by pressing *Shift<Key>F3*. The contents
+of the buffer are valid until new data is loaded into it either by a
+cut-to-buffer operation, copy-to-buffer operation or by loading a new
+data file. There are 5 buffers available. Switching between them is
+done by selecting a menu entry or by *Shift<Key>1..5*. Each of the two
+board sides has its own buffers.
+
+ The release includes all data files for the circuits that are used
+by the demo layout. The elements in the LED example are not found in
+the library, but you can lift them from the example itself if you want.
+If you have problems with the color of the crosshair, change the
+resource *crosshairColor* setting to a different one.
+
+ Now load a second circuit, the MC68882 FPU for example. Create the
+circuit as explained above. You now have two different unnamed
+elements. Unnamed means that the layout-name of the element hasn't been
+set yet. Selecting *description* from the *Display* menu displays the
+description string of the two circuits which are CPU and FPU. The
+values of the circuits are set to MC68030 and MC68882. Each of the
+names of an element may be changed by *<Key>n* at the elements location
+and editing the old name in the bottom input line. Naming pins and vias
+is similar to elements. You can hide the element name so that it won't
+appear on the board silkscreen by pressing *<key>h* with the cursor
+over the element. Doing so again un-hides the element name.
+
+ Entering `:le' and selecting an element data file is the second way
+to load circuits.
+
+ The third way to create a new element is to copy an existing one.
+Please refer to *Note Moving and Copying::.
+
+ The fourth way to create a new element is to convert a buffer's
+contents into an element. Here's how it's done: Select the Via-tool
+from the *Tool pallette*. Set the grid spacing to something
+appropriate for the element pin spacing. Now create a series of vias
+where the pins go. Create them in pin number order. It is often handy
+to place a reference point (*!Ctrl<Key>m*) in the center of the first
+pin in order to measure the location of the other pins. Next make a
+solder-side layer the active layer from the *active-layer* popup menu.
+Now draw the outline of the element using lines and arcs. When you're
+done, select everything that makes up the element with a box selection
+(*<Btn3Down> drag, <Btn3Up>*). Now select "cut selection to buffer"
+from the *Buffer* menu. Position the cursor over the center of pin 1
+and press the left button to load the data into the buffer. Finally
+select "convert buffer to element" from the *Buffer* menu. You'll only
+want to create elements this way if they aren't already in the library.
+It's also probably a good idea to do this before starting any of the
+other aspects of a layout, but it isn't necessary.
+
+ To display the pinout of a circuit move to it and press *Shift<Key>d*
+or select *show pinout* from the *Objects* menu. A new window pops up
+and displays the complete pinout of the element. This display can be
+difficult to read if the component has been rotated 90 degrees :-(
+therefore, the new window will show an un-rotated view so the pin names
+are readable. *<Key>d* displays the name of one or all pins/pads
+inside the drawing area, this is only for display on-screen, it has no
+effect on any printing of the layout.
+
+ You also may want to change a pin's or pad's current size by pressing
+*<Key>s* to increase or *Shift<Key>s* to decrease it. While this is
+possible, it is not recommended since care was probably taken to define
+the element structure in the first place. You can also change the
+thickness of the element's silkscreen outline with the same keys. You
+can change whether a pin or SMD pad is rounded or square with the
+*<Key>q*. SMD pads should usually have squared ends. Finally, you can
+change whether the non-square pins are round or octagonal with the
+*!Ctrl<Key>o*.
+
+ SMD elements and silkscreen objects are drawn in the "invisible
+object" color if they are located on the opposite side of the board.
+
+ For information on element connections refer to *Note Connection
+Lists::.
+
+
+File: pcb.info, Node: Pastebuffer, Prev: Elements, Up: Drawing and Removing
+
+Pastebuffer
+-----------
+
+ The linestack and element-buffer of former releases have been
+replaced by 5 multi-purpose buffers that are selected by
+*Shift<Key>1..5*. The status line shows which buffer is the active one.
+You may load data from a file or layout into them. Cut-and-paste works
+too. If you followed the instructions earlier in this chapter you
+should now have several objects on the screen. Move the crosshair to
+one of them and press *<Btn3Down>* to toggle its selection flag. (If
+you drag the mouse while the button is down, a box selection will be
+attempted instead of toggling the selection.) The object is redrawn in
+a different color. You also may want to try moving the pointer while
+holding the third button down and release it on a different location.
+This selects all objects inside the rectangle and unselects everything
+else. If you want to add a box selection to an existing selection,
+drag with *Mod1<Btn3Down>* instead. Dragging *Shift Mod1<Btn3Down>*
+unselects objects in a box. Now change to *pastebuffer-mode* and
+select some operations from the *Buffer* menu. Copying objects to the
+buffer is available as *Mod1<Key>c* while cutting them uses
+*Mod1<Key>x* as shortcut. Both clear the buffer before new data is
+added. If you use the menu entries, you have to supply a crosshair
+position by pressing a mouse button. The objects are attached to the
+pastebuffer relative to that crosshair location. Element data or PCB
+data may be merged into an existing layout by loading the datafiles
+into the pastebuffer. Both operations are available from the *File*
+menu or as user commands.
+
+
+File: pcb.info, Node: Moving and Copying, Next: Loading and Saving, Prev: Drawing and Removing, Up: Getting Started
+
+Moving and Copying
+==================
+
+ All objects can be moved including element-names, by *<Btn2Down>*,
+draging the pointer while holding the button down and releasing it at
+the new location of the object. If you use *Mod1<Btn2Down>* instead,
+the object is copied. Copying does not work for element-names of
+course. You can move all selected objects with *Shift <Btn1Down>*.
+This uses the Pastebuffer, so it will remove whatever was previously in
+the Pastebuffer. Please refer to *Note Pastebuffer::. If you want to
+give a small nudge to an object, but you don't think that the mouse
+will give you the fine level of control that you want, you can position
+the cursor over the object, press *<Key>[*, move it with the arrow
+keys, then press *<Key>]* when it's at the desired position. Remember
+that all movements are forced onto grid coordinates, so you may want to
+change the grid spacing first.
+
+
+File: pcb.info, Node: Loading and Saving, Next: Printing, Prev: Moving and Copying, Up: Getting Started
+
+Loading and Saving
+==================
+
+ After your first experience with `Pcb' you will probably want to save
+your work. `:s name' passes the data to an external program which is
+responsible for saving it. For details see *saveCommand* in *Note
+Resources::. Saving also is available from the *File* menu, either
+with or without supplying a filename. `Pcb' reuses the last filename if
+you do not pass a new one to the save routine.
+
+ To load an existing layout either select *load layout data* from the
+*File* menu or use `:l filename'. A file select box pops up if you
+don't specify a filename. Merging existing layouts into the new one is
+supported either by the *File* menu or by `:m filename'.
+
+ `Pcb' saves a backup of the current layout depending on the resource
+*backup*. The file is named `/tmp/PCB.%i.backup'. During critical
+sections of the program or when data would be lost it is saved as
+`/tmp/PCB.%i.save'. *%i* is replaced by the process ID.
+
+
+File: pcb.info, Node: Printing, Next: Connection Lists, Prev: Loading and Saving, Up: Getting Started
+
+Printing
+========
+
+ `Pcb' now has support for device drivers, `PostScript',
+*encapsulated PostScript*, and *Gerber X* drivers are available so far.
+The *Gerber X* driver generates a NC drill file for automated drilling.
+I recommend the use of `GhostScript' if you don't have a `PostScript'
+printer for handling the PostScript output. Printing always generates a
+complete set of files for a specified driver. See the page about the
+*Print()* action for addtional information about the filenames. The
+control panel offers a number of options. Most of them are not avilable
+for Gerber output because it wouldn't make sense, for example, to
+scale the gerber output (you'd get an incorrectly made board!) The
+options are:
+
+`device'
+ The top menu button selects from the available device drivers.
+
+`rotate'
+ Rotate layout 90 degrees counter-clockwise before printing
+ (default).
+
+`mirror'
+ Mirror layout before printing. Use this option depending on your
+ production line.
+
+`color'
+ Created colored output. All colors will be converted to black if
+ this option is inactive.
+
+`outline'
+ Add a board outline to the output file. The size is determined by
+ the maximum boardsize changeable from the *sizes* menu. The
+ outline appears on the top and bottom sides of the board, but not
+ on the internal layers. An outline can be useful for determining
+ where to shear the board from the panel, but be aware that it
+ creates a copper line. Thus it has the potential to cause short
+ circuits if you don't leave enough room from your wiring to the
+ board edge. Use a viewer to see what the output outline looks like
+ if you want to know what it looks like.
+
+`alignment'
+ Additional alignement targets are added to the output. The
+ distances between the board outline is set by the resource
+ *alignmentDistance*. Alignment targets should only be used if you
+ know for certain that YOU WILL BE USING THEM YOURSELF. It is
+ extremely unlikely that you will want to have alignment targets if
+ you send gerber files to a commercial pcb manufacture to be made.
+
+`scaling'
+ It's quite useful to enlarge your printout for checking the layout.
+ Use the scrollbar to adjust the scaling factor to your needs.
+
+`media'
+ Select the size of the output media from this menu. The user
+ defined size may be set by the resource *media* either from one of
+ the well known paper sizes or by a `X11' geometry specification.
+ This entry is only available if you use `X11R5' or later. For
+ earlier releases the user defined size or, if not available, *A4*
+ is used. Well known size are:
+ A3
+ A4
+ A5
+ letter
+ tabloid
+ ledger
+ legal
+ executive
+
+`offset'
+ Adjust the offsets of the printout by using the panner at the
+ right side of the dialog box. This entry is only available if you
+ use `X11R5' or later. A zero offset is used for earlier releases.
+
+`8.3 filenames'
+ Select this button to generate DOS compatible filenames for the
+ output files. The *command* input area will disappear if selected.
+
+`commandline'
+ Use this line to enter a command (starts with `|') or a filename.
+ A %f is replaced by the current filename. The default is set by
+ the resource *printCommand*.
+
+ The created file includes some labels which are guaranteed to stay
+unchanged
+`PCBMIN'
+ identifies the lowest x and y coordinates in mil.
+
+`PCBMAX'
+ identifies the highest x and y coordinates in mil.
+
+`PCBOFFSET'
+ is set to the x and y offset in mil.
+
+`PCBSCALE'
+ is a floating point value which identifies the scaling factor.
+
+`PCBSTARTDATA'
+`PCBENDDATA'
+ all layout data is included between these two marks. You may use
+ them with an `awk' script to produce several printouts on one
+ piece of paper by duplicating the code and putting some
+ `translate' commands in front. Note, the normal `PostScript'
+ units are 1/72 inch.
+
+
+File: pcb.info, Node: Connection Lists, Next: Selection, Prev: Printing, Up: Getting Started
+
+Connection Lists
+================
+
+ After completing parts of your layout you may want to check if all
+drawn connections match the ones you have in mind. This is probably
+best done in conjunction with a net-list file: see *Note Rats Nest::.
+The following examples give more rudimentary ways to examine the
+connections.
+ 1) create at least two elements and name them
+ 2) create some connections between their pins
+ 3) optionally add some vias and connections to them
+
+ Now select *lookup connection* from the *Connections* menu, move the
+cursor to a pin or via and press any mouse button. `Pcb' will look for
+all other pins and/or vias connected to the one you have selected and
+display the objects in a different color. Now try some of the reset
+options available from the same menu.
+
+ There also is a way to scan all connections of one element. Select
+*a single element* from the menu and press any button at the element's
+location. All connections of this element will be saved to the
+specified file. Either the layout name of the element or its canonical
+name is used to identify pins depending on the one which is displayed
+on the screen (may be changed by *Display* menu).
+
+ An automatic scan of all elements is initiated by choosing *all
+elements*. It behaves in a similar fashion to scanning a single element
+except the resource *resetAfterElement* is used to determine if
+connections should be reset before a new element is scanned. Doing so
+will produce very long lists because the power lines are rescanned for
+every element. By default the resource is set to *false* for this
+reason.
+
+ To scan for unconnected pins select *unused pins* from the same menu.
+
+
+File: pcb.info, Node: Selection, Next: Rats Nest, Prev: Connection Lists, Up: Getting Started
+
+Selection
+=========
+
+ Some commands mentioned earlier in this chapter also are able to
+operate on all selected and visible objects. Now go back to the layout
+and toggle the selection flag of a single one by *<Btn3Down>*. Try
+*<Btn3Down>*, move the pointer while holding the button down and
+release it on a different location. This selects all objects inside
+the rectangle and unselects everything else. Dragging with
+*Mod1<Btn3Down>* adds everything in the box to the existing selection.
+Dragging *Shift <Btn3Down>* unselects objects in the box.
+
+ The entries of the *Selection* menu are hopefully self-explanatory.
+Many of the *Action Commands* can take various key words that make them
+function on all or some of the selected items.
+
+
+File: pcb.info, Node: Rats Nest, Next: Design Rule Checking, Prev: Selection, Up: Getting Started
+
+Rats Nest
+=========
+
+ If you have a netlist that corresponds to the layout you are working
+on, you can use the rats-nest feature to add rat-lines to the layout.
+First you will need to load a netlist file (see *:rn*, *Note User
+Commands::). *<Key>w* adds rat-lines on the active layer using the
+current line thickness shown in the status line (usually you'll want
+them to be thin lines). Only those rat-lines that fill in missing
+connectivity (since you have probably routed some connections already)
+are added. If the layout is already completely wired, nothing will be
+added, and you will get a message that the wiring is complete.
+
+ Rat-lines are lines having the special property that they only
+connect to pins and pads at their end points. Rat-lines are drawn on
+the screen with a stippled pattern to make them easier to identify
+since they have special behavior and cannot remain in a completed
+layout. Rat-lines are added in the minimum length straight-line tree
+pattern (always ending on pins or pads) that satisfies the missing
+connectivity in the circuit. Used in connection with moves and rotates
+of the elements, they are extremely useful for deciding where to place
+elements on the board. The rat-lines will always automatically
+rubberband to the elements whether or not the rubberband mode is on.
+The only way for you to move them is by moving the parts they connect
+to. This is because it is never desireable to have the rat-lines
+disconnected from their element pins. Rat-lines will normally
+criss-cross all over which gives rise to the name "rats nest"
+describing a layout connected with them. If a SMD pad is unreachable
+on the active layer, a warning will be issued about it and the rat-line
+to that pad will not be generated.
+
+ A common way to use rats nests is to place some elements on the
+board, add the rat-lines, and then use a series of moves/rotates of the
+elements until the rats nest appears to have minimum tangling. You may
+want to iterate this step several times. Don't worry if the layout
+looks messy - as long as you can get a sense for whether the
+criss-crossing is better or worse as you move things, you're fine.
+After moving some elements arround, you may want to optimize the rats
+nest *<Key>o* so that the lines are drawn between the closest points
+(this can change once you've moved components). Adding rat-lines only
+to selected pads/pins (*Shift<Key>w*) is often useful to layout a
+circuit a little bit at a time. Sometimes you'll want to delete all
+the rat-lines (*<Key>e*) or selected rat-lines (*Shift<Key>e*) in order
+to reduce confusion. With a little practice you'll be able to achieve
+a near optimal component placement with the use of a rats nest.
+
+ Rat-lines are not only used for assisting your element placement,
+they can also help you to route traces on the board. Use the *<Key>m*
+to convert a rat-line under the cursor into a normal line on the active
+layer. Inserting a point into a rat-line will also cause the two new
+lines to be normal lines on the board. Another way that you can use
+rat-lines is to use the *<Key>f* with the cursor over a pad or pin.
+All of the pins and pads and rat-lines belonging to that net will be
+highlighted. This is a helpful way to distinguish one net from the rest
+of the rats nest. You can then route those tracks, turn off the
+highlighting (*Shift<Key>f*) and repeat the process. This will work even
+if the layer that the rat-lines reside on is made invisible - so only
+the pins and pads are highlighted. Be sure to erase the rat-lines
+(*<Key>e* erases them all) once you've duplicated their connectivity by
+adding your own lines. When in doubt, the *<Key>o* will delete only
+those rat-lines that are no longer needed.
+
+ If connections exist on the board that are not listed in the netlist
+when *<Key>w* is pressed, warning messages are issued and the affected
+pins and pads are drawn in a special *warnColor* until the next
+*Notify()* event. If the entire layout agrees completely with the
+netlist, a message informs you that the layout is complete and no
+rat-lines will be added (since none are needed). If the layout is
+complete, but still has rat-lines then you will be warned that
+rat-lines remain. If you get no message at all it's probably because
+some elements listed in the net list can't be found and where reported
+in an earlier message. There shouldn't be any rat-lines left in a
+completed layout, only normal lines.
+
+ The *Shift<Key>w* is used to add rat-lines to only those missing
+connections among the selected pins and pads. This can be used to add
+rat-lines in an incremental manner, or to force a rat-line to route
+between two points that are not the closest points within the net.
+Often it is best to add the rats nest in an incremental fashion, laying
+out a sub-section of the board before going further. This is easy to
+accomplish since new rat-lines are never added where routed
+connectivity already makes the necessary connections.
+
+
+File: pcb.info, Node: Design Rule Checking, Prev: Rats Nest, Up: Getting Started
+
+Design Rule Checking
+====================
+
+ After you've finished laying out a board, you may want to check to
+be certain that none of your interconnections are too closely spaced or
+too tenuously touching to be reliably fabricated. The design rule
+checking (DRC) function does this for you. Use the command ":DRC()"
+(without the quotes of course) to invoke the checker. If there are no
+problem areas, you'll get a message to that effect. If any problem is
+encountered, you will get a message about it and the affected traces
+will be highlighted. One part of the tracks of concern will be
+selected, while the other parts of concern will have the
+"FindConnection" highlighting. The screen will automatically be
+centered in the middle of the object having the "FindConnection"
+(Green) highlighting. The middle of the object is also the coordinates
+reported to be "near" the problem. The actual trouble region will be
+somewhere on the boundary of this object. If the two parts are from
+different nets then there is some place where they approach each other
+closer than the minimum rule. If the parts are from the same net, then
+there is place where they are only barely connected. Find that place
+and connect them better.
+
+ After a DRC error is found and corrected you must run the DRC again
+because the search for errors is halted as soon as the first problem is
+found. Unless you've been extremely careless there should be no more
+than a few design rule errors in your layout. The DRC checker does not
+check for minimum spacing rules to copper text, so always be very
+careful when adding copper text to a layout. The rules for the DRC are
+specified in the application resource file. The minimum spacing value
+(in mils) is given by the *Settings.Bloat* value. The default is 7
+mils. The minimum touching overlap (in mils) is given by the
+*Settings.Shrink* value. This value defaults to 5 mils. Check with your
+fabrication process people to determine the values that are right for
+you.
+
+ If you want to turn off the highlighting produced by the DRC,
+perform an undo (assuming no other changes have been made). To restore
+the highlighting, use redo. The redo will restore the highlighting
+quickly without re-running the DRC checker.
+
+
+File: pcb.info, Node: User Commands, Next: Command-Line Options, Prev: Getting Started, Up: Top
+
+User Commands
+*************
+
+ The entering of user-commands is initiated by the action routine
+*Command()* (the `(":")' character) and finished by either *<Key>Return*
+or *<Key>Escape* to confirm or to abort. These two keybindings cannot
+be changed from the resource file. The triggering event, normally a
+key press, is ignored. The input area will replace the bottom
+statusline. It pops up when *Command()* is called. The arguments of the
+user-commands are passed to the external commands without modification.
+See also, the resource *saveInTMP*.
+
+ There are simple *usage* dialogs for each command and one for the
+complete set of commands.
+
+`l [filename]'
+ Loads a new datafile (layout) and, if confirmed, overwrites any
+ existing unsaved data. The filename and the searchpath
+ (*filePath*) are passed to the command defined by *fileCommand*.
+ If no filename is specified a file select box will popup.
+
+`le [filename]'
+ Loads an element description into the paste buffer. The filename
+ and the searchpath (*elementPath*) are passed to the command
+ defined by *elementCommand*. If no filename is specified a file
+ select box will popup.
+
+`m [filename]'
+ Loads an layout file into the paste buffer. The filename and the
+ searchpath (*filePath*) are passed to the command defined by
+ *fileCommand*. If no filename is specified a file select box will
+ popup.
+
+`q[!]'
+ Quits the program without saving any data (after confirmation).
+ q! doesn't ask for confirmation, it just quits.
+
+`s [filename]'
+ Data and the filename are passed to the command defined by the
+ resource *saveCommand*. It must read the layout data from *stdin*.
+ If no filename is entered, either the last one is used again or,
+ if it is not available, a file select box will pop up.
+
+`rn [filename]'
+ Reads in a netlist file. If no filename is given a file select
+ box will pop up. The file is read via the command defined by the
+ *RatCommand* resource. The command must send its output to
+ *stdout*. The netlist received by pcb must have this simple text
+ form:
+
+ netname NAME-PINNUM NAME2-PINNUM2 NAME3-PINNUM3 ... [\]
+
+ where "netname" is the name of the net (currently its value is
+ ignored but it must be present nonetheless), NAME is the
+ layout-name given to an element, and PINNUM is the (usually
+ numeric) pin number of the element that is part of the net (see
+ *Note Element Objects:: for details on pin numbering). Spaces or
+ tabs separate the fields. If the line ends with a "\" the net
+ continues on the next line and the "\" is treated exactly as if it
+ were a space. If the NAME ends with a lower-case letter, all
+ lower-case letters are stripped from end of the NAME to determine
+ the matching name-on-board name. For example:
+
+ Data U1-3 U2abc-4 FLOP1a-7 Uabc3-A9
+
+ would specifiy that pin 3 of U1 be connected to pin 4 of U2, to
+ pin 7 of FLOP1 and to pin A9 of Uabc3. Note that if pin numbers
+ contain alphabetic characters, they must match the case contained
+ in the "number" string defining the pin number on the
+ cooresponding element. It is up to you to name the elements so
+ that their layout-names agrees with the netlist. Netlists are
+ used for generating rats nest (see *Note Rats Nest::) and for
+ verifying the board layout (which is also accomplished by the
+ *Ratsnest* command.
+
+`w[q] [filename]'
+ These commands have been added for the convenience of `vi' users
+ and have the same functionality as *s* combined with *q*.
+
+`actionCommand'
+ Causes the actionCommand to be executed. This allows you to
+ initiate actions for which no bindings exist in the resource file.
+ It can be used to initiate any action with whatever arguments you
+ enter. This makes it possible to do things that otherwise would
+ be extremely tedious. For example, to change the drilling hole
+ diameter of all vias in the layout to 32 mils, you could select
+ everything using the selection menu, then type
+ "*:ChangeDrillSize(SelectedVias, 32)*". (This will only work
+ provided the via's diameter is sufficiently large to accomodate a
+ 32 mil hole). Another example might be to set the grid to 1 mil
+ by typing "*:SetValue(Grid, 1)*". Note that some actions use the
+ current cursor location, so be sure to place the cursor where you
+ want before entering the command. This is one of my favorite new
+ features in 1.5 and can be a powerful tool. Study the *Note
+ Actions:: section to see what actions are available.
+
+
+File: pcb.info, Node: Command-Line Options, Next: X11 Interface, Prev: User Commands, Up: Top
+
+Command-Line Options
+********************
+
+ There are several resources which may be set or reset in addition to
+the standard toolkit command-line options. For a complete list refer to
+*Note Resources::.
+
+ The synopsis is:
+
+ `pcb [-option ...] [-toolkit_option ...] [layout-file]'
+
+ or
+
+ `pcb -specialoption'
+
+* Menu:
+
+* Options:: `Pcb' command-line options.
+* Special Options:: Version and copyright information.
+
+
+File: pcb.info, Node: Options, Next: Special Options, Up: Command-Line Options
+
+Options
+=======
+
+`-alldirections/+alldirections'
+ Disables or enables line clipping to 45 degree angles. Overwrites
+ the resource *allDirectionLines*.
+
+`-backup value'
+ Time between two backups in seconds. Passing zero disables the
+ backup feature. Overwrites the resource *backupInterval*.
+
+`-c value'
+ Number of characters per output line. The resource
+ *charactersPerLine* is overwritten.
+
+`-fontfile filename'
+ The default set of symbols (font) for a new layout is read from
+ this file. All directories as defined by the resource *fontPath*
+ are scanned for the file. The scan is only performed if the
+ filename doesn't contain a directory component. The *fontFile*
+ resource is changed.
+
+`-lelement command-line'
+ Sets the command to be executed when an element is loaded from a
+ file to the paste buffer. The command may contain %f and %p to
+ pass the requested filename and the searchpath to the command. It
+ must write the data to its standard output. The related resource
+ is *elementCommand*.
+
+`-lfile command-line'
+ Sets the command to be executed when a new layout is loaded from a
+ file. The command may contain %f and %p to pass the requested
+ filename and the searchpath to the command. It must write the data
+ to its standard output. The related resource is *fileCommand*.
+
+`-lfont command-line'
+ Sets the command to be executed when a font is loaded from a file.
+ The command may contain %f and %p to pass the requested filename
+ and the searchpath to the command. It must write the data to its
+ standard output. The related resource is *fontCommand*.
+
+`-lg layergroups'
+ This option overwrites the resource *layerGroups*. See its
+ description for more information. The value is used for new
+ layouts only.
+
+`-libname filename'
+ The default filename for the library. Overwrites the resource
+ *libraryFilename*.
+
+`-libpath path'
+ The default search path for the the library. Overwrites the
+ resource *libraryPath*.
+
+`-llib command-line'
+ Sets the command to be executed when an element is loaded from the
+ library. The command may contain %f and %p to pass the requested
+ filename and the searchpath to the command. %a is replaces by the
+ three arguments *template*, *value* and *package*. The command
+ must write the data to its standard output. The related resource
+ is *libraryCommand*.
+
+`-llibcont command-line'
+ The command lists the contents of the library. The command may
+ contain %f and %p to pass the library filename and the searchpath
+ to the command. Also refer to *Note Library File:: and *Note
+ Library Contents File::. The related resource is
+ *libraryContentsCommand*.
+
+`-loggeometry geometry'
+ Determines the geometry of the log window.
+
+`-pnl value'
+ Restricts the displayed length of the name of a pin in the pinout
+ window to the passed value. See also, the resource
+ *pinoutNameLength*.
+
+`-pz value'
+ Sets the zoom factor for the pinout window according to the
+ formula: scale = 1:(2 power value). The related resource is
+ *pinoutZoom*.
+
+`-reset/+reset'
+ If enabled, all connections are reset after each element is
+ scanned. This feature is only used while scanning connections to
+ all elements. See also, *resetAfterElement*.
+
+`-ring/+ring'
+ Overrides the resource *ringBellWhenFinished*. If enabled, the bell
+ sounds when connection searching has finished.
+
+`-rs string'
+ Overrides the resource *routeStyle*. The string defines a colon
+ separated list of route styles. The route styles consist of a
+ comma separated list of name, line thickness, via diameter, and
+ via drill size. e.g.
+ "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20"
+
+`-s/+s'
+ Enables/Disables the saving of the previous commandline. Overrides
+ the *saveLastCommand* resource.
+
+`-save/+save'
+ See the resource description of *saveInTMP* for details.
+
+`-sfile command-line'
+ Sets the command to be executed when an layout file is saved. The
+ command may contain %f which is replaced by the filename. The
+ command must read its data from the standard input. The resource
+ *saveCommand* is overwritten.
+
+`-size <width>x<height>'
+ Overrides the resource *size* which determines the maximum size of
+ a layout.
+
+`-v value'
+ Sets the volume of the X speaker. The value is passed to `XBell()'
+ and must be in the range -100..100.
+
+
+File: pcb.info, Node: Special Options, Prev: Options, Up: Command-Line Options
+
+Special Options
+===============
+
+ There are some special options available in addition to normal
+command line options. Each of these must be the only option specified
+on a command line. The available special options are:
+
+`-copyright'
+ Prints out the copyright notice and terminates.
+
+`-version'
+ Prints out the version ID and terminates.
+
+`-help'
+ Prints out the usage message and terminates.
+
+
+File: pcb.info, Node: X11 Interface, Next: File Formats, Prev: Command-Line Options, Up: Top
+
+X11 Interface
+*************
+
+ This chapter gives an overview about the additional `X11' resources
+which are defined by `Pcb' as well as the defined action routines.
+
+* Menu:
+
+* Resources:: Non-standard `X11' application resources.
+* Actions:: A list of available action routines.
+* Translations:: A list of the default key translations (as shipped).
+
+
+File: pcb.info, Node: Resources, Next: Actions, Up: X11 Interface
+
+Non-Standard X11 Application Resources
+======================================
+
+ In addition to the toolkit resources, `Pcb' defines the following
+resources:
+
+`absoluteGrid (boolean)'
+ Selects if either the grid is relative to the position where it
+ has changed last or absolute, the default, to the origin (0,0).
+
+`alignmentDistance (dimension)'
+ Specifies the distance between the boards outline to the alignment
+ targets.
+
+`allDirectionLines (boolean)'
+ Enables (default) or disables clipping of new lines to 45 degree
+ angles.
+
+`backupInterval (int)'
+ `Pcb' has an automatic backup feature which saves the current data
+ every n seconds. The default is *300* seconds. A value of zero
+ disables the feature. The backup file is named
+ `/tmp/PCB.%i.backup'. *%i* is replaced by the process ID. See
+ also, the command-line option *-backup*.
+
+`Bloat (dimension)'
+ Specifies the minimum spacing design rule in mils.
+
+`charactersPerLine (int)'
+ `Pcb' uses this value to determine the page width when creating
+ lists. N, the number of characters per line, defaults to *80*.
+ See also, the command-line option *-c*.
+
+`connectedColor (color)'
+ All pins, vias, lines and rectangles which are selected during a
+ connection search are drawn with this color. The default value is
+ determined by *XtDefaultForeground*.
+
+`crosshairColor (color)'
+ This color is used to draw the crosshair cursor. The color is a
+ result of a *XOR* operation with the contents of the drawing area.
+ The result also depends on the default colormap of the `X11'
+ server because only the colormap index is used in the boolean
+ operation and `Pcb' doesn't create its own colormap. The default
+ setting is *XtDefaultForeground*.
+
+`elementColor (color)'
+`elementSelectedColor (color)'
+ The elements package part is drawn in these colors, for normal and
+ selected mode, respectively, which both default to
+ *XtDefaultForeground*.
+
+`elementCommand (string)'
+ `Pcb' uses a user defined command to read element files. This
+ resources is used to set the command which is executed by the
+ users default shell. Two escape sequences are defined to pass the
+ selected filename (%f) and the current search path (%p). The
+ command must write the element data to its standard output. The
+ default value is
+ M4PATH="%p";export M4PATH;echo 'include(%f)' | m4
+ Using the GNU version of `m4' is highly recommended. See also,
+ the command-line option *-lelement*.
+
+`elementPath (string)'
+ A colon separated list of directories or commands (starts with
+ '|'). The path is passed to the program specified in
+ *elementCommand* together with the selected elementname. A
+ specified command will be executed in order to create entries for
+ the fileselect box. It must write its results to *stdout* one
+ entry per line. See also, the user-command *le[!]*.
+
+`fileCommand (string)'
+ The command is executed by the user's default shell whenever
+ existing layout files are loaded. Data is read from the command's
+ standard output. Two escape sequences may be specified to pass
+ the selected filename (%f) and the current search path (%p). The
+ default value is:
+ cat %f
+ See also, the command-line option *-lfile*.
+
+`filePath (string)'
+ A colon separated list of directories or commands (starts with
+ '|'). The path is passed to the program specified in
+ *fileCommand* together with the selected filename. A specified
+ command will be executed in order to create entries for the
+ fileselect box. It must write its results to *stdout* one entry
+ per line. See also, the user-command *l[!]*.
+
+`fontCommand (string)'
+ Loading new symbol sets also is handled by an external command.
+ You again may pass the selected filename and the current search
+ path by passing %f and %p in the command string. Data is read from
+ the commands standard output. This command defaults to
+ cat %f
+ See also, the command-line option *-lfont*.
+
+`fontFile (string)'
+ The default font for new layouts is read from this file which is
+ searched in the directories as defined by the resource *fontPath*.
+ Searching is only performed if the filename does not contain a
+ directory component. The default filename is `default_font'. See
+ also, the command-line option *-fontfile*.
+
+`fontPath (string)'
+ This resource, a colon separated list of directories, defines the
+ searchpath for font files. See also, the resource *fontFile*.
+
+`grid (int)'
+ This resources defines the initial value of one cursor step. It
+ defaults to *100 mil* and any changes are saved together with the
+ layout data.
+
+`gridColor (color)'
+ This color is used to draw the grid. The color is a result of a
+ *INVERT* operation with the contents of the drawing area. The
+ result also depends on the default colormap of the `X11' server
+ because only the colormap index is used in the boolean operation
+ and `Pcb' doesn't create its own colormap. The default setting is
+ *XtDefaultForeground*.
+
+`elementColor (color)'
+ Elements localted on the opposite side of the board are drawn in
+ this color. The default is *XtDefaultForeground*.
+
+`layerColor1..8 (color)'
+`layerSelectedColor1..8 (color)'
+ These resources define the drawing colors of the different layers
+ in normal and selected state. All values are preset to
+ *XtDefaultForeground*.
+
+`layerGroups (string)'
+ The argument to this resource is a colon separated list of comma
+ separated layernumbers (1..8). All layers within one group are
+ switched on/off together. The default setting is *1:2:3:...:8*
+ which means all layers are handled separatly. Grouping layers one
+ to three looks like *1,2,3:4:...:8* See also, the command-line
+ option *-lg*.
+
+`layerName1..8 (string)'
+ The default name of the layers in a new layout are determined by
+ these resources. The defaults are empty strings.
+
+`libraryCommand (string)'
+ `Pcb' uses a command to read element data from libraries. The
+ resources is used to set the command which is executed by the users
+ default shell. Three escape sequences are defined to pass the
+ selected filename (%f), the current search path (%p) as well (%a)
+ as the three parameters *template*, *value* and *package* to the
+ command. It must write the element data to its standard output.
+ The default value is
+ /usr/X11R6/lib/X11/pcb/QueryLibrary.sh %p %f %a
+
+`libraryContentsCommand (string)'
+ Similar to *libraryCommand*, `Pcb' uses the command specified by
+ this resource to list the contents of a library.
+ /usr/X11R6/lib/X11/pcb/ListLibraryContents.sh %p %f
+ is the default.
+
+`libraryFilename (string)'
+ The resource specifies the name of the library. The default value
+ is *pcblib*.
+
+`libraryPath (string)'
+ A colon separated list of directories that will be passed to the
+ commands specified by *elementCommand* and
+ *elementContentsCommand*.
+
+`lineThickness (dimension)'
+ The value, int the range [1..250], defines the initial thickness
+ of new lines. The value is preset to *ten mil*.
+
+`media (<predefined> | <width>x<height>+-<left_margin>+-<top_margin>)'
+ The default (user defined) media of the `PostScript' device.
+ Predefined values are *a3*, *a4*, *a5*, *letter*, *tabloit*,
+ *ledger*, *legal*, and *executive*. The second way is to specify
+ the medias width, height and margins in mil. The resource
+ defaults to *a4* size.
+
+`offLimitColor (color)'
+ The area outside the current maximum settings for width and height
+ is drawn with this color. The default value is determined by
+ *XtDefaultBackground*.
+
+`pinColor (color)'
+`pinSelectedColor(color)'
+ This resource defines the drawing color of pins and pads in both
+ states. The values are preset to *XtDefaultForeground*.
+
+`pinoutFont (string)'
+ This fonts are used to display pin names. There is one font for
+ each zoom value. The values are preset to *XtdefaultFont*.
+
+`pinoutNameLength (int)'
+ This resource limits the number of characters which are displayed
+ for pin names in the pinout window. By default the string length
+ is limited to *eight* characters per name. See also, the
+ command-line option *-pnl*.
+
+`pinoutOffsetX (int)'
+`pinoutOffsetY (int)'
+ These resources determine the offset in *mil* of the circuit from
+ the upper left corner of the window when displaying pinout
+ information. Both default to *100 mil*.
+
+`pinoutTextOffsetX (int)'
+`pinoutTextOffsetY (int)'
+ The resources determine the distance in mil between the drilling
+ hole of a pin to the location where its name is displayed in the
+ pinout window. They default to *X:50* and *Y:0*.
+
+`pinoutZoom (int)'
+ Sets the zoom factor for the pinout window according to the
+ formula: scale = 1:(2 power value). Its default value is *two*
+ which results in a *1:4* scale. See also, the command-line option
+ *-pz*.
+
+`printCommand (string)'
+ Default file for printouts. If the name starts with a '|' the
+ output is piped through the command. A %f is replaced by the
+ current filename. There is no default file or command.
+
+`raiseLogWindow (boolean)'
+ The log window will be raised when new messages arrive if this
+ resource is set *true*, the default.
+
+`ratCommand (string)'
+ Default command for reading a netlist. A %f is replaced by the
+ netlist filename. Its default value is "*cat %f*".
+
+`ratPath (string)'
+ Default path to look for netlist files. It's default value is "."
+
+`resetAfterElement (boolean)'
+ If set to *true*, all found connections will be reset before a new
+ element is scanned. This will produce long lists when scanning the
+ whole layout for connections. The resource is set to *false* by
+ default. The feature is only used while looking up connections of
+ all elements. See also, the command-line option *-reset, +reset*.
+
+`ringBellWhenFinished (boolean)'
+ Whether to ring the bell (the default) when a possibly lengthy
+ operation has finished or not. See also, the command-line option
+ *-ring, +ring*.
+
+`routeStyle (string)'
+ Default values for the menu of routing styles (seen in the sizes
+ menu). The string is a comma separated list of name, line
+ thickness, via diameter, and via drill size. e.g.
+ "Fat,50,100,40:Skinny,8,35,20:75Ohm,110,110,20" See also, the
+ command-line option *-rs* and *Sizes Menu*
+
+`rubberBandMode (boolean)'
+ Whether rubberband move and rotate (attached lines stretch like
+ rubberbands) is enabled (the default).
+
+`saveCommand (string)'
+ This command is used to save data to a layout file. The filename
+ may be indicated by placing `%f' in the string. It must read the
+ data from its standard input. The default command is:
+ cat - > %f
+ See also, the command-line option *-sfile*.
+
+`saveInTMP (boolean)'
+ Enabling this resource will save all data which would otherwise be
+ lost in a temporary file `/tmp/PCB.%i.save'. *%i* is replaced by
+ the process ID. As an example, loading a new layout when the old
+ one hasn't been saved would use this resource. See also, the
+ command-line option *-save, +save*.
+
+`saveLastCommand (boolean)'
+ Enables the saving of the last entered user command. The option is
+ *disabled* by default. See also, the command-line option *-s, +s*.
+
+`Shrink (dimension)'
+ Specifies the minimum overlap (touching) design rule in mils.
+
+`size (<width>x<height>)'
+ Defines the width and height of a new layout. The default is
+ *7000x5000*.
+
+`stipllePolygons (boolean)'
+ Determines whether to display polygons on the screen with a
+ stippled pattern. Stippling can create some amount of
+ transperency so that you can still (to some extent) see layers
+ beneath polygons. It defaults to False.
+
+`textScale (dimension)'
+ The font scaling in percent is defined by this resource. The
+ default is *100* percent.
+
+`useLogWindow (boolean)'
+ Several subroutines send messages to the user if an error occurs.
+ This resource determines if they appear inside the log window or
+ as a separate dialog box. See also, the resource *raiseLogWindow*
+ and the command line option *-loggeometry*. The default value is
+ *true*.
+
+`viaColor (color)'
+
+`viaSelectedColor (color)'
+ This resource defines the drawing color of vias in both states.
+ The values are preset to *XtDefaultForeground*.
+
+`viaThickness (dimension)'
+`viaDrillingHole (dimension)'
+ The initial thickness and drilling hole of new vias. The values
+ must be in the range [30..250] with at least 20 mil of copper.
+ The default thickness is *40 mil* and the default drilling hole is
+ *20 mil*.
+
+`volume (int)'
+ The value is passed to `XBell()' which sets the volume of the `X'
+ speaker. The value lies in the range -100..100 and it defaults to
+ the maximum volume of *100*.
+
+`warnColor (color)'
+ This resources defines the color to be used for drawing pins and
+ pads when a warning has been issued about them.
+
+`zoom (int)'
+ The initial value for output scaling is set according to the
+ following formula: scale = 1:(2 power value). It defaults to
+ *three* which results in an output scale of *1:8*.
+
+ Refer also to *Note Command-Line Options::.
+
+
+File: pcb.info, Node: Actions, Next: Translations, Prev: Resources, Up: X11 Interface
+
+Actions
+=======
+
+ All user accessible commands may be bound to almost any `X' event.
+Almost no default binding for commands is done in the binaries, so it
+is vital for the application that at least a system-wide application
+resource file exists. This file normally resides in the
+`X11/lib/app-defaults' directory and is called `Pcb'. The bindings to
+which the manual refers to are the ones as defined by the shipped
+resource file. Besides binding an action to an X11 event, you can also
+execute any action command using a ":" command (see *Note User
+Commands::).
+
+ Take special care about translations related to the functions keys
+and the pointer buttons because most of the window managers use them
+too. Change the file according to your hardware/software environment.
+You may have to replace all occurances of *baseTranslations* to
+*translations* if you use a `X11R4' server.
+
+ Passing *Object* as an argument to an action routine causes the
+object at the cursor location to be changed, removed or whatever. If
+more than one object is located at the crosshair position the smallest
+type is used. If there are two of the same type the newer one is taken.
+*SelectedObjects* will handle all selected and visible objects.
+
+`AddRats(AllRats|SelectedRats)'
+ Adds rat-lines to the layout using the loaded netlist file (see
+ the *:rn*, *Note User Commands::.). Rat lines are added on the
+ active layer using the current line thickness shown in the status
+ line. Only missing connectivity is added by the AddRats command
+ so if, for example, the layout is complete nothing will be added.
+ Rat lines are drawn on the screen with a stippled pattern to make
+ them easier to identify since they cannot appear in a completed
+ layout. The rat-lines are added in the minimum length
+ straight-line tree pattern (always ending on pins or pads) that
+ satisfies the missing connectivity in the circuit. If a SMD pad
+ is unreachable on the active layer, a warning will be issued about
+ it and the rat-line to that pad will not be generated. If
+ connections exist on the board which are not listed in the netlist
+ while AllRats are being added, warning messages will be issued and
+ the affected pins and pads will be drawn in a special *warnColor*
+ until the next *Notify()* event. If the entire layout agrees
+ completely with the net-list a message informs you that the layout
+ is complete and no rat-lines are added (since none are needed).
+ If *SelectedRats* is passed as the argument, only those missing
+ connections that might connect among the selected pins and pads
+ are drawn. Default:
+ None<Key>w: AddRats(AllRats)
+ !Shift<Key>w: AddRats(SelectedRats)
+ None<Key>o: DeleteRats(AllRats) AddRats(AllRats)
+ !Shift<Key>o: DeleteRats(SelectedRats) AddRats(SelectedRats)
+
+`Atomic(Save|Restore|Block|Close)'
+ Controls the undo grouping of sequences of actions. Before the
+ first action in a group, Atomic(Save) should be issued. After
+ each action that might be undoable, Atomic(Restore) should be
+ issued. Atomic(Block) concludes and save the undo grouping if
+ there was anything in the group to undo. Atomic(Close) concludes
+ and save the undo grouping even if nothing was actually done.
+ Thus it might produce an "empty" undo. This can be useful when
+ you want to use undo in a group of actions.
+
+`Bell([-100..100])'
+ Rings the bell of your display. If no value is passed the setting
+ of the resource *volume* will be used.
+
+`ChangeDrillSize(Object, value)'
+`ChangeDrillSize(SelectedPins|SelectedVias, value)'
+ This action routine changes the drilling hole of pins and vias.
+ If *value* starts with + or -, then it adds (or subtracts) *value*
+ from the current hole diameter, otherwise it sets the diameter to
+ the value. Default:
+ !Mod1<Key>s: Change2ndSize(Object, +5)
+ !Mod1 Shift<Key>s: Change2ndSize(Object, -5)
+
+`ChangeHole(Object|SelectedVias)'
+ This action routine converts a via to and from a hole. A hole is
+ a via that has no copper annulus. The drill size for the via
+ determines the hole diameter.
+ !Ctrl<Key>h: ChangeHole(Object)
+
+`ChangeName(Object)'
+`ChangeName(Layer|Layout)'
+ Changes the name of the visible object at the cursor location. A
+ text object doesn't have a name therefore the text string itself
+ is changed. The element name currently used for display is always
+ the one changed with this command. See
+ *Display(Description|NameOnPCB|Value)* for details. Passing
+ *Layer* changes the current layers name. Default:
+ None<Key>n: ChangeName(Object)
+
+`ChangeOctagon(Object|SelectElements|SelectedPins|SelectedVias|Selected)'
+ Toggles what shape the affected pin(s) or via(s) will be drawn
+ when they are not square. The shape will either be round or
+ octagonal. Default:
+ !Ctrl<Key>o: ChangeOctagon(Object)
+
+`ChangeSize(Object, value)'
+`ChangeSize(SelectedLines|SelectedPins|SelectedVias, value)'
+`ChangeSize(SelectedPads|SelectedTexts|SelectedNames, value)'
+`ChangeSize(SelectedElements, value)'
+ To change the size of an object you have to bind these action to
+ some `X' event (or use :ChangeSize(...)). If *value* begins with
+ a + or - then the value will be added (or subtracted) from the
+ current size, otherwise the size is set equal to *value*. Range
+ checking is done to insure that none of the maximum/minimums of
+ any size are violated. If *Object* is passed then a single object
+ at the cursor location is changed. If any of the *Selected*
+ arguments are passed then all selected and visible objects of that
+ type are changed. If the type being modified is an element, then
+ the thickness of the silkscreen lines defining the element is
+ changed. Default:
+ None<Key>s: ChangeSize(Object, +5)
+ !Shift<Key>s: ChangeSize(Object, -5)
+
+`ChangeSquare(Object|SelectedElements|SelectedPins)'
+ Toggles the setting of the square flag. The flag is used to
+ identify a certain pin, normally the first one, of circuits. It is
+ also used to make SMD pads have square ends.
+ None<Key>q: ChangeSquare(Object)
+
+`Command()'
+ Calling *Command()* pops up an input line at the bottom of the
+ window which allows you to enter commands. Including all action
+ commands! The dialog ends when *None<Key>Return* to confirm or
+ *None<Key>Escape* to abort is entered. Default:
+ <Key>colon: Command()
+
+`Connection(Find)'
+`Connection(ResetFoundLinesAndRectangles|ResetPinsViasAndPads|Reset)'
+ The *Connection()* action is used to mark all connections from one
+ pin, line or via to others. The *ResetFoundLinesAndRectangles,
+ ResetFoundPinsAndVias* and *Reset* arguments may be used to reset
+ all marked lines and rectangles, vias and pins or all of them. The
+ search starts with the pin or via at the cursor position. All
+ found objects are drawn with the color defined by the resource
+ *connectedColor*. See also,
+ *Display(Description|NameOnPCB|Value)*. Default:
+ !Shift<Key>c: Connection(Reset)
+ None<Key>f: Connection(Find)
+ !Shift<Key>f: Connection(Reset)
+
+`DeleteRats(AllRats|SelectedRats)'
+ This routine deletes either all rat-lines in the layout, or only
+ the selected and visible ones. Non-rat-lines and other layout
+ objects are unaffected. Default:
+ None<Key>e: DeleteRats(AllRats)
+ !Shift<Key>e: DeleteRats(SelectedRats)
+
+`Display(Description|NameOnPCB|Value)'
+`Display(Toggle45Degree|CycleClip)'
+`Display(Grid|ToggleGrid)'
+`Display(ToggleRubberBandMode)'
+`Display(Center|ClearAndRedraw|Redraw)'
+`Display(Pinout|PinOrPadName)'
+ This action routines handles some output related settings. It is
+ used to center the display around the cursor location and to
+ redraw the output area optionally after clearing the window.
+ Centering is done with respect to the *grid* setting. Displaying
+ the grid itself may be switched on and off by *Grid* but only if
+ the distance between two pixels exceeds 1_DISTANCE pixels. `Pcb'
+ is able to handle several labels of an element. One of them is a
+ description of the functionality (eg resistor), the second should
+ be a unique identifier (R1) whereas the last one is a value (100k).
+ The *Display()* action selects which of the names is displayed.
+ It also controls which name will be affected by the *ChangeName*
+ command. If *ToggleGrid* is passed, `Pcb' changes between relative
+ ('rel' in the statusline) and absolute grid (an 'abs' in the
+ statusline). Relative grid means the pointer position when the
+ command is issued is used as the grid origin; while (0,0) is used
+ in the absolute grid case. Passing *Pinout* displays the pinout
+ of the element at the current cursor location whereas
+ *PinOrPadName* toggles displaying of the pins or pads name under
+ the cursor. If none of them matches but the cursor is inside of an
+ element, the flags is toggled for all of its pins and pads. For
+ details about rubberbands see also the details about *Mode*.
+ Default:
+ None<Key>c: Display(Center)
+ None<Key>d: Display(PinOrPadName)
+ !Shift<Key>d: Display(Pinout)
+ None<Key>r: Display(ClearAndRedraw)
+ None<Key>.: Display(Toggle45Degree)
+ None<Key>/: Display(CycleClip)
+
+`DRC()'
+ Initiates design rule checking of the entire layout. Must be
+ repeated until no errors are found.
+
+`EditLayerGroups()'
+ Pops up a dialog box to edit the layergroup setting. The function
+ is also available from the *Objects* menu. There are no defaults.
+
+`Load(ElementToBuffer|Layout|LayoutToBuffer|Nelist)'
+ This routine pops up a fileselect box to load layout, element data,
+ or netlist. The passed filename for layout data is saved and may
+ be reused. *ElementToBuffer* and *LayoutToBuffer* load the data
+ into the current buffer. There are no defaults.
+
+`MarkCrosshair()'
+ This routine marks the current cursor location with an X, and then
+ the cursor display shows both absolute position and position
+ relative to the mark. If a mark is already present, this routine
+ removes it and stops displaying relative cursor coordinates.
+ Defaults:
+ !Ctrl<key>m: MarkCrosshair()
+
+`Mode(Copy|InsertPoint|Line|Move|None|PasteBuffer|Polygon|Thermal)'
+`Mode(Remove|Rectangle|RubberbandMove|Text|Via)'
+`Mode(Cycle)'
+`Mode(Notify)'
+`Mode(Save|Restore)'
+ Switches to a new mode of operation. The active mode is displayed
+ by a thick line around the matching mode selector button. Most of
+ the functionality of `Pcb' is implemented by selecting a mode and
+ calling *Mode(Notify)*. The arguments *Line*, *Polygon*,
+ *Rectangle*, *Text* and *Via* are used to create the appropriate
+ object whenever *Mode(Notify)* is called. Some of them, such as
+ *Polygon*, need more than one call for one object to be created.
+ *InsertPoint* adds points to existing polygons or lines. *Save*
+ and *Restore* are used to temporarily save the mode, switch to
+ another one, call *Mode(Notify)* and restore the saved one. Have a
+ look at the application resource file for examples. *Copy* and
+ *Move* modes are used to change an object's location and,
+ optionally, to create a new one. The first call of *Mode(Notify)*
+ attaches the object at the pointer location to the crosshair
+ whereas the second one drops it to the layout. The *rubberband*
+ version of move performs the move while overriding the current
+ rubberband mode. Passing *PasteBuffer* attaches the contents of
+ the currently selected buffer to the crosshair. Each call to
+ *Mode(Notify)* pastes this contents to the layout. *Mode(Cycle)*
+ cycles through the modes available in the mode-button pallete.
+ *Mode(None)* switches all modes off. Default:
+ <Key>Escape: Mode(None)
+ <Key>space: Mode(Cycle)
+ None<Key>BackSpace: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
+ None<Key>Delete: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
+ None<Key>F1: Mode(Via)
+ None<Key>F2: Mode(Line)
+ None<Key>F3: Mode(PasteBuffer)
+ None<Key>F4: Mode(Rectangle)
+ None<Key>F5: Mode(Text)
+ None<Key>F6: Mode(Polygon)
+ None<Key>F7: Mode(Thermal)
+ None<Key>F8: Mode(Arc)
+ None<Key>Insert: Mode(InsertPoint)
+ None<Key>[: Mode(Save) Mode(Move) Mode(Notify)
+ None<Key>]: Mode(Notify) Mode(Restore)
+ None<Btn1Down>: Mode(Notify)
+ !Shift Ctrl<Btn1Down>: Mode(Save) Mode(Remove) Mode(Notify) Mode(Restore)
+ None<Btn2Down>: Mode(Save) Mode(Move) Mode(Notify)
+ None<Btn2Up>: Mode(Notify) Mode(Restore)
+ !Mod1<Btn2Down>: Mode(Save) Mode(Copy) Mode(Notify)
+ !Mod1<Btn2Up>: Mode(Notify) Mode(Restore)
+ Shift Mod1<Btn2Down>: Mode(Save) Mode(RubberbandMove) Mode(Notify)
+
+`MovePointer(delta_x, delta_y)'
+ With this function it is possible to move the crosshair cursor by
+ using the cursor keys. The `X' server's pointer follows because
+ the necessary events are generated by `Pcb'. All movements are
+ performed with respect to the currently set grid value. Default:
+ None<Key>Up: MovePointer(0, -1)
+ !Shift<Key>Up: MovePointer(0, -10)
+ None<Key>Down: MovePointer(0, 1)
+ !Shift<Key>Down: MovePointer(0, 10)
+ None<Key>Right: MovePointer(1, 0)
+ !Shift<Key>Right: MovePointer(10, 0)
+ None<Key>Left: MovePointer(-1, 0)
+ !Shift<Key>Left: MovePointer(-10, 0)
+
+`MoveToCurrentLayer(Object|SelectedObjects)'
+ The function moves a single object at the crosshair location or
+ all selected objects to the current layer. Elements are not
+ moveable by this function. They have to be deleted and replaced
+ on the other side. If a line segment is moved and the movement
+ would result in a loss of connectivity to another segment then
+ via(s) are automatically added to maintain the connectivity.
+ None<Key>m: MoveToCurrentLayer(Object)
+ !Shift<Key>m: MoveToCurrentLayer(SelectedObjects)
+
+`New()'
+ Clear the current layout and starts a new one after entering its
+ name. Refer to the resource *backup* for more information. No
+ defaults.
+
+`PasteBuffer(AddSelected|Clear|1..5)'
+`PasteBuffer(Rotate, 1..3)'
+`PasteBuffer(Convert)'
+ This action routine controls and selects the pastebuffer as well
+ as all cut-and-paste operations. Passing a buffer number selects
+ one in of the range 1..5. The statusline is updated with the new
+ number. *Rotate* performs a number of 90 degree counter clockwise
+ rotations of the buffer contents. *AddSelected* as first argument
+ copies all selected and visible objects into the buffer. Passing
+ *Clear* removes all objects from the currently selected buffer.
+ *Convert* causes the contents of the buffer (lines, arc, vias) to
+ be converted into an element definition. Refer to *Note
+ Pastebuffer:: for examples. Default:
+ !Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ Mode(PasteBuffer)
+ !Shift Ctrl<Key>x: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ RemoveSelected() Mode(PasteBuffer)
+ !Mod1<Key>c: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ !Mod1<key>x: PasteBuffer(Clear) PasteBuffer(AddSelected)
+ RemoveSelected()
+ !Shift<Key>1: PasteBuffer(1)
+ !Shift<Key>2: PasteBuffer(2)
+ !Shift<Key>3: PasteBuffer(3)
+ !Shift<Key>4: PasteBuffer(4)
+ !Shift<Key>5: PasteBuffer(5)
+ None<Key>F3: Mode(PasteBuffer)
+
+`Polygon((Close|PreviousPoint)'
+ Polygons need a special action routine to make life easier. Calling
+ *Polygon(PreviousPoint)* resets the newly entered corner to the
+ previous one. The Undo action will call Polygon(PreviousPoint)
+ when appropriate to do so. *Close* creates the final segment of
+ the polygon. This may fail if clipping to 45 degree lines is
+ switched on, in which case a warning is issued. Default:
+ None<Key>p: Polygon(Close)
+ !Shift<Key>p: Polygon(Close)
+
+`Print()'
+ Pops up a print control box that lets you select the output
+ device, scaling and many more options. Each run creates all files
+ that are supported by the selected device. These are mask files as
+ well as drilling files, silk screens and so on. The table shows
+ the filenames for all possible files:
+ POSIX (extention) 8.3 filename
+ ---------------------------------------------
+ *_componentmask.* cmsk.*
+ *_componentsilk.* cslk.*
+ *_soldermask.* smsk.*
+ *_soldersilk.* sslk.*
+ *_drill.* dril.*
+ *_groundplane.* gpl.*
+ *_group[1..8].* [..8].*
+ The output may be sent to a postprocessor by starting the filename
+ with the *pipe* `("|")' character. Any `"%f"' in a command is
+ replaced with the current filename. The function is available from
+ the *file* menu. There are no defaults.
+
+`Quit()'
+ Quits the application after confirming the operation. Default:
+ <Message>WM_PROTOCOLS: Quit()
+
+`Redo()'
+ This routine allows you to recover from the last undo command.
+ You might want to do this if you thought that undo was going to
+ revert something other than what it actually did (in case you are
+ confused about which operations are un-doable), or if you have
+ been backing up through a long undo list and over-shoot your
+ stopping point. Any change that is made since the undo in
+ question will trim the redo list. For example if you add ten
+ lines, then undo three of them you could use redo to put them
+ back, but if you move a line on the board before performing the
+ redo, you will lose the ability to "redo" the three "undone" lines.
+ Default:
+ !Shift<Key>r: Redo()
+
+`RemoveSelected()'
+ This routine removes all visible and selected objects. There are
+ no defaults.
+
+`Report(Object|DrillReport)'
+ This routine pops up a dialog box describing the various
+ characteristics of an object (or piece of an object such as a pad
+ or pin) in the layout at the cursor position, or a report about
+ all of the drill holes in the layout. There are no defaults.
+
+`RouteStyle(1|2|3|4)'
+ This routine copies the sizes corresponding to the numbered route
+ style into the active line thicknes, via diameter, and via drill
+ size. Defaults:
+ !Ctrl<Key>1: RouteStyle(1)
+ ...
+ !Ctrl<Key>4: RouteStyle(4)
+
+`Save(Layout|LayoutAs)'
+`Save(AllConnections|AllUnusedPins|ElementConnections)'
+ Passing *Layout* saves the layout using the file from which it was
+ loaded or, if it is a new layout, calls *Save(LayoutAs)* which
+ queries the user for a filename. The values: *AllConnections*,
+ *AllUnusedPins* and *ElementConnections* start a connection scan
+ and save all connections, all unused pins or the connections of a
+ single element to a file. There are no defaults.
+
+`Select(All|Block|Connection|ToggleObject)'
+`Select(ElementByName|ObjectByName|PadByName|PinByName)'
+`Select(TextByName|ViaByName)'
+ Toggles either the selection flag of the object at the crosshair
+ position (*ToggleObject*) or selects all visible objects, all
+ inside a rectangle or all objects which have been found during the
+ last connection scan. The *ByName* functions use a regular
+ expression search, always case insensitive, to select the objects.
+ Default:
+ None<Btn3Down>: Select(ToggleObject)
+ None<Btn3Down>,None<Btn3Motion>: See resource file - this is complex
+
+`SetValue(Grid|LineSize|TextScale|ViaDrillingHole|ViaSize|Zoom, value)'
+ Some internal values may be changed online by this function. The
+ first parameter specifies which data has to be changed. The other
+ one determines if the resource is set to the passed value, if
+ *value* is specified without sign, or increments/decrements if it
+ is specified with a plus or minus sign. The function doesn't
+ change any existing object only the initial values of new objects.
+ Use the *ChangeSize()* and *ChangeDrillSize()* to change existing
+ objects. Default:
+ None<Key>g: SetValue(Grid, +5)
+ !Shift<Key>g: SetValue(Grid, -5)
+ None<Key>l: SetValue(LineSize, +5)
+ !Shift<Key>l: SetValue(LineSize, -5)
+ None<Key>t: SetValue(TextScale, +10)
+ !Shift<Key>t: SetValue(TextScale, -10)
+ None<Key>v: SetValue(ViaSize, +5)
+ !Shift<Key>v: SetValue(ViaSize, -5)
+ !Mod1<Key>v: SetValue(ViaDrillingHole, +5)
+ !Mod1 Shift<Key>v: SetValue(ViaDrillingHole, -5)
+ None<Key>z: SetValue(Zoom, -1)
+ !Shift<Key>z: SetValue(Zoom, +1)
+
+`SwapSides()'
+ This routine changes the board side you are viewing. Default:
+ None<Key>Tab: SwapSides()
+
+`SwitchDrawingLayer(value)'
+ Makes layer numer 1..8 the current one. Default:
+ None<Key>1: SwitchDrawingLayer(1)
+ ...
+ None<Key>8: SwitchDrawingLayer(8)
+
+`ToggleHideName(Object|SelectedElements)'
+ Toggles whether the element's name is displayed or hidden. If it
+ is hidden you won't see it on the screen and it will not appear on
+ the silk layer when you print the layout.
+ None<Key>h: ToggleHideName(Object)
+ !Shift<Key>h: ToggleHideName(SelectedElements)
+
+`Undo()'
+`Undo(ClearList)'
+ The unlimited undo feature of `Pcb' allows you to recover from
+ most operations that materially affect you work. Calling *Undo()*
+ without any parameter recovers from the last (non-undo) operation.
+ *ClearList* is used to release the allocated memory. *ClearList*
+ is called whenever a new layout is started or loaded. See also
+ *Redo*. Default:
+ None<Key>u: Undo()
+ !Shift Ctrl<Key>u: Undo(ClearList)
+
+`Unselect(All|Block|Connection)'
+ Unselects all visible objects, all inside a rectangle or all
+ objects which have been found during the last connection scan.
+ Default:
+ !Shift <Btn3Down>: Mode(Save) Mode(None) Unselect(Block)
+ !Shift <Btn3Up>: Unselect(Block) Mode(Restore)
+
+
+File: pcb.info, Node: Translations, Prev: Actions, Up: X11 Interface
+
+Default Translations
+====================
+
+ This section covers some default translations of key and button
+events as defined in the shipped default application resource file.
+Most of them have already been listed in *Note Actions::. `Pcb' makes
+use of a nice `X11' feature; calling several action routines for one
+event.
+
+`None<Key>BackSpace:'
+
+`None<key>Delete:'
+`!Shift<Key>BackSpace:'
+`!Shift Ctrl<Btn1Down>:'
+ The object at the cursor location is removed by
+ *None<Key>BackSpace* or *Shift Ctrl<Btn1Down>* whereas
+ *Shift<Key>BackSpace* also removes all other objects that are
+ fully-connected to the one at the cursor location.
+
+`!Mod1 Ctrl<Key>Left:'
+`!Mod1 Ctrl<Key>Right:'
+`!Mod1 Ctrl<Key>Up:'
+`!Mod1 Ctrl<Key>Down:'
+ Scroll one page in one of the four directions.
+
+`None<Key>Left:, !Shift<Key>Left:'
+`None<Key>Right:, !Shift<Key>Right:'
+`None<Key>Up:, !Shift<Key>Up:'
+`None<Key>Down:, !Shift<Key>Down:'
+ Move crosshair either one or ten points in grid.
+
+`None<Key>Return:'
+ Finished user input, selects the 'default' button of dialogs.
+
+`None<Key>Escape:'
+ *Mode(Reset)*, aborts user input, selects the 'abort' button of
+ dialogs or resets all modes.
+
+`None<Btn2Down>, Btn2<Motion>, None<Btn2Up>:'
+`!Mod1<Btn2Down>, Btn2<Motion>, !Mod1<Btn2Up>:'
+ The first sequence moves the object or element name at the cursor
+ location. The second one copies the objects. Copying isn't
+ available for element names.
+
+
+File: pcb.info, Node: File Formats, Next: Installation, Prev: X11 Interface, Up: Top
+
+File Formats
+************
+
+ All files used by `Pcb' are read from the standard output of a
+command or written to the standard input of one as plain seven bit
+`ASCII'. This makes it possible to use any editor to change the
+contents of a layout file. It is the only way for element or font
+description files to be created. To do so you'll need to study the
+example files `example/*' and `default_font' which are shipped with
+`Pcb'. For an overview refer to *Note Intro::.
+
+ The following sections provide the necessary information about the
+syntax of the files. Netlist files are not created by `Pcb', but it
+does use them. For information on the format of a netlist file see the
+*:rn*, *Note User Commands::. Rat lines are added on the current layer
+using the current The commands described allow you to add almost any
+additional functionality you may need. Examples are compressed read and
+write access as well as archives. The commands themselves are defined
+by the resources *elementCommand*, *fileCommand*, *fontCommand*,
+*libraryCommand*, *libraryContentsCommand* and *saveCommand*. Note
+that the commands are not saved along with the data. It is considered
+an advantage to have the layout file contain all necessary information,
+independent of any other files.
+
+ One thing common to all files is they may include comments, newlines,
+and carriage returns at any place except within quoted strings.
+
+* Menu:
+
+* Basic Types:: Basic types used by all data files.
+* Layout File::
+* Element File::
+* Font File::
+* Library Contents File::
+* Library File::
+
+
+File: pcb.info, Node: Basic Types, Next: Layout File, Up: File Formats
+
+Basic Types
+===========
+
+ Here are the basic type definitions used in the other sections of
+this chapter.
+
+ Description = Name
+ DeltaAngle = Number
+ DrillingHole = Number
+ Flags = Number
+ FontPosition = Number
+ Grid = Number
+ GridOffsetX = Number
+ GridOffsetY = Number
+ Group = GroupMember [,GroupMember]...
+ GroupMember = decimal | [cs]
+ GroupString = """ Group [:Group]... """
+ StyleString = """ Style [:Style]... """
+ Height = Number
+ LayerNumber = Number
+ LayoutName = Name
+ Name = quoted_string
+ Number = decimal | hex
+ PinNumber = quoted_string
+ Spacing = Number
+ StartAngle = Number
+ SymbolID = Number | charconst
+ Thickness = Number
+ TextData = quoted_string
+ TextFlags = Flags
+ TextScale = scale
+ TextX = Number
+ TextY = Number
+ Value = Name
+ Width = Number
+ X = Number
+ X1 = Number
+ X2 = Number
+ Y = Number
+ Y1 = Number
+ Y2 = Number
+ charconst = "'" <any character> "'"
+ comment = "#" {<any character up to a newline>}...
+ decimal = [0-9]+
+ direction = [0-3]
+ hex = 0x[0-9a-fA-F]+
+ scale = [1-<positive integer>]
+ quoted_string = """ <anything except \n and \r> """
+ zoom = [0-MAX]
+
+
+File: pcb.info, Node: Layout File, Next: Element File, Prev: Basic Types, Up: File Formats
+
+Layout File Format
+==================
+
+ The layout file describes a complete layout including symbols, vias,
+elements and layers with lines, rectangles and text. This is the most
+complex file of all.
+
+ File = Header Font PCBData
+ Header = PCBName [GridData] [CursorData] [PCBFlags] [Groups]
+ PCBName = "PCB(" Name Width Height ")"
+ GridData = "Grid(" Grid GridOffsetX GridOffsetY ")"
+ CursorData = "Cursor(" X Y zoom ")"
+ PCBFlags = "Flags(" Flags ")"
+ Groups = "Groups(" GroupString ")"
+ Styles = "Styles(" StyleString ")"
+ Font = {FontData}...
+ FontData = {Symbol}...
+ Symbol = "Symbol(" SymbolID Spacing ")"
+ "(" {SymbolData}... ")"
+ SymbolData = {SymbolLine}...
+ SymbolLine = "SymbolLine(" X1 Y1 X2 Y2 Thickness ")"
+ PCBData = {Via | Layer | Element}...
+
+ Via = "Via(" X Y Thickness DrillingHole Name Flags ")"
+
+ Element = "Element(" Flags Description LayoutName Value \
+ TextX TextY direction scale TextFlags")"
+ "(" {ElementData}... [Mark] ")"
+ ElementData = {ElementLine | Pad | Pin | ElementArc }...
+ ElementArc = "ElementArc(" X Y Width Height
+ StartAngle DeltaAngle Thickness ")"
+ ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")"
+ Mark = "Mark(" X Y ")"
+ Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags")"
+ Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")"
+
+ Layer = "Layer(" LayerNumber Name ")"
+ "(" {LayerData}... ")"
+ LayerData = {Line | Polygon | Text}...
+ Line = "Line(" X1 Y1 X2 Y2 Thickness Flags")"
+ Arc = "Arc(" X Y Width Height StartAngle DeltaAngle Thickness Flags")"
+ Polygon = "Polygon(" Flags ")" \
+ "(" {Points}... ")"
+ Points = "(" X Y ")"
+ Text = "Text(" X Y direction scale TextData Flags")"
+
+`PCBName'
+ is used to define the layout's name which is independent of its
+ filename. It is displayed in the lower left corner of the main
+ window.
+
+`GridData'
+ is optional and is used to save the grid setting and offset which
+ were set at the time the layout was saved.
+
+`CursorData'
+ also is an optional parameter to save the last cursor location and
+ zoom value. The real zoom factor is calculated by scale = 1:(2
+ power value).
+
+`PCBFlags'
+ determine how to draw lines and which name of the elements should
+ be displayed.
+ bit 4: do rubberband moves and rotates if set
+ bit 5: display description of elements if set
+ bit 6: display unique name of an element if set
+ bit 7: use absolute grid if set
+ bit 8: don't clip lines to 45 degrees
+
+`Groups'
+ Layergroups are saved by using this optional parameter. The only
+ way of changing them is to use an editor and alter the appropriate
+ line. The characters *c,s* idenify the component- and solder-side
+ for SMD objects.
+
+`Symbol'
+ See the description of font files in this chapter.
+
+`Via'
+ Vias are always connected to all layers which also means vias are
+ one logical level ahead of layers. Vias are defined by position,
+ size, name and by some flags.
+ bit 0: always clear
+ bit 1: always set
+ bit 2: set if via was found during a connection search
+ bit 4: set if via is a hole (has no copper annulus)
+ bit 5: display the vias name
+ bit 6: via has been selected
+ bit 12: set if via has octagonal shape
+ Other bits have special meaning and should not be changed
+ by the user. See const.h for more information
+
+`Element'
+ See the description of element files in this chapter.
+
+`Layer'
+ A layer is the central object from the user's point of view. It
+ holds all connections and all text objects. Up to 8 may be used
+ individually. Its number, starting with one, and its name are
+ read as arguments.
+
+ `Line'
+ All lines are identified by their start and endpoints
+ together with their thickness and some flags. They have to
+ fit a 45 degree scheme.
+ bit 2: set if line was found during a connection search
+ bit 4: line is a rat-line
+ bit 6: line has been selected
+
+ `Polygon'
+ used to fill a larger area with `copper'. The coordinates
+ specify the corners. The flags are:
+ bit 2: set if polygon was found during a connection search
+ bit 4: polygon is a 1.5 style polygon that automatically clears pins
+ bit 6: polygon has been selected
+
+ `Text'
+ You may use text objects to add information to your board. An
+ example would be naming a connector or marking pin one of it.
+ The position marks the lower left corner of the string which
+ is also a fixpoint for rotations. Text directions are
+ independent to those of lines. They are counted from zero to
+ three with a meaning of zero to 270 degree rotations
+ counter-clockwise. The scaling value is a positive integer
+ which determines a zoom factor in percent.
+ bit 6: the text has been selected
+ bit 7: the text is on the solder (back) side of the board
+ bit 10: the text is on the silkscreen layer
+
+
+File: pcb.info, Node: Element File, Next: Font File, Prev: Layout File, Up: File Formats
+
+Element File Format
+===================
+
+ Element files are used to describe one component which then may be
+used several times within one or more layouts. You will normally split
+the file into two parts, one for the pinout and one for the package
+description. Using `m4' allows you to define pin names as macros in
+one file and include a package description file which evaluates the
+macros. See the resource *elementCommand* for more information. The
+pins (and pads) must appear in squential order in the element file (new
+in 1.5) so that pin 1 must be the first PIN(...) in the file.
+
+ Doing things this way makes it possible to use one package file for
+several different circuits. See the sample files `dil*'.
+
+ The lowest x and y coordinates of all subobjects of an element are
+used as an attachment point for the crosshair cursor of the main window.
+
+ File = {Element}...
+ Element = "Element(" Flags Description LayoutName Value \
+ TextX TextY direction scale TextFlags")"
+ "(" {ElementData}... [Mark] ")"
+ ElementData = {ElementLine | Pad | Pin | ElementArc }...
+ ElementArc = "ElementArc(" X Y Width Height
+ StartAngle DeltaAngle Thickness ")"
+ ElementLine = "ElementLine(" X1 Y1 X2 Y2 Thickness ")"
+ Mark = "Mark(" X Y ")"
+ Pad = "Pad(" X1 Y1 X2 Y2 Thickness Name PinNumber Flags ")"
+ Pin = "Pin(" X Y Thickness DrillingHole Name PinNumber Flags ")"
+
+`Element'
+ Objects of type element are determined by flags, some names, a
+ canonical and a layout name as well as a value. Additional fields
+ are text position, their direction counted from zero to three (n *
+ 90 degrees counter-clockwise) and element data.
+
+ `Flags'
+ The flag field determines the state of an element. The bit
+ values are:
+ bit 4: the element name is hidden
+ bit 6: element has been selected
+ bit 7: element is located on the solder side
+
+ `TextFlags'
+ `scale'
+ `direction'
+ See the description of text object earlier in this chapter.
+
+ `ElementLine'
+ A line is defined by its start and end points and by its
+ size, or width.
+
+ `ElementArc'
+ Defines an arc by its center, width, height, startangle, its
+ length in degrees and its size. Remember the y axis on the
+ screen grows downwards.
+
+ `Mark'
+ is just a hint to make positioning easier. The crosshair will
+ be positioned here. Its center is passed as the two arguments.
+
+ `Pad'
+ A pad is very similar to a line except it may not be
+ disconnected from its element and it has an associated name.
+ Is is defined by two end point position, size, name and by
+ some flags.
+ bit 2: set if pad was found during a connection search
+ bit 5: display the pads name
+ bit 6: pad has been selected
+ bit 7: pad is located on the solder side
+
+ `Pin'
+ A pin is very similar to a via except it may not be
+ disconnected from its element.
+ bit 0: always set
+ bit 1: always clear
+ bit 2: set if pin was found during a connection search
+ bit 3: set if pin is only a mounting hole (no copper annulus)
+ bit 5: display the pins name
+ bit 6: pin has been selected
+ bit 8: pin is drawn as a square
+ bit 12: set if pin is drawn with an octagonal shape
+
+
+File: pcb.info, Node: Font File, Next: Library Contents File, Prev: Element File, Up: File Formats
+
+Font File Format
+================
+
+ A number of user defined symbols are called a font. There is only
+one per layout. All symbols are made of lines. See the file
+`default_font' as an example.
+
+ The lowest x and y coordinates of all lines of a font are
+transformed to (0,0).
+
+ File = Font
+ Font = {FontData}...
+ FontData = {Symbol}...
+ Symbol = "Symbol(" SymbolID FontPosition ")"
+ "(" {SymbolData}... ")"
+ SymbolData = {SymbolLine}...
+
+`Symbol'
+ The two arguments are the `ASCII' code of the symbol and its
+ distance to the next symbol. Undefined symbols are drawn as filled
+ rectangles. The `ASCII' code may be passed as a character
+ constant or as a hexadecimal value.
+
+ `SymbolLine'
+ The symbol data itself is made up of several entries of type
+ *SymbolLine*.
+
+
+File: pcb.info, Node: Library Contents File, Next: Library File, Prev: Font File, Up: File Formats
+
+Library Contents File Format
+============================
+
+ There is nothing like a special library format. The ones that have
+been introduced in 1.4.1 just use some nice (and time consuming)
+fetures of GNU `m4'. The only predefined format is the one of the
+contents file which is read during startup. It is made up of two basic
+line types:
+
+ menu entry = "TYPE="name
+ contents line = template":"package":"value":"description
+ name = String
+ template = String
+ package = String
+ value = String
+ description = String
+ String = <anything except ":", "\n" and "\r">
+
+ No leading whitespaces or comments are allowed in this file. If you
+need either one, define a command that removes them before loading.
+Have a look to the *libraryContentsCommand* resource.
+
+ The menu entry will appear in the selection menu at the top and of
+the library window.
+
+
+File: pcb.info, Node: Library File, Prev: Library Contents File, Up: File Formats
+
+Library File Format
+===================
+
+ This section provides an overview about the existing `m4' definitions
+of the elements. There are basically two different types of files. One
+to define element specific data like the pinout, package and so on, the
+other to define the values. For example the static RAM circuits 43256
+and 62256 are very similar. They therefore share a common definition in
+the macro file but are defined with two different value labels.
+
+ The macro file entry:
+ define(`Description_43256_dil', `SRAM 32Kx8')
+ define(`Param1_43256_dil', 28)
+ define(`Param2_43256_dil', 600)
+ define(`PinList_43256_dil', ``pin1', `pin2', ...')
+
+ And the list file:
+ 43256_dil:N:43256:62256
+
+ The macro must define a description, the pin list and up to two
+additional parameters that are passed to the package definitions. The
+first one is the number of pins whereas the second one defines for
+example the width of a package.
+
+ It is very important to select a unique identifier for each macro. In
+the example this would be *43256_dil* which is also the templates name.
+It is required by some low-level macros that *Description_, Param1_,
+Param2_* and *PinList_* are prepended.
+
+ The list file uses a syntax:
+ template:package:value[:more values]
+
+ This means that the shown example will create two element entries
+with the sam package and pinout but with different names.
+
+ A number of packages are defined in `common.m4'. Included are:
+
+ DIL packages with suffix D, DW, J, JD, JG, N, NT, P
+ PLCC
+ TO3
+ generic connectors
+ DIN 41.612 connectors
+ zick-zack (SD suffix)
+ 15 pin multiwatt
+
+ If you are going to start your own library please take care about
+`m4' functions. Be aware of quoting and so on and, most important check
+your additional entry by calling the macro:
+
+ CreateObject(`template', `value', `package suffix')
+
+ If quoting is incorrect an endless loop may occur (broken by a
+out-of-memory message).
+
+ The scripts in the `lib' directory handle the creation of libraries
+as well as of their contents files. Querying is also supported.
+
+ I know quite well that this description of the library
+implementation is not what some out there expect. But in my opinion
+it's much more useful to look at the comments and follow the macros
+step by step.
+
+
+File: pcb.info, Node: Installation, Prev: File Formats, Up: Top
+
+Installation and Troubleshooting
+********************************
+
+ Compiling and installing the package should be straightforward. If
+any problems occur, please contact the author
+(Thomas.Nau@rz.uni-ulm.de) to find a solution and include it into the
+next release.
+
+* Menu:
+
+* compiling:: Compiling and installing.
+* problems:: Troubleshooting.
+
+
+File: pcb.info, Node: compiling, Next: problems, Up: Installation
+
+Compiling and Installing
+========================
+
+ This section covers the steps which are necessary to compile the
+package.
+
+* Menu:
+
+* config.h:: Editing `config.h' options.
+* manuals:: Creating the man page, info file and this manual.
+* make:: Creating the `Makefile', compiling and installing.
+
+
+File: pcb.info, Node: config.h, Next: manuals, Up: compiling
+
+Editing config.h
+----------------
+
+ Most `X11' related options are automatically covered by `imake'
+which is called from `xmkmf'. The ones special to `Pcb' have to be
+edited in `config.h'. In order of appearance:
+
+`INFOLIBDIR'
+ must be set to the directory where your GNU info files are located.
+
+`/usr/X11R6/lib/X11/pcb'
+ is the path of a directory where the font files will be installed.
+
+`DEFAULTFONT'
+ the name of the default font file.
+
+`DEFAULTLIBRARY'
+ the name of the default library.
+
+`gm4'
+ the name of GNUs m4 version.
+
+`Mod1'
+ If your window manager has already bound *Mod1* together with some
+ function keys you may want to change this setting. This is true
+ for HP-VUE.
+
+`EXTRA_INCLUDES'
+ Some systems do not have the Athena Widget include files in their
+ normal place as configured by `X11's config files. Define this as
+ follows:
+ EXTRA_INCLUDES = -I/usr/openwin/share/include
+ This is probably true for Suns which use `OpenWindows'.
+
+`PATCHES'
+ This symbol is passed to the compiler. Use it to define additional
+ compiler flags. Add the *-DNEED_STRDUP* flag, if your system does
+ not have a strdup() library function.
+
+`HAS_REGEX'
+ Set to *-DHAS_REGEX* if your system supports regular expressions.
+ This enables the actions *Select(*ByName)*.
+
+`EXITCALL'
+ The symbol *EXITCALL* should be defined according to the *call on
+ exit* functions supported by your system. There are three choices:
+ EXITCALL = -DHAS_ATEXIT if atexit() is supported (SYSV)
+ EXITCALL = -DHAS_ON_EXIT if on_exit() and no atexit() is supported
+ EXITCALL = if none of them is supported
+ Please check your manpages for details.
+
+`SYS_LIBRARIES'
+ This symbol is used to pass additional libraries to the linker.
+ The only additional libraries which are used are the math and lex
+ library.
+
+ If you have to make system dependent changes please include them
+into a *#ifdef Architecture* ... *#endif* construct and mail a copy to
+the author (Thomas.Nau@rz.uni-ulm.de).
+
+ Now run `xmkmf -a' which creates the `Makefiles' and runs `make
+depend'. This should finish without any problems except some systems
+which complain about missing include files. Don't worry about any such
+warnings at this time, the package should compile without any problems.
+
+
+File: pcb.info, Node: manuals, Next: make, Prev: config.h, Up: compiling
+
+Manuals
+-------
+
+ After `xmkmf -a' has created the new `Makefile' you are able to
+create the manpages, the application resource, the info file, the `TeX'
+output and a reference card by executing
+ (cd doc; make)
+ (cd src; make Pcb.ad)
+ You'll need `TeX', `texindex' and, if you want `PostScript', `dvips'
+to build the manuals. Preformatted documentation for the default
+configuration may be found in the `./doc.ps' directory. A simple
+*make* builds everything. Generate a printed copy to make your life
+easier. `TeX-3.0' failed, `TeX-3.14' worked just fine.
+
+
+File: pcb.info, Node: make, Prev: manuals, Up: compiling
+
+Compiling the Package
+---------------------
+
+ After reaching this point, it is time for `make'. It should build
+everything without any errors. If it doesn't refer to *Note problems::.
+
+ You have to be root to install the package or at least a user with
+the appropriate priveleges in some `X11' directories. Set the umask to
+*022* or else some files will not be found because the directory isn't
+world readable.
+
+ If you do not have the appropriate permissions you should run
+`./pcbtest.sh' in the `src' directory to run `Pcb' from the
+installation directory.
+
+ `make install' and `make install.man' install the program, the
+fonts, the application default resource file, all element and package
+data as well as the manpage into the `X11' directories. `make
+install.info' does the same for the `GNU' info file.
+
+
+File: pcb.info, Node: problems, Prev: compiling, Up: Installation
+
+Troubleshooting
+===============
+
+ There are some known problems. Most of them are related to missing
+parts of a standard `X11' distribution. Some others are caused by third
+party applications such as `X' servers. To make this list more complete
+please mail your problems and, if available, solutions to the author.
+The mail address may be found at the beginning of this chapter. In any
+case, read *Note X11::.
+
+ By the way, you `MUST HAVE AN ANSI COMPILER' to make `Pcb' work.
+
+ If the shell script `create_sed_script.sh' fails with an error of
+`awk' check your system for `nawk' or get the `GNU gawk'. See the
+script for details.
+
+ Another source of problems are older versions of `flex' and `bison'.
+`Pcb' definitely works with `flex-2.4.7' and `bison-1.22' or later. The
+problems will result in a *syntax error* while parsing files. You will
+have to add *-lfl* to the SYS_LIBRARIES identifier in `Imakefile'. See
+also, *Note FreeBSD::.
+
+ The following list gives you just an idea because I'm not able to
+test all `Pcb' releases on all platforms.
+
+* Menu:
+
+* HP:: Hewlett-Packard series 700 and 800 running HP-UX 10.*
+* Sun:: Sun, Solaris 2.5
+* SGI:: SGI, IRIX 5.3 and 6.*
+* DEC Alpha:: DEC Alpha, DEC UNIX 3.2c and 4.0
+* SCO:: SCO Unix ODT 3.0, PC hardware
+* Linux:: Linux 0.99pl14 and later
+* FreeBSD:: FreeBSD, NetBSD ...
+* X11:: Refers to `X11R4', `X11R5', and `OpenWindows'
+* TeX and Manuals:: Problems creating the `pcb.dvi'
+
+
+File: pcb.info, Node: HP, Next: Sun, Up: problems
+
+HP Series 700 and 800
+---------------------
+
+ You have to install several `X11' tools (`imake') and include files
+or, better, install a complete `X11R5' release. Hewlett-Packard doesn't
+support the Athena Widgets. So the header files and libraries are
+missing from the application media, but they are available as a patch.
+They also do not ship the `ANSI' compiler with the normal operating
+system release so you have to buy one or use `GCC'. Some of the tools
+are available as patches.
+
+ In addition, `Pcb' has been successfully tested on these platforms
+with `HPUX 9.*, 10.*' running self-compiled `X11R5'.
+
+
+File: pcb.info, Node: Sun, Next: SGI, Prev: HP, Up: problems
+
+Sun SPARC architecture
+----------------------
+
+ There are no known problems with Sun machines if they use `X11R5'
+instead of `OpenWindows'. `Pcb' compiled successfully with all kinds of
+SPARCstations `Solaris-2.[345]'.
+
+ For problems with `OpenWindows' refer to *Note X11::.
+
+ If `xmkmf' is missing, try
+ /usr/openwin/bin/imake -DUseInstalled -I/usr/openwin/lib/config
+ make Makefile
+ make includes
+ make depend
+ instead. I got it compiled but the linker complained about missing
+symbols. The problem may be related to the mixed `OpenWindows' -
+`X11R5' environment which is installed on the test machine. Anyway the
+code was executable and I haven't got a core yet.
+
+
+File: pcb.info, Node: SGI, Next: DEC Alpha, Prev: Sun, Up: problems
+
+Silicon Graphics
+----------------
+
+ `Pcb' has been tested on some boxes running either `IRIX-4.0.5' or
+`IRIX-5.3'. The former one uses a `X11R4' server. There are no
+problems except some additionally needed compiler flags. For known
+problems with `X11R4', see *Note X11::. Check `Imakefile', too.
+
+
+File: pcb.info, Node: DEC Alpha, Next: SCO, Prev: SGI, Up: problems
+
+DEC Alpha
+---------
+
+ `Pcb' compiled and runs without problems on `DEC UNIX V3.2c' if you
+do the following instead of calling `xmkmf -a':
+ xmkmf
+ make Makefiles
+ make includes
+ make depend
+
+
+File: pcb.info, Node: SCO, Next: Linux, Prev: DEC Alpha, Up: problems
+
+SCO Unix
+--------
+
+ John DuBois <spcecdt@deeptht.armory.com> wrote:
+ `SCO-ODT-3.0' requires the latest version of tls003, the Athena
+ widget library (available from sosco.sco.com). The main problems
+ I have encountered are it core dumps fairly often, especially
+ while loading/dropping elements...
+ I'll see what I am able to do as soon as I have access to an `SCO'
+system.
+
+
+File: pcb.info, Node: Linux, Next: FreeBSD, Prev: SCO, Up: problems
+
+Linux
+-----
+
+ Since the `X11' version of `Pcb' has been developed on a Linux
+system here are no known problems.
+
+
+File: pcb.info, Node: FreeBSD, Next: X11, Prev: Linux, Up: problems
+
+FreeBSD and NetBSD
+------------------
+
+ If `Pcb' complains about syntax errors even in the demo files get
+rid of your `lex' and `yacc' implementation. Replace them by `GNU flex'
+and `bison'. Don't forget to change the SYS_LIBRARIES in `Imakefile'
+from *-ll* to *-lfl*. You also need to define:
+ YACC = bison -y
+ LEX = flex
+
+
+File: pcb.info, Node: X11, Next: TeX and Manuals, Prev: FreeBSD, Up: problems
+
+Problems related to X11
+-----------------------
+
+ There are a some problems related to `X11R4' or systems derived from
+`X11' such as `OpenWindows'. *Note Sun::. You at least have to change
+all occurances of *baseTranslations* in the resource files to
+*translations* if you are using a `X11R4' server. Look at the `X11R5'
+*Intrinsics* manual for details.
+
+ The panner widget (print dialog box) appears only in release `X11R5'
+and later. It really simplifies adjusting the offsets. With earlier
+releases the printout will always appear in the center of the page.
+
+ You may have some problems in a mixed `X11-OpenWindows' environment.
+If you want to try it anyway you have to add an additional path for
+include files and define another symbol in `Imakefile',
+ EXTRA_INCLUDES = -I/usr/openwin/include
+
+ `Pcb' has been tested successfully with `X11R6' under Linux 1.1.59
+and later.
+
+
+File: pcb.info, Node: TeX and Manuals, Prev: X11, Up: problems
+
+Problems related to TeX
+-----------------------
+
+ If your `TeX' installation complains about a missing `texinfo.tex'
+file copy the one included in this release (directory `doc' to your
+`TeX' macro directory. Note, there are probably newer versions of this
+file available from some FTP sites. `TeX-3.0' failed, `TeX-3.14'
+worked just fine. Check our FTP server *ftp.uni-ulm.de* for
+ready-to-print versions of the manuals.
+
+Index of Resources
+******************
+
+* Menu:
+
+* /usr/X11R6/lib/X11/pcb: config.h.
+* absoluteGrid: Resources.
+* alignmentDistance: Resources.
+* allDirectionLines <1>: Resources.
+* allDirectionLines: Options.
+* backupInterval <1>: Resources.
+* backupInterval: Options.
+* bloat: Resources.
+* charactersPerLine <1>: Resources.
+* charactersPerLine: Options.
+* connectedColor: Resources.
+* crosshairColor: Resources.
+* default font: Options.
+* DEFAULTFONT: config.h.
+* DEFAULTLIBRARY: config.h.
+* elementColor: Resources.
+* elementCommand <1>: File Formats.
+* elementCommand <2>: Resources.
+* elementCommand: Options.
+* elementContentsCommand: Resources.
+* elementPath: Resources.
+* elementSelectedColor: Resources.
+* EXITCALL: config.h.
+* EXTRA_INCLUDES: config.h.
+* fileCommand <1>: Options.
+* fileCommand <2>: File Formats.
+* fileCommand: Resources.
+* filePath: Resources.
+* fontCommand <1>: Options.
+* fontCommand <2>: File Formats.
+* fontCommand: Resources.
+* fontFile <1>: Options.
+* fontFile: Resources.
+* fontPath: Resources.
+* gm4: config.h.
+* grid: Resources.
+* gridColor: Resources.
+* HAS_REGEX: config.h.
+* INFOLIBDIR: config.h.
+* invisibleObjectsColor: Resources.
+* layerColor: Resources.
+* layerGroups <1>: Options.
+* layerGroups: Resources.
+* layerName: Resources.
+* layerSelectedColor: Resources.
+* libraryCommand <1>: Options.
+* libraryCommand <2>: File Formats.
+* libraryCommand: Resources.
+* libraryContentsCommand <1>: File Formats.
+* libraryContentsCommand: Options.
+* libraryFilename <1>: Options.
+* libraryFilename: Resources.
+* libraryPath <1>: Options.
+* libraryPath: Resources.
+* lineThickness: Resources.
+* media: Resources.
+* Mod1: config.h.
+* offLimitColor: Resources.
+* PATCHES: config.h.
+* pinColor: Resources.
+* pinoutFont0..4: Resources.
+* pinoutNameLength <1>: Options.
+* pinoutNameLength: Resources.
+* pinoutOffsetX: Resources.
+* pinoutOffsetY: Resources.
+* pinoutTextOffsetX: Resources.
+* pinoutTextOffsetY: Resources.
+* pinoutZoom <1>: Resources.
+* pinoutZoom: Options.
+* pinSelectedColor: Resources.
+* printCommand: Resources.
+* raiseLogWindow: Resources.
+* ratCommand: Resources.
+* ratPath: Resources.
+* resetAfterElement <1>: Options.
+* resetAfterElement: Resources.
+* ringBellWhenFinished <1>: Resources.
+* ringBellWhenFinished: Options.
+* routeStyle <1>: Resources.
+* routeStyle: Options.
+* rubberBandMode: Resources.
+* saveCommand <1>: Options.
+* saveCommand <2>: File Formats.
+* saveCommand: Resources.
+* saveInTMP <1>: Options.
+* saveInTMP: Resources.
+* saveLastCommand <1>: Resources.
+* saveLastCommand: Options.
+* shrink: Resources.
+* size <1>: Options.
+* size: Resources.
+* stipplePolygons: Resources.
+* SYS_LIBRARIES: config.h.
+* textScale: Resources.
+* useLogWindow: Resources.
+* viaColor: Resources.
+* viaDrillingHole: Resources.
+* viaSelectedColor: Resources.
+* viaThickness: Resources.
+* volume <1>: Options.
+* volume: Resources.
+* warnColor: Resources.
+* zoom: Resources.
+
+Index of Actions, Commands and Options
+**************************************
+
+* Menu:
+
+* +alldirections: Options.
+* +reset: Options.
+* +ring: Options.
+* +s: Options.
+* +save: Options.
+* -alldirections: Options.
+* -backup: Options.
+* -c: Options.
+* -copyright: Special Options.
+* -fontfile: Options.
+* -help: Special Options.
+* -lelement: Options.
+* -lfile: Options.
+* -lfont: Options.
+* -lg: Options.
+* -libname: Options.
+* -libpath: Options.
+* -llib: Options.
+* -llibcont: Options.
+* -loggeometry: Options.
+* -pnl: Options.
+* -pz: Options.
+* -reset: Options.
+* -ring: Options.
+* -rs: Options.
+* -s: Options.
+* -save: Options.
+* -sfile: Options.
+* -size: Options.
+* -v: Options.
+* -version: Special Options.
+* :actionCommand(): User Commands.
+* :l: User Commands.
+* :le: User Commands.
+* :m: User Commands.
+* :q: User Commands.
+* :rn: User Commands.
+* :s: User Commands.
+* :w[q]: User Commands.
+* AddRats(): Actions.
+* Atomic(): Actions.
+* Bell(): Actions.
+* ChangeDrillSize(): Actions.
+* ChangeHole(): Actions.
+* ChangeName(): Actions.
+* ChangeOctagon(): Actions.
+* ChangeSize(): Actions.
+* ChangeSquare(): Actions.
+* Command(): Actions.
+* Connection(): Actions.
+* DeleteRats(): Actions.
+* Display(): Actions.
+* DRC(): Actions.
+* EditLayerGroups(): Actions.
+* Load(): Actions.
+* MarkCrosshair(): Actions.
+* Mode(): Actions.
+* MovePointer(): Actions.
+* MoveToCurrentLayer(): Actions.
+* New(): Actions.
+* PasteBuffer(): Actions.
+* Polygon(): Actions.
+* Print(): Actions.
+* Quit(): Actions.
+* Redo(): Actions.
+* RemoveSelected(): Actions.
+* Report(): Actions.
+* RouteStyle(): Actions.
+* Save(): Actions.
+* Select(): Actions.
+* SetValue(): Actions.
+* SwapSides(): Actions.
+* SwitchDrawingLayer(): Actions.
+* ToggleHideName(): Actions.
+* Undo(): Actions.
+* Unselect(): Actions.
+
+Index of Concepts
+*****************
+
+* Menu:
+
+* /tmp <1>: Options.
+* /tmp <2>: Loading and Saving.
+* /tmp: Resources.
+* about, command button: Menu.
+* action command: User Commands.
+* actions: Actions.
+* Actions, initiating: User Commands.
+* alignment: Resources.
+* alignment targets: Printing.
+* Alpha: DEC Alpha.
+* arc: Arc Objects.
+* arc, an example: Arcs.
+* architecture <1>: SCO.
+* architecture <2>: Linux.
+* architecture <3>: Sun.
+* architecture <4>: DEC Alpha.
+* architecture <5>: SGI.
+* architecture: HP.
+* ASCII files, format of: File Formats.
+* Atari version: History.
+* atomic: Actions.
+* backup <1>: Options.
+* backup <2>: Loading and Saving.
+* backup <3>: Resources.
+* backup <4>: Options.
+* backup: Resources.
+* basic types: Basic Types.
+* bell: Actions.
+* bloat: Resources.
+* buffer, an example: Pastebuffer.
+* buffer, convert contents to element: Elements.
+* buffer, popup menu: Menu.
+* buffer, selecting a: Actions.
+* button translations: Actions.
+* cat: Resources.
+* centering: Actions.
+* change active layer: Control Panel.
+* change drawing layer: Actions.
+* change object name: Actions.
+* change settings: Actions.
+* change sizes: Actions.
+* change square flag: Actions.
+* change viewing side: Actions.
+* characters per line <1>: Resources.
+* characters per line: Options.
+* clipping lines to 45 degree <1>: Resources.
+* clipping lines to 45 degree: Actions.
+* clipping of lines: Options.
+* closing a polygon: Actions.
+* color printout: Printing.
+* color, warning: Resources.
+* colors: Resources.
+* command-line options: Command-Line Options.
+* compile, how to: compiling.
+* config.h: config.h.
+* connection, removing an: Translations.
+* connections, colors: Resources.
+* connections, creating list of: Connection Lists.
+* connections, popup menu: Menu.
+* connections, reseting: Actions.
+* connections, reseting after element <1>: Resources.
+* connections, reseting after element: Options.
+* connections, searching for: Actions.
+* control panel: Control Panel.
+* copy an object: Translations.
+* copying objects: Actions.
+* copying, an example: Moving and Copying.
+* copyright: Special Options.
+* creating objects: Common.
+* cursor color: Resources.
+* cursor movements: Actions.
+* cursor position: Actions.
+* cursor steps: Resources.
+* cutting objects: Actions.
+* DEC: DEC Alpha.
+* default font <1>: Options.
+* default font: Resources.
+* default layout size: Resources.
+* default library: Resources.
+* default text scaling: Resources.
+* default translations: Translations.
+* design rule checking <1>: Actions.
+* design rule checking: Design Rule Checking.
+* device, selecting an output: Printing.
+* directory /tmp <1>: Options.
+* directory /tmp <2>: Loading and Saving.
+* directory /tmp: Resources.
+* display: Resources.
+* display, popup menu: Menu.
+* displaying element names <1>: Actions.
+* displaying element names: Menu.
+* displaying pinout: Actions.
+* displaying status information: Status-line and Input-field.
+* DOS filenames: Printing.
+* drawing objects: Drawing and Removing.
+* drc <1>: Resources.
+* drc <2>: Actions.
+* drc: Design Rule Checking.
+* drill: Actions.
+* drilling hole, changing of objects: Actions.
+* drilling hole, setting of initial size: Actions.
+* DVI format of manual: manuals.
+* element name, hiding: Actions.
+* element name, removing from silk-screen: Actions.
+* element, an example: Elements.
+* element, an overview: Element Objects.
+* element, color: Resources.
+* element, command <1>: Resources.
+* element, command: Options.
+* element, creating a new package: Elements.
+* element, display names of <1>: Menu.
+* element, display names of: Actions.
+* element, fileformat: Element File.
+* element, files <1>: Options.
+* element, files: Resources.
+* element, loading to buffer: User Commands.
+* element, move name of: Translations.
+* entering user commands: User Commands.
+* erasing objects: Drawing and Removing.
+* example files: Elements.
+* example of buffer handling: Pastebuffer.
+* example of connection lists: Connection Lists.
+* example of copying: Moving and Copying.
+* example of creating an element: Elements.
+* example of element handling: Elements.
+* example of line handling: Lines.
+* example of loading: Loading and Saving.
+* example of loading an element file: Elements.
+* example of moving: Moving and Copying.
+* example of pastebuffer handling: Pastebuffer.
+* example of pin handling: Elements.
+* example of polygon handling: Polygons.
+* example of printing: Printing.
+* example of rectangle handling: Polygons.
+* example of saving: Loading and Saving.
+* example of text handling: Text.
+* example of via handling: Vias.
+* exit <1>: Actions.
+* exit: User Commands.
+* file format, element data: Element File.
+* file format, font data: Font File.
+* file format, layout data: Layout File.
+* file format, libraries: Library File.
+* file format, library contents: Library Contents File.
+* file formats: File Formats.
+* file formats, basic types: Basic Types.
+* file load command <1>: Resources.
+* file load command: Options.
+* file save command <1>: Resources.
+* file save command: Options.
+* file, popup menu: Menu.
+* font command <1>: Options.
+* font command: Resources.
+* font file, format of: Font File.
+* font files <1>: Resources.
+* font files <2>: Options.
+* font files: Resources.
+* font, an overview: Symbol Objects.
+* font, used for pin names: Resources.
+* format of element files: Element File.
+* format of font files: Font File.
+* format of layout files: Layout File.
+* format of libraries: Library File.
+* format of library contents: Library Contents File.
+* FreeBSD: FreeBSD.
+* grid <1>: Resources.
+* grid: Drawing Area.
+* grid color: Resources.
+* grid, absolute and relative <1>: Actions.
+* grid, absolute and relative: Menu.
+* grid, display <1>: Actions.
+* grid, display: Menu.
+* grid, setting of: Actions.
+* groups <1>: Resources.
+* groups: Options.
+* groups, editing of: Actions.
+* Hewlett Packard: HP.
+* hide element name: Actions.
+* how to start: Getting Started.
+* HP: HP.
+* info file: manuals.
+* information about objects: Actions.
+* input-field, position of: Status-line and Input-field.
+* inputfield, saving entered command-line <1>: Options.
+* inputfield, saving entered command-line: Resources.
+* inputfield, start user input: Actions.
+* install, how to: compiling.
+* key translations: Actions.
+* keyboard bell <1>: Resources.
+* keyboard bell: Options.
+* layer, change active: Actions.
+* layer, name of: Resources.
+* layers, an overview: Layer Objects.
+* layers, changing active one: Control Panel.
+* layers, colors: Resources.
+* layers, editing of groups: Actions.
+* layers, groups <1>: Resources.
+* layers, groups: Options.
+* layers, switching on/off: Control Panel.
+* layout files <1>: Resources.
+* layout files <2>: Options.
+* layout files <3>: Resources.
+* layout files: Options.
+* layout files, format of: Layout File.
+* layout files, saving of: User Commands.
+* layout objects, an overview: Intro.
+* layout size: Options.
+* layout, default size of: Resources.
+* layout, loading a: User Commands.
+* layout, loading to buffer: User Commands.
+* layout, merging a: User Commands.
+* layout, printing a: Actions.
+* layout, start a new: Actions.
+* layout-name <1>: Element Objects.
+* layout-name: User Commands.
+* length of a pin name <1>: Resources.
+* length of a pin name: Options.
+* length of outputline: Options.
+* library command <1>: Options.
+* library command: Resources.
+* library contents command <1>: Options.
+* library contents command: Resources.
+* library contents file, format of: Library Contents File.
+* library file, format of: Library File.
+* library name <1>: Resources.
+* library name: Options.
+* library search path: Options.
+* library searchpath: Resources.
+* library window: Library Window.
+* line clipping: Options.
+* linelength: Resources.
+* lines, an example: Lines.
+* lines, an overview: Line Objects.
+* lines, clipping to 45 degree <1>: Resources.
+* lines, clipping to 45 degree: Actions.
+* lines, setting of initial size: Actions.
+* lines, size: Resources.
+* Linux: Linux.
+* list of connections: Resources.
+* listing libraries: Options.
+* listing library contents: Resources.
+* loading a layout to buffer: User Commands.
+* loading elements <1>: Resources.
+* loading elements: Options.
+* loading elements to buffer: User Commands.
+* loading files: Actions.
+* loading fonts <1>: Resources.
+* loading fonts: Options.
+* loading layouts <1>: User Commands.
+* loading layouts <2>: Options.
+* loading layouts: Resources.
+* loading symbols <1>: Resources.
+* loading symbols: Options.
+* loading, an example: Loading and Saving.
+* log window <1>: Options.
+* log window <2>: Resources.
+* log window: Log Window.
+* m4: Resources.
+* m4, preprocessing example files: Elements.
+* make: make.
+* Makefile: config.h.
+* manuals: manuals.
+* mark: Actions.
+* media: Resources.
+* media margin: Resources.
+* media, size of: Printing.
+* menus: Menu.
+* merging layouts: User Commands.
+* messages <1>: Resources.
+* messages <2>: Options.
+* messages: Log Window.
+* mirroring printout: Printing.
+* mode selection: Mode Selectors.
+* mode, selecting of: Actions.
+* mounting holes: Actions.
+* move: Resources.
+* move an object: Translations.
+* moving objects to current layer: Actions.
+* moving, an example: Moving and Copying.
+* name of an element: Actions.
+* name, change an objects: Actions.
+* namelength of pins <1>: Options.
+* namelength of pins: Resources.
+* NetBSD: FreeBSD.
+* netlist <1>: Actions.
+* netlist <2>: Resources.
+* netlist <3>: User Commands.
+* netlist <4>: Rats Nest.
+* netlist: Actions.
+* object, change name of: Actions.
+* object, changing the size of an: Common.
+* object, copy an: Translations.
+* object, creating an: Common.
+* object, drawing and removing: Drawing and Removing.
+* object, move an: Translations.
+* object, removing an <1>: Translations.
+* object, removing an: Common.
+* object, selecting an: Menu.
+* objects, moving to current layer: Actions.
+* objects, popup menu: Menu.
+* octagonal pins and vias: Actions.
+* off limit color: Resources.
+* offset of pinnames: Resources.
+* offset of pinout: Resources.
+* offset of printout: Printing.
+* OpenWindows: Sun.
+* operation modes, selecting of: Actions.
+* outline printout: Printing.
+* output device: Printing.
+* outputline, length of: Options.
+* overlap, minimum: Design Rule Checking.
+* pastebuffer, an example: Pastebuffer.
+* pastebuffer, convert contents to element: Elements.
+* pastebuffer, popup menu: Menu.
+* pastebuffer, selecting a: Actions.
+* path for element files: Resources.
+* path for font files: Resources.
+* path for layout files: Resources.
+* path for libraries: Resources.
+* PC UNIX <1>: SCO.
+* PC UNIX <2>: Linux.
+* PC UNIX: FreeBSD.
+* pin color: Resources.
+* pin, name of <1>: Options.
+* pin, name of: Resources.
+* pinout of elements: Menu.
+* pinout, display of: Actions.
+* pinout, font to display pin names: Resources.
+* pinout, zoomfactor of display <1>: Resources.
+* pinout, zoomfactor of display: Options.
+* pins, an example: Elements.
+* pins, changing shape of: Actions.
+* pointer, moving of: Actions.
+* polygon: Resources.
+* polygon point, go back to previous: Actions.
+* polygon, an example: Polygons.
+* polygon, an overview: Polygon Objects.
+* polygon, closing a: Actions.
+* popping up menus: Menu.
+* postprocessing layout data <1>: Resources.
+* postprocessing layout data: Options.
+* preprocessing element data <1>: Options.
+* preprocessing element data: Resources.
+* preprocessing font data <1>: Options.
+* preprocessing font data: Resources.
+* preprocessing layout data <1>: Options.
+* preprocessing layout data: Resources.
+* preventing loss of data <1>: Loading and Saving.
+* preventing loss of data <2>: Options.
+* preventing loss of data: Resources.
+* print command: Printing.
+* print media <1>: Printing.
+* print media: Resources.
+* print offset: Printing.
+* printing: Resources.
+* printing a layout: Actions.
+* printing, an example: Printing.
+* problems: problems.
+* quit <1>: Actions.
+* quit: User Commands.
+* rat-line <1>: Actions.
+* rat-line: Rats Nest.
+* rats nest <1>: User Commands.
+* rats nest <2>: Actions.
+* rats nest <3>: Resources.
+* rats nest <4>: Actions.
+* rats nest: Rats Nest.
+* recover: Actions.
+* rectangle, an example: Polygons.
+* redo: Actions.
+* redrawing layout: Actions.
+* refreshing layout: Actions.
+* release, current: Special Options.
+* removing connections: Translations.
+* removing objects <1>: Translations.
+* removing objects <2>: Drawing and Removing.
+* removing objects: Common.
+* removing selected objects: Actions.
+* report: Actions.
+* report, popup menu: Menu.
+* reseting found connections <1>: Actions.
+* reseting found connections <2>: Options.
+* reseting found connections: Resources.
+* resources: Resources.
+* rotate: Resources.
+* rotating a buffer: Actions.
+* rotating printout: Printing.
+* routing style <1>: Options.
+* routing style <2>: Resources.
+* routing style: Actions.
+* rubberband <1>: Actions.
+* rubberband: Resources.
+* saving connections: Actions.
+* saving files: Actions.
+* saving found connections: Actions.
+* saving last entered user command <1>: Resources.
+* saving last entered user command: Options.
+* saving layouts <1>: Loading and Saving.
+* saving layouts <2>: Options.
+* saving layouts <3>: Resources.
+* saving layouts <4>: Options.
+* saving layouts: User Commands.
+* saving, an example: Loading and Saving.
+* scaling a printout: Printing.
+* scanning connections: Actions.
+* SCO: SCO.
+* scrolling: Translations.
+* searching connections: Actions.
+* searchpath for element files: Resources.
+* searchpath for font files: Resources.
+* searchpath for layout files: Resources.
+* searchpath for libraries: Resources.
+* selected object, removing an: Actions.
+* selected objects, changing size: Menu.
+* selected objects, removing: Menu.
+* selecting a buffer: Actions.
+* selecting a new mode: Mode Selectors.
+* selecting objects <1>: Actions.
+* selecting objects: Menu.
+* selection: Actions.
+* selection, an example: Selection.
+* selection, popup menu: Menu.
+* SGI: SGI.
+* shrink: Resources.
+* signal: Actions.
+* Silicon Graphics: SGI.
+* size of a layout: Options.
+* size of lines: Resources.
+* size of lines and vias: Actions.
+* size of vias: Resources.
+* sizes, changing of objects: Actions.
+* sizes, popup menu: Menu.
+* Solaris: Sun.
+* spacing, minimum: Design Rule Checking.
+* speaker volume <1>: Resources.
+* speaker volume: Options.
+* square flag, changing of objects: Actions.
+* start user input: Actions.
+* starting a new layout: Actions.
+* starting Pcb: Command-Line Options.
+* status information: Status-line and Input-field.
+* strings, an example: Text.
+* strings, an overview: Text Objects.
+* Sun: Sun.
+* symbols <1>: Options.
+* symbols: Resources.
+* symbols, an overview: Symbol Objects.
+* temporary files <1>: Resources.
+* temporary files <2>: Options.
+* temporary files: Loading and Saving.
+* TeX, problems: TeX and Manuals.
+* texinfo file: manuals.
+* text, an example: Text.
+* text, an overview: Text Objects.
+* text, default scaling: Resources.
+* text, editing: Menu.
+* thickness of lines: Resources.
+* thickness of objects: Common.
+* thickness of vias: Resources.
+* thickness, changing of objects: Actions.
+* translations <1>: Actions.
+* translations: Translations.
+* troubleshooting: problems.
+* undo: Actions.
+* undo, multi-action resources: Actions.
+* undo, popup menu: Menu.
+* unix command <1>: Options.
+* unix command <2>: Resources.
+* unix command <3>: Options.
+* unix command <4>: Resources.
+* unix command <5>: Options.
+* unix command <6>: Resources.
+* unix command <7>: Options.
+* unix command: Resources.
+* unselect objects: Actions.
+* user commands: User Commands.
+* user input: Translations.
+* version, current: Special Options.
+* vias, an example: Vias.
+* vias, an overview: Via Objects.
+* vias, changing shape of: Actions.
+* vias, color: Resources.
+* vias, converting to mounting hole: Actions.
+* vias, setting of initial size: Actions.
+* vias, size: Resources.
+* viewing side, changing of: Actions.
+* volume of speaker <1>: Options.
+* volume of speaker: Resources.
+* X11: X11 Interface.
+* X11 default translations: Translations.
+* X11 resources: Resources.
+* X11 translations: Actions.
+* X11, problems: X11.
+* xmkmf: config.h.
+* zoom of drawing window: Resources.
+* zoom of pinout window <1>: Options.
+* zoom of pinout window: Resources.
+* zoom, setting: Menu.
+* zoom, setting of: Actions.
+
+
+
+Tag Table:
+Node: Top723
+Node: Copying1468
+Node: History2088
+Node: Intro6464
+Node: Symbol Objects7604
+Node: Via Objects8179
+Node: Element Objects8865
+Node: Layer Objects13372
+Node: Line Objects15314
+Node: Arc Objects17330
+Node: Polygon Objects18696
+Node: Text Objects20812
+Node: Getting Started21890
+Node: Application Window23822
+Node: Status-line and Input-field24472
+Node: Control Panel26349
+Node: Mode Selectors28678
+Node: Drawing Area31137
+Node: Menu32120
+Node: Log Window37656
+Node: Library Window38448
+Node: Drawing and Removing38955
+Node: Common42106
+Node: Lines43875
+Node: Arcs45425
+Node: Polygons46597
+Node: Text48478
+Node: Vias49463
+Node: Elements50833
+Node: Pastebuffer56184
+Node: Moving and Copying57883
+Node: Loading and Saving58911
+Node: Printing59987
+Node: Connection Lists64148
+Node: Selection65952
+Node: Rats Nest66796
+Node: Design Rule Checking71884
+Node: User Commands74218
+Node: Command-Line Options78975
+Node: Options79523
+Node: Special Options84130
+Node: X11 Interface84625
+Node: Resources85092
+Node: Actions98785
+Node: Translations122057
+Node: File Formats123597
+Node: Basic Types125267
+Node: Layout File126939
+Node: Element File132784
+Node: Font File136592
+Node: Library Contents File137593
+Node: Library File138638
+Node: Installation141066
+Node: compiling141493
+Node: config.h141887
+Node: manuals144357
+Node: make145012
+Node: problems145895
+Node: HP147499
+Node: Sun148170
+Node: SGI148947
+Node: DEC Alpha149323
+Node: SCO149622
+Node: Linux150094
+Node: FreeBSD150284
+Node: X11150701
+Node: TeX and Manuals151681
+
+End Tag Table
diff --git a/cad/pcb/files/pcb.ps b/cad/pcb/files/pcb.ps
new file mode 100644
index 00000000000..73a8238a45e
--- /dev/null
+++ b/cad/pcb/files/pcb.ps
@@ -0,0 +1,6489 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
+%%Title: pcb.dvi
+%%Pages: 67
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 842
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -D 300 -o pcb.ps pcb.dvi
+%DVIPSParameters: dpi=300, compressed
+%DVIPSSource: TeX output 2000.08.31:1013
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+TeXDict begin 39158280 55380996 1000 300 300 (pcb.dvi)
+@start
+%DVIPSBitmapFont: Fa cmbxti10 14.4 1
+/Fa 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46
+D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fb cmtt12 14.4 1
+/Fb 1 44 df<130C131EAA007FB51280B612C0A26C1480D8001EC7FCAA130C1A1A7E9E1F
+>43 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fc cmr9 9 63
+/Fc 63 123 df<EBFE7C380381C6380603CE000E1384001C1380A6B512F0381C0380AE38
+FF8FF0171A809916>11 D<13FEEA038138060180EA0E03381C010090C7FCA5B51280EA1C
+03AE38FF8FF0141A809915>I<EBFF80EA0383EA0603120E121CA6B5FCEA1C03AE38FF9F
+F0141A809915>I<126012F0A212701210A31220A21240A2040B7D830B>44
+D<EAFFC0A20A0280880D>I<126012F0A2126004047D830B>I<1304130C1318A31330A313
+60A313C0A3EA0180A3EA0300A31206A35AA35AA35AA35AA35AA20E257E9B13>I<EA07E0
+EA1C38EA381CEA300CEA700EEA6006A2EAE007AAEA6006A2EA700EEA300CEA381CEA1C38
+EA07E010187F9713>I<12035AB4FC1207B3A2EA7FF80D187D9713>I<EA0F80EA1060EA20
+30EA4038EA803CEAC01C12E01240EA003C1338A21370136013C0EA018013001202EA0404
+12081210EA3008EA3FF8127F12FF0E187E9713>I<EA07E0EA1838EA201CEA601EEA700E
+EA201E1200131CA213381370EA07E0EA0038131C130E130FA212E0A212C0EA400EEA601C
+EA1838EA07E010187F9713>I<1318A21338137813F813B8EA01381202A2120412081218
+12101220124012C0B5FCEA0038A6EA03FF10187F9713>I<EA3018EA3FF013E01380EA20
+00A5EA2FC0EA3060EA2030EA00381318131CA2124012E0A2EA8018EA40381330EA30E0EA
+0F800E187E9713>I<EA01F8EA0704EA0C06EA180E123013001270126012E0EAE3E0EAE4
+18EAE80CEAF00EEAE0061307A31260A2EA7006EA300EEA180CEA0C38EA07E010187F9713
+>I<1240EA7FFF13FEA2EA4004EA80081310A2EA00201340A21380120113005AA25A1206
+A2120EA5120410197E9813>I<EA07E0EA1818EA300CEA20061260A21270EA780CEA3E18
+EA1F30EA07C0EA03E0EA0CF8EA307CEA601E130FEAC0071303A3EA6002EA2004EA1818EA
+07E010187F9713>I<EA07E0EA1C30EA3018EA700CEA600EEAE006A21307A31260EA700F
+EA3017EA1827EA07C7EA00071306130E130C12701318EA6030EA3060EA0F8010187F9713
+>I<130CA3131EA2132F1327A2EB4380A3EB81C0A200017F1300A248B47E38020070A248
+7FA3487FA2003C131EB4EBFFC01A1A7F991D>65 D<B51280380E00E014701438143CA514
+781470EB01E0380FFFC0380E00F01478143C141C141EA4141C143C147814F0B512C0171A
+7F991B>I<EB3F023801C0C63803002E000E131E48130E14065A007813021270A200F013
+00A600701302A21278003813047E14087E000313303801C0C038003F00171A7E991C>I<
+B57E380E00E01470808080A280A21580A81500A25C140E5CA2147814E0B51280191A7F99
+1D>I<B512F8380E003814181408140C1404A3EB0100A35BEA0FFFEA0E037FA3EB0002A3
+14061404A2140C143CB512FC171A7F991A>I<B512F8380E003814181408140C1404A3EB
+0100A35BEA0FFFEA0E037FA390C7FCA8EAFFE0161A7F9919>I<EB3F023801C0C6380300
+2E000E131E48130E14065A007813021270A200F090C7FCA5903801FFC03970000E00A212
+7812387EA27E000313163801C06638003F821A1A7E991E>I<39FFE1FFC0390E001C00AB
+380FFFFC380E001CAC39FFE1FFC01A1A7F991D>I<EAFF80EA1C00B3A6EAFF80091A7E99
+0E>I<EAFFE0000EC7FCB01408A3141814101430147014F0B5FC151A7F9918>76
+D<B414FF000F14F0A2390B800170A23809C002A33808E004A2EB7008A3EB3810A3EB1C20
+A2EB0E40A3EB0780A2EB0300121C39FF8307FF201A7F9923>I<00FEEB7FC0000FEB0E00
+1404EA0B80EA09C0A2EA08E01370A21338131CA2130E1307EB0384A2EB01C4EB00E4A214
+74143CA2141C140C121C38FF80041A1A7F991D>I<137F3801C1C038070070000E7F487F
+003C131E0038130E0078130F00707F00F01480A80078EB0F00A20038130E003C131E001C
+131C6C5B6C5B3801C1C0D8007FC7FC191A7E991E>I<B51280380E01E0EB007014781438
+143CA4143814781470EB01E0380FFF80000EC7FCABEAFFE0161A7F991A>I<EA0FC2EA18
+36EA200EEA600612C01302A3EAE0001270127EEA3FE0EA1FF8EA03FCEA007E130E130713
+031280A3EAC0021306EAE004EAD818EA87E0101A7E9915>83 D<007FB5FC38701C070040
+1301A200C0148000801300A300001400B13803FFE0191A7F991C>I<39FFE07FC0390E00
+0E001404B200065B12076C5B6C6C5A3800E0C0013FC7FC1A1A7F991D>I<39FF801FC039
+1C00070014066C1304A36C5BA26C6C5AA36C6C5AA26C6C5AA3EB7080A213790139C7FCA2
+131EA3130CA21A1A7F991D>I<3AFF81FF07F03A3C007801C0001CEC0080A36C90389C01
+00A33907010E02A33903830F04EB8207A2150C3901C40388A33900E801D0A390387000E0
+A301305B01201340241A7F9927>I<39FFC0FF80390F003C0014106C5BEA03806D5A0001
+5BEA00E101F1C7FC137A133E131C131EA21317EB27801343EB41C0EB81E0EA0100481370
+00021378481338000C7F001E133EB4EB7FC01A1A7F991D>I<EA1FC0EA38707FEA101C12
+00A2EA03FCEA1E1C1238127012E01480A2133CEA705F381F8F0011107F8F13>97
+D<12FC121CA913FCEA1D07381E0380381C01C0130014E0A6EB01C01480381E0300EA1906
+EA10F8131A809915>I<EA07F8EA1C1C1238EA700813005AA612701304EA3808EA1C18EA
+07E00E107F8F11>I<133F1307A9EA03E7EA0C17EA180F487E127012E0A6126012706C5A
+EA1C373807C7E0131A7F9915>I<EA07C0EA1C30EA30181270EA600C12E0EAFFFCEAE000
+A41260EA7004EA3808EA1C18EA07E00E107F8F11>I<EA01F0EA0718EA0E38EA1C101300
+A6EAFFC0EA1C00AEEAFF800D1A80990C>I<EA0FCF3818718038303000EA7038A4EA3030
+6C5AEA2FC00060C7FCA21270EA3FF013FC6C7EEA600FEAC003A4EA6006EA381CEA07E011
+187F8F13>I<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF0141A809915>I<1218
+123CA212181200A612FC121CAE12FF081A80990A>I<EA0180EA03C0A2EA0180C7FCA6EA
+0FC01201B21241EAE180EAE300127E0A2182990C>I<12FC121CA9EB1FC0EB0F00130C5B
+13205B13E0121DEA1E70EA1C7813387F131E7F148038FF9FE0131A809914>I<12FC121C
+B3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0A2001C1301AB39FF9FE7
+F81D107F8F20>I<EAFC7CEA1D87381E0380A2121CAB38FF9FF01410808F15>I<EA07E0EA
+1C38EA300CEA700EEA6006EAE007A6EA6006EA700EEA381CEA1C38EA07E010107F8F13>
+I<EAFCFCEA1D07381E0380381C01C0A2EB00E0A6EB01C01480381E0300EA1D06EA1CF890
+C7FCA6B47E1317808F15>I<EA03E1EA0C13EA180BEA300FEA700712E0A61270A26C5AEA
+1C37EA07C7EA0007A6EB3FE013177F8F14>I<EAFC78EA1D9CEA1E1C1308EA1C00ABEAFF
+800E10808F0F>I<EA1F20EA60E0EA402012C0A2EAF000127FEA3FC0EA1FE0EA00F0EA80
+70133012C01320EAF040EA8F800C107F8F0F>I<1208A41218A21238EAFFC0EA3800A813
+20A41218EA1C40EA07800B177F960F>I<38FC1F80EA1C03AB1307120CEA0E0B3803F3F0
+1410808F15>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C
+5A11107F8F14>I<39FE7F1F8039381C0700003C1306381C0C04130E380E16081317A238
+072310149013A33803C1A014E0380180C0A319107F8F1C>I<38FE3F80383C1E00EA1C08
+6C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC012107F8F14
+>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C5AA248C7FC
+A212E112E212E4127811177F8F14>I<EAFFF8EAE07012C0EA80E0EA81C0A2EA0380EA07
+00A2EA0E04121CA2EA380812701338EAFFF80E107F8F11>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fd cmti9 9 1
+/Fd 1 47 df<1230127812F0126005047C830C>46 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fe cmtt9 9 64
+/Fe 64 123 df<EA01801203EA06005A121C121812385AA35AA91270A37E1218121C120C
+7EEA03801201091D799914>40 D<128012C01260123012381218121C120EA31207A9120E
+A3121C121812381230126012C01280081D7C9914>I<EA01C0A7B51280A33801C000A711
+117F9314>43 D<EAFFFEA30F037E8C14>45 D<127012F8A312700505798414>I<130613
+0EA2131CA21338A21370A213E0A2EA01C0A2EA0380A3EA0700A2120EA25AA25AA25AA25A
+A25A0F1D7E9914>I<EA07C0EA0FE0EA1C70EA3838EA3018EA701CA2EAE00EA9EA701CA2
+EA3838A2EA1C70EA0FE0EA07C00F177E9614>I<1203A25A5A123F12F712471207AEEA7F
+F0A20C177C9614>I<137813F8EA01B8A2EA0338A21206120E120C121C12381230127012
+E0B51280A238003800A548B4FCA211177F9614>52 D<EA01F0EA07F8EA0E1C121C1238EA
+30001270A25AEAE7C0EAEFF0EAF838EAF01C130CEAE00EA212601270130CEA381CEA1C38
+EA0FF0EA07C00F177E9614>54 D<127012F8A312701200A6127012F8A312700510798F14
+>58 D<EA01C0487EA21360A2EA0770A4EA0630EA0E38A4487EEA1FFCA2EA1C1CA2487EA2
+38FE3F80A211177F9614>65 D<EAFFF013FCEA381E130E1307A4130E131EEA3FFCA2EA38
+1E130E1307A5130E131EEAFFFC13F810177F9614>I<3801F180EA07FFEA0E1FEA1C0712
+38EA7003A348C7FCA738700380A338380700121CEA0E0EEA07FCEA01F011177F9614>I<
+EAFFE013F8EA383C7F130E7FA3EB0380A8EB0700A2130E131E5BEAFFF813E011177F9614
+>I<B5FCA2EA3807A490C7FCA21338A2EA3FF8A2EA3838A290C7FCA3EB0380A4B5FCA211
+177F9614>I<B51280A2EA3803A490C7FCA21338A2EA3FF8A2EA3838A290C7FCA7B4FCA2
+11177F9614>I<EA03C6EA0FFEEA1C3EEA181E1238EA700EA21260EAE000A4137FA2130E
+12601270A2EA381E1218EA1C3EEA0FFEEA03CE10177F9614>I<38FE3F80A238380E00A8
+EA3FFEA2EA380EA938FE3F80A211177F9614>I<EAFFF8A2EA0700B3EAFFF8A20D177D96
+14>I<B4FCA21238AF1307A4B5FCA210177E9614>76 D<38FC1F80A2007C1300EA7637A4
+EA7777A2EA7367A313E7EA71C7A2EA7007A638F80F80A211177F9614>I<38FE3F80A238
+3E0E00123BA4138E1239A213CEA31238A213EE136EA4133E12FEA211177F9614>I<EA1F
+F0EA7FFCEA783CEA701CEAE00EAFEA701CEA783CEA7FFCEA1FF00F177E9614>I<EAFFF0
+13FCEA381E130E1307A5130E131EEA3FFC13F0EA3800A812FEA210177F9614>I<EA1FF0
+EA7FFCEA783CEA701CEAE00EADEAE38EEAE1CEEA71DCEA78FC127FEA1FF0EA0078133813
+3C131C131E0F1C7E9614>I<EAFFE013F8EA383C131C7FA45B133CEA3FF85BEA38387FA5
+1480EB1DC0A238FE0F80EB070012177F9614>I<EA0FCCEA1FFCEA307CEA603CEAE01CA3
+13001270127EEA3FE0EA0FF0EA01F8EA001C131E130E126012E0A2EAF01CEAF838EAFFF0
+EAC7E00F177E9614>I<387FFF80B5FCEAE1C3A43801C000AFEA0FF8A211177F9614>I<38
+FE0FE0A238380380B0381C0700A2EA0E0EEA07FCEA01F01317809614>I<38FC1F80A238
+380E00A3EA3C1EEA1C1CA46C5AA4EA0630EA0770A3EA0360A213E0A26C5A11177F9614>
+I<38FC1F80A238700700A7EA31C6EA33E6EA3BEE136EA5EA1B6CA2EA1A2CEA1E3CA31117
+7F9614>I<EA7E3EA2EA1C3CEA1E38EA0E78EA0F7012075B12035B120112037FA2EA0770
+A2EA0E781338EA1C3C131CEA3C1E38FE3F80A211177F9614>I<38FC1F80A238380E00EA
+3C1EEA1C1CEA1E3CEA0E38A26C5AA2EA036013E0A26C5AA8EA07F0A211177F9614>I<EA
+7FFE12FFEAE01CA21338A2EA007013E0A2EA01C0A2EA0380EA0700A2120EA25AEA380EA2
+1270A2EAFFFEA20F177E9614>I<EAFFE0A2EAE000B3A7EAFFE0A20B1D799914>I<EAFFE0
+A21200B3A712FFA20B1D7F9914>93 D<EAFFFEA30F037E7E14>95
+D<EA1FC0EA7FF0EA7078EA2018EA001CA2EA07FC121FEA3C1C127012E0A3EA707C383FFF
+80EA0F8F11107E8F14>97 D<12FCA2121CA513F8EA1DFEEA1F07EA1E03001C1380EB01C0
+A6EB0380001E1300EA1F0EEA1DFCEA0CF81217809614>I<EA03F8EA0FFEEA1C0EEA3804
+EA7000126012E0A412601270EA380EEA1C1EEA0FFCEA03F00F107E8F14>I<137EA2130E
+A5EA07CEEA0FFEEA1C3EEA301EEA700E12E0A61270EA301EEA383E381FEFC0EA07CF1217
+7F9614>I<EA07E0EA0FF0EA1C38EA301CEA700CEAE00EA2EAFFFEA2EAE00012601270EA
+380EEA1C1EEA0FFCEA03F00F107E8F14>I<13FCEA01FEEA038EEA07041300A3EA7FFE12
+FFEA0700ACEAFFF8A20F177F9614>I<EA07CF381FFF80EA383B38301800EA701CA3EA30
+18EA3838EA3FF0EA37C00070C7FCA2EA3FF86C7E487EEA700F38E00380A438700700EA3C
+1EEA1FFCEA07F011197F8F14>I<12FCA2121CA51378EA1DFEEA1F86EA1E07121CAA38FF
+8FE0A21317809614>I<1206120FA21206C7FCA4B4FCA21207ACEAFFF8A20D187C9714>I<
+136013F0A213601300A4EA1FF0A2EA0070B2EA40E0EAE0C0EA7F80EA3F000C207E9714>
+I<12FCA2121CA5EBFF80A2EB1C005B5B5BEA1DC0EA1FE0A2EA1E70EA1C38133C131C7F38
+FF1F80A21117809614>I<EAFF80A21203B3EAFFFEA20F177E9614>I<EAFB8EEAFFDF383C
+F380A2EA38E3AA38FEFBE013791310808F14>I<EAFC78EAFDFEEA1F86EA1E07121CAA38
+FF8FE0A21310808F14>I<EA07C0EA1FF0EA3C78EA701CA2EAE00EA6EA701CEA783CEA3C
+78EA1FF0EA07C00F107E8F14>I<EAFCF8EAFDFEEA1F07EA1E03001C1380EB01C0A6EB03
+80001E1300EA1F0EEA1DFCEA1CF890C7FCA6B47EA21218808F14>I<EA03E7EA0FF7EA1C
+1FEA300F1270487EA6EA700F1230EA1C3FEA0FF7EA07C7EA0007A6EB3FE0A213187F8F14
+>I<EAFE1FEB7F80EA0EE3380F810090C7FCA2120EA8EAFFF0A211107F8F14>I<EA0FD8EA
+3FF8EA603812C0A2EAF000EA7F80EA3FF0EA07F8EA001CEA600612E012F0EAF81CEAFFF8
+EACFE00F107E8F14>I<1206120EA4EA7FFC12FFEA0E00A8130EA3131CEA07F8EA01F00F
+157F9414>I<EAFC3FA2EA1C07AB131F380FFFE0EA03E71310808F14>I<38FE3F80A2383C
+1E00EA1C1CA36C5AA3EA0630EA0770A36C5AA311107F8F14>I<38FE3F80A238700700EA
+380EA3EA39CEA3EA1B6C121AA3EA1E7CA2EA0E3811107F8F14>I<EA7E3FA2EA1E3CEA0E
+78EA07705B12036C5A12037FEA0770EA0E781338487E38FE3F80A211107F8F14>I<38FE
+3F80A2381C0E005BA2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7FC
+127E123C11187F8F14>I<EA3FFF5AEA700E131C1338EA007013E0EA01C0EA0380EA0700
+120EEA1C0712381270B5FCA210107F8F14>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Ff cmsltt10 10.95 9
+/Ff 9 116 df<120C121E123FA2123E121C1200A8127012F8A412700814769318>58
+D<EA03FC48B4FC4813801303380601C01200A2137FEA07FF121FEA3F813878038012F012
+E0A21307EA701F387FFFF0EA3FFBEA0FE114147D9318>97 D<13F8EA07FE487E381F0780
+EA3C03387801C0127012E0A2B5FCA2148000E0C7FCA213033870078038780F00EA3FFE6C
+5AEA07F012147B9318>101 D<EB01F8EB07FC131FEB1E3CEB38181400A25B381FFFF05A
+7E38007000A25BA6485AA6EA7FFE12FF127F161C7E9B18>I<1318133C137C133C131890
+C7FCA4EA0FF8121F120FEA0038A25BA65BA6EA7FFFB512806C1300111D7C9C18>105
+D<EA0FFCA3EA001CA45BA65BA65BA6B5128014C01480121C7D9B18>108
+D<381F3C3CEBFEFE13FF3807CFCEEB8F8E380F0F0EA2EA0E0EA4381C1C1CA638FE3E3E38
+FF7F7F38FE3E3E1814809318>I<381F8F80383FBFE0381FFFF03803F07013E0EA07C013
+801300A4000E13E0A638FF87F8EBCFFCEB87F816147F9318>I<EBFE603807FFE05AEA1F
+01121C003813C0EA3C00001F1300EA0FF8EA07FE3800FF801307383001C01270A2387803
+80EA7C07B51200EAEFFEEA63F813147D9318>115 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fg cmbx12 13.14 55
+/Fg 55 122 df<903907FC0FE090393FFF3FF89039FC03FC783A03F007F0FC3807E00F15
+E0D80FC0147802071300A7B71280A23A0FC007E000B3A239FFFC7FFFA226267FA524>11
+D<EB07FCEB3FFF9038FE0780D803F013C03807E00FA2EA0FC0A3EC030091C7FCA3EC7FE0
+B6FCA2380FC007B3A239FFFC7FFEA21F267FA522>I<EAFFFEA50F057F8E14>45
+D<123C127E12FFA4127E123C08087C8711>I<EB7F803803FFF03807E1F8380F807C4848
+7E48133F003E7F007E1480A400FE14C0AD007E1480A46CEB3F00A26C133E6C6C5A3807E1
+F86CB45A38007F801A237EA21F>48 D<131C133C13FC12FFA21200B3AA387FFFFCA21623
+7CA21F>I<48B4FC000713C0381E07F0383803F8386001FC387C00FE12FE14FF147FA212
+7C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F00131E5B1370EBE003EA01
+C038038007380700061206380FFFFE5A5A4813FCB5FCA218237DA21F>I<48B4FC000713
+E0381E03F0383801F8003C13FC387E00FEA3123EEA1C01000013FCA2EB03F8EB07F0EB0F
+C03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210127C12FEA214FEA2387C01
+FC007013F8383E07F0380FFFC00001130018237DA21F>I<14381478A214F81301130313
+071306130C131C13381330136013E0EA01C01380EA03005A120E5A12185A12705AB612C0
+A2390001F800A790387FFFC0A21A237EA21F>I<0018130C001F137CEBFFF814F014E014
+C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8000813FCC7127EA3147FA2
+127812FCA3147E5A006013FC1270383801F8381E07E03807FFC03801FE0018237DA21F>
+I<EB1FC0EB7FF03801F0383803E00C3807803E000F137EEA1F005AA2007E133C1400A338
+FE3FC0EB7FF0EB80F800FF13FCEB007C147E5A147FA4127EA4003E137E123F6C137C380F
+80F83807C1F03803FFC038007F0018237DA21F>I<1230123C003FB512C0A21580481400
+5C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA25BA2133CA25BA213F8A412
+01A66C5A13601A257DA41F>I<EBFF80000313E0380F01F8381C007C48133C141E1278A2
+127C127E387F803C13E0383FF878381FFDF0EBFFC07E000313E014F8000F13FCEA1E1F38
+3C07FEEA7803EB00FF48133F141F140FA3140E1278141C6C1338381F80F03807FFE00001
+130018237DA21F>I<13FF000313C0380F83E0381F00F04813F8007E137CA2147E12FEA3
+147FA4127E14FF123EEA3F01001F137FEA0FFEEA03FCC7FC147EA2123C007E13FCA214F8
+14F0EA7C01383003E0381C0F80380FFF00EA03F818237DA21F>I<141CA2143EA3147FA2
+4A7EA39038019FC0A29038031FE0140F01077FEB0607A2010C7F1403011C7FEB1801A249
+6C7EA2017FB5FCA29039E0007F8049133FA2484880151F00038190C7120FA2486E7ED8FF
+F090B51280A229257EA42E>65 D<B612E015FC3903F0007FED3F80ED1FC0ED0FE0A216F0
+A21507150FA216E0151F16C0ED7F80913801FE0090B512F815FF9039F0003FC0ED0FE0ED
+07F016F8150316FCA616F81507ED0FF0ED1FE0ED7FC0B7120015F826257EA42C>I<9138
+FF8008010FEBF01890393FC03C789039FE0006F8D801F813034848130148481300484814
+78121F48481438A2007F151890C8FCA2481500A97E16187F123FA26C6C1430120F6C6C14
+606C6C14C06C6CEB0180D800FEEB070090383FC01E90380FFFF8010013C025257DA42C>
+I<B612E015FC3903F800FFED1FC0ED07E06F7E6F7E82150082A2167FA31780AA1700A316
+FEA24B5A5E4B5A4B5AED1FC0EDFF80B648C7FC15E029257EA42F>I<B7FCA23903F8007F
+ED0F8015071503A21501A3ED00C01406A21600A2140E141EEBFFFEA2EBF81E140E1406A2
+1660A291C7FC16C0A415011503A2ED0F80153FB7FCA223257EA428>I<B612FEA23803F8
+00151F8181A281A3ED01801403A292C7FCA25C5C90B5FCA2EBF80F8080A491C8FCAAB512
+F0A221257EA427>I<9138FF8010010FEBE03090393FC078F09038FE000DD801F81307D8
+07F0130348481301491300001F1570485AA2007F153090C8FCA2481500A70203B5FCA26C
+90380007F0A27F123FA26C7E120F7F6C7EEA01F8D800FE130F90383FC03990390FFFF070
+0100EB803028257DA430>I<B500E0B512E0A23B03F80003F800AF90B6FCA29038F80003
+B0B500E0B512E0A22B257EA430>I<B512E0A23803F800B3AFB512E0A213257EA417>I<B5
+12F0A2D803F8C7FCB3A31503A31506A3150EA2151E153E157CEC03FCB6FCA220257EA425
+>76 D<D8FFF8EDFFF86D5C0003EEFE00017EEC037EA36D1406A26D6C130CA26D6C1318A2
+6D6C1330A36D6C1360A26D6C13C0A2903900FC0180A291387E0300A3EC3F06A2EC1F8CA2
+EC0FD8A2EC07F0A36E5AEA07803CFFFC01C01FFFF8A235257EA43A>I<D8FFF8903807FF
+E07FD803FE9038003C006D14187F6D7E6D7E806D7E6D7E13036D7E6D7E80EC7F80EC3FC0
+141FEC0FE015F0EC07F8EC03FC1401EC00FE157F1698ED3FD8ED1FF8150F15071503A215
+0115001678486C1438D8FFFC1418A22B257EA430>I<903803FF80011F13F090387F01FC
+3901FC007FD803F0EB1F804848EB0FC0000F15E04848EB07F0491303003F15F8A2007F15
+FC90C71201A24815FEA96C15FCA26D1303003F15F8A26C6CEB07F0A26C6CEB0FE06C6CEB
+1FC06C6CEB3F806C6CEB7F0039007F01FC90381FFFF00103138027257DA42E>I<B612E0
+15FC3903F800FFED3F80ED1FC016E0150F16F0A616E0151F16C0ED3F80EDFF0090B512FC
+15E001F8C8FCAFB512E0A224257EA42A>I<B67E15F83903F801FEEC007F6F7E6F7EA282
+A55EA24B5A4BC7FCEC01FE90B512F815C09038F803F06E7E6E7E157EA2157FA482A31760
+ED3FC017C0ED1FE1B539E00FFF80923801FE002B257EA42E>82 D<01FF1380000713E338
+0F80F7381E001F48130F481307140312F81401A27E91C7FCB4FCEA7FE013FE383FFFE014
+F86C13FE00077F6C1480C67E010313C0EB003FEC0FE01407A200C01303A315C07E6C1307
+6C14806CEB0F0038FFC03E38E3FFF838803FE01B257DA422>I<007FB612F8A2397E00FE
+010078EC00780070153800601518A200E0151C160C5AA4C71400B3A390B512FEA226247E
+A32B>I<B539E00FFFC0A2D803F8C7EA78001630B3A700015D7F00005D137C6D495A6D01
+07C7FC90380FE03E903803FFF89038007FC02A257EA42F>I<B5398001FFE0A2D807F8C7
+EA1C0000031518A26D1438000115306D1470000015607F6D5C80013F495AA2ECC003011F
+91C7FC6E5A010F130614F001075BA26D6C5AA2ECFC3801011330ECFE700100136014FF6E
+5AA26E5AA36EC8FCA2140EA22B257FA42E>I<3A7FFFC07FFEA23A03FC00078093C7FC6C
+6C130E6C6C130C5D90387F80386D6C5A90381FE0605DEB0FF1903807FB8092C8FCEB03FE
+13011300806E7E81A2ECDFE0903801CFF0EB038FEC07F890380603FC90380E01FE131C90
+381800FF496D7E1370496D7E496D7E4848130F486C80D8FFFC90B51280A229257EA42E>
+88 D<EA07FF001F13E0383E03F0383F00F880147E121EC7FCA3EB1FFE3803FE7EEA0FC0
+EA1F00123E127E5AA314BEEA7E01383F073E391FFE1FE03807F00F1B187E971E>97
+D<EAFFC0A2120FACEBC1FCEBCFFF9038FC0FC09038F007E09038C003F0A2EC01F8A215FC
+A815F8A2EC03F013E09038F007E090381C1F80390E0FFF00380C03F81E267FA522>I<EB
+7FE03803FFF83807C07C381F80FC13005A007E1378140012FEA8127E127F6C130CEA1F80
+EBC0183807E0703803FFE038007F0016187E971B>I<ECFFC0A2140FAC137F3803FFCF38
+0FE0FF381F803F383F000FA2127EA212FEA8127EA27E141F381F803F380FC0EF3903FFCF
+FC3800FE0F1E267EA522>I<137F3803FFC03807C1F0380F80F8EA1F0048137C127E147E
+12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803FFE038007F80
+17187E971C>I<3901FF07C00007EBDFE0380F83F1EA1F01393E00F800007E7FA6003E5B
+6C485A380F83E0EBFFC0001190C7FC0030C8FCA21238123C383FFFE06C13FC806C7F4814
+80383C003F48EB0FC000F81307A4007CEB0F806CEB1F00381F807E3807FFF8C613C01B24
+7E971F>103 D<EAFFC0A2120FAC14FE9038C3FF809038CE0FC013D89038D007E013E0A2
+13C0AF39FFFC7FFEA21F267EA522>I<120FEA1F80EA3FC0A4EA1F80EA0F00C7FCA7EA7F
+C0A2120FB3A2EAFFF8A20D277EA611>I<EAFFC0A2120FACEC1FF0A2EC0780EC0E005C14
+305CEBC1C0EBC38013C713DFEBFFC0EBE7E0EBC3F0138180EB80FC147E80A2EC1F80EC0F
+C039FFF83FF8A21D267FA520>107 D<EAFFC0A2120FB3B0EAFFFCA20E267EA511>I<26FF
+80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A9007E803F001A013F0A201C0
+13E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE903883FF80390F8E0FC013989038
+9007E013A0A213C0AF39FFFC7FFEA21F187E9722>I<EB7F803803FFF03807C0F8381F80
+7E48487EA2007EEB1F80A200FE14C0A8007E1480A26CEB3F00A2381F807E6C6C5A3803FF
+F038007F801A187E971F>I<38FFC1FCEBCFFF390FFC1FC09038F007E001C013F0140315
+F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F809038CFFF00EBC3F801C0C7
+FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7CEB90FC13B013A01478EBE000
+5BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C07EA7001EAF000A300FC1300
+B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC001A212E014C0EAF00338FC07
+8038EFFF00EAC3FC13187E9718>I<13C0A41201A312031207120F121FB512C0A2380FC0
+00AC1460A63807E0C013E13801FF8038007E0013237FA218>I<39FFC07FE0A2000F1307
+B0140FA200071317EBE0673903FFC7FE38007F071F187E9722>I<3BFFF9FFE0FF80A23B
+1FC03F001C00000F6D13181580D807E05CA29039F03FC07000030137136015E02601F863
+5BA29038FCE3F1000001C15B15F990267F80FBC7FCA215FF90383F007EA2011E133CA301
+0C131829187F972C>119 D<39FFF83FF0A2390FC00F003807E00E6C6C5A6D5A6C6C5A00
+001360EB7EC06D5AA2131F6D7E497E80EB33F81361EBE0FC3801C07E3803807F3907003F
+8048131F39FFC07FF8A21D187F9720>I<39FFF80FF8A2390FC001C015803907E00300A2
+6D5A00031306EBF80E0001130C13FC00005B13FEEB7E30A26D5AA214E06D5AA26D5AA26D
+C7FCA21306A25B1230EA781CEAFC185B1370EA68E0EA7FC0001FC8FC1D237F9720>I
+E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fh cmti10 10.95 75
+/Fh 75 123 df<91383F03E09138C38470903901878CF0010313989138033860D9070013
+00A35D130EA390B6FC90380E00E05BA44A5A1338A549485AA54948C7FCA4EBC00E120114
+0CEA318638798F1838F31E1038620C60383C07C02429829F1C>11
+D<EC3FE0ECE010903801803801031378A290380700301500A3130EA390B512E0EB0E0090
+381C01C0A4EC03801338A3EC0700A2137801701310EC0E20A313609038E00640EC038091
+C7FC5BA21201EA3180127948C8FC1262123C1D29829F1A>I<EC3FCEECE0EE90380181FC
+1303EC00DC49131C1538A3130E1570A290B512F090380E00704913E0A4EC01C01338A3EC
+0380A213701588EC0710A313E0EC0320EC01C091C7FC5B1201A2EA3180127948C8FC1262
+123C1F29829F1B>I<13E0EA01F0A2EA03E0A313C0A3138012071300A31206A35AA31208
+A3C7FCA5127012F8A25A5A0C217BA00E>33 D<EC0804EC0C06EC180CA2EC3018A2EC6030
+A2ECC060A290380180C0A39038030180A2003FB6FCA23900180C00A3495AA3495AA2B612
+F8A2390180C00038030180A2D80603C7FCA2EA0C06A3485AA2485AA2485AA220297B9F25
+>35 D<01701304D80188130CD803041338D806071370390E02E3E0000CEB1C60001CEB00
+C0EC0180393804030014065C13085C495A5C381820C0EA08C03807018039000303C09038
+06062090380C0C10EB18181430EB3070EB6060EBC0E0EA0180EA0300903801C020120612
+0C0018144012300100138048EBC10048136248133C1E2579A125>37
+D<130113021304130813101320136013C0EA0180A2EA03005A1206120E120C121C121812
+38A212301270A21260A212E0A25AAD12401260A212207EA27E102E79A113>40
+D<13107F7F130613021303A37F1480A71303A31400A35BA21306A2130E130CA2131C1318
+133813301370136013E05B485A90C7FC5A12065A5A5A5A1280112E80A113>I<1330A313
+20A2381861C0381C678038064E00EA0378EA01E0A2EA07B0EA1C98EA798EEAE1860001C7
+FCA25AA3121478A117>I<121C123CA41204A21208A212101220A212401280060E7D840E>
+44 D<EA7FF0EAFFE0127F0C037D8A10>I<127012F8A212F012E005057B840E>I<154015
+C0EC0180A2EC0300A21406A25C5CA25CA25C5CA2495AA249C7FCA213065BA25BA25BA25B
+5BA2485AA248C8FCA212065AA25AA25AA25A5AA25A1A2D7FA117>I<EB0F80EB30E0EBE0
+70EA01C0380380301438EA0700481378A2120E121E14704813F0A4387801E0A314C0EA70
+0312F01480130714001270130E5BEA30386C5AEA0FC0151F7C9D17>I<1302A21306130E
+133C13DCEA031C12001338A41370A413E0A4EA01C0A4EA0380A41207EAFFF80F1E7B9D17
+>I<131FEB61C0EB80E0EA010000021370134012041320380840F0A3EB80E0EA09010006
+13C038000380EB0700130C5B13605B0003C7FC12044813405A1480EA2001EA7E033847FF
+00EA41FEEA80FC1378141F7C9D17>I<EB1F80EB60E0EB80703801003000021338EA0440
+A21320EB407013C038038060C712E0EB01C0EB030013FE131C130613071480A312301278
+A238F00F001280EA401E131C5BEA30E0EA0F80151F7C9D17>I<146014E0A3EB01C0A3EB
+0380A214005BA21306130E130C5BA25BA213635B1387EA01071203EA060E12041208EA3F
+8EEA607C38801FC038001C00A25BA45BA2136013277E9D17>I<EB80603801FFC01480EB
+FE0090C7FC1202A45AA213F8EA050CEA0A06EA0C07120800001380A4EB0F00127012F013
+0EEAE01EEA801C5B1330EA4060EA61C0001FC7FC131F7B9D17>I<EB07C0EB18201330EB
+E0E0EA01C11381380380C048C7FC5A120E121E1378EA1D84EA3E061307123C007C138012
+78A338700F00A212F0130E131EEA701C1260EA7038EA3070EA10C0EA0F80131F7B9D17>
+I<3804E010EA0BF0000F1320001F1340381E19C038380E80EA3001386003001240EA8006
+EA000E130C131C131813385BA213F05B1201A2485AA3485AA3120F90C7FCA21206141F79
+9D17>I<EB0F80EB30C0EB4060EB80301201EA0300A3481360EB8040EBC0C03803E180EB
+F600EA01FC1200487EEA033F38041F80EA180FEA10031230EA6001A338C00300A2EA6006
+1304EA2018EA1830EA0FC0141F7C9D17>I<1207120F121FA2120E1200AA127012F8A212
+F012E008147B930E>58 D<14021406A2140E141EA2143F142F144F14CF148FEB010FA213
+02A213041308A20110138014071320EB3FFFEB40071380A2EA0100A2120212061204001E
+14C039FF807FF81D207E9F22>65 D<48B512C039001E00F015781538153C5BA4491378A2
+15F0EC01E09038F007809038FFFE009038F00F80EC03C03801E00115E0A3EA03C0A315C0
+38078003EC0780EC0F00141E380F007CB512E01E1F7D9E20>I<ECFE0290380781869038
+1C004C49133C136049131C00011418485A48C7FC5A001E1410A2481400A25AA45AA41580
+1270A2EC01007E140200185B6C13186C1320380381C0D800FEC7FC1F217A9F21>I<90B5
+128090381E00E015701538151C5B150EA35BA449131EA44848133CA3157848481370A215
+E0EC01C0380780031580EC0E005C380F0070B512C01F1F7D9E22>I<48B512FE39001E00
+1C150C1504A25BA490387804081500A2140C495AEBFFF8EBF018A23801E010A3EC001048
+481320A21540A248481380140115001407380F001FB512FE1F1F7D9E1F>I<48B512FC39
+001E003815181508A25BA4491310EC0800A3495A1430EBFFF0EBF0303801E020A44848C7
+FCA4485AA4120FEAFFF81E1F7D9E1E>I<ECFC04903807030C90381C00980130137813E0
+4848133848481330A248C7FC120E001E1420A2481400A25AA45AECFFF0EC0780A2EC0F00
+1270A3141E7E0018133E001C132E6C13CC38038304D800FCC7FC1E217A9F23>I<9039FF
+F1FFE090391F003E00011E133CA3495BA4495BA449485A90B5FCEBF001A24848485AA448
+48485AA4484848C7FCA4000F5B39FFF1FFE0231F7D9E22>I<3801FFF038001F00131EA3
+5BA45BA45BA4485AA4485AA4485AA4120FEAFFF0141F7D9E12>I<9039FFF01FE090391F
+000F80011EEB0E0015085D495B5D4AC7FC1402495A5C5C1430EBF0F0EBF1F8EBF27813F4
+48487E13F013E080EA03C0A280A2EA07806E7EA3000F8039FFF03FF8231F7D9E23>75
+D<3801FFF8D8001FC7FC131EA35BA45BA45BA4485AA315803903C00100A25C1402380780
+06A25C141C380F0078B512F8191F7D9E1D>I<D801FEEC7FC0D8001EECFC005E0117EB01
+78A20127EB02F01504A215080147EB09E015111521A20187495AEB83801583A23A010381
+07801482A2148400024AC7FC14881490A2390401E01EA214C0000C1380001C143E3AFF81
+03FFC02A1F7D9E29>I<01FFEB3FE0011FEB0F001504EB1780A201275BEB23C0A3903841
+E010A214F0134001805B1478A348486C5AA3141E00025CA2140FA24891C7FC80A2120C00
+1C1302EAFF80231F7D9E22>I<EB01FCEB070790381C01C090383000E001E01360484813
+70485A0007143890C7FC120E121E121C123CA2481478A44814F0A215E0140115C0140300
+701480EC070000785B0038131E5C6C13706C5B38078380D801FCC7FC1D217A9F23>I<48
+B5128039001E00E015701538153C5BA4491378A215F015E09038F003C0EC0F00EBFFFC01
+F0C7FC485AA4485AA4485AA4120FEAFFF01E1F7D9E1F>I<90B5FC90381E03C0EC00E015
+7015785BA44913F0A2EC01E015C09038F00700141EEBFFF0EBF01C48487E140F80158039
+03C00F00A43807801E1508A21510000F130ED8FFF01320C7EA03C01D207D9E21>82
+D<903807E04090381C18C09038300580EB600313C000011301018013001203A391C7FC7F
+A213F86CB47E14E06C6C7E131FEB01F8EB0078A21438A21220A2143000601370146014E0
+00705B38E80380D8C606C7FCEA81F81A217D9F1A>I<000FB512FC391E03C03800181418
+001014081220EB078012601240A239800F001000001400A3131EA45BA45BA45BA4120138
+7FFF801E1F799E21>I<393FFC0FF83907C003C09038800100A3380F0002A4001E5BA448
+5BA4485BA4485BA35CA200705B49C7FCEA3002EA3804EA0C18EA07E01D20779E22>I<39
+FFF003FC001FC712E06C14C01580EC0100A21402A25C5C138000075B143014205CA25C13
+8191C7FC13C2120313C413CC13C813D0A213E05BA25B120190C8FC1E20779E22>I<3BFF
+E1FFC07F803B1F003E001C00001E013C13181610143E021E5B121F6C013E5BA2025E5B14
+9E4BC7FC9038011E02A201025BA201045BA201085BA201105B13205D01405BA2D9801FC8
+FC80EB000E7E0006130CA2000413082920779E2D>I<9039FFF07FE090391F801F009038
+0F000C6E5A010713105D6E5A01035B02C1C7FC14E2EB01E614EC14F86D5AA280A2EB017C
+EB023C1306EB043EEB081E1310EB201F497E1380D801007F4813071206001F497E39FFC0
+3FF8231F7E9E22>I<39FFF003FC001FC712E06C14C06D1380EC0100000713026D5AA200
+035B6D5A5C00011360EBF0405CD800F1C7FC13FA13FE137C1378A2137013F0A35B1201A4
+485AEA3FFC1E1F779E22>I<90387FFFF89038FC00F09038E001E09038C003C090388007
+8012019038000F00141E5C00025BC712F85C495A495A495A49C7FCA2131E5B495A13F000
+01130213E03803C00638078004380F000C001E1308003E1318003C1338387801F0B5FC1D
+1F7D9E1C>I<EB1FE0A2EB1800A25BA45BA45BA4485AA448C7FCA41206A45AA45AA45AA4
+5AA3EA7F8048C7FC132D7FA10E>I<EB1FE0A2EB0060A214C0A4EB0180A4EB0300A41306
+A45BA45BA45BA45BA45BA4485AA3127F48C7FC132D82A10E>93 D<EBF180380389C03807
+0780EA0E03121C123C383807001278A3EAF00EA31420EB1C40A2EA703C135C38308C8038
+0F070013147C9317>97 D<EA0780123FEA0700A4120EA45AA213F0EA1D0CEA3A0E123CEA
+380FA21270A4EAE01EA3131C133C1338EA607013E0EA31C0EA1F0010207B9F15>I<137E
+EA01C138030080EA0E07121E001C1300003CC7FC5AA35AA45B12701302EA300CEA1830EA
+07C011147C9315>I<1478EB03F8EB0070A414E0A4EB01C0A213F1EA038938070780EA0E
+03121C123C383807001278A3EAF00EA31420EB1C40A2EA703C135C38308C80380F070015
+207C9F17>I<137CEA01C2EA0701120E121C123CEA3802EA780CEA7FF0EA78005AA4EA70
+01A21302EA380CEA1830EA07C010147C9315>I<1478EB019CEB033CA2EB07181400A213
+0EA5EBFFE0EB1C00A45BA55BA55BA5485AA35B1231007BC7FC12F31266123C1629829F0E
+>I<EB3C60EBE2703801C1E0EA0380EA07005A380E01C0121EA3383C0380A4EB0700A2EA
+1C0F1317EA0C2EEA03CEEA000EA25BA21230EA7838485AEA60E0EA3F80141D7E9315>I<
+EA01E0120FEA01C0A4485AA448C7FCA2131E1363380E8180380F01C0120EA2381C0380A4
+38380700A3EB0E1000701320A2131CEB0C4000E013803860070014207D9F17>I<13C0EA
+01E0A213C0C7FCA7120E12131223EA4380EA4700A21287120EA35AA3EA38401380A21270
+EA31001232121C0B1F7C9E0E>I<EB0180EB03C0A2148090C7FCA7133C13461387A2EA01
+07A2EA020E1200A35BA45BA45BA45BA21230EA79C0EAF1800063C7FC123C1228829E0E>
+I<EA01E0120FEA01C0A4485AA448C7FCA2EB03C0EB0420380E08E013111321EB40C0381C
+8000001DC7FC121EEA1FC0EA38E01370A2EB384038707080A3EB310012E0EA601E13207D
+9F15>I<EA03C0121FEA0380A4EA0700A4120EA45AA45AA45AA3127112E2A4126412380A
+207C9F0C>I<391C0F80F0392630C318394740640C903880680EEB0070A2008E495A120E
+A34848485AA3ED70803A3803807100A215E115623970070064D83003133821147C9325>
+I<381C0F80382630C0384740601380EB0070A2008E13E0120EA3381C01C0A3EB03840038
+1388A2EB0708EB031000701330383001C016147C931A>I<137CEA01C338030180000E13
+C0121E001C13E0123C1278A338F003C0A3EB07801400EA700F130EEA3018EA1870EA07C0
+13147C9317>I<3801C1E0380262183804741C1378EB701EA2EA08E01200A33801C03CA3
+143838038078147014E0EBC1C038072380EB1E0090C7FCA2120EA45AA2B47E171D809317
+>I<EBF040380388C038070580EA0E03121C123C383807001278A3EAF00EA45BA2EA703C
+135CEA30B8EA0F381200A25BA45BA2EA0FFE121D7C9315>I<EA1C1EEA266138278380EA
+47871307EB0300008EC7FC120EA35AA45AA45A123011147C9313>I<13FCEA0302EA0601
+EA0C03130713061300EA0F8013F0EA07F8EA03FCEA003E130E1270EAF00CA2EAE008EA40
+10EA2060EA1F8010147D9313>I<EA018013C0EA0380A4EA0700A2EAFFF0EA0700120EA4
+5AA45AA31320EA7040A21380A2EA3100121E0C1C7C9B0F>I<000E13C0001313E0382301
+C0EA4381EA4701A238870380120EA3381C0700A31410EB0E201218A2381C1E40EA0C2638
+07C38014147C9318>I<380E0380EA1307002313C0EA4383EA4701130000871380120EA3
+381C0100A31302A25BA25BEA0E30EA03C012147C9315>I<000EEBC1C0001313E3392301
+C3E0384381C1384701C015603987038040120EA3391C070080A3EC0100A21306EB0F0200
+0C5B380E13083803E1F01B147C931E>I<38038380380CC440381068E013711220EB70C0
+3840E0001200A3485AA314403863808012F3EB810012E5EA84C6EA787813147D9315>I<
+000E13C0001313E0382301C0EA4381EA4701A238870380120EA3381C0700A4130E1218A2
+EA1C1EEA0C3CEA07DCEA001CA25B12F05BEAE060485AEA4380003EC7FC131D7C9316>I<
+3801C0403803E080EA07F1380C1F00EA0802C65A5B5B5B5B5B48C7FC1202485AEA080212
+10EA3E0CEA63FCEA41F8EA80E012147D9313>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fi cmb10 10.95 43
+/Fi 43 122 df<EAFFF0A40C04808B0F>45 D<1238127C12FEA3127C123807077D860D>
+I<1307A3497EA2497EA3497E1337A2EB63F0A3EBC1F8A3380180FCA33803007EEBFFFE48
+7F3806003FA2000EEB1F80120CA2001CEB0FC039FF80FFF8A21D1F7E9E22>65
+D<B512F014FC380F807E80A21580A2141F143FA31500147E14FEEBFFF814FEEB803FEC1F
+80EC0FC0A215E0A515C0141F1580143FB5EAFE0014F81B1F7E9E20>I<90380FF0109038
+7FFC703901FC0EF03803E003380FC001381F8000A248C71270A2007E1430A212FE1500A8
+007E1430A27E15706C6C136015E06C6C13C03903E003803901FC0F0038007FFCEB0FF01C
+1F7E9E21>I<B512F014FE380FC07FEC1F80EC07C015E0EC03F0A2EC01F8A315FCA915F8
+A3EC03F0A215E01407EC0FC0EC3F00B512FE14F01E1F7E9E23>I<B6FCA2380FC01F8080
+8015801401A2EBC181A2EC8000A213C313FFA213C313C1A215C0A2EBC000EC0180A31403
+A21407EC3F00B6FCA21A1F7E9E1E>I<B512FEA2380FC03E140EA2140614071403A2EBC1
+83A21480A213C313FFA213C313C1A4EBC000A8EAFFFEA2181F7E9E1D>I<90381FE02090
+387FF8E03801F81D3807E007380FC003381F800190C7FC5A5A007E1460A212FE1500A590
+3801FFFCA290380007E0127EA2127F7E7E1380EA0FC03807E00F3801FC1F38007FF89038
+1FE0601E1F7D9E24>I<39FFFC7FFEA2390FC007E0AC90B5FCA2EBC007AD39FFFC7FFEA2
+1F1F7E9E24>I<EAFFFCA2EA0FC0B3A9EAFFFCA20E1F7E9E12>I<3803FFF0A238001F80B3
+A21210127C12FEA338FC3F00EA783EEA3FFCEA0FE0141F809E18>I<EAFFFEA2EA0FC0B1
+140CA4141CA2141814381478EBC1F8B5FCA2161F7E9E1B>76 D<39FFC007FEA2390FE000
+607FEA0DF8A2EA0CFC137EA27FEB1F80EB0FC0A2EB07E0EB03F014F81301EB00FC147EA2
+143FEC1FE0140FA214071403A214011400D8FFC01360A21F1F7E9E24>78
+D<EB3FE0EBFFF83803F07E3807C01F390F800F80001F14C0393F0007E0A24814F0007E13
+03A200FE14F8A9007E14F0A2007F13076C14E0A2391F800FC0390FC01F803907E03F0038
+03F07E3800FFF8EB3FE01D1F7E9E22>I<B512E014FC380FC07E80EC1F80A215C0A51580
+A2EC3F00147EEBFFFC14E001C0C7FCACEAFFFCA21A1F7E9E1F>I<B512E014FC380FC07E
+80EC1F8015C0A61580EC3F00147EEBFFFC14E0EBC0F080147CA2147EA3147FA31503EC3F
+83EC1F8639FFFC0FFCEC03F8201F7E9E23>82 D<3803F040380FFDC0EA1C0FEA3803EA70
+01A2EAF000A36C13007EB47EEA7FF8EA3FFEEBFF806C13C01207C613E0130FEB03F01301
+130012C0A36C13E0130100F813C038FE038038EFFF00EA81FC141F7E9E19>I<007FB512
+C0A2387C1F830070138100601380A200E014E000C01460A400001400B13807FFFEA21B1E
+7E9D20>I<39FFFC0FFCA2390FC000C0B3A40007EB018013E00003EB03006C6C5A3800F8
+1EEB3FF8EB0FE01E1F7E9E23>I<39FFF803FEA2390FC000701560A26C6C13C0A2EBF001
+00031480A23901F80300A26D5A00001306A2EB7E0CA36D5AA214B8EB1FB0A2EB0FE0A36D
+5AA36D5AA21F1F7F9E22>I<397FFC3FF8A23907E00700EBF0060003130E3801F80CEBFC
+1C000013186D5AEB7E70EB3F605C131FA2130F6D7E80130F801319EB38FCEB30FEEB607E
+EBE07F497E3901801F80000314C0EB000F4814E039FFE07FFEA21F1F7F9E22>88
+D<39FFF803FEA2390FC000706D1360000714C07F3903F801800001130301FC130000005B
+EBFE06EB7F0E140CEB3F9CEB1F9814F0130F5C1307ABEB7FFEA21F1F7F9E22>I<EA0FF0
+EA3FFCEA7E1E131FEB0F80123E1218120013FF120FEA1F0F127CA212F8A31317EA7C3738
+3FE3F0EA0F8114147F9316>97 D<B4FCA2121FAA133FEBFFC0EBC3E0EB01F0EB00F8A214
+FCA714F8A3EB01F0EBC3E0381CFFC038183F0016207F9F19>I<EA03F8EA0FFEEA1F3F12
+3E127EEA7C3E130C00FCC7FCA6127CA2387E0180EA3E03381F8700EA0FFEEA03F811147F
+9314>I<EB1FE0A21303AAEA03F3EA0FFFEA1F0FEA3E03127CA312FCA7127CA2EA3E07EA
+1F0F380FFBFCEA03F316207F9F19>I<EA03F8EA0FFEEA1F0F383E0780123C007C13C0A2
+12FCB5FCA200FCC7FCA3127CA26C13C0A2381F03803807FF00EA01FC12147F9315>I<13
+7F3801FF803807C7C0EA0F8F130F121FEB078090C7FCA5EAFFF0A2001FC7FCB0EAFFF0A2
+12207F9F0E>I<3803F0E0380FFDF0EA1E1EEA3C0F007C1380A5003C1300EA1E1EEA1FFC
+EA33F00030C7FCA21238EA3FFEEBFF806C13C04813E0387803F0EA700012F0A4387801E0
+383E07C0381FFF803803FC00141E7F9317>I<B4FCA2121FAA131FEB3FC01363EB83E0A2
+1303AD38FFE7FCA216207E9F19>I<121C123E127FA3123E121CC7FCA6B4FCA2121FB0EA
+FFE0A20B217FA00C>I<B4FCA2121FB3AAEAFFE0A20B207F9F0C>108
+D<39FE0F80F890383FC3FC391E63E63E9038C1FC1FEB81F8381F01F0AD3AFFE7FE7FE0A2
+23147E9326>I<EAFE1FEB3FC0EA1E63EB83E0A2EA1F03AD38FFE7FCA216147E9319>I<EA
+01F8EA0FFF381F0F80383E07C0387C03E0A300FC13F0A7007C13E0A2383E07C0381F0F80
+380FFF00EA03FC14147F9317>I<EAFF3FEBFFC0381FC3E0EB01F014F8A2EB00FCA714F8
+1301A214F0EBC7E0EBFFC0EB3F0090C7FCA7EAFFE0A2161D7F9319>I<EAFE3C137F381E
+DF80139F121FEB1F00130690C7FCABEAFFF0A21114809313>114
+D<EA0FD8EA3FF8EA7038EAE018A3EAF800EAFF80EA7FF0EA3FF8EA1FFCEA03FEEA003EEA
+C00EA212E0130CEAF81CEAFFF8EAC7E00F147F9312>I<1203A45AA25AA2123FEAFFF8A2
+EA1F00AA130CA5EA0F98EA07F0EA03E00E1D7F9C12>I<38FF1FE0A2EA1F03AE1307EA0F
+0F3807FBFCEA03F316147E9319>I<39FFCFF1FCA2391F03C0701560EB07E0D80F8713C0
+A2EB8CF03907CCF180A2EBD8793903F87B00A2147F497E0001133EA2EBE01E0000131CEB
+C00C1E147F9321>119 D<38FFC3F8A2381F00C0A2380F8180A33807C300A213E7EA03E6
+A2EA01FCA36C5AA31370A21360A2EA78E0EAFCC0A2EAC18012E3007FC7FC123C151D7F93
+18>121 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fj cmsy10 10.95 1
+/Fj 1 14 df<14FE903807FFC090381F01F0903878003C01E0130ED80180130348C7EA01
+800006EC00C0481560A2481530481518A248150CA4481506A90060150CA46C1518A26C15
+306C1560A26C15C06CEC01806C6CEB0300D800E0130E0178133C90381F01F0903807FFC0
+D900FEC7FC272B7DA02E>13 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fk cmbx12 17.28 41
+/Fk 41 122 df<121E123FEA7F80EAFFC0A213E0A2127FEA3F60121E1200A313C0A3EA01
+80A2EA03001206A25A123812300B187A8916>44 D<B512F8A715077F921B>I<EB01C013
+03130F137FEA1FFFB5FC13BFEAE03F1200B3B1007FB512F0A31C2E7AAD28>49
+D<EB3FE03801FFFE0007EBFF80D80F8013C0391E003FE00038EB1FF0007CEB0FF8007EEB
+07FCB4FC018013FEA21403A2EA7F00003E1307C7FC15FCA2EC0FF8A215F0EC1FE015C0EC
+3F80EC7F00147E14F8495A495A495A49C7FC011E130E5B133849131E49131C485A48C712
+3C48B512FC5A5A5A4814F8B6FCA31F2E7CAD28>I<EB1FF890B5FC000314C03907E01FF0
+390F0007F8D81F807FEA3FC06E7EA4EA1F80380F0007C75BA25D4A5A4A5AEC3F8002FFC7
+FCEB3FF8ECFF809038001FE06E7E6E7E6E7E816E7EA21680A3121C123E127FEAFF801600
+A24A5AEA7F00007E495A003C5C391FC01FF06CB512C0000391C7FC38003FF8212E7DAD28
+>I<157015F0140114031407140FA2141F143F147714F714E7EB01C7EB0387EB0707130F
+130E131C1338137013F013E0EA01C0EA0380EA07005A120E5A5A5A5AB712E0A3C7380FF0
+00A9010FB512E0A3232E7EAD28>I<000C1430390FC007F090B512E015C0158015005C14
+F85C1480000EC8FCA8EB1FF0EBFFFE390FE03F809038000FC0000EEB07E0000C14F0C713
+F8140315FCA215FEA21218123E127F5AA215FCA25A0078EB07F815F06CEB0FE06CEB1FC0
+390FC07F806CB51200000113FC38003FE01F2E7CAD28>I<14FF010713E0011F7F90387F
+80F89038FE003CD801F8137C484813FE00071301EA0FE0A2EA1FC0003F6D5A157892C7FC
+485AA338FF83FC90388FFF8090389C0FC09038B003F06E7E01E07F01C07F140081A24914
+80A4127FA4003F15007F121F5D000F495AEA07E06C6C485A3901FC0FE06CB55A013F90C7
+FCEB0FFC212E7DAD28>I<1578A215FCA34A7EA24A7EA24A7FA34A7FEC0E7F021E7FEC1C
+3FA202387F151F02787FEC700FA202E07F1507010180ECC003A249486C7EA201078191C7
+FC498191B6FCA24981011CC7123F013C810138141FA24981160F01F081491407A2484881
+486C1403B549B512FCA336317DB03D>65 D<913A03FF800180023FEBF00349B5EAFC0701
+079038003F0FD91FF8EB079FD93FC0EB01FFD9FF807F4848C8127F4848153F0007161F49
+150F485A001F1607A2485A1703127FA24992C7FCA212FFA9127FA27FEF0380123FA26C7E
+1707000F17006C7E6D150E0003161E6C6C151C6C6C6C1478D93FC05CD91FF8EB03E0D907
+FFEB3F800101D9FFFEC7FCD9003F13F80203138031317CB03A>67
+D<B812E0A3C6903880007FEE0FF016031601A21600A21770A31738A21507A21700A35D5D
+5D91B5FCA3EC803F818181A592C8FCACB612C0A32D317EB033>70
+D<DA03FF1303027FEBF00749B5EAFC0F01079038007E1FD91FF0EB0FBFD97FC0EB03FF49
+487F4848C87E485A0007824848815B001F82A2484881A2127FA24992C7FC12FFAA0307B5
+12F8127F7FDB00011300123FA26C7EA2120F7F6C7E12036C7E6C6C7E6D6C5BD91FF8497E
+D907FFEB3E3F01019038FFFC1F6D6CEBF00F0203EB800335317CB03F>I<B6D8807FB512
+C0A3C60180C7387FC000B391B7FCA30280C7127FB3A3B6D8807FB512C0A33A317EB03F>
+I<B61280A3C6EB8000B3B3A7B61280A319317EB01E>I<B67EA3000190C9FCB3A9EE0380
+A416071700A25EA35E5E5E5E4B5A150FB7FCA329317DB030>76 D<EC0FFF91B512F09039
+07FC03FE903A1FE0007F80D93F80EB1FC049C76C7ED801FEEC07F848486E7E48486E7EA2
+48486E7E001F178049157F003F17C0A34848ED3FE0A300FF17F0AB007F17E06D157FA300
+3F17C0A26C6CEDFF80A26C6C4A130000075E6D140300035E6C6C4A5A6C6C4A5AD93FC0EB
+3FC06D6C495A902707FC03FEC7FC0100B512F0020F90C8FC34317CB03D>79
+D<B77E16F816FEC690398003FF809238007FE0EE1FF0707EA283160783A65F160F5F4C5A
+4C5A4C5ADB03FFC8FC91B512F816E091388007F8ED01FC6F7E167F83707EA283A583A4F0
+038017F8161F1900706C5AB6398003FE0E933801FFFC9338001FF039317EB03C>82
+D<90391FF8018090B51203000314C73907F007EF390F8000FF48C7127F003E141F150F5A
+150712FCA215037EA26C91C7FC13C0EA7FF0EBFF806C13F8ECFF806C14F06C806C806C14
+FFC6FC013F1480010114C0D9001F13E01401EC003FED1FF0150F1507126000E01403A316
+E07EA26CEC07C07EB4EC0F8001C0EB1F00D8FBFC13FE00F1B512F8D8E03F5BD8C0031380
+24317CB02D>I<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F0
+1780A3481603A5C792C7FCB3AA017FB6FCA331307DAF38>I<B6D88003B51280A3C60180
+C73807C000715AB3AE137F4DC7FC80013F150EA26D6C5C6D6C5C6D6C5C6D6C495A903A00
+FF801FC0023FB55A020F49C8FC020013E039317EB03E>I<007FB590387FFFF8A3C601E0
+903801F000017F5D6D6C5C6D6C13036E495A010F4AC7FC6D6C130E6E131E6D5C6D6D5A6D
+EBC070EDE0F091387FE1E091383FF3C0EDFB80EC1FFF6E90C8FC6E5A81806E7F82804A7F
+4A7F913807BFF8151F4A6C7E021E7FEC3C0791383803FFDA78017F02F08049487E4A6D7E
+0103814948133F91C76C7E010E6E7E011E8149140701386E7E01FC1680B500E0017F13FF
+A338317EB03D>88 D<EBFFF0000313FF390F803F809038C00FE0486C6C7EA26E7ED80FC0
+7FEA0780C7FCA414FF131FEBFFE33803FC03EA0FF0EA1FC0123FEA7F80A2EAFF00A31407
+A2387F800D393FC01DFE3A1FE078FFF03907FFE07FC6EB803F24207E9F27>97
+D<EA01F812FFA3120F1207ADEC3FE0ECFFFC9038FBE07F9039FF001F8049EB0FC04914E0
+49EB07F016F8A2ED03FCA316FEA816FCA3ED07F8A216F06DEB0FE06D14C001E7EB3F8090
+39C3C0FE00903880FFF89038003FC027327EB12D>I<EB0FFF017F13C03901FC01F03803
+F0033907E007F8120FEA1FC0003FEB03F0EC01E04848C7FCA312FFA8127FA36C6C131CA2
+001F14386C7E000714703903F001E03901FC07C039007FFF00EB0FF81E207D9F24>I<ED
+0FC0EC07FFA3EC007F153FADEB07F8EB3FFF9038FE07BF3903F801FF3907E0007F120F48
+48133F123FA2485AA312FFA8127FA36C7EA2121F6C6C137F000714FF2603F00313E03A01
+FC0F3FFE38007FFEEB0FF027327DB12D>I<EB0FFC90387FFF803901FC0FC03903F003E0
+3907E001F0000F14F8391FC000FC003F14FEA24848137E157FA212FFA290B6FCA20180C7
+FCA4127FA36C6C1307121F150E6C7E6C6C131C6C6C13783900FE03E090383FFFC0903807
+FE0020207E9F25>I<EB01FE90380FFF8090381FC3C090387F07E09038FE0FF0120113FC
+1203EC07E0EC018091C7FCA8B512FCA3D803FCC7FCB3A8387FFFF0A31C327EB119>I<90
+391FF007C09039FFFE3FE03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF0
+00A2003F80A5001F5CA2000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC
+121EA2121F7F90B57E6C14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C
+140F00FC1407A4007EEC0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0
+D8001F90C7FC242F7E9F28>I<EA01F812FFA3120F1207ADEC07F8EC3FFEEC783F02C013
+809039F9801FC0EBFB0001FE14E05BA35BB3B500C3B5FCA328327DB12D>I<EA03C0487E
+487E487EA46C5A6C5A6C5AC8FCA9EA01F8127FA31207B3A7B51280A311337DB217>I<EA
+01F812FFA3120F1207B3B3A6B512C0A312327DB117>108 D<2703F007F8EB1FE000FFD9
+3FFEEBFFF8913A783F01E0FC02C090388300FE280FF1801FC6137F2607F30013CC01F602
+F8148001FC5CA3495CB3B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFE
+EC783F02C013803A0FF1801FC03807F30001F614E013FCA35BB3B500C3B5FCA328207D9F
+2D>I<EB07FC90387FFFC03901FC07F03903F001F848486C7E4848137E001F147F003F15
+8049133F007F15C0A300FF15E0A8007F15C0A36C6CEB7F80A2001F15006C6C13FE00075C
+3903F803F83901FE0FF039007FFFC0D907FCC7FC23207E9F28>I<3901F83FE000FFEBFF
+FC9038FBE07F9039FF003F80D80FFEEB1FC06C48EB0FE04914F0ED07F8A216FC1503A216
+FEA816FC1507A216F8A2ED0FF06D14E06DEB1FC06DEB3F809039FBC0FE009038F8FFF8EC
+3FC091C8FCABB512C0A3272E7E9F2D>I<3803F03F00FFEB7FC09038F1C3E01487390FF3
+0FF0EA07F6A29038FC07E0EC03C091C7FCA25BB2B512E0A31C207E9F21>114
+D<3801FF86000713FEEA1F00003C133E48131E140E12F8A36C90C7FCB47E13FC387FFFC0
+6C13F0806C7F00077F00017FEA003F01001380143F0060131F00E0130FA27E15007E6C13
+1E6C131C38FF807838F3FFF038C07F8019207D9F20>I<131CA5133CA3137CA213FC1201
+12031207381FFFFEB5FCA2D803FCC7FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB
+07F0192E7FAD1F>I<D801F8EB07E000FFEB03FFA3000FEB003F0007141FB3153FA20003
+147FA26C6CEBDFF03A00FE039FFF90387FFF1FEB0FFC28207D9F2D>I<3A7FFF807FFCA3
+3A03FC000F006C6C131E6C6C5BEC803890387FC078013F5B90381FE1E090380FF3C0ECFF
+806D90C7FC6D5A13016D7E81815B903803DFE09038078FF08190380F07FC90381E03FEEB
+3C01496C7E4914804848EB7FC00003EC3FE026FFFC01B5FCA328207F9F2B>120
+D<B5EB1FFCA3D80FF8EB03C0000715806D1307000315007F0001140E7F6C5CA2EC803C01
+7F1338ECC078013F1370ECE0F0011F5B14F1010F5B14F9903807FB80A214FF6D90C7FCA2
+6D5AA26D5AA21478A21470A214F05C1301007C5BEAFE035C49C8FC5BEAFC1EEA787CEA3F
+F0EA0FC0262E7E9F2B>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fl cmbx12 14.4 63
+/Fl 63 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612
+0E5A5A12100A157B8813>44 D<B51280A611067F9016>I<121C127FA2EAFF80A3EA7F00
+A2121C09097B8813>I<1403EC0780A2140F1500A25C141E143E143CA2147C1478A214F8
+5C13015CA213035CA213075C130F91C7FCA25B131E133E133CA2137C1378A213F85B1201
+5BA212035BA212075B120F90C8FCA25A121EA2123E123C127C1278A212F85AA21260193C
+7CAC22>I<EB3F803801FFF03807E0FC380FC07E48487E497E481480003E130F007E14C0
+A400FE14E0AF007E14C0A46CEB1F80A26C14006D5A380FC07E6C6C5A3801FFF038003F80
+1B277DA622>I<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>I<EB
+FF80000713F04813FC381E03FE393800FF80007C133F00FE14C06C131F15E0140FA2127E
+003C131FC7FC15C0A2EC3F801500147E5C5C495A495AEB078049C7FC131E4913E013705B
+3901C001C0EA0380EA0600000FB5FC5A5A5AB61280A31B277DA622>I<EB7F803803FFF0
+4813FC380F81FE381F007FEA3F80EC3F80A3121F1300C7EA7F00A2147E5C495AEB07F0EB
+FFC0A2EB01F8EB007E801580EC1FC0A215E0A2123C127EB4FCA215C0143F481480007CEB
+7F00383F01FE6CB45A000713F0C613801B277DA622>I<140FA25C5C5C5C5BA2EB03BFEB
+073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8A3C7
+EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091C7FC
+001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218127C
+12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA622>
+I<EB07F8EB3FFE90B5FC3901FC07803903F00FC03807C01FEA0F80121F130048EB0F8091
+C7FC127EA3EAFE02EB1FF0EB3FFCEB603EEB801F00FF14809038000FC0A24814E0A4127E
+A4123E003F14C07EEC1F80D80F8013003807E07E6CB45A6C5B38003FC01B277DA622>I<
+1238123E003FB512F0A34814E015C0158015003870000EA25C485B5C5CC6485AA2495A13
+0791C7FC5B5B131E133EA2137E137CA213FCA41201A76C5A13701C297CA822>I<EB3FC0
+3801FFF04813FC3807C07E48C67E001E7FEC0F80123EA2123F138001C01300EBF01F381F
+FC1E6D5A380FFFF86C13E06C7F6C13FC8000077FD80F0F1380D81E0713C0EA3E01397C00
+7FE0141F48130F14071403A315C0127C007EEB07806CEB0F00381FC03F380FFFFC00035B
+38007FC01B277DA622>I<EB7F803801FFF000077F380FC0FC381F803E48487E007E1480
+A2140F00FE14C0A315E0A5007E131FA26C133F6C132F380F80CF3807FF8F0001130FEA00
+08010013C0A3EC1F80123E127FEC3F00143E147E007E5B383E03F8381FFFE06C1380D801
+FEC7FC1B277DA622>I<121C127FA2EAFF80A3EA7F00A2121CC7FCA9121C127FA2EAFF80
+A3EA7F00A2121C091B7B9A13>I<EC0780A24A7EA34A7EA24A7EA3EC77F8A2ECF7FC14E3
+A2903801C1FEA201037F1480A249486C7EA24980010E133FA2496D7EA2013FB57EA39039
+700007F8A201F080491303000181491301A2000381D8FFFE013F13FCA32E297EA833>65
+D<B612F815FF16C03A03F8001FE0ED0FF0ED07F8150316FCA21501A3150316F8A2ED07F0
+150FED1FC0EDFF8090B5EAFE00EDFFC09039F8000FF0ED03F8ED01FC16FE1500A216FFA6
+16FE1501ED03FC1507ED1FF8B712E016C0EDFE0028297DA830>I<91387FE003903907FF
+FC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F4848147F4848143F4848141F48
+5A160F485A1607127FA290C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C
+6C6C14786CB4EB01F090397FF007C0011FB512800107EBFE009038007FF028297CA831>
+I<B612FCEDFF8016E03A03FC001FF8ED03FCED00FE167FEE3F80EE1FC0A2EE0FE0A2EE07
+F0A417F8AA17F0A3EE0FE0A217C0161FEE3F80EE7F005EED03FCED1FF8B75A168003FCC7
+FC2D297EA834>I<B712E0A33903FC001FED07F01501A215001670A3913801C0781638A3
+02031300A2140F90B5FCA3EBFC0F1403A20201130EA3161C91C7FCA3163C1638167816F8
+15011503151FB712F0A327297EA82C>I<B712C0A33903FC003FED0FE015031501A21500
+A316F0913801C070A316001403A2140F90B5FCA3EBFC0F1403A21401A491C8FCA9B512FC
+A324297EA82A>I<91387FE003903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FF
+D801FC7F484880484880484880485A82485A82127FA290CAFC5AA892B512F87E7F030013
+00123FA26C7EA26C7E6C7E6C7E6C7E6CB45B90387FF007011FB5129F0107EBFE0F903900
+7FF0032D297CA835>I<B5D8F00FB5FCA3D803FCC7EA3FC0AF90B7FCA301FCC7123FB1B5
+D8F00FB5FCA330297EA835>I<B512F0A33803FC00B3B1B512F0A314297EA819>I<B500F0
+EBFFFEA3D803FCC7EA0F00161E5E5E16E0ED03C04B5A4BC7FC151E5D15F04A5A4A5A1407
+140F4A7EEC7FF04A7EEBFDE79038FFC3FCEC83FE9038FE01FF497E6F7E826F7E151F6F7E
+8215076F7E6F7E8281EE7F80B539F00FFFFEA32F297EA835>75 D<B512FCA3D803FCC8FC
+B3A3ED01C0A415031680A21507A2150FA2151F157F913801FF00B7FCA322297EA828>I<
+D8FFFE92383FFF80A26D5D0003EFE000A2D9BF8014EFA2D99FC0EB01CFA2D98FE0EB038F
+A3D987F0EB070FA2D983F8130EA2D981FC131CA3D980FE1338A2027F1370A291383F80E0
+A391381FC1C0A291380FE380A2913807F700A3EC03FEA26E5AA26E5AD8FFFE0203B51280
+A2157039297DA840>I<D8FFFCEC7FFF7F7F00036DEB01C080EBBFE0139F80EB8FF8EB87
+FCEB83FEEB81FF01801380147F15C0EC3FE0EC1FF0EC0FF8EC07FC140315FEEC01FF6E13
+81ED7FC1ED3FE1ED1FF1150F16F9ED07FDED03FF8181167FA2163F161F160F1607D8FFFE
+14031601A230297EA835>I<ECFFC0010F13FC90383F807F9039FE001FC0D801F8EB07E0
+48486D7E48486D7E000F8148486D7EA24848147FA2007F168090C8123FA34816C0AA6C16
+806D147FA2003F1600A26C6C14FEA26C6C495A6C6C495A6C6C495A6C6C495A6C6C495A90
+263FC0FFC7FC90380FFFFC010013C02A297CA833>I<B612F815FF16C03A03FC003FE0ED
+07F0ED03F816FC150116FEA716FC150316F8ED07F0ED3FE090B61280EDFE0001FCC8FCB0
+B512F0A327297EA82E>I<ECFFC0010F13FC90383FC0FF9039FE001FC048486D7ED803F0
+EB03F000078148486D7E48486D7EA24848147FA2007F1680A290C8123FA24816C0AA6C16
+806D147FA2003F1600A26C6C14FE143E3A0FE07F81FC00079038C1C1F83A03F18063F0D8
+01F9EB67E0D800FFEB3FC090263FC07FC7FC90380FFFFC01004913C0EC003C811601ED1F
+8316FF6F1380A21700816F5A6F5A6F5A2A357CA833>I<B612E015FE6F7E3A03FC003FE0
+ED0FF06F7E6F7E150182A65E4B5A1507ED0FE0ED3FC090B500FEC7FCA29039FC00FF80ED
+3FC06F7E6F7E6F7EA9170EA21503923801FC1CB538F000FEEE7FF8EE0FE02F297EA832>
+I<9038FF80600003EBF0E0000F13F8381F80FD383F001F003E1307481303A200FC1301A2
+14007EA26C140013C0EA7FFCEBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB
+007FEC1FF0140F140700E01303A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE00
+00E15B38C01FF01C297CA825>I<007FB71280A39039807F807FD87C00140F00781507A2
+0070150300F016C0A2481501A5C791C7FCB3A490B612C0A32A287EA72F>I<B500F0EBFF
+FEA3D803FCC7EA0380B3AA0001ED07007F0000150E137F6D143CD91FC05B90390FF003F0
+6DB55A01001480DA1FFCC7FC2F297EA834>I<B500F0EB7FFFA3D803FEC7EA01C00001ED
+0380A26D14076C16006E5B017F140E80013F5CA26E133C011F14386E1378010F14708001
+075CA26D6C485AA2ECFE0301015CECFF076D91C7FC1587EC7F8EA215DEEC3FDC15FC6E5A
+A26E5AA36E5AA26E5AA230297FA833>I<B53CE07FFFE01FFFC0A32803FC0003FCC7EA70
+00A26D6D7E000160A26D6E13016C604B138002801503017F5F4B13C0D93FC0013F49C7FC
+A2913AE00E1FE00F011F160E17F09126F01C0F131E010F161C033C13F8902707F838075B
+A2037813FC902703FC70035BA2913AFEE001FEF001015E02FF14FF4B7E6D5EA26E486D5A
+A36EC76CC8FCA2023E80021E141EA242297FA845>I<3B7FFFF01FFFE0A3000190C7EAF0
+006C6D485A02C05B017F13036D6C485AD91FF090C7FC5D90380FF81E6D6C5A1538903803
+FE786D6C5A5D6D5B147F6E7EA26E7E81143F81EC7BFEECF3FFEB01E102C07F01036D7EEB
+078049486C7E010E6D7E131E496D7E01386D7E498001F0130348486D7EB5013F13FCA32E
+297EA833>I<003FB6FCA39038F001FE90388003FCEB0007003E5C003C495A48131F5D14
+3F00705C4A5A14FF92C7FCC6485A13035C495A130F5C131F5C495A017FEB03801480EBFF
+005A5B4848130712075B000FEC0F005B48485B003F5C4913FF387F8003B7FCA321297CA8
+29>90 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801
+FC3FEA0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B
+7E9A21>97 D<EAFFE0A3120FACEBE1FE9038EFFF809038FE07E09038F803F09038F001F8
+9038E000FCA2157EA2157FA8157EA315FCA29038F001F89038F803F090389C0FE090380F
+FF80390E01FC00202A7EA925>I<EB3FF03801FFFC3803F03E380FC07FEA1F80EA3F00A2
+48133E007E90C7FCA212FEA7127EA2127F6CEB03801380001FEB0700380FE00E3803F83C
+3801FFF838003FC0191B7E9A1E>I<EC7FF0A31407ACEB3F873801FFF73807F03F380FC0
+0F381F8007EA3F00A2127EA312FEA8127EA27EA2381F800F380FC01F3907E07FFF3801FF
+E738007F87202A7EA925>I<EB3FC03801FFF03803E07C380F803E001F7F130048EB0F80
+127E15C0A200FE1307A2B6FCA248C8FCA3127EA2127F6CEB01C07E390F8003803907C007
+003803F01E3800FFFCEB3FE01A1B7E9A1F>I<EB07F8EB3FFCEB7E3E3801FC7FEA03F813
+F01207143E1400A7B512C0A33807F000B3A3387FFF80A3182A7EA915>I<9038FF80F000
+03EBE3F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E
+6C137C380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C
+14F0121F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB512
+0038007FF01E287E9A22>I<EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EB
+E80701F813F013F0A213E0B039FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0
+A3EA1FC0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I<1307EB0F
+80EB1FC0EB3FE0A3EB1FC0EB0F80EB070090C7FCA7EBFFE0A3130FB3AA127C12FE14C0EB
+1F801400EA7C3EEA3FFCEA0FF0133784AA15>I<EAFFE0A3120FACEC1FFCA3EC0780EC0F
+00141E5C5C14E0EBE3C013E7EBEFE0EBFFF08013F3EBE1FCEBC0FE147FA2EC3F80EC1FC0
+EC0FE0A2EC07F039FFFC1FFFA3202A7FA923>I<EAFFE0A3120FB3B2EAFFFEA30F2A7EA9
+12>I<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80FC49038F101FC9039C803
+F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B7D9A38>I<38FFC07E90
+38C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE3FFFA3201B7D
+9A25>I<EB3FE03801FFFC3803F07E390FC01F80391F800FC0393F0007E0A2007EEB03F0
+A300FE14F8A8007E14F0A26CEB07E0A2391F800FC0390FC01F803907F07F003801FFFC38
+003FE01D1B7E9A22>I<38FFE1FE9038EFFF809038FE0FE0390FF803F09038F001F801E0
+13FC140015FEA2157FA8157E15FEA215FC140101F013F89038F807F09038FC0FE09038EF
+FF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FFC1F0EBC7FCEBC63E380FCC
+7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 D<3803FE30380FFFF0EA3E03
+EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6FCEB
+07FC130000E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B>I<
+13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000AD1470A73807F0E0000313C0
+3801FF8038007F0014267FA51A>I<39FFE07FF0A3000F1307B2140FA2000713173903F0
+67FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA3390FF000F0000714E07F0003EB
+01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA3
+6D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE00FE001C02607F007EB0380A2
+01F8EBF00700031600EC0FF801FC5C0001150EEC1FFC2600FE1C5B15FE9039FF387E3C01
+7F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2EC800701075CA22E1B7F9A31
+>I<39FFFC1FFEA33907F003803803F8079038FC0F003801FE1E00005BEB7F3814F86D5A
+6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F803901E01FC0D803C013E0EB
+800F39FFF03FFFA3201B7F9A23>I<39FFFC03FFA3390FF000F0000714E07F0003EB01C0
+A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA36D5A
+A26D5AA25CA21307003890C7FCEA7C0FEAFE0E131E131C5BEA74F0EA3FE0EA0F8020277F
+9A23>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fm cmtt10 10.95 89
+/Fm 89 126 df<127012F8B012701200A5127012F8A31270051C779B18>33
+D<EA4010EAE038EAF078EAE038AAEA60300D0E7B9C18>I<EA0306EA078FA6387FFFC0B5
+12E0A26C13C0380F1E00A6387FFFC0B512E0A26C13C0381E3C00A6EA0C18131C7E9B18>
+I<EA3803387C0780A2EAEE0F1400A25B131EA2133EEA7C3CA2EA387CEA0078A213F85B12
+015BA212035BA21207EB8380EB87C0120FEB0EE0A2121F121EA2123E383C07C0A2381803
+8013247E9F18>37 D<1238127CA2127E123E120EA3121CA2123812F812F012C0070E789B
+18>39 D<137013F0EA01E0EA03C0EA0780EA0F00121E121C5AA25AA45AA81270A47EA27E
+121E7EEA0780EA03C0EA01F0120013700C24799F18>I<126012F012787E7E7EEA078012
+03EA01C0A2EA00E0A41370A813E0A4EA01C0A2EA03801207EA0F00121E5A5A5A12600C24
+7C9F18>I<EA01C0A4EA41C138F1C780EAFDDF387FFF00EA1FFCEA07F0A2EA1FFCEA7FFF
+38FDDF80EAF1C73841C100EA01C0A411147D9718>I<136013F0A7387FFFC0B512E0A26C
+13C03800F000A7136013147E9718>I<121C123E127E127F123F121F1207120E121E127C
+12F81260080C788518>I<387FFFC0B512E0A26C13C013047E8F18>I<1230127812FCA212
+7812300606778518>I<1303EB0780A2130F14005B131EA2133E133C137C1378A213F85B
+12015B12035BA212075B120F90C7FCA25A121E123E123CA2127C127812F85AA212601124
+7D9F18>I<EA01F0EA07FC487EEA1F1FEA1C0738380380007813C0EA7001A238E000E0A9
+EAF001007013C0A2EA780300381380381C0700EA1F1FEA0FFE6C5AEA01F0131C7E9B18>
+I<EA01801203A21207120F123F12FF12FB12431203B0EA7FFCEAFFFEEA7FFC0F1C7B9B18
+>I<EA03F0EA0FFEEA3FFF387C0F80387003C0EAE00138F000E0A21260C7FCA2EB01C0A2
+1303EB0780EB0F00131E5B5B5B485AEA07C0485A381E00E05AEA7FFFB5FC7E131C7E9B18
+>I<EA07F8EA1FFE487E38780780EB03C0130112301200EB0380A2EB0F00EA03FF5B7F38
+000780EB03C01301EB00E0A312F0A2EB01C01303387C0780383FFF006C5AEA03F8131C7E
+9B18>I<131F5B1377A213E7120113C7EA038712071307120E121E123C1238127812F0B5
+12F8A338000700A6EB7FF0A3151C7F9B18>I<383FFF80A30038C7FCA8EA3BF8EA3FFE7F
+383C0780383003C0EA0001EB00E0A2126012F0A238E001C0EA7003387C0F80383FFF00EA
+1FFCEA03F0131C7E9B18>I<137E48B4FC00071380380F83C0EA1E03121C3838018090C7
+FC5AA2EAE1F8EAE7FEB5FC38FE078038F803C0EAF001EB00E05AA21270A3383801C0EA3C
+03381E0780380FFF006C5AEA01F8131C7E9B18>I<12E0B512E0A214C038E00380EB0700
+C65A131E131C5BA25B13F05BA2485AA3485AA448C7FCA7131D7E9C18>I<EA03F8EA0FFE
+487E383E0F80EA3803387001C0A438380380EA3C07381FFF00EA07FC487EEA1F1F383C07
+80387001C000F013E0EAE000A4387001C0EA7803383E0F80381FFF006C5AEA03F8131C7E
+9B18>I<EA03F0EA0FFC487EEA3C0F38780780EA700338E001C0A3EB00E0A2EA7001EA78
+03EA3C0FEA1FFFEA0FFEEA03F0C7FCEB01C0A338300380EA7807EB0F00133EEA3FFCEA1F
+F0EA07C0131C7E9B18>I<1230127812FCA2127812301200A81230127812FCA212781230
+0614779318>I<1218123C127EA2123C12181200A81218123C127EA2123E121E120E121C
+123C127812F01260071A789318>I<14C0EB03E01307EB1FC0EB3F80EBFE00485AEA07F0
+485AEA3F8048C7FC12FCA2127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E01303
+EB00C013187E9918>I<387FFFC0B512E0A26C13C0C8FCA4387FFFC0B512E0A26C13C013
+0C7E9318>I<126012F87E127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E0A2EB
+1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FC5A126013187E9918>I<137CEA
+01FEEA07FF380F8780381E03C0EA3C1DEA387F3870FFE0EA71E313C112E1EAE380A638E1
+C1C0127113E33870FF8038387F00EA3C1C381E00E0EA0F833807FFC00001138038007E00
+131C7E9B18>64 D<137013F8A213D8A2EA01DCA3138CEA038EA4EA0707A5380FFF80A3EA
+0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>I<EA7FFCB5FC6C1380381C
+03C01301EB00E0A4130114C01307381FFF80140014C0EA1C03EB00E014F01470A414F014
+E01303387FFFC0B51280387FFE00141C7F9B18>I<EBF8E0EA03FEEA07FFEA0F07EA1E03
+EA3C01EA38005AA214005AA8127014E0A27E123C381E01C0EA0F073807FF803803FE00EA
+00F8131C7E9B18>I<EA7FF8EAFFFE6C7E381C0F80EB03C0A2EB01E01300A214F01470A8
+14F014E0A2130114C01303EB0F80387FFF00485AEA7FF8141C7F9B18>I<B512F0A3381C
+0070A41400A2130EA3EA1FFEA3EA1C0EA390C7FCA21438A5B512F8A3151C7F9B18>I<B5
+12F0A3381C0070A41400A2130EA3EA1FFEA3EA1C0EA390C7FCA7EAFFC0A3141C7E9B18>
+I<3801F1C0EA03FDEA0FFFEA1F0FEA1C03123813011270A290C7FC5AA5EB0FF0131F130F
+387001C0A213031238A2EA1C07EA1F0FEA0FFFEA03FDEA01F1141C7E9B18>I<387F07F0
+38FF8FF8387F07F0381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8387F07F0151C7F
+9B18>I<EA7FFFB512806C1300EA01C0B3A4EA7FFFB512806C1300111C7D9B18>I<3801FF
+C0A338000E00B312F0A2133CEA7FFCEA3FF0EA0FC0121C7D9B18>I<387F07F038FF87F8
+387F07F0381C03C0EB07801400130E131E5B13385B13F0121DA2EA1FB8A2131C121EEA1C
+0EA27FA2EB0380A2EB01C0387F03F038FF87F8387F03F0151C7F9B18>I<EAFFC0A3001C
+C7FCB114E0A5B5FCA3131C7E9B18>I<38FC01F8EAFE03A2383B06E0A4138EA2EA398CA2
+13DCA3EA38D8A213F81370A21300A638FE03F8A3151C7F9B18>I<387E07F038FF0FF838
+7F07F0381D81C0A313C1121CA213E1A313611371A213311339A31319A2131D130DA3EA7F
+07EAFF87EA7F03151C7F9B18>I<EA0FFE383FFF804813C0EA7803EA700100F013E0EAE0
+00B0EAF001007013C0EA7C07EA7FFF6C1380380FFE00131C7E9B18>I<EAFFFEEBFF8014
+C0EA1C03EB01E013001470A514E01301EB03C0EA1FFF1480EBFE00001CC7FCA8B47EA314
+1C7F9B18>I<EA0FFE383FFF804813C0EA7803EA700100F013E0EAE000AE1370A2EAF079
+387039C0EA783FEA7FFF6C1380380FFE00EA000FEB0780A2EB03C01301A213227E9B18>
+I<EA7FF8EAFFFE6C7E381C0F80130314C01301A313031480130F381FFF005BA2EA1C0F7F
+EB0380A5149CA3387F01F8EAFF81387F00F0161C7F9B18>I<3803F1C0EA1FFF5AEA7C0F
+EA7003EAE001A390C7FC12701278123FEA1FF0EA07FEC67EEB0F80EB03C01301EB00E0A2
+126012E0130100F013C038F80780B5FCEBFE00EAE7F8131C7E9B18>I<387FFFF8B5FCA2
+38E07038A400001300B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B36C13E0EA0F
+01380783C03803FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03383C01E0
+001C13C0A3EA1E03000E1380A438070700A4EA038EA4EA018C13DCA3EA00D813F8A21370
+151C7F9B18>I<38FE03F8A338700070A36C13E0A513F8EA39FC13DCA2001913C0A3138C
+A2EA1D8DA31305000D1380EA0F07A2EA0E03151C7F9B18>I<387F0FE0139F130F380E07
+00120FEA070E138EEA039C13DCEA01F8A212005B137013F07F487E13DCEA039E138EEA07
+0F7F000E13801303001E13C0387F07F000FF13F8007F13F0151C7F9B18>I<38FE03F8EA
+FF07EAFE03381C01C0EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00F8A2
+1370A9EA01FC487E6C5A151C7F9B18>I<383FFFE05AA2387001C01303EB07801400C65A
+131E131C133C5B137013F0485A5B1203485A90C7FC5A001E13E0121C123C5A1270B5FCA3
+131C7E9B18>I<EAFFF8A3EAE000B3ACEAFFF8A30D24779F18>I<126012F0A27E1278127C
+123CA2123E121E121F7EA27F12077F1203A27F12017F12007F1378A2137C133C133E131E
+A2131F7F14801307A2EB030011247D9F18>I<EAFFF8A3EA0038B3ACEAFFF8A30D247F9F
+18>I<387FFFC0B512E0A26C13C013047E7F18>95 D<1206121E123E12381270A212E0A3
+12F812FC127CA21238070E789E18>I<EA0FF0EA1FFC487EEA3C0FEA180738000380A213
+FF1207121FEA7F03127812E0A3EAF007EA780F383FFFF8EA1FFDEA07F015147E9318>I<
+127E12FE127E120EA5133EEBFF80000F13C0EBC1E01380EB0070120E1438A6000F1370A2
+EB80E013C1EBFFC0000E138038063E00151C809B18>I<EA01FEEA07FF001F1380EA3E07
+3838030048C7FCA25AA61270EB01C01238EA3E03381FFF8000071300EA01FC12147D9318
+>I<EB1F80133F131F1303A5EA03E3EA0FFBEA1FFFEA3C1FEA380FEA7007130312E0A6EA
+7007A2EA380FEA3C1F381FFFF0380FFBF83803E3F0151C7E9B18>I<EA01F0EA07FCEA1F
+FEEA3E0F38380780EA7003A238E001C0A2B5FCA300E0C7FC1270EB01C01238EA3E07381F
+FF8000071300EA01F812147D9318>I<EB1F80EB7FC0EBFFE013E13801C0C01400A3387F
+FFC0B5FCA23801C000AEEA7FFFA3131C7F9B18>I<3801E1F03807FFF85A381E1E30381C
+0E00487EA5EA1C0EEA1E1EEA1FFC5BEA39E00038C7FC7EEA1FFEEBFFC04813E0387801F0
+38700070481338A4007813F0EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12
+FE127E120EA5133EEBFF80000F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7
+FC171C809B18>I<EA0380EA07C0A3EA0380C7FCA4EA7FC012FF127F1201AEB5FCA3101D
+7C9C18>I<1338137CA313381300A4EA0FFCA3EA001CB3A4EA6038EAF078EAFFF0EA7FE0
+EA3F800E277E9C18>I<127E12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0F
+F87F139C130EEA0E0F7FEB038014C0387FC7F812FF127F151C7F9B18>I<EAFFC0A31201
+B3A4B51280A3111C7D9B18>I<38F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38
+FE3E3EEB7E7EEB3E3E1714809318>I<EA7E3E38FEFF80007F13C0EA0FC1EB80E0130012
+0EAB387FC7FC38FFE7FE387FC7FC1714809318>I<EA01F0EA0FFE487E383E0F80EA3803
+387001C0A238E000E0A5EAF001007013C0EA7803383C0780EA3E0F381FFF006C5AEA01F0
+13147E9318>I<EA7E3E38FEFF80007F13C0380FC1E01380EB0070120E1438A6000F1370
+A2EB80E013C1EBFFC0000E1380EB3E0090C7FCA7EA7FC0487E6C5A151E809318>I<3801
+F380EA07FBEA1FFFEA3E1FEA380FEA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA
+0FFBEA03E3EA0003A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA
+07F0EBE060EBC0005BA290C7FCA9EAFFFC7F5B14147E9318>I<EA07F7EA3FFF5AEA780F
+EAE007A3007CC7FCEA7FE0EA1FFCEA03FEEA001F38600780EAE003A212F038F80F00B5FC
+13FCEAE7F011147D9318>I<487E1203A4387FFFC0B5FCA238038000A9144014E0A33801
+C1C013FF6C1380EB3E0013197F9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F03
+3807FFFC6C13FE3801FCFC1714809318>I<387F8FF000FF13F8007F13F0381C01C0380E
+0380A338070700A3138FEA038EA3EA01DCA3EA00F8A2137015147F9318>I<38FF07F813
+8F1307383800E0A4381C01C0137113F9A213D9EA1DDD000D1380A3138DEA0F8FA2380707
+0015147F9318>I<387F8FF0139F138F380F0700EA078EEA039EEA01DC13F81200137013
+F07FEA01DCEA039E138EEA0707000E1380387F8FF000FF13F8007F13F015147F9318>I<
+387F8FF000FF13F8007F13F0380E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA2
+13CC120013DC1378A31370A313F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<38
+3FFFF05AA2387001E0EB03C0EB078038000F00131E5B13F8485AEA03C0485A380F007012
+1E5A5AB512F0A314147F9318>I<EB07E0131F137FEB780013E0AB1201EA7FC0485AA26C
+7EEA01E01200AB1378EB7FE0131F130713247E9F18>I<126012F0B3B012600424769F18>
+I<127CB4FC13C01203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0005BABEA03C012FF90C7FC
+127C13247E9F18>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fn cmbx12 20.736 3
+/Fn 3 100 df<B8FC17F017FC17FF28007FF0000F13C0040113E09338007FF0EF3FF8EF
+1FFCA218FE170FA218FFA718FEA2171F18FC18F8173FEF7FF0933801FFE0040F138091B7
+120017F817C002F0C9FCB3A5B612F8A4383B7CBA42>80 D<13FE12FFA412071203B04AB4
+FC021F13F0027F13FC9138FC03FE9039FFF000FF02C0EB3F8091C7EA1FC04915E0EE0FF0
+17F8A2EE07FCA317FEA917FCA3160F17F817F0161F6D15E06EEB3FC06EEB7F80D9F9E0EB
+FF009039F0FC07FE91387FFFF8D9E01F13E09026C003FEC7FC2F3C7DBB36>98
+D<903801FFF0010F13FE013FEBFF809039FF801FC03901FE003F4848EB7FE0485A485A12
+1F4848EB3FC0ED1F80007FEC0F004990C7FCA212FFAA127F7FA2123F6D14F0121F6C6CEB
+01E012076C6CEB03C06CB4EB0F806C9038C03F0090383FFFFE010F13F8010113C024267D
+A52B>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fo cmr10 10.95 80
+/Fo 80 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7
+B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701
+A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>I<EB3FE013E0EA01C1EA0381EA07
+00A8B5FCEA0700B2383FE7FC1620809F19>I<90381F81F89038F04F043901C07C063903
+80F80FEB00F05A0270C7FCA6B7FC3907007007B23A3FE3FE3FE02320809F26>I<127012
+F8A71270AA1220A51200A5127012F8A3127005217CA00D>33 D<D807801318EA1840486C
+5B011813E03960170360903808FCC000E0EB0180A24AC7FC1406A25C00605B131000305B
+495AEA1840380780C03900018078EC8184903803030281EB0607EB0C0691380E00801318
+1330A2136013C0A23A01800601003803000714030006140248EB01840004EB007821257E
+A126>37 D<127012F812FCA212741204A31208A21210A212201240060E7C9F0D>39
+D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012
+30A212381218A27E120412067E7EEA008013400A2E7BA112>I<7E12407E12307E120812
+0C7EA212077EA213801201A413C0AC1380A412031300A25A1206A25A120812185A12205A
+5A0A2E7EA112>I<EA0180A5EAE187EA718EEA399CEA0FF0EA03C0A2EA0FF0EA399CEA71
+8EEAE187EA0180A510147DA117>I<127012F012F8A212781208A31210A31220A2124005
+0E7C840D>44 D<EAFFF0A20C02808A0F>I<127012F8A3127005057C840D>I<144014C0EB
+0180A3EB0300A31306A25BA35BA35BA25BA35BA3485AA348C7FCA21206A35AA35AA25AA3
+5AA35AA2122D7EA117>I<EA03F0EA0E1C487EEA1806EA380738700380A400F013C0AD00
+701380A3EA780700381300EA1806EA1C0E6C5AEA03F0121F7E9D17>I<13801203120F12
+F31203B3A6EA07C0EA7FFE0F1E7C9D17>I<EA03F0EA0C1CEA100E487E00401380128000
+F013C0EAF803A3EA200712001480A2EB0F00130E5B5B5B13605B485A48C7FC000613405A
+5A00101380EA3FFF5AB5FC121E7E9D17>I<EA03F0EA0C1CEA100EEA200F007813801307
+A2EA380F12001400A2131E131C1370EA07F0EA003C130E130FEB0780A214C0122012F8A3
+00F013801240EB0F00EA200EEA183CEA07F0121F7E9D17>I<1306A2130EA2131E132EA2
+134E138EA2EA010E1202A212041208A212101220A2124012C0B512F038000E00A7EBFFE0
+141E7F9D17>I<EA1803EA1FFE5B5B13E00010C7FCA6EA11F0EA161CEA180EEA10071480
+EA0003A214C0A3127012F0A200E013801240EB0700EA20066C5AEA0838EA07E0121F7E9D
+17>I<137CEA0182EA0701380E0380EA0C0712183838030090C7FC12781270A2EAF1F0EA
+F21CEAF406EAF807EB0380A200F013C0A51270A214801238EB07001218EA0C0E6C5AEA01
+F0121F7E9D17>I<1240387FFFE014C0A23840008038800100A21302485AA25B5BA25BA2
+1360A213E05B1201A41203A76C5A131F7E9D17>I<EA03F0EA0C0CEA1006EA3003382001
+801260A3127038780300123EEA3F06EA1FC8EA0FF0EA03F8487EEA0C7EEA103F38300F80
+EA6007EB01C012C01300A31480EA600100201300EA1002EA0C0CEA03F0121F7E9D17>I<
+EA03F0EA0E18487E487E13071270EB038012F0A214C0A5EA7007A21238EA180BEA0E13EA
+03E338000380A3EB07001230EA7806130EEA700CEA2018EA1070EA0FC0121F7E9D17>I<
+127012F8A312701200AA127012F8A3127005147C930D>I<127012F8A312701200AA1270
+12F012F8A212781208A31210A31220A21240051D7C930D>I<B612FCA2C9FCA8B612FCA2
+1E0C7E9023>61 D<5B497EA3497EA3EB09E0A3EB10F0A3EB2078A3497EA2EBC03EEB801E
+A248B5FCEB000FA20002EB0780A348EB03C0A2120C001E14E039FF801FFE1F207F9F22>
+65 D<B512E0380F0078141EA2801580A515005C141E147CEBFFF0EB007C141FEC0F80EC
+07C0140315E0A515C014071580EC0F00143EB512F01B1F7E9E20>I<90380FE010903838
+1C309038E002703803C00139078000F048C71270121E15305A1510127C127800F81400A9
+1278007C1410123CA26C1420A27E6C6C13406C6C13803900E00300EB380CEB0FF01C217E
+9F21>I<B512F83807801EEC0780EC03C0EC01E0EC00F015701578A2153CA3153EA8153C
+A2157C1578A215F0EC01E0EC03C0EC0780EC1E00B512F81F1F7F9E23>I<B61280380F00
+0F14031401140015C01540A314401500A214C0130113FF130113001440A3EC0020A31540
+A315C01401EC0380140FB6FC1B1F7E9E1F>I<B61280380780071401A2140015C01540A4
+EC2000A3146014E013FF138014601420A391C7FCA87FEAFFFE1A1F7F9E1E>I<90380FE0
+2090387818609038E004E03803800238070001481300001E1460A25A1520127C127800F8
+1400A7EC7FFCEC03E000781301127C123CA27EA27E7E380380023900E004609038781820
+90380FE0001E217D9F24>I<39FFF07FF8390F000780AD90B5FCEB0007AF39FFF07FF81D
+1F7E9E22>I<EAFFF0EA0F00B3ABEAFFF00C1F7E9E10>I<3807FFC038003E00131EB3A312
+2012F8A3EAF01CEA403CEA6038EA1070EA0FC012207F9E17>I<EAFFF8EA0F8090C7FCB2
+1402A414061404A2140C141C147CB512FC171F7E9E1C>76 D<B46CEB07FE000715C0A2D8
+05C0130BA2D804E01313A301701323A26D1343A36D1383A290380E0103A3EB0702A3EB03
+84A2EB01C8A3EB00F0A21460121FD8FFE0EB7FFE271F7F9E2A>I<B4EB0FF8390F8003E0
+EC0080EA0BC0EA09E0A2EA08F01378A27F7FA27FEB0780A2EB03C0EB01E0A2EB00F01478
+A2143C141EA2140F1407A214031401123E38FF80001D1F7E9E22>I<EB1FE0EB70383801
+C00E48487E39070003804814C0001EEB01E048EB00F0A2007C14F8A20078147800F8147C
+A900781478007C14F8A2003C14F0003E1301001E14E06CEB03C06C148039038007003801
+E01E38007038EB1FE01E217E9F23>I<B512E0380F007C141E80EC0780A215C0A41580A2
+EC0F00141E147CEBFFE090C8FCAEEAFFF01A1F7E9E1F>I<EB1FE0EB70383801C00E4848
+7E39070003804814C0001EEB01E0003E14F0003C1300007C14F8A20078147800F8147CA9
+00781478007C14F8A2003C14F0383E0781391E0841E0390F1023C0000714803903901700
+3801D01E3900783804EB1FF8EB001CEC0C0CEC0E1CEC0FF8A2140715F0EC01E01E297E9F
+23>I<B512E0380F80780007131E80EC0780A215C0A41580A2EC0F00141E1478EBFFE0EB
+80601438143C141C141EA3141FA315011581140F390FC0078239FFFC03C4C812F820207F
+9E22>I<3803F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80
+EA3FF86CB4FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038
+F8018038C60300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A2
+00C0143000801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003
+E0EC0080B3A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39
+FFF003FE391F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F0
+02A213F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<
+3BFFF07FF81FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013
+C000035DEC19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460
+013C144090383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F
+>I<397FF81FF8390FE007C03907C0030000031302EBE0063801F00400005BEBF818EB78
+106D5AEB3E60EB1E406D5AA213076D7E497E1305EB08F0EB18F8EB1078EB207CEB603EEB
+401EEB801F3901000F801407000214C000061303001FEB07E039FFC01FFE1F1F7F9E22>
+I<39FFF001FF391F800078000F146012076D1340000314807F3901F001001200EBF802EB
+7C06EB3C04EB3E08131EEB1F10EB0FB0EB07A014E06D5AACEB3FFC201F7F9E22>I<12FF
+A212C0B3B3A512FFA2082D7CA10D>91 D<12FFA21203B3B3A512FFA2082D80A10D>93
+D<120812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96
+D<EA1FE0EA3030EA7818131CEA300E1200A313FEEA0F8EEA1E0E1238127800F01310A313
+1E127838386720380F83C014147E9317>I<121C12FC121CAA137CEA1D87381E0180EB00
+C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F
+19>I<EA01FCEA0706EA1C0F123813060078C7FC127012F0A61270127800381380A2381C
+0100EA0706EA01F811147F9314>I<EB01C0130F1301AAEA01F1EA070DEA0C03EA180112
+381278127012F0A61270A21238EA1803120CEA070D3801F1F815207F9F19>I<EA03F0EA
+0E1C487E487EA238700380A212F0B5FC00F0C7FCA41270A26C1380A2381C0100EA0706EA
+01F811147F9314>I<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE010
+20809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33
+E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C13
+C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A212
+1CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F7F
+9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA61
+80EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013E0
+EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12FC
+121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D019018001EEBE01CA200
+1C13C0AE3AFF8FF8FF8021147E9326>I<EA1C7CEAFC86EA1D03001E1380A2121CAE38FF
+8FF014147E9319>I<EA01F8EA070E381C0380383801C0A2387000E0A200F013F0A60070
+13E0A2383801C0A2381C038038070E00EA01F814147F9317>I<EA1C7CEAFD87381E0180
+14C0381C00E014F014701478A6147014F014E0381E01C0EB0380381D8700EA1C7C90C7FC
+A8B47E151D7E9319>I<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A61270
+12781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>I<EA1CF0EAFD18
+EA1E3CA21318EA1C00AEEAFFC00E147E9312>I<EA0FC8EA3038EA6018EAC008A3EAE000
+127CEA3FE0EA1FF0EA07F8EA003CEA800E130612C0A21304EAE00CEAD818EA87E00F147F
+9312>I<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C7F
+9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83F8
+383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3
+132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D807
+04138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E147F
+9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F0137013
+7813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318>I<
+38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8
+A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>I<EA7FFFEA700E1260
+EA401C133813781370EA00E0120113C0EA038012071301120E121EEA1C03EA3802EA7006
+130EEAFFFE10147F9314>I E
+%EndDVIPSBitmapFont
+end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 300dpi
+TeXDict begin
+%%PaperSize: A4
+
+%%EndSetup
+%%Page: 1 1
+1 0 bop 1852 -58 a Fo(1)75 659 y Fn(Pcb)p 75 692 1800
+17 v 1603 739 a Fo(an)16 b(in)o(teractiv)o(e)1460 793
+y(prin)o(ted)g(circuit)h(b)q(oard)1445 847 y(la)o(y)o(out)e(system)g
+(for)f Fm(X11)75 2545 y Fl(Thomas)21 b(Nau)p 75 2570
+1800 9 v eop
+%%Page: 1 2
+1 1 bop 75 -58 a Fo(Cop)o(ying)1613 b(1)75 149 y Fk(Cop)n(ying)137
+267 y Fo(Cop)o(yrigh)o(t)363 266 y(c)351 267 y Fj(\015)14
+b Fo(1994,1995,1996)o(,19)o(97)e(Thomas)j(Nau)137 334
+y(This)g(program)e(is)h(free)g(soft)o(w)o(are;)f(y)o(ou)g(ma)o(y)h
+(redistribute)h(it)f(and/or)g(mo)q(dify)g(it)h(under)f(the)h(terms)75
+389 y(of)i(the)g(GNU)g(General)g(Public)i(License)g(as)e(published)i(b)
+o(y)e(the)h(F)l(ree)f(Soft)o(w)o(are)e(F)l(oundation;)j(either)75
+443 y(v)o(ersion)d(2)g(of)g(the)g(License,)i(or)e(\(at)f(y)o(our)h
+(option\))g(an)o(y)f(later)i(v)o(ersion.)137 511 y(This)21
+b(program)d(is)i(distributed)i(in)e(the)g(hop)q(e)g(that)f(it)h(will)i
+(b)q(e)e(useful,)i(but)e(WITHOUT)g(ANY)75 565 y(W)-5
+b(ARRANTY;)12 b(without)j(ev)o(en)f(the)g(implied)j(w)o(arran)o(t)o(y)
+12 b(of)i(MER)o(CHANT-ABILITY)g(or)g(FITNESS)75 620 y(F)o(OR)g(A)g(P)l
+(AR)l(TICULAR)g(PURPOSE.)g(See)h(the)g Fi(GNU)e(General)j(Public)h
+(License)f Fo(for)d(more)h(details.)p eop
+%%Page: 2 3
+2 2 bop 75 -58 a Fo(History)1630 b(2)75 149 y Fk(History)137
+250 y Fm(Pcb)13 b Fo(is)g(a)g(handy)g(to)q(ol)g(for)f(la)o(ying)i(out)e
+(prin)o(ted)i(circuit)g(b)q(oards.)19 b(It)13 b(w)o(as)f(\014rst)g
+(written)h(for)g(an)f(A)o(tari)75 305 y(ST)h(in)h(1990)e(and)h(p)q
+(orted)g(to)g Fm(UNIX)f Fo(and)i Fm(X11)e Fo(in)i(1994.)k(I)c(nev)o(er)
+f(had)g(the)g(in)o(ten)o(tion)h(to)f(create)f(another)75
+359 y(professional)j(la)o(y)o(out)e(system,)g(but)h(to)g(write)g(a)f
+(to)q(ol)h(whic)o(h)h(supp)q(orts)f(p)q(eople)h(lik)o(e)g(y)o(ou)f(who)
+f(do)h(some)75 414 y(home-dev)o(eloping)22 b(of)d(hardw)o(are.)33
+b(F)l(or)19 b(this)h(reason)f(it)h(has)g(no)g(auto-router)e(nor)i
+(auto-placemen)o(t)75 469 y(co)q(de.)137 533 y(The)e(second)g(release)f
+(1.2)g(included)j(men)o(us)d(for)g(the)g(\014rst)g(time.)26
+b(This)18 b(made)f Fm(PCB)g Fo(easier)h(to)f(use)75 588
+y(and)e(th)o(us)g(a)g(more)g(imp)q(ortan)o(t)g(to)q(ol.)137
+652 y(Release)g(1.3)e(in)o(tro)q(duced)j(undo)e(for)g
+(highly-destructiv)o(e)i(commands,)e(more)g(straigh)o(tforw)o(ard)e
+(ac-)75 707 y(tion)18 b(handling)h(and)f(scalable)h(fon)o(ts.)26
+b(La)o(y)o(er-groups)17 b(w)o(ere)g(in)o(tro)q(duced)i(to)e(group)g
+(signal-la)o(y)o(ers)h(to-)75 761 y(gether.)137 825 y(Release)f(1.4)e
+(pro)o(vided)h(supp)q(ort)g(for)g(add-on)g(device)h(driv)o(ers.)23
+b(Tw)o(o)15 b(la)o(y)o(ers)h(\(the)f(solder)i(and)f(the)75
+880 y(comp)q(onen)o(t)g(side\))g(w)o(ere)f(added)h(to)f(supp)q(ort)h
+(SMD)f(elemen)o(ts.)22 b(The)16 b(handling)h(of)e(libraries)i(w)o(as)e
+(also)75 935 y(impro)o(v)o(ed)j(in)g(1.4.1.)25 b(Supp)q(ort)18
+b(for)e(additional)j(devices)g(lik)o(e)g(GERBER)d(plotters)h(started)g
+(in)h(1.4.4.)75 990 y(The)d(undo)h(feature)f(w)o(as)f(expanded)j(and)e
+(the)g(redo-feature)g(added)h(in)g(1.4.5.)137 1054 y(Release)e(1.5)e
+(pro)o(vides)i(supp)q(ort)f(for)f(rats-nest)h(generation)g(from)g
+(simple)h(net)g(lists.)19 b(It)14 b(also)f(allo)o(ws)75
+1108 y(for)f(automatic)g(clearances)h(around)g(pins)g(that)f(pierce)h
+(a)g(p)q(olygon.)19 b(A)13 b(v)m(ariet)o(y)f(of)g(other)g(enhancmen)o
+(ts)75 1163 y(including)k(a)e(Gerb)q(er)g(RS274X)e(driv)o(er)i(and)g
+(NC)g(drill)h(\014le)g(generation)f(ha)o(v)o(e)f(also)h(b)q(een)g
+(added.)20 b(harry)75 1218 y(eaton)12 b(\(haceaton)p
+Fm(@)p Fo(aplcomm.jh)o(uapl.edu\))h(w)o(as)e(resp)q(onsible)k(for)d
+(most)g(of)g(the)h(c)o(hanges)f(found)h(in)h(this)75
+1273 y(release.)137 1337 y(Release)e(1.6)e(pro)o(vides)i(automatic)e
+(screen)i(up)q(dates)g(of)e(c)o(hanged)i(regions.)19
+b(This)11 b(should)i(elliminate)75 1391 y(most)i(of)g(the)g(need)h(for)
+f(the)g(redra)o(w)g(\(r\))g(k)o(ey)l(.)20 b(Also)c(some)f(c)o(hanges)g
+(to)g(what)g(order)g(items)h(under)g(the)75 1446 y(cursor)c(are)h
+(selected)h(w)o(ere)e(made)h(for)f(b)q(etter)h(consistancy)g(-)g(it)g
+(is)g(no)g(longer)g(p)q(ossible)h(to)e(acciden)o(tally)75
+1501 y(mo)o(v)o(e)18 b(a)g(line)i(or)e(line)i(p)q(oin)o(t)f(that)f(is)h
+(completely)h(obscured)f(b)o(y)g(a)f(p)q(olygon)h(la)o(ying)g(o)o(v)o
+(er)f(top)g(of)g(it.)75 1556 y(Larger)e(ob)s(jects)f(on)h(the)g(upp)q
+(er)h(most)e(la)o(y)o(ers)h(can)g(b)q(e)g(selected)i(ahead)e(of)f
+(smaller)i(ob)s(jects)e(on)h(lo)o(w)o(er)75 1611 y(la)o(y)o(ers.)29
+b(These)19 b(c)o(hanges)f(mak)o(e)g(op)q(erations)g(more)g(in)o(tuitiv)
+o(e.)31 b(A)18 b(new)h(mo)q(de)f(of)g(line)i(creation)f(w)o(as)75
+1665 y(added)13 b(that)f(creates)g(t)o(w)o(o)g(line)i(on)e(45)g(degree)
+h(angles)g(with)g(a)f(single)i(clic)o(k.)20 b(The)13
+b(actual)g(outline)h(of)e(the)75 1720 y(prosp)q(ectiv)o(e)18
+b(line\(s\))g(are)e(no)o(w)h(sho)o(wn)f(during)i(line)g(creation.)26
+b(An)17 b(arc)f(creation)h(mo)q(de)h(w)o(as)e(added.)75
+1775 y(Dra)o(wn)g(arcs)h(are)f(quarter)h(circles)h(and)f(can)h(b)q(e)f
+(useful)h(for)f(high)h(frequency)f(con)o(trolled)h(imp)q(edance)75
+1830 y(lines.)j(\(Y)l(ou)13 b(can)g(ha)o(v)o(e)f(eigh)o(th)i(circle)g
+(arc)f(if)h(the)f(source)g(is)g(compiled)i(with)e(-D)o(AR)o(C45,)e(but)
+j(b)q(e)f(a)o(w)o(are)75 1885 y(that)18 b(the)g(ends)h(of)f(suc)o(h)g
+(arcs)g(can)h(nev)o(er)f(in)o(tersect)h(a)f(grid)h(p)q(oin)o(t\).)29
+b(Tw)o(o)17 b(new)i(\015ags)f(for)f(pins)j(and)75 1939
+y(vias)14 b(w)o(ere)g(created)f(-)h(one)g(indicates)i(that)d(the)h(pin)
+g(or)g(via)g(is)g(purely)h(a)f(drill)h(hole)g(and)f(has)g(no)f(copp)q
+(er)75 1994 y(ann)o(ulus.)21 b(Y)l(ou)14 b(can)h(only)f(toggle)g(this)h
+(\015ag)f(for)g(vias)g(-)h(for)f(elemen)o(ts,)g(it)h(m)o(ust)f(b)q(e)h
+(an)f(in)o(tegral)h(part)e(of)75 2049 y(the)h(elemen)o(t)h
+(de\014nition.)21 b(The)15 b(other)f(\015ag)f(con)o(trols)h(whether)h
+(the)f(pad)g(will)i(b)q(e)f(round)f(or)g(o)q(ctagonal.)75
+2104 y(There)k(is)h(also)f(no)o(w)f(a)h(feature)f(for)h(con)o(v)o
+(erting)f(the)i(con)o(ten)o(ts)e(of)g(a)h(bu\013er)g(in)o(to)g(an)g
+(elemen)o(t.)29 b(Vias)75 2159 y(b)q(ecome)16 b(the)g(pins)h(\(or)e
+(moun)o(ting)h(holes\),)g(lines)h(and)f(arcs)g(on)f(the)h(solder)h(la)o
+(y)o(er)e(b)q(ecome)i(silkscreen,)75 2213 y(and)c(lines)i(on)d(the)h
+(comp)q(onen)o(t)g(la)o(y)o(er)g(b)q(ecome)h(the)f(pads.)19
+b(Action)13 b(commands)g(en)o(tered)g(via)g(the)g(colon)75
+2268 y(command)g(en)o(try)f(are)h(no)g(longer)g(pro)q(ceeded)h(with)f
+Fm(")p Fo(a)g Fm(")p Fo(,)g(just)f(t)o(yp)q(e)h(the)g(command)g
+(directly)l(.)20 b(Sev)o(eral)75 2323 y(bugs)13 b(ha)o(v)o(e)f(also)h
+(b)q(een)h(\014xed.)20 b(New)13 b(ones)g(w)o(ere)f(probably)i(in)o(tro)
+q(duced)g(since)g(extensiv)o(e)f(c)o(hanges)g(w)o(ere)75
+2378 y(made.)20 b(harry)15 b(eaton)f(w)o(as)h(resp)q(onsible)i(for)e
+(these)g(c)o(hanges.)137 2442 y(Release)20 b(1.6.1)e(adds)i(the)g
+(abilit)o(y)g(to)f(mak)o(e)g(groups)h(of)f(action)g(commands)h(b)q
+(ound)g(to)f(a)h(single)75 2496 y(X11)15 b(ev)o(en)o(t)f(to)h(b)q(e)g
+(undone)h(b)o(y)f(a)g(single)h(undo.)k(Also)c(a)e(simple)j(design)f
+(rule)g(c)o(hec)o(k)o(er)f(w)o(as)f(added)i(-)f(it)75
+2551 y(c)o(hec)o(ks)j(for)e(minim)o(um)j(spacing)f(and)f(o)o(v)o(erlap)
+g(rules.)27 b(Plus)18 b(man)o(y)f(\014xes)h(for)f(bugs)g(in)o(tro)q
+(duced)i(with)75 2606 y(the)c(man)o(y)g(c)o(hanges)g(of)g(1.6)f(harry)h
+(is)h(resp)q(onsible)h(for)d(these)i(c)o(hanges)f(to)q(o.)137
+2670 y(Sp)q(ecial)j(thanks)d(go)q(es)g(to:)p eop
+%%Page: 3 4
+3 3 bop 75 -58 a Fo(History)1630 b(3)195 149 y(Bernhard)16
+b(Daeubler)g(\(Bernhard.Daeubler)p Fm(@)p Fo(ph)o(ysik.uni-ulm.de\))195
+201 y(Harald)f(Daeubler)h(\(Harald.Daeubler)p Fm(@)p
+Fo(ph)o(ysik.uni-ulm.de\))195 253 y(Roland)f(Merk)g(\(merk)p
+Fm(@)p Fo(fa)o(w.uni-ulm.de\))195 305 y(Erland)h(Unruh)g
+(\(Erland.Unruh)p Fm(@)p Fo(malmo.trab.se\))195 357 y(Alb)q(ert)g(John)
+g(FitzP)o(atric)o(k)f(I)q(I)q(I)h(\(a)s(jf)p 831 357
+14 2 v 16 w(n)o(ylorac)p Fm(@)p Fo(acm.org\))195 409
+y(Bo)q(erge)f(Strand)g(\(b)q(orges)p Fm(@)p Fo(i\014.uio.no\))195
+461 y(harry)g(eaton)f(\(haceaton)p Fm(@)p Fo(aplcomm.jh)o(uapl.edu\))
+195 513 y(Andre)i(M.)e(Hedric)o(k)i(\(hedric)o(k)p Fm(@)p
+Fo(Astro.Dy)o(er.V)l(anderbilt.Edu\))75 635 y(who)f(did)h(most)f(of)f
+(the)i(alpha)f(and)h(b)q(eta)f(testing,)g(help)q(ed)i(to)e(p)q(ort)g
+Fm(PCB)f Fo(to)75 689 y(sev)o(eral)20 b(op)q(erating)f(systems)g(and)h
+(platforms)f(and)h(corrected)f(sev)o(eral)h(t)o(yp)q(os)f(in)h(the)g
+(man)o(uals.)32 b(In)75 744 y(addition)23 b(to)f(these,)h(man)o(y)f
+(others)f(donated)i(time)f(for)f(bug-\014xing)j(and)e(other)g(imp)q
+(ortan)o(t)f(w)o(ork.)75 799 y(Some)15 b(of)g(them)g(can)g(b)q(e)h
+(iden)o(ti\014ed)i(in)e(the)f(source)g(co)q(de)h(\014les.)21
+b(Thanks)15 b(to)f(all)j(of)d(them.)p eop
+%%Page: 4 5
+4 4 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297
+b(4)75 149 y Fk(1)41 b(In)n(tro)r(duction)137 267 y Fo(Eac)o(h)22
+b(la)o(y)o(out)f(consists)h(of)f(sev)o(eral,)i(mostly)f(indep)q(enden)o
+(t,)j(ob)s(jects.)39 b(This)23 b(c)o(hapter)e(giv)o(es)h(an)75
+322 y(o)o(v)o(erview)12 b(of)f(the)h(ob)s(ject)g(t)o(yp)q(es)g(and)g
+(their)g(relationship)i(to)d(eac)o(h)h(other.)19 b(F)l(or)11
+b(a)h(complete)g(description)75 377 y(of)h(ho)o(w)g(to)f(use)i
+Fm(Pcb)p Fo(,)f(refer)g(to)f(Chapter)h(2)g([Getting)g(Started],)g(page)
+g(9.)19 b(The)13 b(la)o(y)o(out)g(is)h(generated)f(on-)75
+432 y(screen)i(on)g(a)f(grid)h(that)f(has)h(its)g(origin)g(in)h(the)e
+(upp)q(er)i(left)f(corner)g(of)f(the)h(screen.)20 b(The)15
+b(x)g(co)q(ordinate)75 487 y(increases)j(to)e(the)h(righ)o(t,)f(y)h
+(increases)h(do)o(wn)f(to)f(the)h(b)q(ottom.)24 b(All)18
+b(distances)f(and)g(sizes)h(in)g Fm(Pcb)e Fo(are)75 541
+y(measured)h(in)h(mils)g(\(0.001)d(inc)o(h\).)26 b(One)18
+b(unit)g(on)f(the)g(displa)o(y)h(grid)f(is)h(one)f(mil)h(in)g(distance)
+g(on)f(the)75 596 y(b)q(oard.)29 b(The)18 b(sections)h(in)g(this)f(c)o
+(hapter)g(are)g(sorted)g(b)o(y)g(the)g(order)g(of)g(app)q(earance)h(of)
+e(the)i(ob)s(jects)75 651 y(within)d(a)f(la)o(y)o(out)g(\014le.)75
+781 y Fl(1.1)33 b(Sym)n(b)r(ols)137 877 y Fo(The)13 b(top)g(ob)s(ject)f
+(is)h(the)g(la)o(y)o(out)f(itself.)20 b(It)13 b(uses)g(a)f(set)h(of)f
+(sym)o(b)q(ols)h(that)f(resides)h(at)g(the)f(\014rst)h(logical)75
+932 y(lev)o(el.)20 b(Eac)o(h)12 b(sym)o(b)q(ol)h(is)g(uniquely)h(iden)o
+(ti\014ed)h(b)o(y)d(a)g(sev)o(en)g(bit)h Fm(ASCII)f Fo(co)q(de.)19
+b(All)14 b(la)o(y)o(out)d(ob)s(jects)h(share)75 987 y(the)i(same)f(set)
+h(of)f(sym)o(b)q(ols.)20 b(These)14 b(sym)o(b)q(ols)g(are)f(used)h(to)g
+(form)f(text)g(ob)s(jects)g(on)h(the)f(silkscreen)j(and)75
+1042 y(copp)q(er)g(la)o(y)o(ers.)j(Unde\014ned)e(sym)o(b)q(ols)f(are)f
+(dra)o(wn)f(as)h(\014lled)i(rectangles.)137 1109 y(Ev)o(ery)d(fon)o(t)f
+(\014le)i(is)g(prepro)q(cessed)g(b)o(y)f(a)f(user-de\014ned)j(command)e
+(when)h(it)f(is)g(loaded.)21 b(F)l(or)13 b(details)75
+1164 y(see)i(`)p Fm(fontCommand)p Fo(',)e(Section)j(5.1)e([Resources],)
+g(page)h(30.)75 1293 y Fl(1.2)33 b(Vias)137 1390 y Fo(Vias)13
+b(are)e(iden)o(tical)j(to)e(the)g(pins)h(used)g(b)o(y)f(elemen)o(ts)g
+(except)h(that)e(they)h(can)h(b)q(e)f(added)h(or)e(remo)o(v)o(ed)75
+1445 y(individuall)q(y)l(.)24 b(The)16 b(purp)q(ose)g(of)f(vias)h(is)g
+(to)f(pro)o(vide)h(connections)h(b)q(et)o(w)o(een)f(di\013eren)o(t)f
+(la)o(y)o(ers.)21 b(Don't)75 1500 y(use)d(vias)g(for)g(adding)g(elemen)
+o(ts)h(to)e(the)h(la)o(y)o(out,)g(ev)o(en)g(if)h(that)e(seems)h(easier)
+g(than)g(creating)g(a)g(new)75 1554 y(elemen)o(t.)j(Vias)15
+b(are)g(useful)h(for)f(de\014ning)h(arbitrary)f(drill)i(p)q(oin)o(ts)e
+(suc)o(h)h(as)f(those)g(used)g(for)g(moun)o(ting)75 1609
+y(a)j(b)q(oard.)29 b(Y)l(ou)18 b(can)g(assign)h(a)f(name)g(to)f(a)h
+(via)h(ev)o(en)f(though)g(y)o(ou)g(probably)h(w)o(on't)e(ev)o(er)h(w)o
+(an)o(t)f(to.)75 1664 y(Vias)f(reside)h(at)e(the)h(\014rst)f(logical)i
+(lev)o(el;)g(therefore,)e(eac)o(h)h(via)g(exists)g(on)g(all)h(la)o(y)o
+(ers.)k(\()p Fh(i.e.)g Fo(blind)d(vias)75 1719 y(are)d(not)g(supp)q
+(orted\))75 1848 y Fl(1.3)33 b(Elemen)n(ts)137 1945 y
+Fo(Elemen)o(ts)15 b(represen)o(t)g(the)g(comp)q(onen)o(ts)g(on)f(a)h(b)
+q(oard.)k(Elemen)o(ts)c(are)g(loaded)g(from)f Fm(ASCII)g
+Fo(co)q(ded)75 2000 y(\014les)k(in)h(a)e(similar)i(manner)e(to)g(the)h
+(la)o(y)o(out)f(\014le)h(itself.)28 b(They)18 b(are)f(comp)q(osed)h(of)
+f(lines)i(and)f(arcs)f(on)75 2054 y(the)c(silk-screen)j(la)o(y)o(er)d
+(\(used)g(to)g(de\014ne)h(the)g(pac)o(k)m(age)f(outline\))h(,)g(pins)g
+(\(or)f(pads)g(for)g(SMD\))f(and)i(three)75 2109 y(lab)q(els)21
+b(that)d(de\014ne)j(the)e(description,)j(the)d(elemen)o(t's)g(la)o(y)o
+(out-name)g(\(whic)o(h)h(also)f(app)q(ears)h(on)f(the)75
+2164 y(silk-)d(screen)e(la)o(y)o(er\))g(and)g(its)h(v)m(alue.)21
+b(Elemen)o(t)14 b(pins)i(are)e(con)o(tained)g(on)h(the)f(\014rst)g
+(logical)h(lev)o(el)h(and)e(so)75 2219 y(reside)g(on)f(all)h(la)o(y)o
+(ers.)19 b(A)13 b(mark)g(is)g(used)h(to)f(p)q(osition)h(the)f(elemen)o
+(t)h(with)f(resp)q(ect)h(to)e(the)h(cursor)g(cross-)75
+2274 y(hair)i(during)g(pasting.)20 b(SMD)14 b(elemen)o(ts)h(use)g(pads)
+f(instead)i(of)e(pins.)20 b(P)o(ads)14 b(are)g(handled)i(similarly)h
+(to)75 2328 y(lines)h(on)e(a)g(la)o(y)o(er)g(but)h(they)f(m)o(ust)g(b)q
+(e)h(orien)o(ted)f(either)h(v)o(ertically)h(or)e(horizon)o(tally)l(.)24
+b(P)o(ads)16 b(can)g(ha)o(v)o(e)75 2383 y(either)i(rounded)h(or)e
+(square)h(ends.)28 b(All)19 b(parts)e(of)h(an)f(elemen)o(t)i(are)e
+(treated)h(as)f(one)h(unit.)28 b(It)18 b(is)g(not)75
+2438 y(p)q(ossible)e(to)d(delete)i(a)f(single)i(pin)f(or)e(break)h(an)g
+(elemen)o(t)h(in)o(to)f(pieces)h(on)f(the)h(la)o(y)o(out.)k(Y)l(ou)14
+b(can)g(resize)75 2493 y(separate)h(pieces)h(of)f(an)g(elemen)o(t,)h
+(but)f(doing)h(so)f(is)g(usually)i(a)e(bad)g(idea.)137
+2560 y(Elemen)o(ts)22 b(are)g(supp)q(orted)g(b)o(y)g(sev)o(eral)g(sp)q
+(ecial)i(la)o(y)o(ers:)33 b Fh(silk)p Fo(,)22 b Fh(pins/p)n(ads)j
+Fo(and)d Fh(far-side)p Fo(.)40 b(The)75 2615 y Fh(silk)22
+b Fo(la)o(y)o(er)c(sho)o(ws)g(the)g(pac)o(k)m(age)h(outline)g(and)g
+(also)f(holds)h(legend)g(text)f(and)h(elemen)o(t)g(names.)29
+b(The)75 2670 y Fh(pins/p)n(ads)20 b Fo(la)o(y)o(er)d(is)h(used)f(to)g
+(toggle)f(whether)h(the)h(elemen)o(t's)f(pins)h(and)f(pads)g(are)g
+(displa)o(y)o(ed.)27 b(The)p eop
+%%Page: 5 6
+5 5 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297
+b(5)75 149 y Fh(far-side)17 b Fo(la)o(y)o(er)c(con)o(trols)g(visibilit)
+o(y)j(of)d(ob)s(jects)f(\(silkscreen)j(and)f(pads\))f(that)f(are)h(on)g
+(the)h(far)e(\()p Fh(i.e.)19 b Fo(not)75 204 y(curren)o(tly)d(view)o
+(ed\))f(side)i(of)d(the)i(b)q(oard.)137 273 y(Ev)o(ery)e(elemen)o(t)i
+(\014le)f(is)g(prepro)q(cessed)h(b)o(y)e(a)g(user-de\014ned)i(command)f
+(when)g(the)f(\014le)i(is)f(read.)20 b(F)l(or)75 328
+y(details)h(see)f(`)p Fm(elementCommand)p Fo(',)e(Section)j(5.1)e
+([Resources],)g(page)h(30.)33 b Fm(m4)p Fo(,)21 b(the)f(default)g(v)m
+(alue)h(of)75 383 y(`)p Fm(elementCommand)p Fo(',)12
+b(allo)o(ws)k(y)o(ou)f(to)g(create)g(libraries)i(for)d(pac)o(k)m(age)i
+(de\014nitions)h(that)d(are)i(shared)f(b)o(y)75 438 y(all)j(elemen)o
+(ts.)26 b(The)18 b(elemen)o(t)f(libraries)i(distributed)g(with)e
+Fm(Pcb)g Fo(exp)q(ect)h Fm(m4)e Fo(or)h(an)g(equiv)m(alen)o(t)i(to)d(b)
+q(e)75 492 y(the)f Fh(elementCommand)p Fo(.)137 561 y
+Fm(Pcb)g Fo(can)h(create)f(a)g(list)h(of)f(all)i(connections)f(from)f
+(one)g(\(or)g(all\))h(elemen)o(ts)g(to)f(the)g(others)g(or)g(a)g(list)
+75 616 y(of)j(unconnected)i(pins.)30 b(It)19 b(can)f(also)h(v)o(erify)f
+(the)h(la)o(y)o(out)e(connections)j(against)e(a)g(netlist)h(\014le.)31
+b(The)75 671 y(elemen)o(t's)17 b(`)p Fm(layout-name)p
+Fo(')d(is)j(the)f(name)g(used)h(to)f(iden)o(tify)i(an)e(elemen)o(t)h
+(in)g(a)f(netlist)i(\014le.)24 b(The)17 b(pin)75 726
+y(n)o(um)o(b)q(ering)f(for)f(an)g(elemen)o(t)h(is)g(de\014ned)h(b)o(y)e
+(unique)i(strings)f(assigned)g(to)e(eac)o(h)i(pin.)21
+b(In)16 b(addition)h(to)75 781 y(the)g Fm(")p Fo(pin)h(n)o(um)o(b)q(er)
+p Fm(")g Fo(string,)f(eac)o(h)g(pin)h(has)f(a)g Fm(")p
+Fo(name)p Fm(")g Fo(whic)o(h)h(describ)q(es)g(its)g(function.)26
+b(Previously)75 835 y(elemen)o(t)20 b(pin)f(n)o(um)o(b)q(er)h(w)o(as)e
+(established)i(b)o(y)f(the)g(order)f(of)h(app)q(earance)g(of)g(the)g
+(pin)h(de\014nitions)g(in)75 890 y(the)f(la)o(y)o(out)f(or)g(elemen)o
+(t)h(\014le.)32 b(Since)20 b(the)e Fm(")p Fo(n)o(um)o(b)q(er)p
+Fm(")h Fo(strings)g(for)f(eac)o(h)g(pin)i(are)e(a)h(new)g(feature,)f
+(if)75 945 y(they)e(are)f(absen)o(t)g(then)h(the)f(n)o(um)o(b)q(ering)i
+(is)f(again)f(established)i(b)o(y)f(the)f(order)g(of)h(pin)g(app)q
+(earance)g(in)75 1000 y(the)i(\014le.)29 b(In)19 b(other)e(w)o(ords,)h
+(the)g(\014rst)f(pin)i(app)q(earing)g(in)g(the)f(\014le)h(is)f(pin)h
+(one,)f(the)g(next)g(pin)h(is)g(pin)75 1055 y(t)o(w)o(o)f(and)h(so)g
+(on.)32 b(Usually)20 b(the)g(names)f(assigned)h(to)e(pins)i(are)f
+(simply)i(n)o(um)o(b)q(ers,)f(but)f(they)g(don't)75 1109
+y(ha)o(v)o(e)d(to)g(b)q(e.)24 b(It)17 b(is)g(only)g(necessary)g(that)e
+(the)i Fm(")p Fo(n)o(um)o(b)q(er)p Fm(")f Fo(string)h(for)f(the)g(pin)i
+(matc)o(hes)e(exactly)h(the)75 1164 y Fm(")p Fo(n)o(um)o(b)q(er)p
+Fm(")h Fo(string)f(in)i(the)e(netlist)i(\014le.)28 b
+Fi(Be)18 b(a)o(w)o(are)g(that)f(a)h(few)f(of)g(the)h(library)i(parts)e
+(ma)o(y)f(still)i(b)q(e)75 1219 y(incorrectly)c(implemen)o(ted)f
+(regarding)h(pin-n)o(um)o(b)q(ering.)22 b Fo(All)14 b(of)e(the)g(DIL)h
+(\(Dual-)g(Inline-Pins\))j(parts)75 1274 y(are)e(correct)h(and)g(most)f
+(of)g(the)h(others)f(are)h(to)q(o,)e(but)i(y)o(ou)g(should)h(v)o(erify)
+f(the)f(pin)i(n)o(um)o(b)q(ering)g(of)e(an)o(y)75 1329
+y(non-DIL)h(part)f(\(use)g(the)g Fh(R)n(ep)n(ort)i(Menu)h
+Fo(to)c(see)i(what)f Fm(Pcb)f Fo(thinks)i(a)f(pin's)h(n)o(um)o(b)q(er)f
+(is\))h(b)q(efore)f(using)75 1383 y(the)i(rats)f(nest)h(feature)f(with)
+i(a)e(library)i(part.)k(Hop)q(efully)d(sometime)e(so)q(on)g(someone)f
+(will)j(v)o(olun)o(teer)75 1438 y(to)g(cross-c)o(hec)o(k)g(all)i(of)e
+(the)g(elemen)o(t)h(libraries)h(and)f(mak)o(e)f(\014xes)h(a)o(v)m
+(ailable)h(as)e(necessary)l(.)30 b Fm(Pcb)18 b Fo(can)75
+1493 y(also)d(c)o(hec)o(k)h(a)f(la)o(y)o(out)f(to)h(see)g(that)g(it)g
+(meets)g(minim)o(um)h(spacing)g(and)g(o)o(v)o(erlap)f(rules.)137
+1562 y(Y)l(ou)20 b(can)g(mak)o(e)f(y)o(our)g(o)o(wn)g(quic)o
+(k-and-dirt)o(y)i(elemen)o(t)f(de\014nitions)i(graphically)f(no)o(w.)32
+b(Simply)75 1617 y(dra)o(w)16 b(vias)i(for)e(the)h(pins)h(and)f(lines)i
+(and)e(arcs)g(on)g(a)f(solder)i(la)o(y)o(er)f(for)f(the)h(silkscreen)i
+(outline.)27 b(Y)l(ou)75 1672 y(should)15 b(name)e(eac)o(h)h(via)g
+(with)g(the)g(pin)h(n)o(um)o(b)q(er.)20 b(If)14 b(y)o(ou)f(w)o(an)o(t)g
+(to)g(create)g(a)h(SMD)f(device,)i(dra)o(w)e(lines)75
+1726 y(for)e(the)h(pads)g(on)g(a)f(comp)q(onen)o(t)h(side)h(la)o(y)o
+(er)f(\(Y)l(ou)g(m)o(ust)f(dra)o(w)g(these)h(in)h(pin)g(n)o(um)o(b)q
+(er)f(order)f(since)i(lines)75 1781 y(can't)h(b)q(e)i(named\).)k(They)
+15 b(m)o(ust)g(b)q(e)g(either)h(horizon)o(tal)f(or)g(v)o(ertical)g(or)g
+(they)g(will)i(not)d(b)q(e)i(recognized)75 1836 y(as)g(pads.)24
+b(Once)18 b(y)o(ou)e(are)g(happ)o(y)h(with)g(the)f(geometry)l(,)g
+(select)i(ev)o(erything)f(that)e(is)i(to)f(b)q(ecome)i(part)75
+1891 y(of)e(the)h(elemen)o(t,)g(then)f(c)o(ho)q(ose)h
+Fm(")p Fo(cut)f(to)g(bu\013er)p Fm(")g Fo(from)g(the)h(men)o(u.)24
+b(No)o(w)15 b(select)j Fm(")p Fo(con)o(v)o(ert)d(bu\013er)i(to)75
+1946 y(elemen)o(t)p Fm(")e Fo(from)f(the)g(men)o(u.)20
+b(Viola')5 b(!)20 b(Afterw)o(ards)14 b(y)o(ou)g(can)h(mak)o(e)f(pin)h
+(one)g(square)f(\(or)g(pads\))g(if)h(y)o(ou)75 2000 y(lik)o(e,)k(and)f
+(giv)o(e)f(the)h(elemen)o(t)g(its)g(v)m(arious)g(names.)27
+b(Note)17 b(that)g(the)h(elemen)o(t)g(mark)f(corresp)q(onds)h(to)75
+2055 y(the)e(cut)h(p)q(osition)g(when)g(ev)o(erything)f(w)o(as)g(put)g
+(in)o(to)g(the)g(bu\013er.)23 b(If)17 b(the)f(vias)h(are)e(not)h
+(named,)h(then)75 2110 y(the)e(pin)i(n)o(um)o(b)q(ering)f(will)h
+(corresp)q(ond)e(to)g(the)g(order)g(in)h(whic)o(h)g(the)f(vias)h(w)o
+(ere)f(placed.)75 2243 y Fl(1.4)33 b(La)n(y)n(ers)137
+2341 y Fo(Ev)o(ery)18 b(la)o(y)o(out)f(consists)i(of)e(sev)o(eral)i(la)
+o(y)o(ers)e(that)h(can)g(b)q(e)h(used)f(indep)q(enden)o(tly)j(or)d
+(treated)g(as)f(a)75 2396 y(group.)37 b(La)o(y)o(er)21
+b(groups)g(can)g(b)q(e)h(used)g(to)e(logically)j(separate)e(\(and)f
+(color-co)q(de\))i(di\013eren)o(t)f(traces)75 2451 y(\()p
+Fh(e.g.)34 b Fo(p)q(o)o(w)o(er)20 b(and)g(signal\);)j(ho)o(w)o(ev)o
+(er,)d(all)h(la)o(y)o(ers)f(within)h(a)f(group)g(reside)h(on)f(the)g
+(same)g(ph)o(ysical)75 2506 y(copp)q(er)i(la)o(y)o(er)g(of)f(a)h(b)q
+(oard,)h(so)e(using)i(di\013eren)o(t)f(la)o(y)o(ers)f(within)i(the)f
+(same)f(group)h(w)o(on't)e(pro)o(vide)75 2560 y(electrical)13
+b(separation)e(where)g(they)g(touc)o(h)f(or)h(o)o(v)o(erlap.)18
+b(F)l(or)10 b(details,)j(see)e(`)p Fm(layerGroups)p Fo(',)e(Section)j
+(5.1)75 2615 y([Resources],)i(page)h(30.)20 b(Eac)o(h)15
+b(la)o(y)o(er)h(is)f(dra)o(wn)g(in)i(a)e(color)g(de\014ned)i(in)f(the)g
+(resource)f(\014le)i(\(for)d(details)75 2670 y(see)i(`)p
+Fm(layerColor)p Fo(',)d(Section)k(5.1)e([Resources],)f(page)i(30\))f
+(and)h(iden)o(ti\014ed)h(b)o(y)f(a)g(name)f(that)g(y)o(ou)h(can)p
+eop
+%%Page: 6 7
+6 6 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297
+b(6)75 149 y(c)o(hange.)19 b(La)o(y)o(ers)11 b(are)h(really)g(just)g
+(con)o(tainers)g(for)f(line,)j(p)q(olygon,)e(and)g(text)g(ob)s(jects.)
+18 b(The)12 b(comp)q(onen)o(t)75 204 y(and)17 b(solder)g(la)o(y)o(ers)f
+(con)o(tain)h(SMD)f(elemen)o(ts)i(as)e(w)o(ell,)i(but)e(the)h(\014le)h
+(structure)e(do)q(esn't)h(re\015ect)g(that)75 259 y(fact)10
+b(directly)l(.)20 b(Eac)o(h)10 b(la)o(y)o(er)h(group)f(represen)o(ts)h
+(a)f(ph)o(ysical)i(la)o(y)o(er)e(on)h(the)g(prin)o(ted)g(circuit)h(b)q
+(oard.)18 b(If)11 b(y)o(ou)75 314 y(w)o(an)o(t)g(to)g(mak)o(e)g(a)h
+(four)f(la)o(y)o(er)g(b)q(oard,)i(y)o(ou'll)f(need)g(to)g(ha)o(v)o(e)f
+(four)g(la)o(y)o(er)h(groups.)18 b(Connections)13 b(b)q(et)o(w)o(een)75
+369 y(la)o(y)o(er)i(groups)g(are)f(established)j(only)f(through)e
+(elemen)o(t)i(pins)g(and)g(vias.)k(The)15 b(relationship)i(b)q(et)o(w)o
+(een)75 423 y(a)c(sp)q(eci\014c)i(la)o(y)o(er)e(and)g(the)g(b)q(oard)g
+(itself)h(is)g(con\014gureable)g(from)e(the)h(`)p Fm(Edit)i(layer)f
+(groups)p Fo(')e(option)h(in)75 478 y(the)i(`)p Fm(Objects)p
+Fo(')d(men)o(u.)20 b(The)15 b(la)o(y)o(er)f(groups)g(corresp)q(onding)i
+(to)d(the)i(ph)o(ysical)h(la)o(y)o(ers)e Fh(c)n(omp)n(onent-side)75
+533 y Fo(and)g Fh(solder-side)j Fo(are)d(alw)o(a)o(ys)g(de\014ned,)h
+(and)f(y)o(ou)g(m)o(ust)g(map)g(at)f(least)h(one)g(logical)i(la)o(y)o
+(er)e(to)f(eac)o(h.)20 b(Of)75 588 y(course,)15 b(y)o(ou)f(are)h(not)f
+(obligated)i(to)e(put)h(trac)o(ks)f(on)h(either)g(of)g(them.)20
+b(SMD-elemen)o(ts)15 b(alw)o(a)o(ys)f(reside)75 643 y(on)k(either)h
+(the)f(comp)q(onen)o(t-side)h(or)f(the)g(solder-side)i(la)o(y)o(er)d
+(group.)29 b(Y)l(ou)18 b(can)g(sw)o(ap)f(whic)o(h)i(side)g(of)75
+697 y(the)14 b(b)q(oard)f(y)o(ou)h(are)f(viewing)i(b)o(y)e(pressing)i
+Fm(<)p Fh(Key)p Fm(>)p Fh(T)m(ab)p Fo(.)j(Y)l(ou)c(can)f(decide)j(whic)
+o(h)e(la)o(y)o(er)g(group)f(will)i(b)q(e)75 752 y(the)h(solder)g(side)g
+(and)g(whic)o(h)g(will)i(b)q(e)e(the)f(comp)q(onen)o(t)h(side.)22
+b(The)16 b(la)o(y)o(ers)f(groups)g(just)h(ha)o(v)o(e)f(a)g(name)75
+807 y(or)j(n)o(um)o(b)q(er)h(asso)q(ciated)g(with)g(them)g(-)g(where)g
+(they)f(are)h(sandwic)o(hed)h(in)f(the)g(b)q(oard)g(is)g(left)g(to)f
+(the)75 862 y(man)o(ufacturing)d(pro)q(cesses.)75 986
+y Fl(1.5)33 b(Lines)137 1081 y Fo(Lines)20 b(are)e(used)g(to)g(dra)o(w)
+f(trac)o(ks)h(on)g(the)g(p)q(c)h(b)q(oard.)29 b(When)18
+b(in)h(the)f(line)i(mo)q(de,)f(eac)o(h)f Fm(<)p Fh(Btn1)p
+Fm(>)75 1136 y Fo(press)d(establishes)i(one)e(end)h(of)f(a)g(line.)22
+b(Once)16 b(the)g(second)g(p)q(oin)o(t)g(is)f(de\014ned,)i(the)e(line)i
+(is)f(dra)o(wn)f(and)75 1191 y(a)i(new)g(line)i(started)d(where)h(the)g
+(\014rst)g(one)g(ended.)26 b(Y)l(ou)17 b(can)h(ab)q(ondon)f(the)g(new)g
+(starting)g(p)q(oin)o(t)g(in)75 1245 y(fa)o(v)o(or)e(of)i(another)f(b)o
+(y)h(pressing)h Fh(Ctrl)p Fm(<)p Fh(Btn1)p Fm(>)p Fo(.)23
+b(The)17 b(undo)h(function)f(\()p Fm(<)p Fh(Key)p Fm(>)p
+Fh(u)s Fo(\))g(will)h(tak)o(e)f(y)o(ou)f(bac)o(k)75 1300
+y(p)q(oin)o(t)e(b)o(y)g(p)q(oin)o(t)h(if)f(y)o(ou)f(use)i(it)f(while)h
+(in)g(the)f(line)h(mo)q(de.)20 b(New)14 b(lines)h(can)f(b)q(e)h
+(restricted)f(to)f(45)h(degree)75 1355 y(angles)h(if)h(desired.)21
+b(Y)l(ou)15 b(can)g(toggle)g(this)g(restriction)h(on)f(and)g(o\013)f
+(while)j(creating)e(lines)h(b)o(y)f(pressing)75 1410
+y Fm(<)p Fh(Key)p Fm(>)p Fh(.)20 b Fo(\(that)14 b(is)i(the)f
+Fh(p)n(erio)n(d)20 b Fo(k)o(ey\).)g(If)15 b(the)h(45)f(degree)g
+(restriction)h(is)g(turned)f(on,)g(then)h(the)f Fm(<)p
+Fh(Key)p Fm(>)p Fh(/)75 1465 y Fo(can)j(b)q(e)g(used)g(to)f(cylce)i
+(through)e(three)h(di\013eren)o(t)f(mo)q(des)h(of)f(45)g(degree)h(line)
+h(creation.)27 b(One)19 b(mo)q(de)75 1519 y(just)g(creates)g(a)g
+(single)i(line)g(forced)e(to)g(the)g(nearest)g(45)g(degree)h(v)o
+(ector.)32 b(The)19 b(next)h(mo)q(de)f(creates)75 1574
+y(t)o(w)o(o)14 b(lines)j(from)e(the)g(start)f(to)h(end)h(p)q(oin)o(ts)g
+(suc)o(h)g(that)e(the)i(\014rst)f(line)i(lea)o(v)o(es)e(the)h(start)e
+(p)q(oin)o(t)i(at)e(a)i(90)75 1629 y(degree)j(v)o(ector,)f(and)g(the)g
+(second)h(line)h(en)o(ters)e(the)h(end)g(p)q(oin)o(t)f(on)h(a)f(45)f
+(degree)i(v)o(ector.)28 b(The)19 b(next)75 1684 y(mo)q(de)d(creates)g
+(t)o(w)o(o)f(lines)j(suc)o(h)e(that)g(the)g(\014rst)g(line)i(lea)o(v)o
+(es)e(the)g(start)f(p)q(oin)o(t)i(on)f(a)g(45)f(degree)i(v)o(ector)75
+1738 y(and)j(arriv)o(es)f(at)g(the)g(end)h(p)q(oin)o(t)g(on)f(a)g(90)g
+(degree)h(v)o(ector.)32 b(Y)l(ou)19 b(can)h(temp)q(orarily)g(sw)o(ap)f
+(b)q(et)o(w)o(een)75 1793 y(the)f(last)g(t)o(w)o(o)e(mo)q(des)i(b)o(y)g
+(holding)h(the)f(shift)g(k)o(ey)g(do)o(wn.)27 b(It)18
+b(is)h(simple)g(to)e(edit)i(a)e(line)j(t)o(yp)q(e)e(ob)s(ject)75
+1848 y(b)o(y)i(breaking)g(it)g(in)o(to)g(pieces)h(\(insert)f(p)q(oin)o
+(t)g(mo)q(de\),)h(mo)o(ving)f(an)f(end)i(p)q(oin)o(t)f(\(or)f(the)h
+(whole)h(line\))75 1903 y(\()p Fm(<)p Fh(Btn2Down)p Fm(><)p
+Fh(dr)n(ag)p Fm(><)p Fh(Btn2Up)p Fm(>)p Fo(\),)g(or)f(c)o(hanging)i
+(the)f(la)o(y)o(er)g(it)g(resides)h(on)f(\()p Fm(<)p
+Fh(Key)p Fm(>)p Fh(m)j Fo(mo)o(v)o(es)c(the)75 1958 y(line)h(under)f
+(the)f(p)q(oin)o(ter)h(to)f(the)g(activ)o(e)g(la)o(y)o(er\).)32
+b(In)20 b(the)f(case)g(when)h(t)o(w)o(o)e(line)j(segmen)o(ts)d(meet)i
+(at)75 2012 y(exactly)f(the)f(same)g(p)q(oin)o(t)g(y)o(ou)g(can)g
+(delete)i(the)e(in)o(termediate)h(p)q(oin)o(t,)g(otherwise)f(the)g
+(delete)i(mo)q(de)75 2067 y(remo)o(v)o(es)c(an)h(en)o(tire)g(line.)27
+b(F)l(eel)17 b(free)g(to)g(exp)q(erimen)o(t)h(since)g
+Fm(Pcb)e Fo(will)j(allo)o(w)e(y)o(ou)f(to)g(undo)i(an)o(ything)75
+2122 y(that)c(materially)h(a\013ects)f(y)o(our)g(w)o(ork.)k(If)d(y)o
+(ou)f(switc)o(h)h(activ)o(e)f(la)o(y)o(ers)h(in)g(the)g(midst)f(of)g
+(placing)i(lines)g(a)75 2177 y(via)f(will)i(automatically)f(b)q(e)g
+(placed,)g(when)g(necessary)l(,)f(in)h(order)f(to)f(con)o(tin)o(ue)i
+(the)f(connection.)75 2301 y Fl(1.6)33 b(Arcs)137 2396
+y Fo(With)14 b(v)o(ersion)g(1.6)e(it)i(is)g(p)q(ossible)i(to)c(dra)o(w)
+h(copp)q(er)h(arcs.)19 b(The)14 b(arcs)f(are)h(restricted)f(to)g(b)q(e)
+i(quarter)75 2451 y(circles.)20 b(This)13 b(means)f(they)g(alw)o(a)o
+(ys)f(b)q(end)i(a)f(righ)o(t)g(angle.)19 b(They)13 b(are)e(v)o(ery)h
+(similar)h(to)f(lines)h(otherwise.)75 2506 y(They)h(are)f(created)h(on)
+f(the)h(curren)o(t)f(la)o(y)o(er)h(and)f(ha)o(v)o(e)g(the)h(same)f
+(thic)o(kness)i(that)e(new)g(lines)j(will)f(ha)o(v)o(e.)75
+2560 y(The)g(v)m(arious)g(clic)o(ks)h(for)f(creating)g(lines)h(w)o(ork)
+e(prett)o(y)g(m)o(uc)o(h)h(the)g(same)f(w)o(a)o(y)g(for)g(creating)h
+(arcs.)20 b(The)75 2615 y(start)13 b(p)q(oin)o(t)i(for)f(the)g(arc)g
+(is)h(at)f(the)g(\014rst)g Fm(<)p Fh(Btn1)p Fm(>)g Fo(p)q(osition.)20
+b(In)15 b(order)f(to)g(mak)o(e)g(the)g(arc)g(curv)o(e)h(in)g(the)75
+2670 y(direction)h(desired,)f(drag)f(the)g(mouse)g(along)h(the)f
+(tangen)o(t)g(line)i(from)d(the)i(starting)e(p)q(osition)j(to)o(w)o
+(ards)p eop
+%%Page: 7 8
+7 7 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297
+b(7)75 149 y(the)18 b(end)h(p)q(osition.)29 b(If)18 b(the)g(grid)g(is)h
+(to)q(o)e(coarse,)h(it)g(ma)o(y)f(not)h(b)q(e)h(p)q(ossible)g(to)f
+(distinguish)i(whether)75 204 y(y)o(ou'v)o(e)d(mo)o(v)o(ed)f(o)o(v)o
+(er)h(then)g(up,)h(or)f(up)h(then)g(o)o(v)o(er,)e(so)h(if)h(y)o(ou)f
+(can't)g(seem)g(to)g(mak)o(e)g(the)g(arc)g(go)g(the)75
+259 y(direction)i(y)o(ou)e(w)o(an)o(t,)g(y)o(ou)g(should)i(decrease)f
+(the)g(grid)g(spacing.)28 b(Alternativ)o(ely)18 b(y)o(ou)g(could)g(dra)
+o(wn)75 314 y(the)g(wrong)g(arc,)h(then)f(rotate)g(and)g(mo)o(v)o(e)g
+(it)g(where)h(y)o(ou)f(w)o(an)o(t.)29 b(Lik)o(e)19 b(the)f(line)i(to)q
+(ol,)f(after)f(an)g(arc)75 369 y(is)h(dra)o(wn)e(a)h(new)h(starting)e
+(p)q(oin)o(t)i(is)f(established)i(at)e(the)g(end)h(p)q(oin)o(t.)29
+b(Whenev)o(er)18 b(a)g(start)f(p)q(oin)o(t)h(is)75 423
+y(established)f(b)o(y)f(either)g(the)g(line)h(or)e(arc)g(to)q(ols)g(it)
+h(will)h(b)q(e)g(retained)f(if)g(y)o(ou)f(switc)o(h)h(directly)h(b)q
+(et)o(w)o(een)75 478 y(the)e(to)q(ols)f(\(e.g.)19 b Fm(<)p
+Fh(Key)p Fm(>)p Fh(F2)h Fo(for)14 b(Lines,)i Fm(<)p Fh(Key)p
+Fm(>)p Fh(F8)k Fo(for)14 b(Arcs.)20 b(Of)15 b(course)g(connection)g
+(searc)o(hes,)g(undo)75 533 y(and)g(all)i(the)e(other)g(features)f(y)o
+(ou'd)h(exp)q(ect)h(w)o(ork)e(with)i(arcs)f(no)o(w.)75
+671 y Fl(1.7)33 b(P)n(olygons)137 771 y Fo(Sometimes)19
+b(it's)f(useful)h(to)e(\014ll)j(large)e(areas)g(with)g(solid)h(copp)q
+(er.)29 b(The)19 b(w)o(a)o(y)e(to)g(do)h(this)h(is)g(with)75
+826 y(p)q(olygons.)g(P)o(olygons)11 b(can)h(b)q(e)h(created)e(in)i
+(either)f(the)g(p)q(olygon)g(mo)q(de)g(or)g(the)f(rectangle)i(mo)q(de.)
+19 b(In)12 b(the)75 881 y(p)q(olygon)h(mo)q(de,)g(y)o(ou'll)g(ha)o(v)o
+(e)f(to)g(de\014ne)h(eac)o(h)g(corner)f(of)g(the)g(p)q(olygon)h(with)g
+(a)f(mouse)h(clic)o(k)g(\()p Fm(<)p Fh(Btn1)p Fm(>)p
+Fo(\).)75 936 y(When)j(the)f(last)g(p)q(oin)o(t)g(is)h(clic)o(k)o(ed)h
+(exactly)e(on)g(top)g(of)g(the)g(starting)g(p)q(oin)o(t,)g(the)g(p)q
+(olygon)h(is)g(\014nished.)75 991 y(Since)g(this)g(can)f(b)q(e)g(hard)g
+(to)f(do,)g(the)h Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(p)j
+Fo(will)e(en)o(ter)f(the)g(\014nal)g(p)q(oin)o(t)h(for)e(y)o(ou,)g
+(closing)i(the)75 1045 y(p)q(olygon.)28 b(If)18 b(the)g(45)f(degree)h
+(angle)g(restriction)g(is)g(turned)g(on)g(and)g(y)o(ou)f(try)g(to)g
+(close)i(the)e(p)q(olygon)75 1100 y(when)k(it)f(is)g(not)g(p)q
+(ossible,)j(y)o(ou'll)d(get)g(a)g(w)o(arning)g(instead.)35
+b(If)20 b(y)o(ou)g(ha)o(v)o(en't)f(\014nished)j(en)o(tering)e(a)75
+1155 y(p)q(olygon,)h(but)e(w)o(an)o(t)f(to)h(undo)h(one)f(\(or)g
+(more\))f(of)h(the)h(p)q(oin)o(ts)f(that)g(y)o(ou'v)o(e)g(already)g
+(de\014ned,)j(use)75 1210 y(the)17 b(undo)h(command)e(\()p
+Fm(<)p Fh(Key)p Fm(>)p Fh(u)s Fo(\).)25 b(With)18 b(the)f(rectangle)g
+(to)q(ol,)g(de\014ning)i(the)e(t)o(w)o(o)e(opp)q(osite)j(corners)75
+1265 y(is)h(su\016cien)o(t,)g(but)f(of)f(course)i(the)f(resulting)h(p)q
+(olygon)f(is)h(a)f(rectangle.)29 b(Lik)o(e)19 b(lines,)h(a)d(p)q
+(olygon)i(can)75 1319 y(b)o(y)h(edited)g(b)o(y)g(deleting,)i(inserting)
+f(and)f(mo)o(ving)f(the)h(p)q(oin)o(ts)g(that)f(de\014ne)i(it.)33
+b Fm(Pcb)20 b Fo(is)g(capable)g(of)75 1374 y(handling)f(complex)f(p)q
+(olygons,)g(but)g(using)g(a)f(n)o(um)o(b)q(er)h(of)f(simpler)h(ones)g
+(impro)o(v)o(es)f(p)q(erformance)g(of)75 1429 y(the)e(connection)i
+(tracing)e(co)q(de.)137 1500 y(A)g(new)h(feature)e(in)i(v)o(ersion)f
+(1.5)f(of)h Fm(Pcb)g Fo(automatically)g(creates)g(clearance)h(regions)f
+(around)g(pins)75 1555 y(and)i(vias)g(that)f(pierce)j(a)d(p)q(olygon.)
+26 b(This)17 b(means)g(that)f(they)h(aren't)f(electrically)k(connected)
+e(to)e(the)75 1610 y(p)q(olygon)11 b(unless)g(y)o(ou)f(add)g
+Fm(")p Fo(thermals)p Fm(")g Fo(to)g(cross)g(the)g(clearance)h(region.)
+18 b(Thermals)11 b(can)f(b)q(e)h(added)g(and)75 1664
+y(remo)o(v)o(ed)k(b)o(y)h(selecting)h(the)f(thermal)g(mo)q(de)g(and)g
+(clic)o(king)i Fm(<)p Fh(Btn1)p Fm(>)d Fo(on)h(the)g(pin)h(or)e(via.)22
+b(Remem)o(b)q(er)75 1719 y(that)15 b(this)g(only)h(creates)f
+(connections)h(to)f(the)g(p)q(olygon)h(on)f(the)g(activ)o(e)h(la)o(y)o
+(er.)k(The)15 b(great)g(adv)m(an)o(tage)75 1774 y(to)e(this)h(new)g(p)q
+(olygon)g(b)q(eha)o(vior)h(is)f(that)f(simple)i(or)e(complex)i(ground)e
+(and/or)h(p)q(o)o(w)o(er)f(planes)h(can)g(b)q(e)75 1829
+y(easily)19 b(made)f(with)g(p)q(olygons)g(and)g(seen)h(on)e(the)h
+(screen.)29 b(If)18 b(y)o(ou)f(don't)h(w)o(an)o(t)e(this)j
+(auto-clearance)75 1884 y(b)q(eha)o(vior,)14 b(or)g(y)o(ou)f(load)h(a)g
+(la)o(y)o(out)f(created)h(b)o(y)g(an)g(earlier)g(v)o(ersion)h(of)e
+Fm(Pcb)p Fo(,)g(the)h(old)h(b)q(eha)o(vior)f(\(shorts)75
+1938 y(to)19 b(all)h(piercing)h(pins)f(and)f(vias\))g(is)h(a)o(v)m
+(ailable.)33 b(A)20 b(`)p Fm(ChangeSize)p Fo(')d(op)q(eration)i(\()p
+Fm(<)p Fh(Key)p Fm(>)p Fh(s)t Fo(\))f(toggles)g(a)75
+1993 y(p)q(olygon)e(b)q(et)o(w)o(een)f(the)h(new)f(and)g(old)h(p)q
+(olygon/pin)h(b)q(eha)o(vior.)75 2131 y Fl(1.8)33 b(T)-6
+b(ext)137 2232 y Fo(T)l(ext)18 b(ob)s(jects)g(should)h(b)q(e)g(used)f
+(to)g(lab)q(el)h(a)f(la)o(y)o(out)g(or)f(to)h(put)g(additional)i
+(information)e(on)g(the)75 2286 y(b)q(oard,)d(but)g(not)f(to)g(iden)o
+(tify)j(elemen)o(ts)e(b)q(ecause)h(elemen)o(ts)g(ha)o(v)o(e)e(their)i
+(o)o(wn)e(lab)q(els.)21 b(T)l(ext)15 b(is)h(alw)o(a)o(ys)75
+2341 y(horizon)o(tal)j(when)g(\014rst)g(created,)g(but)g(the)g(rotate)e
+(mo)q(de)i(can)g(align)h(it)f(along)f(0,)h(90,)g(180)f(and)h(270)75
+2396 y(degree)13 b(angles.)19 b(T)l(ext)12 b(can)h(b)q(e)g(mo)o(v)o(ed)
+f(from)g(an)o(y)g(la)o(y)o(er)g(to)g(the)g(silk-screen)j(la)o(y)o(er)d
+(with)h(a)f(command)g(in)75 2451 y(the)h(`)p Fm(selection)h(menu)p
+Fo('.)k(T)l(ext)13 b(that)g(is)g(mo)o(v)o(ed)g(to)f(the)i(silk-screen)h
+(la)o(y)o(er)e(will)i(app)q(ear)e(on)g(the)g(solder-)75
+2506 y(side)g(silk-screen)i(if)e(it)g(originating)g(on)f(a)g
+(solder-side)i(la)o(y)o(er.)19 b(Otherwise)14 b(mo)o(ving)e(it)h(to)f
+(the)g(silk-screen)75 2560 y(la)o(y)o(er)18 b(will)i(put)e(it)h(on)f
+(the)h(comp)q(onen)o(t-side)g(silk-screen.)31 b(T)l(o)18
+b(mo)o(v)o(e)g(text)f(bac)o(k)i(to)e(a)h(copp)q(er)h(la)o(y)o(er)75
+2615 y(from)c(the)i(silk-screen,)g(use)g(the)f(`)p Fm
+(MoveToCurrentLayer)p Fo(')d(\()p Fm(<)p Fh(Key)p Fm(>)p
+Fh(m)s Fo(\))j(command.)22 b(T)l(ext)16 b(on)g(the)h(far)75
+2670 y(side)f(of)f(the)g(b)q(oard)g(will)i(automatically)f(app)q(ear)f
+(mirror-imaged.)p eop
+%%Page: 8 9
+8 8 bop 75 -58 a Fo(Chapter)15 b(1:)k(In)o(tro)q(duction)1297
+b(8)137 149 y Fi(TEXT)19 b(OBJECTS)h(ON)f(A)h(COPPER)g(LA)l(YER)g(CREA)
+l(TE)f(COPPER)g(LINES)h(BUT)g(THEY)75 204 y(ARE)d(NOT)f(SCANNED)g(F)o
+(OR)g(CONNECTIONS)f(OR)h(TESTED)g(F)o(OR)g(CREA)l(TING)f(SHOR)l(TS)75
+259 y(VS.)k(THE)f(NETLIST.)f(NEITHER)g(ARE)i(TEXT)f(OBJECTS)g(TESTED)g
+(A)o(GAINST)g(ANY)h(DE-)75 314 y(SIGN)c(R)o(ULES)p Fo(.)p
+eop
+%%Page: 9 10
+9 9 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1231
+b(9)75 149 y Fk(2)41 b(Getting)27 b(Started)137 273 y
+Fo(The)16 b(goal)g(of)f(this)h(c)o(hapter)g(is)g(to)f(giv)o(e)h(y)o(ou)
+f(enough)h(information)g(to)f(learn)i(ho)o(w)e Fm(Pcb)g
+Fo(w)o(orks)g(and)75 328 y(ho)o(w)g(to)h(dev)o(elop)h(y)o(our)e(la)o(y)
+o(outs)g(to)h(mak)o(e)f(the)h(b)q(est)g(use)h(of)e Fm(Pcb)p
+Fo('s)g(features.)22 b(All)17 b(ev)o(en)o(t)f(translations)75
+383 y(\()p Fh(i.e.)23 b Fo(the)16 b(buttons)g(and)h(k)o(eys)f(y)o(ou)g
+(press\))g(refer)g(to)g(the)g(default)h(application)h(resource)f
+(\014le)g(shipp)q(ed)75 438 y(with)j Fm(Pcb)p Fo(.)31
+b(There)19 b(is)h(probably)g(no)f(need)h(to)e(c)o(hange)i(them)f
+(unless)h(y)o(our)f(windo)o(w)g(manager)g(uses)75 493
+y(some)12 b(of)h(the)g(button)f(ev)o(en)o(ts)h(itself;)h(ho)o(w)o(ev)o
+(er,)e(if)h(y)o(ou)f Fh(want)17 b Fo(to)c(customize)g(the)g(b)q(eha)o
+(vior)g(of)f Fm(Pcb)h Fo(then)75 547 y(c)o(hanging)j(the)f(resource)g
+(\014le)h(is)g(usually)h(the)e(b)q(est)g(w)o(a)o(y)g(to)f(do)h(it.)137
+617 y(Get)21 b(y)o(ourself)h(a)f(prin)o(tout)g(of)g(this)h(c)o(hapter)g
+(and)f Fh(User)h(Commands)p Fo(,)g(if)g(y)o(ou)f(ha)o(v)o(en't)g
+(already)75 672 y(done)16 b(so,)f(and)h(follo)o(w)g(the)g(examples.)22
+b(An)16 b(example)h(la)o(y)o(out)e(ma)o(y)g(b)q(e)h(found)g(in)h(`)p
+Fm(example/68HC11)p Fo('.)75 726 y(An)f(example)g(illustrating)g(some)f
+(v)o(ersion)h(1.5)e(features)h(is)g(found)h(in)g(`)p
+Fm(example/LED)p Fo(')d(along)i(with)h(its)75 781 y(corresp)q(onding)g
+(netlist)g(\014le)h(`)p Fm(example/LED.NET)p Fo('.)137
+851 y(Start)h Fm(Pcb)g Fo(\(the)h(actual)f(command)h(will)h(use)f(all)h
+(lo)o(w)o(er-case)e(letters\))h(without)f(an)o(y)h(additional)75
+906 y(options.)h(If)15 b(y)o(ou)g(get)g(the)g(error)g(message:)256
+972 y(can't)f(\014nd)i(default)g(fon)o(t-sym)o(b)q(ol-\014le)g
+('default)p 1088 972 14 2 v 17 w(fon)o(t')75 1096 y(then)g(the)f(fon)o
+(t)f(searc)o(hpath)h(or)g(\014lename)h(in)g(the)f(application)i
+(resource)75 1151 y(\014le)g(is)g(wrong.)k(Be)16 b(sure)h(that)e(y)o
+(our)g Fm(m4)h Fo(program)f(supp)q(orts)h(searc)o(hpaths.)22
+b(If)16 b(not,)f(get)h Fm(GNU)f(m4)p Fo(.)22 b(F)l(or)75
+1206 y(other)d(messages,)f(see)i(Section)f(A.2)g([problems],)g(page)g
+(53.)30 b(Another)19 b(quic)o(k-start)g(is)g(pro)o(vided)h(b)o(y)75
+1261 y Fm(pcbtest.sh)14 b Fo(in)i(the)f(`)p Fm(src)p
+Fo(')f(directory)l(.)75 1395 y Fl(2.1)33 b(The)22 b(Application)i
+(Windo)n(w)137 1494 y Fo(The)18 b(main)f(windo)o(w)g(consists)h(of)e
+(\014v)o(e)h(areas:)23 b(the)17 b(men)o(u)h(at)e(the)h(top,)g(the)g
+(con)o(trol)g(panel)h(in)g(the)75 1549 y(upp)q(er)g(left)g(corner,)f
+(the)g(mo)q(de)h(buttons)f(lo)q(cated)g(b)q(elo)o(w)h(the)f(con)o(trol)
+g(panel,)i(the)e(dra)o(wing)g(area)g(to)75 1603 y(the)e(righ)o(t)g(of)g
+(these,)g(and)g(the)h(status)e(line)j(at)d(the)i(b)q(ottom)e(of)h(the)g
+(windo)o(w.)75 1720 y Fg(2.1.1)30 b(The)20 b(Status-line)h(and)g
+(Input-\014eld)137 1819 y Fo(The)i(status-line)g(is)f(lo)q(cated)h(at)e
+(the)i(b)q(ottom)e(edge)h(of)g(the)g(main)h(windo)o(w.)41
+b(During)22 b(normal)75 1873 y(op)q(eration)15 b(the)g(status)f
+(information)h(is)g(visible)i(there.)j(When)15 b(a)g(selected)h(men)o
+(u)f(op)q(eration)g(requires)75 1928 y(an)h(additional)i(button)f(clic)
+o(k,)h(the)e(status-line)i(is)f(replaced)h(b)o(y)e(a)g(message)h
+(telling)h(y)o(ou)e(to)g(p)q(osition)75 1983 y(the)21
+b(cursor)g(and)g(clic)o(k.)39 b(When)22 b(a)f(text)f(input)i(is)g
+(required,)h(the)f(status-line)g(is)f(replaced)i(b)o(y)e(the)75
+2038 y(Input-\014eld)c(whic)o(h)g(has)e(a)f(prompt)h(for)g(the)g(t)o
+(yp)q(ed)h(input.)137 2107 y(The)21 b(status-line)g(sho)o(ws,)f(from)f
+(left)i(to)e(righ)o(t,)i(the)f(side)h(of)f(the)g(b)q(oard)g(that)f(y)o
+(ou)h(are)g(viewing)75 2162 y(\()p Fm(<)p Fh(Key)p Fm(>)p
+Fh(T)m(ab)d Fo(c)o(hanges)e(this\),)g(if)h(an)g(absolute)f(\(abs\))g
+(or)g(relativ)o(e)h(\(rel\))f(grid)h(is)g(used,)g(if)g(new)f(lines)i
+(are)75 2217 y(restricted)g(to)f(45)g(degrees,)g(whic)o(h)i(t)o(yp)q(e)
+e(of)h(45)e(degree)i(line)i(mo)q(de)d(is)h(activ)o(e,)g(whether)g(rubb)
+q(erband)75 2272 y(mo)o(v)o(e)h(and)h(rotate)e(mo)q(de)i(is)g(on)g
+(\(R\),)e(the)i(curren)o(t)f(grid)h(v)m(alues,)h(and)f(the)g(zo)q(om)f
+(factor.)30 b(This)19 b(in-)75 2326 y(formation)e(is)h(follo)o(w)o(ed)g
+(b)o(y)g(the)f(line-width,)k(via-size)e(and)f(drilling)i(hole)e(in)h
+(mil,)g(text)e(scaling,)i(the)75 2381 y(activ)o(e)f(bu\013er)g(n)o(um)o
+(b)q(er)g(and)g(the)g(name)g(of)g(the)g(la)o(y)o(out.)27
+b(An)19 b(asterisk)e(app)q(earing)i(at)e(the)h(left)h(edge)75
+2436 y(indicates)c(the)e(la)o(y)o(out)g(has)g(b)q(een)h(mo)q(di\014ed)g
+(since)h(the)e(last)g(sa)o(v)o(e.)19 b(Note)13 b(that)f(the)h(name)g
+(of)g(the)h(la)o(y)o(out)75 2491 y(is)i(not)f(the)g(same)g(thing)g(as)g
+(the)g(\014lename)i(of)e(the)g(la)o(y)o(out.)137 2560
+y(The)d(input-\014eld)j(p)q(ops)d(up)g(\(temp)q(orarily)g(replacing)h
+(the)f(status-line\))h(whenev)o(er)f(user)g(input)h(is)f(re-)75
+2615 y(quired.)20 b(Tw)o(o)11 b(k)o(eys)g(are)h(b)q(ound)h(to)e(the)h
+(input)h(\014eld:)19 b Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)14
+b Fo(ab)q(orts)d(the)h(input,)h Fm(<)p Fh(Key)p Fm(>)p
+Fh(R)n(eturn)75 2670 y Fo(\014nishes)k(it.)p eop
+%%Page: 10 11
+10 10 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(10)137 149 y(The)17 b(presen)o(t)f(cursor)g(p)q(osition)i(is)e
+(displa)o(y)o(ed)i(in)f(the)g(upp)q(er)g(righ)o(t)f(corner)g(of)g(the)h
+(windo)o(w.)23 b(Nor-)75 204 y(mally)18 b(this)g(p)q(osition)g(is)g(an)
+g(absolute)f(co)q(ordinate,)h(but)g(with)g(v)o(ersion)f(1.5)g(of)g
+Fm(Pcb)g Fo(y)o(ou)g(can)g(anc)o(hor)75 259 y(a)e(mark)o(er)f(at)h(the)
+g(curren)o(t)g(cursor)g(lo)q(cation)h(b)o(y)f(pressing)h
+Fh(Ctrl)p Fm(<)p Fh(Key)p Fm(>)p Fh(m)i Fo(then)e(the)f(displa)o(y)h
+(will)h(read)75 314 y(b)q(oth)c(the)f(absolute)h(cursor)f(p)q(osition)h
+(as)f(w)o(ell)i(as)e(the)g(di\013erence)i(b)q(et)o(w)o(een)e(it)h(and)g
+(the)f(mark)o(er.)18 b(Press-)75 369 y(ing)e Fh(Ctrl)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(m)i Fo(again)d(turns)g(the)g(mark)o(er)f
+(o\013.)75 478 y Fg(2.1.2)30 b(The)20 b(Con)n(trol)h(P)n(anel)137
+573 y Fo(The)16 b(con)o(trol)f(panel,)h(lo)q(cated)g(at)e(the)i(left)f
+(side)i(of)e(the)g(windo)o(w,)g(is)h(used)g(to)e(turn)i(on)f(and)g
+(o\013)g(the)75 628 y(displa)o(y)g(of)e(la)o(y)o(er)h(groups)f(and)h
+(to)f(select)i(the)e(activ)o(e)h(dra)o(wing)g(la)o(y)o(er.)19
+b(If)14 b(a)g(la)o(y)o(er)f(hasn't)g(b)q(een)i(named,)75
+683 y(the)g(lab)q(el)i Fm(")p Fh(\(unknown\))r Fm(")c
+Fo(is)j(used)g(as)f(the)g(defualt.)137 749 y(The)g(upp)q(er)h(con)o
+(trol)e(b)q(o)o(x)h(is)g(used)g(to)f(switc)o(h)h(la)o(y)o(ers)g(on)f
+(and)h(o\013.)k(Clic)o(k)d Fm(<)p Fh(Btn1Down)p Fm(>)e
+Fo(on)h(one)f(or)75 804 y(more)h(of)h(them.)22 b(Eac)o(h)15
+b(clic)o(k)i(toggles)f(the)g(setting.)22 b(The)16 b(curren)o(tly)g
+(activ)o(e)g(la)o(y)o(er)g(can't)f(b)q(e)h(switc)o(hed)75
+859 y(o\013.)34 b(The)21 b(la)o(y)o(out)e(is)i(refreshed)g(when)f(the)h
+(p)q(oin)o(ter)g(reen)o(ters)f(the)g(dra)o(wing)g(area.)34
+b(This)21 b(prev)o(en)o(ts)75 914 y(excessiv)o(e)e(redra)o(wing)g(when)
+f(the)h(visibilit)o(y)i(of)d(sev)o(eral)g(la)o(y)o(ers)g(is)h(c)o
+(hanged.)30 b(When)19 b(the)f(la)o(y)o(ers)g(are)75 969
+y(group)q(ed,)i(clic)o(king)g(on)f(these)g(\014elds)h(will)g(toggle)e
+(the)h(visibili)q(t)o(y)i(of)d(all)h(la)o(y)o(ers)g(in)g(the)g(same)g
+(group.)75 1023 y(This)f(is)f(a)g(go)q(o)q(d)f(idea)i(b)q(ecause)g(la)o
+(y)o(ers)f(in)h(the)f(same)f(group)h(reside)h(on)f(the)g(same)f(ph)o
+(ysical)j(la)o(y)o(er)d(of)75 1078 y(the)d(actual)g(b)q(oard.)19
+b(Use)13 b(the)g(`)p Fm(Edit)h(layer)h(groups)p Fo(')d(option)h(in)g
+(the)g(`)p Fm(Objects)p Fo(')e(men)o(u)j(to)e(c)o(hange)h(the)75
+1133 y(la)o(y)o(er)h(groupings.)20 b(Grouping)14 b(la)o(y)o(ers)g(is)g
+(only)h(useful)g(for)e(helping)j(y)o(ou)e(to)f(color-co)q(de)i(signals)
+g(in)f(y)o(our)75 1188 y(la)o(y)o(out.)24 b(Note)16 b(that)g(grouping)h
+(la)o(y)o(ers)g(actually)g(reduces)h(the)f(n)o(um)o(b)q(er)g(of)f
+(di\013eren)o(t)h(ph)o(ysical)h(la)o(y)o(ers)75 1242
+y(a)o(v)m(ailable)f(for)d(y)o(our)h(b)q(oard,)g(th)o(us)g(to)f(mak)o(e)
+h(an)g(eigh)o(t)h(la)o(y)o(er)f(b)q(oard,)f(y)o(ou)h(cannot)g(group)g
+(an)o(y)g(la)o(y)o(ers.)137 1309 y Fh(far)g(side)h Fo(turns)d(on)h(and)
+f(o\013)f(the)i(visibilit)o(y)i(of)c(elemen)o(ts)i(\(including)i(SMD)d
+(pads\))g(on)g(the)g(opp)q(osite)75 1364 y(b)q(oard)j(side,)h(as)e(w)o
+(ell)i(as)f(silk)h(screening)g(on)f(that)f(side.)23 b(It)16
+b(do)q(es)g(not)g(automatically)g(hide)i(the)e(x-ra)o(y)75
+1418 y(view)g(of)f(the)g(other)g(copp)q(er)h(la)o(y)o(ers,)e(these)i(m)
+o(ust)f(b)q(e)h(turned)f(o\013)g(separately)g(if)h(desired.)21
+b(Use)15 b(the)h Fh(tab)75 1473 y Fo(k)o(ey)d(to)g(view)i(the)e(en)o
+(tire)h(b)q(oard)g(from)f(the)h(other)f(side.)20 b(T)l(o)13
+b(see)h(a)g(view)g(of)f(what)g(the)h(bac)o(k)f(side)i(of)e(the)75
+1528 y(b)q(oard)i(will)h(actually)g(lo)q(ok)f(lik)o(e,)g(mak)o(e)g(the)
+f(solder)i(la)o(y)o(er)e(the)h(activ)o(e)g(la)o(y)o(er)f(then)h(press)g
+Fh(tab)j Fo(un)o(til)e(the)75 1583 y(status)f(line)j(sa)o(ys)e
+Fm(")p Fo(solder)p Fm(")g Fo(on)h(the)f(righ)o(t,)g(then)h(turn)f
+(o\013)f(the)i(visibilit)o(y)i(of)c(all)j(other)d(la)o(y)o(ers)h
+(except)75 1638 y(pins/pads,)g(vias,)f(and)g(silk.)137
+1704 y(The)23 b(lo)o(w)o(er)g(con)o(trol)f(men)o(u,)j(named)e
+Fh(active)p Fo(,)h(is)g(used)f(to)f(c)o(hange)h(the)g(activ)o(e)g(dra)o
+(wing)g(la)o(y)o(er.)75 1759 y Fm(<)p Fh(Btn1Down)p Fm(>)16
+b Fo(p)q(ops)g(up)h(a)e(men)o(u)i(to)e(select)i(a)f(one.)22
+b(Eac)o(h)16 b(en)o(try)g(is)g(lab)q(eled)i(with)e(the)h(la)o(y)o(er's)
+e(name)75 1814 y(and)f(dra)o(wn)g(in)h(its)f(color.)19
+b(The)c(new)f(dra)o(wing)g(la)o(y)o(er)g(is)g(automatically)h(made)f
+(visible.)22 b(T)l(ry)13 b(c)o(hanging)75 1868 y(the)19
+b(activ)o(e)g(la)o(y)o(er's)f(name)h(to)f Fh(ABC)25 b
+Fo(b)o(y)19 b(selecting)h(`)p Fm(set)14 b(name)h(of)g(layer)p
+Fo(')j(from)g(the)h(`)p Fm(File)p Fo(')e(men)o(u.)75
+1923 y(Changing)f(the)f(activ)o(e)g(la)o(y)o(er)g(also)g(is)h(a)o(v)m
+(ailable)h(with)e Fm(<)p Fh(Key)p Fm(>)p Fh(1..8)p Fo(.)75
+2033 y Fg(2.1.3)30 b(The)20 b(Mo)r(de)g(Selectors)137
+2128 y Fo(The)d(mo)q(de)g(selector)g(buttons)f(reside)i(b)q(elo)o(w)f
+(the)g(con)o(trol)f(panel.)25 b(They)17 b(are)f(used)i(to)d(select)j
+(the)75 2183 y(op)q(eration)f(mo)q(de)h(of)e Fm(Pcb)p
+Fo(.)25 b(A)17 b(mo)q(de)g(can)h(b)q(e)f(though)o(t)g(of)f(as)h(a)f(to)
+q(ol)h(that)g(gets)f(used)i(when)f Fm(<)p Fh(Btn1)p Fm(>)75
+2238 y Fo(is)f(pressed.)k(Eac)o(h)15 b(mo)q(de)g(causes)h(the)f(cursor)
+g(to)f(tak)o(e)h(on)g(a)g(unique)h(shap)q(e)g(that)e(iden)o(ti\014es)j
+(the)e(to)q(ol.)75 2292 y(The)k(buttons)g(themselv)o(es)g(are)g(icons)g
+(that)g(illustrate)h(their)f(function.)32 b(The)19 b(dra)o(wing)g(mo)q
+(des)g(can)75 2347 y(also)c(b)q(e)h(selected)g(from)f(the)g(k)o(eyb)q
+(oard:)290 2411 y Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)74
+b Fm(reset)23 b(mode)290 2462 y(<)p Fh(Key)p Fm(>)p Fh(F1)173
+b Fm(via-mode)290 2514 y(<)p Fh(Key)p Fm(>)p Fh(F2)g
+Fm(line-mode)290 2566 y(<)p Fh(Key)p Fm(>)p Fh(F3)g Fm
+(pastebuffer-mode)290 2618 y(<)p Fh(Key)p Fm(>)p Fh(F4)g
+Fm(rectangle-mode)290 2670 y(<)p Fh(Key)p Fm(>)p Fh(F5)g
+Fm(text-mode)p eop
+%%Page: 11 12
+11 11 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(11)290 149 y Fm(<)p Fh(Key)p Fm(>)p Fh(F6)173 b Fm(polygon-mode)290
+201 y(<)p Fh(Key)p Fm(>)p Fh(Insert)75 b Fm(insert-point-mode)290
+253 y(<)p Fh(Key)p Fm(>)p Fh(F7)173 b Fm(thermal-mode)290
+305 y(<)p Fh(Key)p Fm(>)p Fh(F8)g Fm(arc-mode)137 376
+y Fo(The)16 b Fm(<)p Fh(Key)p Fm(>)p Fh(Sp)n(ac)n(e)h
+Fo(cycles)f(through)f(all)h(of)f(the)g(mo)q(des)h(in)g(the)f(mo)q(de)h
+(button)f(palette.)137 446 y(Reset-mo)q(de)21 b(is)h(really)f(no)g(mo)q
+(de,)i(and)e Fm(<)p Fh(Btn1)p Fm(>)f Fo(has)h(no)g(e\013ect)g(with)g
+(this)g(setting.)37 b(Some)21 b(of)75 501 y(the)g(mo)q(des)h(are)e(v)o
+(ery)h(simple,)j(suc)o(h)d(as)g(the)g(via-mo)q(de.)39
+b(Clic)o(king)23 b Fm(<)p Fh(Btn1)p Fm(>)d Fo(while)j(in)f(this)g(mo)q
+(de)75 556 y(creates)16 b(a)g(via)g(at)g(the)g(cross-hair)g(p)q
+(osition.)24 b(The)17 b(pastebu\013er-mo)q(de)f(is)h(similar.)24
+b(With)16 b(this)h(mo)q(de,)75 611 y Fm(<)p Fh(Btn1)p
+Fm(>)i Fo(copies)i(the)f(con)o(ten)o(ts)g(of)f(the)h(activ)o(e)g
+(bu\013er)g(to)f(the)h(la)o(y)o(out,)g(but)g(only)h(those)e(parts)h
+(that)75 666 y(reside)15 b(on)g(visible)h(la)o(y)o(ers)f(are)f(copied.)
+21 b(The)14 b(rotate-mo)q(de)g(allo)o(ws)h(y)o(ou)f(to)f(rotate)h
+(elemen)o(ts)h(and)f(text)75 720 y(ob)s(jects)i(90)g(degrees)h(coun)o
+(ter-clo)q(c)o(kwise)h(with)f(eac)o(h)g(clic)o(k.)26
+b(The)17 b(line-mo)q(de)h(is)g(explained)g(in)g(detail)75
+775 y(in)g(Section)g(1.5)e([Line)i(Ob)s(jects],)e(page)h(6.)25
+b(The)17 b(arc-mo)q(de)g(is)g(explained)i(in)f(detainl)g(in)g(Section)g
+(1.6)75 830 y([Arc)e(Ob)s(jects],)f(page)h(6.)21 b(Rectangle-mo)q(de,)
+16 b(p)q(olygon-mo)q(de)h(and)f(thermal-mo)q(de)h(are)e(explained)j(in)
+75 885 y(detail)d(in)f(Section)g(1.7)f([P)o(olygon)f(Ob)s(jects],)h
+(page)h(7.)19 b(Remem)o(b)q(er)13 b(that)g(the)g(thermal-mo)q(de)h
+(will)h(only)75 940 y(create)g(and)g(destro)o(y)g(thermals)g(to)g(p)q
+(olygons)g(on)g(the)h(activ)o(e)f(la)o(y)o(er.)137 1010
+y(The)22 b(insert-p)q(oin)o(t-mo)q(de)h(is)f(an)f(editing)i(to)q(ol)e
+(that)g(allo)o(ws)h(y)o(ou)f(to)g(add)g(p)q(oin)o(ts)h(in)o(to)f(lines)
+i(or)75 1065 y(p)q(olygons.)i(With)17 b(v)o(ersion)f(1.5)g(of)g
+Fm(Pcb)p Fo(,)h(the)f(insert-p)q(oin)o(t-mo)q(de)j(enforces)d(the)h(45)
+f(degree)h(line)h(rule.)75 1120 y(Y)l(ou)h(can)f(force)g(only)h(the)g
+(shorter)e(line)j(segmen)o(t)e(to)g(45)g(degrees)h(b)o(y)f(holding)i
+(the)e(shift)h(k)o(ey)f(do)o(wn)75 1175 y(while)g(inserting)g(the)e(p)q
+(oin)o(t.)25 b(The)17 b(delete-mo)q(de)h(deletes)f(the)g(smallest)g(ob)
+s(ject)f(b)q(eneath)i(the)e(cursor)75 1229 y(with)g(eac)o(h)g
+Fm(<)p Fh(Btn1)p Fm(>)f Fo(clic)o(k.)22 b(If)16 b(y)o(ou)f(use)h(clic)o
+(k)h(at)e(an)g(end-p)q(oin)o(t)i(that)e(t)o(w)o(o)f(lines)j(ha)o(v)o(e)
+e(in)i(common,)e(it)75 1284 y(will)h(replace)f(the)f(t)o(w)o(o)e(lines)
+k(with)e(a)g(single)h(line)h(spanning)f(the)f(t)o(w)o(o)f(remaining)i
+(p)q(oin)o(ts.)20 b(This)14 b(can)g(b)q(e)75 1339 y(used)i(to)e(delete)
+j(an)e Fm(")p Fo(inserted)p Fm(")h Fo(p)q(oin)o(t)f(in)h(a)f(line,)i
+(restoring)e(the)g(previous)h(line.)75 1458 y Fg(2.1.4)30
+b(Dra)n(wing)21 b(Area)137 1558 y Fo(The)14 b(dra)o(wing)f(area)g(is)h
+(made)f(from)g(a)g(viewp)q(ort)h(widget)f(that)g(also)g(includes)j(t)o
+(w)o(o)c(scrollbars.)20 b(The)75 1612 y(cursor)15 b(c)o(hanges)g(shap)q
+(e)g(dep)q(ending)i(on)e(the)g(curren)o(t)g(op)q(eration)g(mo)q(de)g
+(when)h(the)f(p)q(oin)o(ter)g(is)g(mo)o(v)o(ed)75 1667
+y(in)o(to)f(the)h(dra)o(wing)f(area.)19 b(A)c(crosshair)f(follo)o(ws)g
+(the)h(X11)f(p)q(oin)o(ter)h(with)f(resp)q(ect)h(to)f(the)h(grid)f
+(setting.)75 1722 y(Mo)o(v)o(e)k(around)h(and)g(w)o(atc)o(h)f(the)i
+(cursor)e(p)q(osition)i(displa)o(y)o(ed)h(in)e(the)h(upp)q(er)g(righ)o
+(t)e(of)h(the)g(windo)o(w.)75 1777 y(No)o(w)14 b(select)i(a)e(new)h
+(grid)g(from)f(the)h Fh(Display)k Fo(men)o(u.)h(The)15
+b(new)g(v)m(alue)h(is)f(up)q(dated)h(in)g(the)e(statusline.)75
+1832 y(No)o(w)d(mo)o(v)o(e)h(again)g(and)g(w)o(atc)o(h)g(the)g
+(di\013erence.)20 b(A)12 b(di\013eren)o(t)g(w)o(a)o(y)g(to)f(c)o(hange)
+h(the)h(grid)f(is)h Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p
+Fh(g)75 1886 y Fo(to)k(decrease)g(or)g Fm(<)p Fh(Key)p
+Fm(>)p Fh(g)k Fo(to)c(increase)h(it.)26 b(The)18 b(grid)g(setting)f(is)
+h(sa)o(v)o(ed)e(along)i(with)f(the)h(data)e(when)75 1941
+y(y)o(ou)i(sa)o(v)o(e)g(a)g(p)q(cb)h(la)o(y)o(out.)28
+b(F)l(or)18 b(homemade)g(la)o(y)o(outs)g(a)g(v)m(alue)i(around)e(50)g
+(is)g(a)g(go)q(o)q(d)g(setting.)30 b(The)75 1996 y(cursor)13
+b(also)h(ma)o(y)f(b)q(e)h(mo)o(v)o(ed)f(with)h(the)g(cursor)f(k)o(eys)g
+(or,)g(for)g(larger)h(distances,)g(b)o(y)f(pressing)i(the)e
+Fh(shift)75 2051 y Fo(mo)q(di\014er)j(together)f(with)g(a)g(cursor)g(k)
+o(ey)l(.)75 2170 y Fg(2.1.5)30 b(Men)n(u)137 2269 y Fo(The)22
+b(men)o(us)g(are)g(lo)q(cated)g(at)g(the)g(top)f(of)g(the)h(dra)o(wing)
+g(area.)39 b(Most,)22 b(but)g(not)g(all,)i(of)d(their)75
+2324 y(functions)c(are)f(also)g(a)o(v)m(ailable)i(from)d(the)i(k)o(eyb)
+q(oard.)23 b(Some)16 b(of)g(the)g(en)o(tries)g(suc)o(h)h(as)f
+Fh(c)n(enter)k Fo(require)75 2379 y(a)c(certain)g(cursor)g(p)q
+(osition.)24 b(In)17 b(this)f(case)h(a)e(statusline)j(will)f(p)q(opup)g
+(at)f(the)g(b)q(ottom)g(with)g(w)o(ording)75 2434 y(similar)g(to)f(the)
+g(follo)o(wing:)256 2501 y(mo)o(v)o(e)f(p)q(oin)o(ter)i(to)e(the)i
+(appropriate)f(screen)h(p)q(osition)g(and)f(press)g(a)g(button)137
+2572 y(An)o(y)i(mouse)h(button)f(will)h(do)g(the)f(job,)g(whereas)g(an)
+o(y)g(k)o(ey)g(except)h(the)f(cursor)g(k)o(eys)g(will)i(cancel)75
+2627 y(the)c(op)q(eration.)20 b(F)l(or)15 b(details)h(see)g(Section)g
+(5.2)e([Actions],)g(page)i(35.)p eop
+%%Page: 12 13
+12 12 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(12)75 149 y(`)p Fm(About)p Fo(')94 b(There)16 b(is)h(no)f(men)o(u)h
+(hiding)h(b)q(ehind)g(this)f(button,)f(but)g(a)g(small)h(information)f
+(b)q(o)o(x)g(will)315 204 y(p)q(op)g(up.)75 289 y(`)p
+Fm(File)p Fo(')118 b(This)11 b(men)o(u)g(o\013ers)f(a)h(c)o(hoice)h(of)
+e(loading,)i(sa)o(ving)f(and)g(prin)o(ting)h(data,)e(sa)o(ving)h
+(connection)315 344 y(information)22 b(to)f(a)g(\014le)i(or)e(quitting)
+i(the)e(application.)42 b(Y)l(ou)21 b(also)h(ma)o(y)f(c)o(hange)h(the)
+315 399 y(la)o(y)o(out's)c(or)h(the)g(activ)o(e)h(la)o(y)o(er's)e
+(name.)32 b(Selecting)21 b Fh(print)f(layout)k Fo(p)q(ops)c(up)g(a)f
+(prin)o(ter)315 453 y(con)o(trol)d(dialog)h(whic)o(h)h(is,)f(hop)q
+(efully)l(,)i(self)e(explaining.)26 b(This)17 b(b)q(o)o(x)g(con)o
+(tains)f(a)h(panner)315 508 y(widget)23 b(\(only)f Fm(X11R5)g
+Fo(and)h(later\))f(whic)o(h)h(simpli\014es)i(adjusting)e(the)f
+(o\013sets.)41 b(With)315 563 y(earlier)20 b(releases)g(the)g(prin)o
+(tout)f(will)i(alw)o(a)o(ys)d(app)q(ear)i(in)g(the)f(upp)q(er)i(left)e
+(corner)h(with)315 618 y(resp)q(ect)c(to)e(the)i(media)f(margins.)315
+687 y(A)k(selection)h(of)e(sev)o(eral)g(device)i(driv)o(ers)f(is)g(a)o
+(v)m(ailable)i(from)c(the)i(prin)o(ter)g(con)o(trol)f(dia-)315
+742 y(log.)h(Presen)o(tly)11 b Fh(PostScript)p Fo(,)h
+Fh(enc)n(apsulate)n(d)g(PostScript)p Fo(,)f(and)h Fh(Gerb)n(erX)18
+b Fo(are)11 b(supp)q(orted.)315 797 y Fh(Gerb)n(erD)21
+b Fo(supp)q(ort)16 b(ma)o(y)f(b)q(e)i(forthcoming.)22
+b(It)17 b(requires)g(a)e(rastering)h(engine)i(that)d(p)q(cb)315
+852 y(presen)o(tly)h(lac)o(ks.)75 936 y(`)p Fm(Display)p
+Fo(')46 b(The)13 b(displa)o(y)h(men)o(u)g(supp)q(orts)f(the)g(most)f
+(needed)i(functions)g(related)g(to)e(screen)i(output.)315
+991 y(The)e(en)o(tries)g(are)g(used)g(to)f(c)o(hange)h(the)g(grid)g(to)
+f(some)g(p)q(opular)i(v)m(alues,)g(the)f(zo)q(om)f(factor,)315
+1046 y(the)16 b(displa)o(y)o(ed)i(elemen)o(t)f(name)g(and)f(also)h(are)
+f(used)h(to)e(cen)o(ter)i(or)f(refresh)g(the)h(output.)315
+1101 y(Y)l(ou)e(also)g(ma)o(y)g(switc)o(h)g(grid-displa)o(ying)j(on)d
+(or)f(o\013)g(and)i(select)g(b)q(et)o(w)o(een)f(absolute)h(grid)315
+1156 y(\(origin)f(at)f(\(0,0\)\))e(or)i(relativ)o(e)h(grid)g(\(origin)g
+(at)f(the)h(p)q(osition)g(where)g(the)g(grid)f(has)h(b)q(een)315
+1210 y(c)o(hanged\).)30 b(The)18 b(relativ)o(e)h(grid)g(p)q(osition)h
+(is)f(no)o(w)e(established)k(at)c(the)i(actual)f(p)q(oin)o(ter)315
+1265 y(p)q(osition,)f(NOT)f(necessarily)i(the)e(same)g(as)g(the)g
+(crosshair)g(p)q(osition.)24 b(This)17 b(allo)o(ws)f(y)o(ou)315
+1320 y(to)k(shift)h(the)g(grid)g(without)f(c)o(hanging)h(the)g(grid)g
+(spacing.)37 b(I)20 b(recommend)h(that)f(y)o(ou)315 1375
+y(zo)q(om)e(in)h(as)f(close)h(as)f(p)q(ossible)j(b)q(efore)d(setting)h
+(a)f(relativ)o(e)h(grid)f(so)g(that)g(y)o(ou're)g(sure)315
+1430 y(the)c(grid)g(lines)h(fall)g(where)f(y)o(ou)g(w)o(an)o(t.)k(The)c
+(clipping)i(to)e(45-degree)f(lines)j(is)e(selected)h(in)315
+1484 y(this)h(men)o(u,)f(as)g(w)o(ell)h(as)f(enabling)h(rubb)q(erband)h
+(mo)q(de)e(\(see)g(description)i(of)e Fh(Mo)n(de)s Fo(\).)75
+1569 y(`)p Fm(Sizes)p Fo(')94 b(This)16 b(men)o(u)h(allo)o(ws)f(y)o(ou)
+f(to)g(select)i(a)e(group)h(of)f(line)j(thic)o(kness,)e(via)g(diameter)
+h(and)f(via)315 1624 y(drill)21 b(size)f(\(collectiv)o(ely)h(called)g
+(a)e Fm(")p Fo(routing)g(st)o(yle)p Fm(")p Fo(\))g(to)f(b)q(e)i
+(coppied)g(to)f(the)g Fm(")p Fo(activ)o(e)p Fm(")315
+1679 y Fo(sizes.)34 b(Y)l(ou)20 b(can)g(also)g(c)o(hange)g(the)f(names)
+h(giv)o(en)g(to)f(these)h(st)o(yles)g(and)g(adjust)f(their)315
+1733 y(v)m(alues)e(from)f(this)h(men)o(u.)23 b(Y)l(ou)17
+b(can)f(also)h(edit)g(the)f Fm(")p Fo(activ)o(e)p Fm(")g
+Fo(sizes)i(\(the)e(initial)i(size)f(of)315 1788 y(new)c(vias,)g
+(drilling)j(holes,)d(lines,)i(text-ob)s(jects)d(and)h(the)g(curren)o(t)
+g(maxim)o(um)g(size)g(of)g(the)315 1843 y(la)o(y)o(out\))h(from)h(this)
+g(men)o(u.)75 1928 y(`)p Fm(Objects)p Fo(')46 b(Displa)o(ying)20
+b(the)f(pinout)g(of)f(an)h(elemen)o(t)g(and)g(c)o(hanging)g(its)g
+(names,)g(the)g(one)g(that)e(is)315 1983 y(curren)o(tly)12
+b(selected)h(b)o(y)e(the)h Fh(Display)j Fo(men)o(u,)d(as)g(w)o(ell)g
+(as)f(editing)i(a)e(text)g(ob)s(ject)g(is)h(o\013ered)315
+2037 y(b)o(y)18 b(this)h(men)o(u.)30 b(The)18 b(latter)g(t)o(w)o(o)f
+(selections)j(require)f(an)g(additional)g(p)q(oin)o(ter)g(button)315
+2092 y(clic)o(k)e(at)d(the)i(ob)s(ject's)e(p)q(osition.)22
+b(A)15 b(dialog)h(for)f(c)o(hanging)h(the)f(la)o(y)o(er)g(groupings)h
+(is)g(also)315 2147 y(reac)o(hed)g(from)e(this)i(men)o(u.)75
+2232 y(`)p Fm(Selection)p Fo(')315 2286 y(This)g(men)o(u)f(co)o(v)o
+(ers)g(most)f(of)h(the)h(op)q(erations)f(that)g(w)o(ork)f(with)i
+(selected)g(ob)s(jects.)k(Y)l(ou)315 2341 y(ma)o(y)13
+b(either)i(\(un\)select)f(all)h(visible)h(ob)s(jects)e(of)f(a)h(la)o(y)
+o(out)f(or)g(only)i(the)f(ones)g(whic)o(h)g(ha)o(v)o(e)315
+2396 y(b)q(een)h(found)g(b)o(y)f(the)h(last)f(connection)h(scan.)20
+b(The)14 b(mouse)h(can)f(also)g(b)q(e)h(used)g(to)f(c)o(hange)315
+2451 y(whic)o(h)20 b(things)f(are)f(and)h(are)g(not)f(selected:)28
+b(toggle)19 b(the)g(selection)h(of)e(a)g(single)j(ob)s(ject)315
+2506 y(b)o(y)e(pressing)h Fm(<)p Fh(Btn3Down)p Fm(>)f
+Fo(and)h(releasing)g(without)g(mo)o(ving)f(the)g(mouse.)33
+b(Pressing)315 2560 y Fh(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p
+Fm(>)p Fo(,)17 b(mo)o(ving)h(and)f(releasing)h(the)g(button)f(selects)h
+(all)g(visible)i(ob)s(jects)315 2615 y(inside)f(the)e(rectangle.)25
+b(Pressing)17 b(the)g(mo)q(di\014er)h(k)o(ey)f Fh(Shift)j
+Fo(to)q(o,)d(unselects)h(all)g(ob)s(jects)315 2670 y(in)e(the)g(area.)k
+(Y)l(ou)15 b(can)h(delete)g(all)h(selected)f(ob)s(jects)f(from)g(this)g
+(men)o(u,)h(and)f(also)h(mo)o(v)o(e)p eop
+%%Page: 13 14
+13 13 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(13)315 149 y(selected)15 b(text)e(ob)s(jects)h(to)f(the)h
+(silk-screen)h(la)o(y)o(er.)20 b(The)14 b(other)f(en)o(tries)h(c)o
+(hange)g(the)g(sizes)315 204 y(of)h(visible)i(and)f(selected)g(ob)s
+(jects.)75 285 y(`)p Fm(Buffer)p Fo(')70 b(This)17 b(men)o(u)f(handles)
+h(pastebu\013er)f(related)g(actions.)23 b(Y)l(ou)16 b(ma)o(y)g(select)g
+(one)h(out)e(of)h(\014v)o(e)315 340 y(\(p)q(er)j(viewing)i(side\))f
+(bu\013ers)f(to)g(use,)h(rotate)e(or)h(clear)h(its)g(con)o(ten)o(ts)e
+(and)i(paste)f(it)h(to)315 395 y(the)14 b(la)o(y)o(out.)19
+b(Y)l(ou)c(can)g(also)f(gather)g(ob)s(jects)f(in)j(the)e(bu\013er)g(in)
+o(to)h(an)f(elemen)o(t)h(de\014nition)315 450 y(from)f(this)i(men)o(u.)
+k(Note:)g(only)c(visible)h(ob)s(jects)d(are)h(pasted)h(to)e(the)h(la)o
+(y)o(out.)75 531 y(`)p Fm(Connections)p Fo(')315 586
+y(The)k(en)o(tries)f(a)o(v)m(ailable)i(through)e(the)h(connections)g
+(men)o(u)g(button)f(allo)o(w)h(the)f(user)h(to)315 641
+y(\014nd)h(connections)g(from)e(pins)j(or)d(vias)h(and)h(to)e
+(manipulate)j(these.)32 b(The)19 b(connection)315 695
+y(lists)g(ma)o(y)e(b)q(e)i(sa)o(v)o(ed)e(b)o(y)h(selecting)h(en)o
+(tries)g(from)e(the)h Fh(File)i Fo(men)o(u.)29 b(In)18
+b(man)o(y)g(cases)g(it)315 750 y(is)e(desireable)h(to)d(use)i(the)f
+(ratsnest)f(function)i(to)f(c)o(hec)o(k)g(connections)h(against)f(a)g
+(netlist)315 805 y(\014le)h(instead)g(of)f(using)h(the)f(connections)h
+(men)o(u)g(to)e(generate)h(text)g(connection)h(lists.)75
+886 y(`)p Fm(Undo)p Fo(')118 b(This)19 b(men)o(u)f(is)g(a)g(fron)o
+(tend)g(for)f(managing)h(the)g(rev)o(ersing)g(of)g(op)q(erations)g(suc)
+o(h)g(as)g(re-)315 941 y(mo)o(v)o(e,)e(cop)o(y)l(,)h(mo)o(v)o(e,)g
+(name)g(c)o(hanges,)g(etc.)25 b(The)17 b(n)o(um)o(b)q(er)g(of)g(op)q
+(erations)g(is)h(unlimited)315 996 y(\(dep)q(ending)g(on)e(memory\).)21
+b(The)16 b(list)g(is)h(cleared)g(if)f(new)g(la)o(y)o(out)f(data)h(is)g
+(loaded)h(or)e(b)o(y)315 1050 y(selecting)h(the)e(appropriate)h(en)o
+(try)f(from)g(this)g(men)o(u.)20 b(The)15 b(in)o(v)o(erse)g(op)q
+(eration,)f(redo,)g(is)315 1105 y(also)h(a)o(v)m(ailable.)75
+1186 y(`)p Fm(Report)p Fo(')70 b(This)16 b(men)o(u)f(allo)o(ws)h(y)o
+(ou)f(to)f(generate)h(a)g(dialog)h(that)f(summerizes)h(information)f
+(ab)q(out)315 1241 y(an)g(ob)s(ject)g(suc)o(h)g(as)g(sizes)h(and)g(co)q
+(ordinates.)k(Y)l(ou)15 b(can)h(also)f(get)f(a)h(rep)q(ort)g(ab)q(out)g
+(all)h(of)315 1296 y(the)f(drills)i(that)e(are)g(used)g(on)h(the)f(b)q
+(oard.)75 1455 y Fl(2.2)33 b(Log)22 b(Windo)n(w)137 1552
+y Fo(This)16 b(optional)g(windo)o(w)g(is)g(used)f(to)g(displa)o(y)i
+(all)f(kind)g(of)f(messages)g(including)j(the)e(ones)f(written)75
+1607 y(to)i Fh(stderr)23 b Fo(b)o(y)18 b(external)g(commands.)27
+b(The)18 b(main)g(adv)m(an)o(tage)g(is)g(that)f(its)h(con)o(ten)o(ts)f
+(are)g(sa)o(v)o(ed)h(in)g(a)75 1662 y(scrolling)e(list)f(un)o(til)h
+(the)f(program)e(exits.)20 b(Disabling)c(this)f(feature)f(b)o(y)h
+(setting)g(the)f(resource)h Fh(useL)n(o)n(g-)75 1717
+y(Window)21 b Fo(to)15 b Fh(false)j Fo(will)f(generate)e(p)q(opup)h
+(windo)o(ws)g(to)e(displa)o(y)j(messages.)j(The)15 b
+Fh(stderr)21 b Fo(of)15 b(external)75 1772 y(commands)k(will)i(app)q
+(ear)e(on)g Fm(Pcb)p Fo(s)g Fh(stderr)24 b Fo(whic)o(h)c(normally)g(is)
+g(the)f(paren)o(t)g(shell.)33 b(I)20 b(suggest)e(y)o(ou)75
+1826 y(iconify)d(the)f(windo)o(w)g(after)f(startup)g(for)g(example)i(b)
+o(y)e(setting)h Fh(*lo)n(g.ic)n(onic)h Fo(to)e Fh(true)p
+Fo(.)20 b(If)14 b Fh(r)n(aiseL)n(o)n(gWin-)75 1881 y(dow)20
+b Fo(is)15 b(set)f Fh(true)p Fo(,)h(the)g(windo)o(w)f(will)j(deiconify)
+f(and)e(raise)h(itself)h(whenev)o(er)f(new)f(messages)g(are)g(to)g(b)q
+(e)75 1936 y(displa)o(y)o(ed.)75 2068 y Fl(2.3)33 b(Library)25
+b(Windo)n(w)137 2166 y Fo(First)12 b(app)q(earing)h(in)g(1.4.1)e(the)i
+(library)g(windo)o(w)f(is)h(one)f(of)g(the)h(b)q(est)f(new)h(features)f
+(in)h(m)o(y)f(opinion.)75 2221 y(It)g(simpli\014es)j(loading)e
+(circuits)h(quiet)f(a)f(lot)g(just)g(b)o(y)h(selecting)g(the)g
+(appropriate)f(t)o(yp)q(e)h(from)e(the)i(men)o(u)75 2276
+y(at)h(the)g(top.)20 b(A)14 b(circuit)i(is)f(then)f(selected)i(b)o(y)f
+(simply)g(double-clic)o(ki)q(ng)i(on)d(the)h(text)f(line.)21
+b(F)l(or)14 b(details)75 2330 y(on)h(libraries)h(c)o(hec)o(k-out)f
+(Section)g(6.6)f([Library)h(File],)g(page)g(50)f(and)h(Section)g(6.5)f
+([Library)h(Con)o(ten)o(ts)75 2385 y(File],)h(page)f(50.)75
+2517 y Fl(2.4)33 b(Dra)n(wing)22 b(and)h(Remo)n(ving)g(Basic)f(Ob)t
+(jects)137 2615 y Fo(There)17 b(are)f(sev)o(eral)g(w)o(a)o(ys)f(of)h
+(creating)g(new)h(ob)s(jects:)k(y)o(ou)16 b(ma)o(y)f(dra)o(w)h(them)g
+(y)o(ourself,)g(y)o(ou)g(ma)o(y)75 2670 y(cop)o(y)i(an)g(existing)h(ob)
+s(ject)f(or)g(y)o(ou)g(ma)o(y)f(load)i(an)f(elemen)o(t)h(from)e(a)h
+(\014le)h(or)f(library)l(.)30 b(Creating)18 b(new)p eop
+%%Page: 14 15
+14 14 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(14)75 149 y(ob)s(jects)15 b(is)i(normally)g(related)f(to)g(a)g(sp)q
+(ecial)i(mo)q(de)e(dep)q(ending)i(on)e(the)h(ob)s(ject)e(t)o(yp)q(e.)23
+b(The)16 b(notation)75 204 y(of)f(k)o(ey)g(and)g(button)g(ev)o(en)o(ts)
+g(is)h(the)f(same)g(as)g(describ)q(ed)i(in)f(the)f(X11)g(In)o(trinsics)
+i(man)o(ual.)137 277 y(The)i(op)q(eration)g(mo)q(de)g(ma)o(y)f(b)q(e)h
+(selected)h(b)o(y)e(one)h(of)f(the)h(mo)q(de)g(selectors)g(in)g(the)g
+(b)q(ottom)f(left)75 332 y(corner,)13 b(b)o(y)f(one)h(of)f(the)h
+(function)g(k)o(eys)g(listed)g(earlier)h(in)f(this)g(c)o(hapter,)g(or)f
+(b)o(y)g(pressing)i(the)e(space)h(bar)75 387 y(to)j(cycle)h(through)g
+(the)f(mo)q(des.)24 b Fm(<)p Fh(Btn1Down)p Fm(>)16 b
+Fo(sends)h(a)g(notify)f(request)h(to)e(the)i(application)h(whic)o(h)75
+442 y(resp)q(onds)f(b)o(y)g(creating)g(or)f(c)o(hanging)h(the)g
+(appropriate)g(ob)s(ject)f(or)h(at)f(least)h(tak)o(es)f(the)g(\014rst)h
+(step)g(to)75 496 y(do)d(so.)k(Switc)o(hing)d(to)e(a)g(mo)q(de)h
+(causes)g(the)g(cursor)f(to)g(tak)o(e)g(on)g(a)h(unique)h(shap)q(e)f
+(and)g(also)f(causes)h(the)75 551 y(co)q(oresp)q(onding)k(mo)q(de)f
+(selector)f(button)h(to)f(b)q(e)h(dra)o(wn)f(with)h(thic)o(k)g(lines.)
+26 b(Y)l(ou)16 b(can)h(use)g(either)g(cue)75 606 y(to)e(see)g(whic)o(h)
+h(mo)q(de)g(is)f(curren)o(tly)h(selected.)137 679 y(Remo)o(ving)c(ob)s
+(jects)f(is)h(p)q(ossible)i(using)e Fm(<)p Fh(Key)p Fm(>)p
+Fh(BackSp)n(ac)n(e)j Fo(\(or)c Fm(<)p Fh(Key)p Fm(>)p
+Fh(Delete)j Fo(on)e(some)g(mac)o(hines\))75 734 y(whic)o(h)18
+b(deletes)g(the)f(ob)s(ject)g(at)f(the)i(cursor)f(lo)q(cation.)26
+b(If)17 b(more)g(than)g(one)g(ob)s(ject)g(is)h(lo)q(cated)f(at)g(the)75
+789 y(same)k(p)q(osition,)j(the)d(smallest)h(matc)o(hing)f(t)o(yp)q(e)h
+(will)h(b)q(e)f(c)o(hosen.)38 b(If)22 b(t)o(w)o(o)e(or)h(more)g(of)g
+(the)g(same)75 844 y(t)o(yp)q(e)d(are)f(the)h(smallest)g(at)f(the)h(p)q
+(osition,)h(then)f(the)g(new)o(est)g(one)f(will)j(b)q(e)e(deleted.)29
+b(Y)l(ou)18 b(also)g(ma)o(y)75 898 y(c)o(hange)e(to)g
+Fh(r)n(emove-mo)n(de)k Fo(and)c(clic)o(k)i Fm(<)p Fh(Btn1Down)p
+Fm(>)e Fo(at)g(the)g(lo)q(cation)h(of)f(the)g(ob)s(jects)g(whic)o(h)h
+(are)f(to)75 953 y(b)q(e)k(remo)o(v)o(ed.)33 b(If)20
+b(y)o(ou)f Fm(")p Fo(remo)o(v)o(e)p Fm(")g Fo(the)h(end-p)q(oin)o(t)h
+(where)e(t)o(w)o(o)g(lines)i(connect,)g(it)f(will)h(remo)o(v)o(e)e(the)
+75 1008 y(p)q(oin)o(t)d(of)e(connection)j(lea)o(ving)f(a)f(single)h
+(line)h(that)e(spans)g(the)g(far)g(end)g(p)q(oin)o(ts.)137
+1081 y(Rotating)i(w)o(orks)h(in)h(a)f(similar)h(fashion.)30
+b(Change)18 b(the)h(mo)q(de)f(and)h(press)f Fm(<)p Fh(Btn1Down)p
+Fm(>)g Fo(at)g(the)75 1136 y(ob)s(ject's)k(lo)q(cation.)42
+b(Remem)o(b)q(er)23 b(only)g(text,)g(elemen)o(ts)h(and)e(arcs)h(can)f
+(b)q(e)i(rotated.)41 b(\(An)o(ything)75 1191 y(including)23
+b(groups)c(of)g(ob)s(jects)g(ma)o(y)g(b)q(e)i(rotated)d(inside)k(a)d
+(bu\013er)h(using)h(the)e(rotate)g(bu\013er)h(men)o(u)75
+1245 y(option.\))137 1318 y(Insert)h(mo)q(de)f(pro)o(vides)g(the)g
+(capabilit)o(y)i(of)d(inserting)i(new)g(p)q(oin)o(ts)f(in)o(to)g
+(existing)h(p)q(olygons)f(or)75 1373 y(lines.)25 b(The)17
+b(45)f(degree)g(line)j(clipping)g(is)d(no)o(w)g(enforced)h(when)g
+(selected.)25 b(Press)16 b(and)h(hold)g(the)g(shift)75
+1428 y(k)o(ey)f(while)i(p)q(ositioning)g(the)f(new)f(p)q(oin)o(t)h(to)f
+(only)h(clip)h(the)e(line)i(segmen)o(t)e(to)g(the)h(nearer)f(of)g(the)g
+(t)o(w)o(o)75 1483 y(existing)g(p)q(oin)o(ts)f(to)f(45)g(degrees.)20
+b(Y)l(ou)15 b(can)g(also)g(toggle)f(the)h(45-degree)g(clipping)i(in)f
+(the)e(middle)j(of)d(a)75 1538 y(p)q(oin)o(t)j(insertion)h(b)o(y)e
+(pressing)h(the)g Fm(<)p Fh(Key)p Fm(>)p Fh(.)24 b Fo(If)17
+b(the)f(shift)h(k)o(ey)g(is)g(not)f(depressed)h(and)g(the)g(45)f
+(degree)75 1592 y(line)21 b(clipping)i(mo)q(de)d(is)g(on,)g(b)q(oth)g
+(new)g(line)i(segmen)o(ts)d(m)o(ust)g(b)q(e)h(on)g(45)f(degree)h
+(angles)g(-)g(greatly)75 1647 y(restricting)13 b(where)h(the)f(new)g(p)
+q(oin)o(t)g(ma)o(y)g(b)q(e)g(placed.)20 b(In)14 b(some)f(cases)g(this)g
+(can)g(cause)g(confusion)h(as)f(to)75 1702 y(whether)i(an)h(insertion)g
+(has)f(b)q(een)i(started)d(since)j(the)e(t)o(w)o(o)f(new)h(lines)i(ma)o
+(y)e(b)q(e)h(forced)f(to)g(lie)h(parallel)75 1757 y(on)f(top)g(of)g
+(the)g(original)h(line)h(un)o(til)f(the)g(p)q(oin)o(ter)f(is)h(mo)o(v)o
+(ed)f(far)f(from)h(the)g(end)h(p)q(oin)o(ts.)137 1830
+y(Remo)o(ving)g(ob)s(jects,)g(c)o(hanging)h(their)h(size)f(or)f(mo)o
+(ving)h(them)f(only)h(applies)h(to)e(ob)s(jects)g(that)g(are)75
+1885 y(visible)h(when)f(the)f(command)g(is)h(executed.)137
+1958 y(There)f(are)f(sev)o(eral)h(k)o(eystrok)o(es)e(and)h(button)g(ev)
+o(en)o(ts)h(refering)f(to)g(an)g Fh(obje)n(ct)19 b Fo(without)14
+b(iden)o(tifying)75 2012 y(its)h(t)o(yp)q(e.)20 b(Here's)15
+b(a)g(list)h(of)f(them:)137 2086 y Fm(<)p Fh(Btn1Down)p
+Fm(>)g Fo(creates)g(\(or)g(deletes\))h(an)f(ob)s(ject)f(dep)q(ending)k
+(on)d(the)g(curren)o(t)g(mo)q(de.)137 2159 y Fm(<)p Fh(Key)p
+Fm(>)p Fh(BackSp)n(ac)n(e)e Fo(or)e Fm(<)p Fh(Key)p Fm(>)p
+Fh(Delete)i Fo(remo)o(v)o(es)d(the)h(visible)i(ob)s(ject)e(at)f(the)h
+(cursor)f(lo)q(cation.)20 b(When)75 2213 y(more)14 b(than)g(one)g(ob)s
+(ject)f(exists)i(at)e(the)h(lo)q(cation,)h(the)f(order)g(of)f(remo)o(v)
+m(al)h(is:)20 b(via,)14 b(line,)i(text,)d(p)q(olygon)75
+2268 y(and)h(elemen)o(t.)20 b(The)14 b(dra)o(wn)g(la)o(y)o(er)f(order)h
+(also)g(a\013ects)f(the)h(searc)o(h)g(-)g(whatev)o(er)f(is)h(top)g(-)g
+(most)f(\(except)75 2323 y(elemen)o(ts\))18 b(is)g(a\013ected)f(b)q
+(efore)h(lo)o(w)o(er)f(items.)26 b(Basically)19 b(all)g(this)f(means)f
+(that)g(what)g(is)h(remo)o(v)o(ed)e(is)75 2378 y(probably)h(just)g
+(what)f(y)o(ou)h(exp)q(ect.)25 b(If)17 b(for)f(some)h(reason)f(it)h
+(isn't,)g(undo)g(and)g(try)f(again.)25 b(Only)18 b(one)75
+2433 y(ob)s(ject)f(is)g(remo)o(v)o(ed)g(for)g(eac)o(h)g(k)o(eystrok)o
+(e.)25 b(If)17 b(t)o(w)o(o)f(or)h(more)g(of)g(the)g(same)g(t)o(yp)q(e)g
+(matc)o(h,)g(the)g(new)o(est)75 2487 y(one)e(is)h(remo)o(v)o(ed.)137
+2560 y(Use)e Fm(<)p Fh(Key)p Fm(>)p Fh(s)j Fo(and)c Fh(Shift)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(s)k Fo(to)c(c)o(hange)g(the)h(size)g
+(\(width\))g(of)f(lines,)i(arcs,)e(text)g(ob)s(jects,)g(pins,)75
+2615 y(pads)h(and)h(vias,)f(or)f(to)h(toggle)f(the)i(st)o(yle)f(of)g(p)
+q(olygons)g(\(whether)g(pins)h(and)f(vias)h(automatically)f(ha)o(v)o(e)
+75 2670 y(clearances\).)p eop
+%%Page: 15 16
+15 15 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(15)137 149 y Fm(<)p Fh(Key)p Fm(>)p Fh(n)15 b Fo(c)o(hanges)e(the)g
+(name)f(of)g(pins,)i(pads,)f(vias,)g(the)g(string)f(of)g(a)h(text)f(ob)
+s(ject,)g(or)g(the)g(curren)o(tly)75 204 y(displa)o(y)o(ed)k(lab)q(el)h
+(of)e(an)g(elemen)o(t.)137 276 y Fm(<)p Fh(Key)p Fm(>)p
+Fh(m)24 b Fo(mo)o(v)o(es)c(the)h(line,)i(arc,)e(or)f(p)q(olygon)h
+(under)h(the)e(crosshair)h(to)f(the)h(activ)o(e)f(la)o(y)o(er)h(if)g
+(it)75 331 y(w)o(asn't)14 b(on)h(that)g(la)o(y)o(er)g(already)l(.)137
+403 y Fm(<)p Fh(Key)p Fm(>)p Fh(u)22 b Fo(\(undo\))c(reco)o(v)o(ers)f
+(from)g(an)h(unlimited)i(n)o(um)o(b)q(er)f(of)e(op)q(erations)h(suc)o
+(h)h(as)e(creating,)i(re-)75 458 y(mo)o(ving,)h(mo)o(ving,)h(cop)o
+(ying,)f(selecting)h(etc.)34 b(It)19 b(w)o(orks)g(lik)o(e)i(y)o(ou'd)e
+(exp)q(ect)h(ev)o(en)g(if)g(y)o(ou're)f(in)i(the)75 513
+y(midst)16 b(of)e(creating)i(something.)137 584 y Fh(Shift)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(r)25 b Fo(restores)19 b(the)h(last)g(undone)h
+(op)q(eration)f(pro)o(vided)h(no)f(other)f(c)o(hanges)h(ha)o(v)o(e)g(b)
+q(een)75 639 y(made)15 b(since)i(the)e(undo)g(w)o(as)g(p)q(erformed.)
+137 711 y Fm(<)p Fh(Key)p Fm(>)p Fh(tab)j Fo(c)o(hanges)d(the)h(b)q
+(oard)f(side)h(y)o(ou)f(are)g(viewing.)137 783 y(F)l(or)10
+b(a)h(complete)g(list)g(of)g(k)o(eystrok)o(es)e(and)i(button)f(ev)o(en)
+o(ts)h(see)g(Section)g(5.3)f([T)l(ranslations],)g(page)h(43.)75
+905 y Fg(2.4.1)30 b(Lines)137 1006 y Fo(T)l(o)14 b(dra)o(w)f(new)h
+(lines)i(y)o(ou)d(ha)o(v)o(e)h(to)f(b)q(e)i(in)f Fh(line-mo)n(de)p
+Fo(.)19 b(Get)14 b(there)g(either)g(b)o(y)g(selecting)i(it)e(from)f
+(the)75 1060 y Fh(T)m(o)n(ol)i(p)n(alette)k Fo(or)c(b)o(y)h(pressing)g
+Fm(<)p Fh(Key)p Fm(>)p Fh(F2)p Fo(.)k(Eac)o(h)c(successiv)o(e)g
+Fh(notify)k Fo(ev)o(en)o(t)15 b(creates)g(a)g(new)h(line.)23
+b(The)75 1115 y(adjustmen)o(t)14 b(to)f(45)h(degree)h(lines)g(is)g
+(done)g(automatically)f(if)h(it)g(is)f(selected)i(from)d(the)i
+Fh(Display)j Fo(men)o(u.)75 1170 y(Y)l(ou)13 b(can)g(toggle)g(the)g(45)
+g(degree)g(mo)q(de)g(setting)h(b)o(y)f(pressing)g(the)g
+Fm(<)p Fh(Key)p Fm(>)p Fh(.)20 b Fo(\(That)12 b(is)h(the)g(p)q(erio)q
+(d)i(k)o(ey\).)75 1225 y(When)g(45)f(degree)g(enforcemen)o(t)h(is)g
+(turned)g(on)f(there)h(are)f(three)g(distinct)i(mo)q(des)e(of)h(line)h
+(creation:)j(a)75 1280 y(single)14 b(line)f(on)g(the)f(closest)h(45)e
+(degree)i(v)o(ector)e(to)o(w)o(ards)g(the)h(crosshair)h(\(but)f(not)f
+(necessarily)j(actually)75 1334 y(ending)20 b(at)e(the)g(crosshair\),)h
+(t)o(w)o(o)e(lines)k(created)d(suc)o(h)h(that)f(the)h(\014rst)f(lea)o
+(v)o(es)h(the)f(start)g(p)q(oin)o(t)h(on)f(a)75 1389
+y(90)d(degree)i(v)o(ector)e(and)h(the)h(second)f(arriv)o(es)g(at)f(the)
+i(crosshair)f(on)g(a)f(45)h(degree)g(v)o(ector,)f(and)i(\014nally)75
+1444 y(t)o(w)o(o)g(lines)j(created)e(suc)o(h)g(that)g(the)g(\014rst)g
+(lea)o(v)o(es)g(the)g(start)f(p)q(oin)o(t)i(on)f(a)g(45)g(degree)g(v)o
+(ector)g(and)g(the)75 1499 y(second)d(arriv)o(es)e(at)h(the)g
+(crosshair)g(on)g(a)g(90)f(degree)i(v)o(ector.)k(These)14
+b(last)g(t)o(w)o(o)f(mo)q(des)h(alw)o(a)o(ys)f(connect)75
+1554 y(all)j(the)g(w)o(a)o(y)e(from)h(the)g(start)f(and)i(end)g(p)q
+(oin)o(ts,)f(and)h(all)g(lines)h(ha)o(v)o(e)e(angles)h(in)g(45)f
+(degree)h(m)o(ultiples.)75 1608 y(The)f Fm(<)p Fh(Key)p
+Fm(>)p Fh(/)22 b Fo(cycles)16 b(through)f(the)g(three)g(mo)q(des.)20
+b(The)15 b(status)f(line)i(sho)o(ws)f(a)f(text)h(icon)g(to)f(indicate)
+75 1663 y(whic)o(h)j(of)e(the)h(mo)q(des)g(is)h(activ)o(e)f(and)g(the)g
+(lines)h(follo)o(wing)g(the)f(crosshair)g(motion)f(sho)o(w)h(the)g
+(outline)75 1718 y(of)f(the)g(line\(s\))h(that)f(will)i(actually)f(b)q
+(e)f(created.)20 b(Press)15 b Fm(<)p Fh(Key)p Fm(>)p
+Fh(Esc)n(ap)n(e)j Fo(to)c(lea)o(v)o(e)h(line-mo)q(de.)137
+1790 y Fm(<)p Fh(Key)p Fm(>)p Fh(l)p Fo(,)h Fh(Shift)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(l)21 b Fo(and)c(the)g(en)o(tries)g(in)g(the)g
+Fh(Sizes)i Fo(men)o(u)e(c)o(hange)g(the)g(initial)i(width)e(of)g(new)75
+1845 y(lines.)k(This)16 b(width)g(is)g(also)f(displa)o(y)o(ed)h(in)g
+(the)g(status)e(line.)75 1966 y Fg(2.4.2)30 b(Arcs)137
+2067 y Fo(An)15 b(Arc)f(is)h(dra)o(wn)f(with)h(the)g
+Fh(ar)n(c-to)n(ol)p Fo(.)k(Get)14 b(there)h(either)g(b)o(y)f(selecting)
+i(it)f(from)e(the)i Fh(T)m(o)n(ol)f(p)n(alette)75 2122
+y Fo(or)19 b(b)o(y)h(pressing)g Fm(<)p Fh(Key)p Fm(>)p
+Fh(F8)p Fo(.)33 b(Press)20 b Fh(Btn1)26 b Fo(to)19 b(de\014ne)i(the)f
+(starting)f(p)q(oin)o(t)h(for)f(the)h(arc.)33 b(Drag)19
+b(the)75 2177 y(mouse)13 b(to)o(w)o(ards)e(the)i(desired)h(end)f(p)q
+(oin)o(t)g(along)g(the)g(path)g(y)o(ou)f(w)o(an)o(t)g(the)h(arc)f(to)g
+(follo)o(w.)20 b(The)13 b(outline)75 2232 y(of)18 b(the)h(arc)f(that)g
+(will)i(b)q(e)f(created)g(is)g(sho)o(wn)f(on)g(the)h(screen)g(as)f(y)o
+(ou)h(mo)o(v)o(e)e(the)i(mouse.)30 b(Arcs)18 b(are)75
+2286 y(alw)o(a)o(ys)g(forced)h(to)f(b)q(e)h(90)f(degrees)h(and)g(ha)o
+(v)o(e)g(symmetrical)g(length)g(and)g(width)h(\()e(i.e.)31
+b(they)19 b(are)f(a)75 2341 y(quarter)11 b(circle\).)20
+b(The)12 b(next)g Fh(Btn1)18 b Fo(clic)o(k)13 b(creates)e(the)h(arc.)19
+b(It)11 b(will)j(ha)o(v)o(e)d(the)h(same)g(width)g(as)f(new)h(lines)75
+2396 y(\(displa)o(y)o(ed)19 b(in)f(the)g(status)f(line\))i(and)f(app)q
+(ear)g(on)g(the)f(activ)o(e)h(la)o(y)o(er.)28 b(The)17
+b(arc)h(lea)o(v)o(es)g(the)g(starting)75 2451 y(p)q(oin)o(t)j(to)o(w)o
+(ards)f(the)h(crosshair)g(along)g(the)g(axis)g(whose)f(distance)i(from)
+e(the)h(crosshair)g(is)h(largest.)75 2506 y(Normally)16
+b(this)g(means)f(that)f(if)i(y)o(ou)f(drag)g(along)g(the)h(path)f(y)o
+(ou)g(w)o(an)o(t)f(the)i(arc)f(to)f(follo)o(w,)i(y)o(ou'll)f(get)75
+2560 y(what)j(y)o(ou)g(w)o(an)o(t.)28 b(If)19 b(the)f(grid)h(is)g(set)f
+(to)f(the)i(arc)f(radius,)h(then)g(the)f(t)o(w)o(o)f(distances)i(will)h
+(b)q(e)f(equal)75 2615 y(and)c(y)o(ou)f(w)o(on't)f(b)q(e)i(able)g(to)f
+(get)g(all)h(of)f(the)h(p)q(ossible)h(directions.)21
+b(If)14 b(this)h(is)g(th)o(w)o(arting)f(y)o(our)f(desires,)75
+2670 y(reduce)j(the)f(grid)h(spacing)g(\()p Fh(!Shift)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(G)t Fo(\))e(and)h(try)g(again.)p
+eop
+%%Page: 16 17
+16 16 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(16)75 149 y Fg(2.4.3)30 b(P)n(olygons)20 b(and)h(Rectangles)137
+246 y Fo(A)12 b(p)q(olygon)g(is)g(dra)o(wn)f(b)o(y)h(de\014ning)h(all)f
+(of)f(its)h(segmen)o(ts)f(as)g(a)h(series)g(of)f(consecutiv)o(e)i(line)
+g(segmen)o(ts.)75 300 y(If)j(the)h(\014rst)f(p)q(oin)o(t)g(matc)o(hes)g
+(a)g(new)g(one)h(and)f(if)h(the)f(n)o(um)o(b)q(er)g(of)g(p)q(oin)o(ts)h
+(is)g(greater)e(than)h(t)o(w)o(o,)f(then)75 355 y(the)k(p)q(olygon)h
+(is)f(closed.)33 b(Since)20 b(matc)o(hing)f(up)h(with)f(the)g(\014rst)g
+(p)q(oin)o(t)h(ma)o(y)e(b)q(e)i(di\016cult,)h(y)o(ou)e(ma)o(y)75
+410 y(use)c Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(p)h
+Fo(to)e(close)h(the)f(p)q(olygon.)20 b(The)14 b Fh(Shift)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(p)j Fo(w)o(on't)c(w)o(ork)g(if)i(clipping)h
+(to)e(45)g(degree)75 465 y(lines)20 b(is)f(selected)g(and)g(the)f
+(\014nal)h(segmen)o(t)f(cannot)g(matc)o(h)g(this)g(condition.)31
+b(I)19 b(suggest)e(y)o(ou)h(create)75 520 y(simple)23
+b(con)o(v)o(ex)e(p)q(olygons)g(in)h(order)f(to)g(a)o(v)o(oid)g(a)f
+(strong)h(negativ)o(e)g(impact)g(on)h(the)f(p)q(erformance)75
+574 y(of)d(the)g(connection)h(scanning)h(routines.)29
+b(The)19 b Fh(r)n(e)n(ctangle-mo)n(de)h Fo(is)f(just)f(an)g(easy)g(w)o
+(a)o(y)g(to)f(generate)75 629 y(rectangular)g(p)q(olygons.)27
+b Fh(Polygon-mo)n(de)21 b Fo(also)c(is)h(selected)h(b)o(y)e
+Fm(<)p Fh(Key)p Fm(>)p Fh(F6)24 b Fo(whereas)17 b Fh(r)n(e)n
+(ctangle-mo)n(de)75 684 y Fo(uses)d Fm(<)p Fh(Key)p Fm(>)p
+Fh(F4)p Fo(.)19 b(Pressing)14 b(a)f Fm(<)p Fh(Btn1Down)p
+Fm(>)g Fo(at)g(t)o(w)o(o)f(lo)q(cations)i(creates)g(a)f(rectangle)h(b)o
+(y)f(de\014ning)i(t)o(w)o(o)75 739 y(of)h(its)h(corners.)23
+b Fm(<)p Fh(Key)p Fm(>)p Fh(Insert)c Fo(brings)e(y)o(ou)f(to)g
+Fh(insert-p)n(oint-mo)n(de)k Fo(whic)o(h)d(lets)g(y)o(ou)f(add)h
+(additional)75 793 y(p)q(oin)o(ts)11 b(to)f(an)h(already)g(existing)g
+(p)q(olygon.)19 b(Single)13 b(p)q(oin)o(ts)e(ma)o(y)f(b)q(e)h(remo)o(v)
+o(ed)f(b)o(y)h(mo)o(ving)f(the)h(crosshair)75 848 y(to)k(them)h(and)g
+(selecting)h(one)f(of)f(the)h(delete)h(actions)f Fh(\(r)n(emove-mo)n
+(de,)h(BackSp)n(ac)n(e,)f(or)h(Delete)p Fo(.)k(This)75
+903 y(only)16 b(w)o(orks)d(if)j(the)f(remaining)h(p)q(olygon)f(will)i
+(still)f(ha)o(v)o(e)f(three)g(or)f(more)h(corners.)20
+b(Pressing)15 b Fm(<)p Fh(Key)p Fm(>)p Fh(u)75 958 y
+Fo(or)e Fm(<)p Fh(Key)p Fm(>)p Fh(p)k Fo(while)e(en)o(tering)g(a)e(new)
+h(p)q(olygon)h(brings)f(y)o(ou)g(bac)o(k)f(to)g(the)h(previous)h
+(corner.)k(Remo)o(ving)75 1013 y(a)g(p)q(oin)o(t)h(do)q(es)g(not)g
+(force)f(clipping)j(to)d(45)g(degree)h(angles)g(\(b)q(ecause)g(it's)g
+(not)f(generally)i(p)q(ossible\).)75 1067 y(Newly)d(created)e(p)q
+(olygons)i(will)g(not)f(connect)g(to)f(pins)i(or)f(vias)g(that)f
+(pierce)i(it)f(unless)h(y)o(ou)f(create)f(a)75 1122 y(thermal)i
+(\(using)g(the)g(thermal)f(mo)q(de\))h(to)f(mak)o(e)g(the)h
+(connection.)28 b(If)18 b(the)g(edge)g(of)f(a)g(p)q(olygon)h(gets)75
+1177 y(to)q(o)c(close)i(to)e(a)h(pin)h(or)e(via)i(that)e(lies)i
+(outside)g(of)e(it,)h(a)g(w)o(arning)g(will)i(b)q(e)e(issued)h(and)g
+(the)f(pin)h(will)g(b)q(e)75 1232 y(giv)o(en)g(a)f(sp)q(ecial)i(color.)
+i(Increasing)e(the)e(distance)h(b)q(et)o(w)o(een)g(them)f(will)i(remo)o
+(v)o(e)d(the)h(w)o(arning)g(color.)75 1343 y Fg(2.4.4)30
+b(T)-5 b(ext)137 1439 y Fo(Pressing)12 b Fm(<)p Fh(Key)p
+Fm(>)p Fh(F5)17 b Fo(or)11 b(clic)o(king)i(one)f(of)f(the)g(text)g
+(selector)h(buttons)f(c)o(hanges)g(to)g Fh(text-mo)n(de)p
+Fo(.)19 b(Eac)o(h)75 1494 y(successiv)o(e)c(notify)f(ev)o(en)o(t)g(\()p
+Fm(<)p Fh(Btn1Down)p Fm(>)p Fo(\))f(p)q(ops)h(up)h(the)f(input)h(line)g
+(at)e(the)h(b)q(ottom)g(and)g(queries)h(for)75 1549 y(a)i(string.)27
+b(En)o(ter)16 b(it)i(and)g(press)f Fm(<)p Fh(Key)p Fm(>)p
+Fh(R)n(eturn)k Fo(to)16 b(con\014rm)i(or)f Fm(<)p Fh(Key)p
+Fm(>)p Fh(Esc)n(ap)n(e)i Fo(to)e(ab)q(ort.)26 b(The)17
+b(text)75 1604 y(ob)s(ject)j(is)i(created)f(with)g(its)g(upp)q(er)h
+(left)g(corner)f(at)f(the)h(curren)o(t)g(p)q(oin)o(ter)h(lo)q(cation.)
+38 b(The)21 b(initial)75 1659 y(scaling)16 b(is)g(c)o(hanged)f(b)o(y)h
+Fm(<)p Fh(Key)p Fm(>)p Fh(t)j Fo(and)c Fh(Shift)p Fm(<)p
+Fh(Key)p Fm(>)p Fh(t)k Fo(or)c(from)f(the)i Fh(Sizes)h
+Fo(men)o(u.)137 1726 y(No)o(w)h(switc)o(h)h(to)f Fh(r)n(otate-mo)n(de)
+24 b Fo(and)18 b(press)h Fm(<)p Fh(Btn1Down)p Fm(>)g
+Fo(at)f(the)h(text-ob)s(jects)f(lo)q(cation.)31 b(T)l(ext)75
+1780 y(ob)s(jects)13 b(on)h(the)h(solder)f(side)h(of)f(the)g(la)o(y)o
+(out)f(are)h(automatically)g(mirrored)h(and)f(\015ipp)q(ed)i(so)e(that)
+f(they)75 1835 y(are)i(seen)h(correctly)f(when)h(viewing)g(the)f
+(solder-side.)137 1902 y(Use)h Fm(<)p Fh(Key)p Fm(>)p
+Fh(n)h Fo(to)e(edit)h(the)f(string.)137 1969 y Fi(TEXT)10
+b(OBJECTS)h(ON)f(COPPER)h(LA)l(YERS)g(CREA)l(TE)f(COPPER)g(LINES)h(BUT)
+g(THEY)f(ARE)75 2024 y(NOT)j(SCANNED)g(F)o(OR)f(CONNECTIONS)p
+Fo(.)f(If)j(they)g(are)f(mo)o(v)o(ed)g(to)g(the)h(silkscreen)h(la)o(y)o
+(er,)e(they)h(no)75 2079 y(longer)h(create)g(copp)q(er.)75
+2190 y Fg(2.4.5)30 b(Vias)137 2286 y Fo(The)15 b(initial)h(size)g(of)e
+(new)h(vias)f(ma)o(y)g(b)q(e)h(c)o(hanged)g(b)o(y)f Fm(<)p
+Fh(Key)p Fm(>)p Fh(v)19 b Fo(and)c Fh(Shift)p Fm(<)p
+Fh(Key)p Fm(>)p Fh(v)j Fo(or)c(b)o(y)h(selecting)75 2341
+y(the)j(appropriate)h(en)o(try)f(from)f(the)i Fh(Sizes)h
+Fo(men)o(u.)30 b Fh(Mo)n(d1)p Fm(<)p Fh(Key)p Fm(>)p
+Fh(v)22 b Fo(and)d Fh(Mo)n(d1)g(Shift)p Fm(<)p Fh(Key)p
+Fm(>)p Fh(v)k Fo(do)18 b(the)75 2396 y(same)11 b(for)f(the)i(drilling)h
+(hole)f(of)f(the)g(via.)19 b(The)12 b(statusline)g(is)f(up)q(dated)h
+(with)g(the)f(new)g(v)m(alues.)20 b(Creating)75 2451
+y(a)14 b(via)g(is)g(similar)h(to)f(the)g(other)f(ob)s(jects.)19
+b(Switc)o(h)c(to)e Fh(via-mo)n(de)18 b Fo(b)o(y)c(using)g(either)h(the)
+f(selector)g(button)75 2506 y(or)i Fm(<)p Fh(Key)p Fm(>)p
+Fh(F1)23 b Fo(then)17 b(press)g Fm(<)p Fh(Key)p Fm(>)p
+Fh(])22 b Fo(or)16 b Fm(<)p Fh(Btn1Down)p Fm(>)h Fo(to)f(create)h(one.)
+25 b Fm(<)p Fh(Key)p Fm(>)p Fh(n)20 b Fo(c)o(hanges)d(the)g(name)75
+2560 y(of)g(a)g(via.)27 b(If)18 b(y)o(ou)f(w)o(an)o(t)f(to)h(create)g
+(a)g(moun)o(ting)g(hole)i(for)d(y)o(our)h(b)q(oard,)h(then)g(y)o(ou)f
+(can)g(place)i(a)e(via)75 2615 y(where)f(y)o(ou)f(w)o(an)o(t)f(the)h
+(hole)h(to)f(b)q(e)h(then)g(con)o(v)o(ert)e(the)i(via)f(in)o(to)g(a)g
+(hole.)21 b(The)16 b(con)o(v)o(ersion)f(is)h(done)g(b)o(y)75
+2670 y(pressing)i Fh(!Ctrl)p Fm(<)p Fh(Key)p Fm(>)p Fh(h)h
+Fo(with)f(the)f(crosshair)g(o)o(v)o(er)f(the)h(via.)25
+b(Conceptually)19 b(it)e(is)g(still)i(a)d(via,)i(but)f(it)p
+eop
+%%Page: 17 18
+17 17 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(17)75 149 y(has)14 b(no)g(copp)q(er)h(ann)o(ulus.)21
+b(If)15 b(y)o(ou)e(create)i(suc)o(h)f(a)g(hole)h(in)g(the)g(middle)h
+(of)e(t)o(w)o(o)f(p)q(olygons)h(on)h(di\013eren)o(t)75
+204 y(la)o(y)o(ers,)j(it)g(will)i(short)d(the)h(la)o(y)o(ers.)28
+b(Theoretically)20 b(y)o(ou)d(could)i(arrange)e(for)h(suc)o(h)g(a)g
+(hole)g(not)g(to)f(b)q(e)75 259 y(plated,)g(but)g(a)f(metal)g(screw)h
+(inserted)g(in)g(the)g(hole)g(w)o(ould)g(still)h(risk)e(shorting)h(the)
+f(la)o(y)o(ers.)24 b(A)16 b(go)q(o)q(d)75 314 y(rule)e(is)f(to)f
+(realize)i(that)e(holes)h(in)h(the)f(b)q(oard)g(really)g(are)g(vias)g
+(b)q(et)o(w)o(een)g(the)g(la)o(y)o(ers)f(and)h(so)f(place)i(them)75
+369 y(where)k(they)g(w)o(on't)f(in)o(terfere)h(with)g(connectivit)o(y)l
+(.)29 b(Y)l(ou)18 b(can)g(con)o(v)o(ert)f(a)g(hole)i(bac)o(k)f(in)o(to)
+f(a)h(normal)75 423 y(via)d(with)h(the)f(same)g(k)o(eystrok)o(e)f(used)
+i(to)f(con)o(v)o(ery)f(it)i(in)g(the)f(\014rst)g(place.)75
+530 y Fg(2.4.6)30 b(Elemen)n(ts)137 624 y Fo(Some)17
+b(of)g(the)g(functions)h(related)g(to)e(elemen)o(ts)i(only)g(w)o(ork)e
+(if)h(b)q(oth)g(the)h(pac)o(k)m(age)f(la)o(y)o(er)g(and)g(the)75
+679 y(pin)f(la)o(y)o(er)f(are)g(switc)o(hed)h(on.)137
+744 y(No)o(w)h(that)f(y)o(ou're)h(familiar)h(with)f(man)o(y)g(of)g(the)
+g(basic)h(commands,)f(it)g(is)h(time)f(to)g(put)g(the)g(\014rst)75
+799 y(elemen)o(t)g(on)f(the)g(la)o(y)o(out.)22 b(First)16
+b(of)g(all,)g(y)o(ou)g(ha)o(v)o(e)g(to)f(load)i(data)e(in)o(to)h(the)g
+(paste)g(bu\013er.)23 b(There)16 b(are)75 854 y(four)f(w)o(a)o(ys)f(to)
+g(do)i(this:)267 917 y Fm(1\))23 b(load)g(the)h(data)f(from)h(a)f
+(library)267 968 y(2\))g(load)g(the)h(data)f(from)h(a)f(file)267
+1020 y(3\))g(copy)g(data)h(from)f(an)h(already)f(existing)f(element)267
+1072 y(4\))h(convert)g(objects)g(in)h(the)f(buffer)g(into)g(an)h
+(element)137 1138 y Fo(W)l(e)c(don't)g(ha)o(v)o(e)g(an)o(y)g(elemen)o
+(ts)g(on)g(the)h(screen)f(y)o(et)g(nor)g(an)o(ything)g(in)h(the)f
+(bu\013er,)h(so)f(w)o(e)g(use)75 1192 y(n)o(um)o(b)q(er)c(one.)137
+1258 y(Select)i Fh(lsi)j Fo(from)16 b(the)h(men)o(u)g(in)h(the)f
+(library)g(windo)o(w)g(press)g Fm(<)p Fh(Btn1Down)p Fm(>)g
+Fo(t)o(wice)g(at)f(the)h(appro-)75 1313 y(priate)i(text-line)i(to)d
+(get)h(the)g(MC68030)e(CPU.)h(The)i(data)e(is)h(loaded)h(and)f(the)g
+(mo)q(de)h(is)f(switc)o(hed)75 1367 y(to)e Fh(p)n(astebu\013er-mo)n(de)
+p Fo(.)29 b(Eac)o(h)18 b(notify)h(ev)o(en)o(t)e(no)o(w)h(creates)g(one)
+g(of)g(these)g(b)q(easts.)28 b(Lea)o(v)o(e)18 b(the)h(mo)q(de)75
+1422 y(b)o(y)f(selecting)i(a)e(di\013eren)o(t)h(one)f(or)g(b)o(y)g
+Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)j Fo(whic)o(h)e(resets)f(all)h
+(mo)q(des..)30 b(The)18 b(crosshair)g(is)75 1477 y(lo)q(cated)h(at)f
+(the)h Fh(mark)24 b Fo(p)q(osition)19 b(as)g(de\014ned)h(b)o(y)e(the)h
+(data)f(\014le.)31 b(Rotating)17 b(the)i(bu\013er)g(con)o(ten)o(ts)e
+(is)75 1532 y(done)h(b)o(y)g(selecting)h(the)f Fh(r)n(otate)k
+Fo(en)o(try)17 b(of)g(the)h Fh(Bu\013er)23 b Fo(men)o(u)18
+b(or)g(b)o(y)f(pressing)i Fh(Shift)p Fm(<)p Fh(Key)p
+Fm(>)p Fh(F3)p Fo(.)27 b(The)75 1587 y(con)o(ten)o(ts)11
+b(of)h(the)g(bu\013er)g(are)g(v)m(alid)i(un)o(til)f(new)f(data)g(is)g
+(loaded)h(in)o(to)f(it)g(either)h(b)o(y)f(a)g(cut-to-bu\013er)g(op)q
+(er-)75 1641 y(ation,)i(cop)o(y-to-bu\013er)h(op)q(eration)g(or)f(b)o
+(y)h(loading)h(a)e(new)h(data)f(\014le.)21 b(There)15
+b(are)f(5)h(bu\013ers)g(a)o(v)m(ailable.)75 1696 y(Switc)o(hing)j(b)q
+(et)o(w)o(een)f(them)g(is)g(done)g(b)o(y)g(selecting)h(a)f(men)o(u)g
+(en)o(try)f(or)h(b)o(y)f Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p
+Fh(1..5)p Fo(.)25 b(Eac)o(h)16 b(of)75 1751 y(the)f(t)o(w)o(o)f(b)q
+(oard)h(sides)h(has)f(its)h(o)o(wn)f(bu\013ers.)137 1816
+y(The)g(release)f(includes)j(all)e(data)e(\014les)i(for)f(the)g
+(circuits)h(that)f(are)g(used)g(b)o(y)g(the)h(demo)f(la)o(y)o(out.)19
+b(The)75 1871 y(elemen)o(ts)e(in)f(the)g(LED)g(example)h(are)e(not)h
+(found)g(in)h(the)f(library)l(,)h(but)f(y)o(ou)f(can)h(lift)h(them)f
+(from)f(the)75 1926 y(example)g(itself)g(if)g(y)o(ou)f(w)o(an)o(t.)k
+(If)d(y)o(ou)f(ha)o(v)o(e)f(problems)i(with)g(the)f(color)g(of)g(the)h
+(crosshair,)f(c)o(hange)g(the)75 1981 y(resource)h Fh(cr)n
+(osshairColor)20 b Fo(setting)15 b(to)g(a)f(di\013eren)o(t)i(one.)137
+2046 y(No)o(w)i(load)i(a)e(second)h(circuit,)i(the)e(MC68882)e(FPU)h
+(for)g(example.)32 b(Create)18 b(the)h(circuit)h(as)f(ex-)75
+2101 y(plained)g(ab)q(o)o(v)o(e.)25 b(Y)l(ou)17 b(no)o(w)g(ha)o(v)o(e)f
+(t)o(w)o(o)g(di\013eren)o(t)h(unnamed)h(elemen)o(ts.)26
+b(Unnamed)18 b(means)f(that)f(the)75 2156 y(la)o(y)o(out-name)k(of)g
+(the)h(elemen)o(t)g(hasn't)f(b)q(een)h(set)g(y)o(et.)35
+b(Selecting)22 b Fh(description)i Fo(from)19 b(the)i
+Fh(Display)75 2210 y Fo(men)o(u)15 b(displa)o(ys)h(the)f(description)h
+(string)f(of)f(the)h(t)o(w)o(o)f(circuits)i(whic)o(h)g(are)e(CPU)h(and)
+g(FPU.)f(The)h(v)m(al-)75 2265 y(ues)f(of)e(the)i(circuits)g(are)f(set)
+g(to)g(MC68030)e(and)j(MC68882.)j(Eac)o(h)c(of)g(the)g(names)h(of)e(an)
+i(elemen)o(t)g(ma)o(y)75 2320 y(b)q(e)19 b(c)o(hanged)f(b)o(y)h
+Fm(<)p Fh(Key)p Fm(>)p Fh(n)h Fo(at)e(the)g(elemen)o(ts)h(lo)q(cation)g
+(and)g(editing)g(the)f(old)h(name)f(in)h(the)g(b)q(ottom)75
+2375 y(input)d(line.)21 b(Naming)15 b(pins)g(and)g(vias)g(is)g(similar)
+g(to)f(elemen)o(ts.)21 b(Y)l(ou)14 b(can)h(hide)h(the)f(elemen)o(t)g
+(name)f(so)75 2430 y(that)j(it)h(w)o(on't)e(app)q(ear)i(on)f(the)h(b)q
+(oard)f(silkscreen)i(b)o(y)f(pressing)g Fm(<)p Fh(key)p
+Fm(>)p Fh(h)j Fo(with)c(the)h(cursor)f(o)o(v)o(er)g(the)75
+2484 y(elemen)o(t.)k(Doing)15 b(so)g(again)g(un-hides)i(the)e(elemen)o
+(t)h(name.)137 2550 y(En)o(tering)g Ff(:le)e Fo(and)i(selecting)g(an)f
+(elemen)o(t)h(data)f(\014le)h(is)g(the)f(second)h(w)o(a)o(y)e(to)h
+(load)g(circuits.)137 2615 y(The)23 b(third)f(w)o(a)o(y)f(to)h(create)g
+(a)g(new)g(elemen)o(t)h(is)f(to)g(cop)o(y)g(an)g(existing)h(one.)41
+b(Please)23 b(refer)f(to)75 2670 y(Section)16 b(2.5)e([Mo)o(ving)h(and)
+g(Cop)o(ying],)g(page)g(19.)p eop
+%%Page: 18 19
+18 18 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(18)137 149 y(The)14 b(fourth)e(w)o(a)o(y)g(to)g(create)h(a)g(new)g
+(elemen)o(t)h(is)f(to)g(con)o(v)o(ert)f(a)h(bu\013er's)f(con)o(ten)o
+(ts)h(in)o(to)g(an)g(elemen)o(t.)75 204 y(Here's)19 b(ho)o(w)f(it's)h
+(done:)27 b(Select)20 b(the)f(Via-to)q(ol)g(from)f(the)h
+Fh(T)m(o)n(ol)g(p)n(al)r(lette)p Fo(.)30 b(Set)19 b(the)g(grid)g
+(spacing)h(to)75 259 y(something)d(appropriate)g(for)f(the)h(elemen)o
+(t)h(pin)g(spacing.)26 b(No)o(w)16 b(create)h(a)f(series)i(of)f(vias)g
+(where)g(the)75 314 y(pins)j(go.)31 b(Create)19 b(them)g(in)g(pin)i(n)o
+(um)o(b)q(er)e(order.)31 b(It)20 b(is)f(often)g(handy)g(to)g(place)h(a)
+f(reference)g(p)q(oin)o(t)75 369 y(\()p Fh(!Ctrl)p Fm(<)p
+Fh(Key)p Fm(>)p Fh(m)s Fo(\))d(in)i(the)g(cen)o(ter)f(of)g(the)g
+(\014rst)g(pin)h(in)g(order)f(to)g(measure)g(the)g(lo)q(cation)h(of)f
+(the)g(other)75 423 y(pins.)j(Next)12 b(mak)o(e)g(a)g(solder-side)i(la)
+o(y)o(er)e(the)g(activ)o(e)h(la)o(y)o(er)f(from)f(the)i
+Fh(active-layer)k Fo(p)q(opup)c(men)o(u.)20 b(No)o(w)75
+478 y(dra)o(w)15 b(the)i(outline)g(of)f(the)g(elemen)o(t)h(using)f
+(lines)i(and)e(arcs.)23 b(When)16 b(y)o(ou're)f(done,)i(select)g(ev)o
+(erything)75 533 y(that)12 b(mak)o(es)g(up)i(the)e(elemen)o(t)i(with)f
+(a)g(b)q(o)o(x)f(selection)i(\()p Fm(<)p Fh(Btn3Down)p
+Fm(>)g Fh(dr)n(ag,)h Fm(<)p Fh(Btn3Up)p Fm(>)p Fo(\).)j(No)o(w)12
+b(select)75 588 y Fm(")p Fo(cut)i(selection)h(to)e(bu\013er)p
+Fm(")h Fo(from)f(the)h Fh(Bu\013er)19 b Fo(men)o(u.)g(P)o(osition)14
+b(the)g(cursor)f(o)o(v)o(er)g(the)h(cen)o(ter)g(of)f(pin)i(1)75
+643 y(and)h(press)f(the)g(left)h(button)f(to)g(load)h(the)f(data)g(in)o
+(to)g(the)g(bu\013er.)21 b(Finally)c(select)f Fm(")p
+Fo(con)o(v)o(ert)e(bu\013er)i(to)75 697 y(elemen)o(t)p
+Fm(")e Fo(from)f(the)h Fh(Bu\013er)19 b Fo(men)o(u.)h(Y)l(ou'll)15
+b(only)f(w)o(an)o(t)f(to)g(create)g(elemen)o(ts)i(this)f(w)o(a)o(y)f
+(if)h(they)g(aren't)75 752 y(already)j(in)g(the)g(library)l(.)25
+b(It's)16 b(also)g(probably)h(a)g(go)q(o)q(d)f(idea)h(to)f(do)h(this)g
+(b)q(efore)g(starting)f(an)o(y)g(of)g(the)75 807 y(other)f(asp)q(ects)g
+(of)g(a)g(la)o(y)o(out,)f(but)h(it)h(isn't)f(necessary)l(.)137
+876 y(T)l(o)e(displa)o(y)h(the)f(pinout)h(of)e(a)h(circuit)h(mo)o(v)o
+(e)f(to)f(it)h(and)g(press)h Fh(Shift)p Fm(<)p Fh(Key)p
+Fm(>)p Fh(d)j Fo(or)12 b(select)i Fh(show)h(pinout)75
+931 y Fo(from)i(the)h Fh(Obje)n(cts)i Fo(men)o(u.)27
+b(A)18 b(new)g(windo)o(w)g(p)q(ops)g(up)g(and)g(displa)o(ys)g(the)g
+(complete)g(pinout)h(of)e(the)75 986 y(elemen)o(t.)j(This)15
+b(displa)o(y)g(can)f(b)q(e)h(di\016cult)g(to)f(read)g(if)g(the)g(comp)q
+(onen)o(t)g(has)g(b)q(een)h(rotated)e(90)h(degrees)75
+1041 y(:-\()h(therefore,)f(the)i(new)f(windo)o(w)g(will)i(sho)o(w)e(an)
+g(un-rotated)g(view)h(so)f(the)g(pin)h(names)g(are)f(readable.)75
+1096 y Fm(<)p Fh(Key)p Fm(>)p Fh(d)21 b Fo(displa)o(ys)c(the)f(name)g
+(of)g(one)g(or)g(all)h(pins/pads)g(inside)h(the)e(dra)o(wing)g(area,)g
+(this)g(is)h(only)g(for)75 1150 y(displa)o(y)f(on-screen,)g(it)f(has)g
+(no)g(e\013ect)g(on)h(an)o(y)e(prin)o(ting)i(of)f(the)h(la)o(y)o(out.)
+137 1220 y(Y)l(ou)d(also)g(ma)o(y)f(w)o(an)o(t)f(to)h(c)o(hange)h(a)f
+(pin's)h(or)f(pad's)h(curren)o(t)f(size)i(b)o(y)e(pressing)i
+Fm(<)p Fh(Key)p Fm(>)p Fh(s)h Fo(to)d(increase)75 1275
+y(or)j Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(s)j Fo(to)c(decrease)i(it.)
+k(While)d(this)f(is)f(p)q(ossible,)i(it)f(is)f(not)g(recommended)h
+(since)h(care)e(w)o(as)75 1330 y(probably)i(tak)o(en)f(to)f(de\014ne)i
+(the)g(elemen)o(t)g(structure)f(in)h(the)f(\014rst)g(place.)24
+b(Y)l(ou)16 b(can)g(also)h(c)o(hange)f(the)75 1384 y(thic)o(kness)h(of)
+g(the)f(elemen)o(t's)h(silkscreen)i(outline)f(with)e(the)h(same)g(k)o
+(eys.)23 b(Y)l(ou)17 b(can)g(c)o(hange)g(whether)75 1439
+y(a)f(pin)i(or)e(SMD)h(pad)g(is)g(rounded)g(or)g(square)f(with)h(the)g
+Fm(<)p Fh(Key)p Fm(>)p Fh(q)p Fo(.)24 b(SMD)17 b(pads)g(should)g
+(usually)h(ha)o(v)o(e)75 1494 y(squared)d(ends.)20 b(Finally)l(,)c(y)o
+(ou)e(can)h(c)o(hange)g(whether)g(the)f(non-square)h(pins)h(are)e
+(round)h(or)f(o)q(ctagonal)75 1549 y(with)i(the)f Fh(!Ctrl)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(o)p Fo(.)137 1618 y(SMD)j(elemen)o(ts)h(and)g
+(silkscreen)g(ob)s(jects)f(are)g(dra)o(wn)g(in)h(the)f
+Fm(")p Fo(in)o(visible)j(ob)s(ject)p Fm(")d Fo(color)g(if)h(they)75
+1673 y(are)c(lo)q(cated)h(on)f(the)g(opp)q(osite)h(side)g(of)f(the)g(b)
+q(oard.)137 1743 y(F)l(or)f(information)g(on)h(elemen)o(t)g
+(connections)g(refer)f(to)g(Section)h(2.8)e([Connection)i(Lists],)f
+(page)g(21.)75 1859 y Fg(2.4.7)30 b(P)n(astebu\013er)137
+1958 y Fo(The)11 b(linestac)o(k)g(and)f(elemen)o(t-bu\013er)h(of)f
+(former)g(releases)h(ha)o(v)o(e)e(b)q(een)j(replaced)f(b)o(y)f(5)g(m)o
+(ulti-purp)q(ose)75 2012 y(bu\013ers)j(that)g(are)g(selected)i(b)o(y)e
+Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(1..5)p Fo(.)19 b(The)14
+b(status)e(line)j(sho)o(ws)e(whic)o(h)h(bu\013er)f(is)h(the)g(activ)o
+(e)75 2067 y(one.)24 b(Y)l(ou)16 b(ma)o(y)g(load)h(data)e(from)h(a)g
+(\014le)i(or)d(la)o(y)o(out)h(in)o(to)h(them.)23 b(Cut-and-paste)16
+b(w)o(orks)g(to)q(o.)23 b(If)16 b(y)o(ou)75 2122 y(follo)o(w)o(ed)f
+(the)g(instructions)h(earlier)f(in)h(this)f(c)o(hapter)f(y)o(ou)h
+(should)h(no)o(w)e(ha)o(v)o(e)g(sev)o(eral)h(ob)s(jects)f(on)h(the)75
+2177 y(screen.)k(Mo)o(v)o(e)11 b(the)h(crosshair)g(to)g(one)g(of)f
+(them)h(and)g(press)g Fm(<)p Fh(Btn3Down)p Fm(>)g Fo(to)g(toggle)f(its)
+h(selection)i(\015ag.)75 2232 y(\(If)g(y)o(ou)g(drag)g(the)h(mouse)f
+(while)i(the)e(button)g(is)h(do)o(wn,)f(a)g(b)q(o)o(x)h(selection)g
+(will)h(b)q(e)f(attempted)f(instead)75 2286 y(of)j(toggling)h(the)f
+(selection.\))28 b(The)18 b(ob)s(ject)f(is)h(redra)o(wn)f(in)i(a)e
+(di\013eren)o(t)h(color.)27 b(Y)l(ou)18 b(also)f(ma)o(y)g(w)o(an)o(t)75
+2341 y(to)d(try)g(mo)o(ving)g(the)h(p)q(oin)o(ter)g(while)h(holding)g
+(the)e(third)h(button)f(do)o(wn)h(and)f(release)h(it)g(on)g(a)f
+(di\013eren)o(t)75 2396 y(lo)q(cation.)24 b(This)17 b(selects)g(all)g
+(ob)s(jects)f(inside)i(the)e(rectangle)h(and)f(unselects)i(ev)o
+(erything)f(else.)24 b(If)16 b(y)o(ou)75 2451 y(w)o(an)o(t)f(to)g(add)h
+(a)g(b)q(o)o(x)g(selection)h(to)e(an)h(existing)h(selection,)g(drag)f
+(with)g Fh(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p Fm(>)g Fo(instead.)75
+2506 y(Dragging)h Fh(Shift)i(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p
+Fm(>)e Fo(unselects)i(ob)s(jects)f(in)g(a)g(b)q(o)o(x.)28
+b(No)o(w)17 b(c)o(hange)h(to)f Fh(p)n(astebu\013er-)75
+2560 y(mo)n(de)k Fo(and)c(select)h(some)f(op)q(erations)g(from)g(the)g
+Fh(Bu\013er)22 b Fo(men)o(u.)27 b(Cop)o(ying)17 b(ob)s(jects)f(to)h
+(the)g(bu\013er)g(is)75 2615 y(a)o(v)m(ailable)e(as)f
+Fh(Mo)n(d1)p Fm(<)p Fh(Key)p Fm(>)p Fh(c)i Fo(while)f(cutting)f(them)g
+(uses)g Fh(Mo)n(d1)p Fm(<)p Fh(Key)p Fm(>)p Fh(x)19 b
+Fo(as)13 b(shortcut.)19 b(Both)14 b(clear)g(the)75 2670
+y(bu\013er)f(b)q(efore)g(new)h(data)e(is)i(added.)20
+b(If)13 b(y)o(ou)g(use)g(the)g(men)o(u)h(en)o(tries,)f(y)o(ou)g(ha)o(v)
+o(e)f(to)h(supply)h(a)f(crosshair)p eop
+%%Page: 19 20
+19 19 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(19)75 149 y(p)q(osition)14 b(b)o(y)e(pressing)h(a)g(mouse)f(button.)
+19 b(The)13 b(ob)s(jects)e(are)i(attac)o(hed)f(to)g(the)g
+(pastebu\013er)h(relativ)o(e)g(to)75 204 y(that)i(crosshair)g(lo)q
+(cation.)21 b(Elemen)o(t)16 b(data)f(or)f(PCB)i(data)e(ma)o(y)h(b)q(e)h
+(merged)g(in)o(to)f(an)g(existing)i(la)o(y)o(out)75 259
+y(b)o(y)h(loading)g(the)g(data\014les)g(in)o(to)g(the)g(pastebu\013er.)
+27 b(Both)18 b(op)q(erations)g(are)f(a)o(v)m(ailable)j(from)d(the)h
+Fh(File)75 314 y Fo(men)o(u)d(or)g(as)g(user)g(commands.)75
+450 y Fl(2.5)33 b(Mo)n(ving)23 b(and)f(Cop)n(ying)137
+549 y Fo(All)14 b(ob)s(jects)e(can)h(b)q(e)g(mo)o(v)o(ed)f(including)j
+(elemen)o(t-names,)e(b)o(y)g Fm(<)p Fh(Btn2Down)p Fm(>)p
+Fo(,)f(draging)h(the)f(p)q(oin)o(ter)75 604 y(while)19
+b(holding)h(the)e(button)g(do)o(wn)f(and)h(releasing)h(it)g(at)e(the)h
+(new)g(lo)q(cation)h(of)e(the)i(ob)s(ject.)27 b(If)18
+b(y)o(ou)75 658 y(use)g Fh(Mo)n(d1)p Fm(<)p Fh(Btn2Down)p
+Fm(>)g Fo(instead,)h(the)f(ob)s(ject)g(is)g(copied.)30
+b(Cop)o(ying)18 b(do)q(es)g(not)g(w)o(ork)f(for)g(elemen)o(t-)75
+713 y(names)e(of)g(course.)21 b(Y)l(ou)16 b(can)g(mo)o(v)o(e)e(all)j
+(selected)f(ob)s(jects)f(with)h Fh(Shift)g Fm(<)p Fh(Btn1Down)p
+Fm(>)p Fo(.)21 b(This)16 b(uses)g(the)75 768 y(P)o(astebu\013er,)h(so)g
+(it)h(will)h(remo)o(v)o(e)d(whatev)o(er)h(w)o(as)g(previously)i(in)f
+(the)f(P)o(astebu\013er.)26 b(Please)18 b(refer)g(to)75
+823 y(Section)c(2.4.7)e([P)o(astebu\013er],)f(page)i(18.)19
+b(If)13 b(y)o(ou)g(w)o(an)o(t)f(to)h(giv)o(e)g(a)g(small)h(n)o(udge)g
+(to)e(an)h(ob)s(ject,)g(but)g(y)o(ou)75 878 y(don't)k(think)i(that)e
+(the)h(mouse)g(will)h(giv)o(e)f(y)o(ou)g(the)g(\014ne)g(lev)o(el)i(of)d
+(con)o(trol)h(that)f(y)o(ou)g(w)o(an)o(t,)g(y)o(ou)h(can)75
+932 y(p)q(osition)f(the)g(cursor)e(o)o(v)o(er)h(the)g(ob)s(ject,)g
+(press)g Fm(<)p Fh(Key)p Fm(>)p Fh([)p Fo(,)g(mo)o(v)o(e)f(it)i(with)f
+(the)h(arro)o(w)d(k)o(eys,)i(then)h(press)75 987 y Fm(<)p
+Fh(Key)p Fm(>)p Fh(])22 b Fo(when)d(it's)f(at)f(the)i(desired)g(p)q
+(osition.)30 b(Remem)o(b)q(er)18 b(that)f(all)i(mo)o(v)o(emen)o(ts)e
+(are)h(forced)g(on)o(to)75 1042 y(grid)e(co)q(ordinates,)f(so)g(y)o(ou)
+f(ma)o(y)h(w)o(an)o(t)f(to)h(c)o(hange)g(the)g(grid)h(spacing)g
+(\014rst.)75 1178 y Fl(2.6)33 b(Loading)23 b(and)g(Sa)n(ving)137
+1277 y Fo(After)14 b(y)o(our)g(\014rst)h(exp)q(erience)h(with)f
+Fm(Pcb)f Fo(y)o(ou)g(will)j(probably)e(w)o(an)o(t)e(to)h(sa)o(v)o(e)g
+(y)o(our)g(w)o(ork.)19 b Ff(:s)c(name)75 1332 y Fo(passes)i(the)h(data)
+f(to)g(an)g(external)h(program)e(whic)o(h)j(is)f(resp)q(onsible)h(for)e
+(sa)o(ving)g(it.)27 b(F)l(or)17 b(details)i(see)75 1387
+y Fh(saveCommand)j Fo(in)d(Section)g(5.1)e([Resources],)h(page)g(30.)28
+b(Sa)o(ving)18 b(also)g(is)h(a)o(v)m(ailable)g(from)f(the)g
+Fh(File)75 1441 y Fo(men)o(u,)f(either)g(with)g(or)g(without)f
+(supplying)j(a)d(\014lename.)26 b Fm(Pcb)16 b Fo(reuses)h(the)g(last)g
+(\014lename)g(if)h(y)o(ou)e(do)75 1496 y(not)f(pass)g(a)g(new)g(one)g
+(to)g(the)g(sa)o(v)o(e)g(routine.)137 1566 y(T)l(o)i(load)h(an)f
+(existing)h(la)o(y)o(out)e(either)i(select)g Fh(lo)n(ad)g(layout)h
+(data)i Fo(from)c(the)g Fh(File)j Fo(men)o(u)d(or)g(use)g
+Ff(:l)75 1621 y(filename)p Fo(.)h(A)11 b(\014le)i(select)f(b)q(o)o(x)g
+(p)q(ops)g(up)g(if)g(y)o(ou)f(don't)g(sp)q(ecify)i(a)f(\014lename.)19
+b(Merging)12 b(existing)h(la)o(y)o(outs)75 1676 y(in)o(to)i(the)g(new)h
+(one)f(is)h(supp)q(orted)g(either)g(b)o(y)f(the)g Fh(File)j
+Fo(men)o(u)d(or)g(b)o(y)g Ff(:m)g(filename)p Fo(.)137
+1746 y Fm(Pcb)h Fo(sa)o(v)o(es)f(a)h(bac)o(kup)h(of)f(the)g(curren)o(t)
+g(la)o(y)o(out)g(dep)q(ending)i(on)e(the)g(resource)h
+Fh(b)n(ackup)p Fo(.)23 b(The)16 b(\014le)h(is)75 1801
+y(named)d(`)p Fm(/tmp/PCB.\045i.backup)p Fo('.)i(During)e(critical)h
+(sections)f(of)f(the)h(program)e(or)i(when)g(data)f(w)o(ould)75
+1856 y(b)q(e)j(lost)f(it)g(is)h(sa)o(v)o(ed)f(as)g(`)p
+Fm(/tmp/PCB.\045i.save)p Fo('.)i Fh(\045i)i Fo(is)d(replaced)h(b)o(y)e
+(the)g(pro)q(cess)g(ID.)75 1991 y Fl(2.7)33 b(Prin)n(ting)137
+2091 y Fm(Pcb)10 b Fo(no)o(w)h(has)f(supp)q(ort)h(for)f(device)i(driv)o
+(ers,)f Fm(PostScript)p Fo(,)f Fh(enc)n(apsulate)n(d)h(PostScript)p
+Fo(,)g(and)g Fh(Gerb)n(er)75 2145 y(X)21 b Fo(driv)o(ers)15
+b(are)f(a)o(v)m(ailable)i(so)e(far.)19 b(The)14 b Fh(Gerb)n(er)i(X)21
+b Fo(driv)o(er)14 b(generates)g(a)g(NC)h(drill)h(\014le)f(for)f
+(automated)75 2200 y(drilling.)40 b(I)21 b(recommend)h(the)f(use)g(of)g
+Fm(GhostScript)e Fo(if)j(y)o(ou)e(don't)h(ha)o(v)o(e)f(a)h
+Fm(PostScript)f Fo(prin)o(ter)75 2255 y(for)e(handling)j(the)e(P)o
+(ostScript)f(output.)31 b(Prin)o(ting)19 b(alw)o(a)o(ys)f(generates)h
+(a)f(complete)i(set)e(of)h(\014les)h(for)75 2310 y(a)d(sp)q(eci\014ed)i
+(driv)o(er.)26 b(See)18 b(the)f(page)g(ab)q(out)g(the)g
+Fh(Print\(\))g Fo(action)h(for)e(addtional)i(information)f(ab)q(out)75
+2365 y(the)e(\014lenames.)21 b(The)15 b(con)o(trol)f(panel)i(o\013ers)e
+(a)h(n)o(um)o(b)q(er)g(of)f(options.)20 b(Most)14 b(of)h(them)f(are)h
+(not)f(a)o(vilable)75 2419 y(for)h(Gerb)q(er)g(output)g(b)q(ecause)h
+(it)g(w)o(ouldn't)f(mak)o(e)g(sense,)g(for)g(example,)h(to)e(scale)i
+(the)g(gerb)q(er)f(output)75 2474 y(\(y)o(ou'd)f(get)h(an)g
+(incorrectly)i(made)e(b)q(oard!\))k(The)d(options)f(are:)75
+2587 y(`)p Fm(device)p Fo(')70 b(The)15 b(top)g(men)o(u)h(button)f
+(selects)h(from)e(the)h(a)o(v)m(ailable)i(device)g(driv)o(ers.)75
+2670 y(`)p Fm(rotate)p Fo(')70 b(Rotate)14 b(la)o(y)o(out)g(90)h
+(degrees)g(coun)o(ter-clo)q(c)o(kwise)i(b)q(efore)e(prin)o(ting)h
+(\(default\).)p eop
+%%Page: 20 21
+20 20 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(20)75 149 y(`)p Fm(mirror)p Fo(')70 b(Mirror)17 b(la)o(y)o(out)g(b)q
+(efore)h(prin)o(ting.)29 b(Use)18 b(this)g(option)g(dep)q(ending)i(on)e
+(y)o(our)f(pro)q(duction)315 204 y(line.)75 282 y(`)p
+Fm(color)p Fo(')94 b(Created)17 b(colored)h(output.)26
+b(All)18 b(colors)f(will)i(b)q(e)f(con)o(v)o(erted)f(to)g(blac)o(k)h
+(if)f(this)h(option)f(is)315 337 y(inactiv)o(e.)75 415
+y(`)p Fm(outline)p Fo(')46 b(Add)13 b(a)f(b)q(oard)h(outline)h(to)e
+(the)h(output)f(\014le.)20 b(The)13 b(size)h(is)f(determined)h(b)o(y)e
+(the)h(maxim)o(um)315 470 y(b)q(oardsize)i(c)o(hangeable)f(from)f(the)h
+Fh(sizes)i Fo(men)o(u.)k(The)14 b(outline)h(app)q(ears)f(on)g(the)f
+(top)h(and)315 524 y(b)q(ottom)j(sides)i(of)e(the)h(b)q(oard,)g(but)g
+(not)f(on)h(the)g(in)o(ternal)h(la)o(y)o(ers.)27 b(An)18
+b(outline)h(can)f(b)q(e)315 579 y(useful)f(for)f(determining)i(where)e
+(to)g(shear)g(the)g(b)q(oard)h(from)e(the)i(panel,)g(but)f(b)q(e)h(a)o
+(w)o(are)315 634 y(that)c(it)i(creates)e(a)h(copp)q(er)h(line.)21
+b(Th)o(us)14 b(it)g(has)g(the)g(p)q(oten)o(tial)h(to)e(cause)i(short)e
+(circuits)i(if)315 689 y(y)o(ou)f(don't)f(lea)o(v)o(e)h(enough)g(ro)q
+(om)f(from)g(y)o(our)h(wiring)g(to)g(the)f(b)q(oard)h(edge.)20
+b(Use)14 b(a)g(view)o(er)315 744 y(to)f(see)g(what)g(the)g(output)g
+(outline)i(lo)q(oks)f(lik)o(e)g(if)g(y)o(ou)f(w)o(an)o(t)f(to)h(kno)o
+(w)f(what)h(it)h(lo)q(oks)f(lik)o(e.)75 821 y(`)p Fm(alignment)p
+Fo(')315 876 y(Additional)j(alignemen)o(t)f(targets)e(are)h(added)h(to)
+f(the)h(output.)k(The)c(distances)g(b)q(et)o(w)o(een)315
+931 y(the)h(b)q(oard)g(outline)h(is)g(set)e(b)o(y)h(the)g(resource)g
+Fh(alignmentDistanc)n(e)p Fo(.)k(Alignmen)o(t)d(targets)315
+986 y(should)c(only)f(b)q(e)h(used)f(if)g(y)o(ou)g(kno)o(w)f(for)g
+(certain)h(that)f(YOU)i(WILL)f(BE)g(USING)g(THEM)315
+1041 y(YOURSELF.)21 b(It)h(is)g(extremely)g(unlik)o(ely)h(that)e(y)o
+(ou)g(will)i(w)o(an)o(t)d(to)h(ha)o(v)o(e)g(alignmen)o(t)315
+1095 y(targets)14 b(if)i(y)o(ou)e(send)i(gerb)q(er)g(\014les)g(to)e(a)h
+(commercial)h(p)q(cb)g(man)o(ufacture)f(to)g(b)q(e)h(made.)75
+1173 y(`)p Fm(scaling)p Fo(')46 b(It's)22 b(quite)i(useful)f(to)f
+(enlarge)h(y)o(our)g(prin)o(tout)f(for)g(c)o(hec)o(king)i(the)e(la)o(y)
+o(out.)42 b(Use)23 b(the)315 1228 y(scrollbar)16 b(to)e(adjust)h(the)h
+(scaling)g(factor)e(to)h(y)o(our)f(needs.)75 1306 y(`)p
+Fm(media)p Fo(')94 b(Select)16 b(the)g(size)g(of)e(the)i(output)e
+(media)i(from)f(this)g(men)o(u.)20 b(The)c(user)f(de\014ned)i(size)f
+(ma)o(y)315 1361 y(b)q(e)h(set)f(b)o(y)g(the)g(resource)h
+Fh(me)n(dia)j Fo(either)d(from)e(one)h(of)g(the)h(w)o(ell)g(kno)o(wn)f
+(pap)q(er)g(sizes)h(or)315 1416 y(b)o(y)f(a)g Fm(X11)g
+Fo(geometry)g(sp)q(eci\014cation.)25 b(This)17 b(en)o(try)f(is)g(only)h
+(a)o(v)m(ailable)h(if)f(y)o(ou)f(use)h Fm(X11R5)315 1470
+y Fo(or)12 b(later.)19 b(F)l(or)12 b(earlier)h(releases)g(the)g(user)f
+(de\014ned)i(size)g(or,)e(if)h(not)f(a)o(v)m(ailable,)i
+Fh(A4)19 b Fo(is)13 b(used.)315 1525 y(W)l(ell)k(kno)o(wn)d(size)j
+(are:)435 1589 y(A3)435 1640 y(A4)435 1692 y(A5)435 1744
+y(letter)435 1796 y(tabloid)435 1848 y(ledger)435 1900
+y(legal)435 1952 y(executiv)o(e)75 2030 y(`)p Fm(offset)p
+Fo(')70 b(Adjust)17 b(the)g(o\013sets)f(of)g(the)h(prin)o(tout)g(b)o(y)
+f(using)i(the)f(panner)g(at)f(the)h(righ)o(t)g(side)g(of)g(the)315
+2084 y(dialog)f(b)q(o)o(x.)j(This)d(en)o(try)e(is)i(only)f(a)o(v)m
+(ailable)i(if)e(y)o(ou)g(use)g Fm(X11R5)f Fo(or)g(later.)20
+b(A)15 b(zero)g(o\013set)315 2139 y(is)h(used)f(for)g(earlier)h
+(releases.)75 2217 y(`)p Fm(8.3)e(filenames)p Fo(')315
+2272 y(Select)19 b(this)f(button)g(to)f(generate)g(DOS)h(compatible)h
+(\014lenames)g(for)e(the)h(output)f(\014les.)315 2327
+y(The)e Fh(c)n(ommand)20 b Fo(input)d(area)d(will)j(disapp)q(ear)f(if)g
+(selected.)75 2405 y(`)p Fm(commandline)p Fo(')315 2459
+y(Use)d(this)g(line)h(to)e(en)o(ter)h(a)f(command)h(\(starts)e(with)i
+Fm(|)p Fo(\))f(or)g(a)g(\014lename.)20 b(A)13 b(\045f)g(is)g(replaced)
+315 2514 y(b)o(y)i(the)g(curren)o(t)g(\014lename.)21
+b(The)16 b(default)g(is)f(set)g(b)o(y)g(the)h(resource)f
+Fh(printCommand)p Fo(.)137 2592 y(The)h(created)f(\014le)h(includes)i
+(some)d(lab)q(els)h(whic)o(h)g(are)f(guaran)o(teed)g(to)g(sta)o(y)f
+(unc)o(hanged)75 2670 y(`)p Fm(PCBMIN)p Fo(')70 b(iden)o(ti\014es)17
+b(the)e(lo)o(w)o(est)g(x)g(and)g(y)g(co)q(ordinates)h(in)g(mil.)p
+eop
+%%Page: 21 22
+21 21 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(21)75 149 y(`)p Fm(PCBMAX)p Fo(')70 b(iden)o(ti\014es)17
+b(the)e(highest)h(x)f(and)h(y)f(co)q(ordinates)g(in)h(mil.)75
+233 y(`)p Fm(PCBOFFSET)p Fo(')315 287 y(is)g(set)f(to)f(the)i(x)f(and)g
+(y)g(o\013set)f(in)i(mil.)75 370 y(`)p Fm(PCBSCALE)p
+Fo(')315 425 y(is)g(a)f(\015oating)g(p)q(oin)o(t)g(v)m(alue)i(whic)o(h)
+f(iden)o(ti\014es)h(the)e(scaling)h(factor.)75 508 y(`)p
+Fm(PCBSTARTDATA)p Fo(')75 563 y(`)p Fm(PCBENDDATA)p Fo(')315
+618 y(all)i(la)o(y)o(out)e(data)g(is)h(included)i(b)q(et)o(w)o(een)e
+(these)g(t)o(w)o(o)e(marks.)24 b(Y)l(ou)17 b(ma)o(y)f(use)h(them)g
+(with)315 673 y(an)d Fm(awk)f Fo(script)i(to)e(pro)q(duce)i(sev)o(eral)
+f(prin)o(touts)g(on)g(one)g(piece)i(of)d(pap)q(er)i(b)o(y)f
+(duplicating)315 728 y(the)k(co)q(de)h(and)f(putting)g(some)g
+Fm(translate)e Fo(commands)i(in)h(fron)o(t.)27 b(Note,)18
+b(the)g(normal)315 782 y Fm(PostScript)c Fo(units)i(are)f(1/72)f(inc)o
+(h.)75 948 y Fl(2.8)33 b(Connection)22 b(Lists)137 1047
+y Fo(After)17 b(completing)i(parts)e(of)g(y)o(our)f(la)o(y)o(out)h(y)o
+(ou)g(ma)o(y)g(w)o(an)o(t)f(to)h(c)o(hec)o(k)h(if)g(all)g(dra)o(wn)f
+(connections)75 1102 y(matc)o(h)c(the)h(ones)g(y)o(ou)g(ha)o(v)o(e)f
+(in)i(mind.)20 b(This)15 b(is)f(probably)g(b)q(est)g(done)h(in)f
+(conjunction)h(with)f(a)g(net-list)75 1157 y(\014le:)22
+b(see)17 b(Section)g(2.10)d([Rats)h(Nest],)g(page)h(22.)21
+b(The)c(follo)o(wing)f(examples)h(giv)o(e)f(more)g(rudimen)o(tary)75
+1212 y(w)o(a)o(ys)e(to)h(examine)h(the)f(connections.)290
+1280 y Fm(1\))24 b(create)f(at)h(least)f(two)g(elements)g(and)h(name)f
+(them)290 1332 y(2\))h(create)f(some)g(connections)g(between)g(their)g
+(pins)290 1383 y(3\))h(optionally)f(add)g(some)g(vias)h(and)f
+(connections)f(to)i(them)137 1454 y Fo(No)o(w)16 b(select)h
+Fh(lo)n(okup)g(c)n(onne)n(ction)h Fo(from)d(the)i Fh(Conne)n(ctions)g
+Fo(men)o(u,)f(mo)o(v)o(e)g(the)g(cursor)g(to)f(a)h(pin)h(or)75
+1509 y(via)f(and)h(press)f(an)o(y)g(mouse)g(button.)22
+b Fm(Pcb)15 b Fo(will)j(lo)q(ok)f(for)e(all)i(other)f(pins)h(and/or)e
+(vias)i(connected)g(to)75 1564 y(the)e(one)g(y)o(ou)g(ha)o(v)o(e)f
+(selected)i(and)f(displa)o(y)h(the)g(ob)s(jects)e(in)i(a)e(di\013eren)o
+(t)h(color.)20 b(No)o(w)14 b(try)h(some)f(of)h(the)75
+1618 y(reset)g(options)g(a)o(v)m(ailable)i(from)e(the)g(same)g(men)o
+(u.)137 1689 y(There)g(also)g(is)g(a)f(w)o(a)o(y)g(to)g(scan)g(all)i
+(connections)f(of)g(one)f(elemen)o(t.)21 b(Select)15
+b Fh(a)h(single)f(element)j Fo(from)75 1744 y(the)f(men)o(u)g(and)g
+(press)g(an)o(y)f(button)h(at)f(the)h(elemen)o(t's)g(lo)q(cation.)26
+b(All)18 b(connections)g(of)e(this)h(elemen)o(t)75 1799
+y(will)i(b)q(e)g(sa)o(v)o(ed)e(to)g(the)g(sp)q(eci\014ed)j(\014le.)28
+b(Either)18 b(the)g(la)o(y)o(out)f(name)h(of)f(the)g(elemen)o(t)i(or)e
+(its)h(canonical)75 1853 y(name)e(is)h(used)g(to)e(iden)o(tify)j(pins)f
+(dep)q(ending)h(on)e(the)g(one)h(whic)o(h)g(is)f(displa)o(y)o(ed)i(on)e
+(the)g(screen)h(\(ma)o(y)75 1908 y(b)q(e)f(c)o(hanged)f(b)o(y)h
+Fh(Display)j Fo(men)o(u\).)137 1979 y(An)d(automatic)f(scan)h(of)f(all)
+i(elemen)o(ts)f(is)h(initiated)g(b)o(y)e(c)o(ho)q(osing)i
+Fh(al)r(l)f(elements)p Fo(.)k(It)c(b)q(eha)o(v)o(es)g(in)g(a)75
+2034 y(similar)h(fashion)g(to)e(scanning)i(a)f(single)h(elemen)o(t)g
+(except)g(the)f(resource)g Fh(r)n(esetAfterElement)j
+Fo(is)d(used)75 2088 y(to)f(determine)h(if)f(connections)i(should)f(b)q
+(e)g(reset)e(b)q(efore)i(a)f(new)g(elemen)o(t)h(is)g(scanned.)k(Doing)c
+(so)e(will)75 2143 y(pro)q(duce)h(v)o(ery)e(long)h(lists)h(b)q(ecause)g
+(the)f(p)q(o)o(w)o(er)f(lines)i(are)f(rescanned)g(for)g(ev)o(ery)f
+(elemen)o(t.)20 b(By)14 b(default)75 2198 y(the)h(resource)h(is)f(set)g
+(to)g Fh(false)j Fo(for)c(this)i(reason.)137 2269 y(T)l(o)f(scan)g(for)
+g(unconnected)i(pins)f(select)g Fh(unuse)n(d)g(pins)i
+Fo(from)d(the)g(same)g(men)o(u.)75 2406 y Fl(2.9)33 b(Selection)137
+2506 y Fo(Some)13 b(commands)f(men)o(tioned)i(earlier)f(in)h(this)f(c)o
+(hapter)g(also)f(are)h(able)g(to)f(op)q(erate)g(on)h(all)h(selected)75
+2560 y(and)h(visible)j(ob)s(jects.)h(No)o(w)c(go)g(bac)o(k)g(to)f(the)i
+(la)o(y)o(out)e(and)i(toggle)f(the)g(selection)i(\015ag)d(of)h(a)g
+(single)i(one)75 2615 y(b)o(y)g Fm(<)p Fh(Btn3Down)p
+Fm(>)p Fo(.)24 b(T)l(ry)17 b Fm(<)p Fh(Btn3Down)p Fm(>)p
+Fo(,)g(mo)o(v)o(e)f(the)h(p)q(oin)o(ter)g(while)h(holding)h(the)e
+(button)f(do)o(wn)h(and)75 2670 y(release)f(it)g(on)f(a)g(di\013eren)o
+(t)h(lo)q(cation.)22 b(This)16 b(selects)g(all)g(ob)s(jects)f(inside)j
+(the)d(rectangle)h(and)g(unselects)p eop
+%%Page: 22 23
+22 22 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(22)75 149 y(ev)o(erything)12 b(else.)19 b(Dragging)11
+b(with)h Fh(Mo)n(d1)p Fm(<)p Fh(Btn3Down)p Fm(>)f Fo(adds)h(ev)o
+(erything)g(in)g(the)f(b)q(o)o(x)h(to)e(the)i(existing)75
+204 y(selection.)21 b(Dragging)15 b Fh(Shift)h Fm(<)p
+Fh(Btn3Down)p Fm(>)f Fo(unselects)h(ob)s(jects)f(in)h(the)f(b)q(o)o(x.)
+137 271 y(The)k(en)o(tries)g(of)f(the)h Fh(Sele)n(ction)h
+Fo(men)o(u)f(are)f(hop)q(efully)j(self-explanatory)l(.)30
+b(Man)o(y)18 b(of)g(the)h Fh(A)n(ction)75 326 y(Commands)24
+b Fo(can)e(tak)o(e)e(v)m(arious)i(k)o(ey)f(w)o(ords)f(that)g(mak)o(e)h
+(them)g(function)h(on)f(all)h(or)e(some)h(of)g(the)75
+381 y(selected)16 b(items.)75 509 y Fl(2.10)32 b(Rats)22
+b(Nest)137 606 y Fo(If)e(y)o(ou)e(ha)o(v)o(e)h(a)g(netlist)h(that)e
+(corresp)q(onds)i(to)e(the)h(la)o(y)o(out)g(y)o(ou)g(are)f(w)o(orking)h
+(on,)h(y)o(ou)e(can)i(use)75 660 y(the)15 b(rats-nest)f(feature)g(to)h
+(add)g(rat-lines)g(to)f(the)h(la)o(y)o(out.)k(First)c(y)o(ou)f(will)j
+(need)e(to)g(load)g(a)f(netlist)i(\014le)75 715 y(\(see)f
+Fh(:rn)p Fo(,)f(Chapter)h(3)g([User)f(Commands],)g(page)h(25\).)k
+Fm(<)p Fh(Key)p Fm(>)p Fh(w)h Fo(adds)15 b(rat-lines)h(on)f(the)g
+(activ)o(e)g(la)o(y)o(er)75 770 y(using)e(the)f(curren)o(t)g(line)i
+(thic)o(kness)f(sho)o(wn)f(in)h(the)f(status)g(line)i(\(usually)f(y)o
+(ou'll)f(w)o(an)o(t)g(them)g(to)f(b)q(e)i(thin)75 825
+y(lines\).)21 b(Only)14 b(those)f(rat-lines)h(that)f(\014ll)i(in)f
+(missing)g(connectivit)o(y)h(\(since)f(y)o(ou)f(ha)o(v)o(e)g(probably)h
+(routed)75 880 y(some)k(connections)i(already\))f(are)g(added.)31
+b(If)19 b(the)g(la)o(y)o(out)f(is)h(already)g(completely)h(wired,)g
+(nothing)75 934 y(will)d(b)q(e)f(added,)f(and)h(y)o(ou)e(will)j(get)e
+(a)g(message)g(that)f(the)h(wiring)h(is)g(complete.)137
+1001 y(Rat-lines)h(are)e(lines)i(ha)o(ving)g(the)e(sp)q(ecial)j(prop)q
+(ert)o(y)d(that)g(they)h(only)h(connect)f(to)f(pins)i(and)f(pads)75
+1056 y(at)j(their)h(end)h(p)q(oin)o(ts.)34 b(Rat-lines)20
+b(are)f(dra)o(wn)g(on)h(the)g(screen)g(with)g(a)g(stippled)h(pattern)e
+(to)g(mak)o(e)75 1111 y(them)c(easier)h(to)f(iden)o(tify)h(since)h
+(they)e(ha)o(v)o(e)g(sp)q(ecial)i(b)q(eha)o(vior)f(and)g(cannot)f
+(remain)h(in)g(a)f(completed)75 1166 y(la)o(y)o(out.)j(Rat-lines)13
+b(are)f(added)h(in)g(the)g(minim)o(um)g(length)g(straigh)o(t-line)g
+(tree)g(pattern)e(\(alw)o(a)o(ys)h(ending)75 1221 y(on)17
+b(pins)h(or)f(pads\))g(that)f(satis\014es)h(the)g(missing)h
+(connectivit)o(y)h(in)e(the)h(circuit.)26 b(Used)18 b(in)g(connection)
+75 1275 y(with)h(mo)o(v)o(es)f(and)i(rotates)d(of)i(the)g(elemen)o(ts,)
+h(they)f(are)g(extremely)g(useful)h(for)e(deciding)j(where)f(to)75
+1330 y(place)g(elemen)o(ts)g(on)f(the)g(b)q(oard.)32
+b(The)19 b(rat-lines)h(will)h(alw)o(a)o(ys)d(automatically)i(rubb)q
+(erband)g(to)f(the)75 1385 y(elemen)o(ts)e(whether)f(or)f(not)h(the)g
+(rubb)q(erband)h(mo)q(de)g(is)f(on.)22 b(The)17 b(only)f(w)o(a)o(y)f
+(for)h(y)o(ou)f(to)h(mo)o(v)o(e)f(them)75 1440 y(is)i(b)o(y)g(mo)o
+(ving)g(the)g(parts)f(they)h(connect)g(to.)24 b(This)18
+b(is)f(b)q(ecause)h(it)f(is)h(nev)o(er)f(desireable)h(to)e(ha)o(v)o(e)h
+(the)75 1495 y(rat-lines)h(disconnected)i(from)c(their)i(elemen)o(t)g
+(pins.)28 b(Rat-lines)18 b(will)h(normally)f(criss-cross)f(all)i(o)o(v)
+o(er)75 1549 y(whic)o(h)13 b(giv)o(es)g(rise)g(to)f(the)h(name)f
+Fm(")p Fo(rats)g(nest)p Fm(")g Fo(describing)j(a)d(la)o(y)o(out)g
+(connected)h(with)g(them.)19 b(If)13 b(a)f(SMD)75 1604
+y(pad)i(is)h(unreac)o(hable)h(on)e(the)g(activ)o(e)h(la)o(y)o(er,)e(a)h
+(w)o(arning)h(will)h(b)q(e)e(issued)i(ab)q(out)e(it)h(and)f(the)g
+(rat-line)i(to)75 1659 y(that)e(pad)i(will)h(not)e(b)q(e)g(generated.)
+137 1726 y(A)i(common)g(w)o(a)o(y)f(to)h(use)g(rats)g(nests)g(is)g(to)g
+(place)h(some)f(elemen)o(ts)h(on)f(the)g(b)q(oard,)g(add)g(the)h(rat-)
+75 1781 y(lines,)f(and)f(then)g(use)g(a)g(series)g(of)f(mo)o(v)o
+(es/rotates)f(of)h(the)h(elemen)o(ts)g(un)o(til)h(the)f(rats)f(nest)h
+(app)q(ears)g(to)75 1836 y(ha)o(v)o(e)h(minim)o(um)h(tangling.)27
+b(Y)l(ou)18 b(ma)o(y)e(w)o(an)o(t)g(to)h(iterate)g(this)h(step)f(sev)o
+(eral)h(times.)26 b(Don't)16 b(w)o(orry)g(if)75 1891
+y(the)j(la)o(y)o(out)g(lo)q(oks)g(messy)g(-)h(as)e(long)i(as)f(y)o(ou)g
+(can)g(get)g(a)g(sense)g(for)g(whether)g(the)g(criss-crossing)h(is)75
+1945 y(b)q(etter)15 b(or)g(w)o(orse)g(as)g(y)o(ou)g(mo)o(v)o(e)f
+(things,)i(y)o(ou're)e(\014ne.)21 b(After)15 b(mo)o(ving)g(some)h
+(elemen)o(ts)g(arround,)e(y)o(ou)75 2000 y(ma)o(y)g(w)o(an)o(t)f(to)g
+(optimize)j(the)e(rats)f(nest)i Fm(<)p Fh(Key)p Fm(>)p
+Fh(o)i Fo(so)c(that)h(the)g(lines)i(are)e(dra)o(wn)g(b)q(et)o(w)o(een)g
+(the)h(closest)75 2055 y(p)q(oin)o(ts)h(\(this)f(can)h(c)o(hange)f
+(once)h(y)o(ou'v)o(e)f(mo)o(v)o(ed)g(comp)q(onen)o(ts\).)20
+b(Adding)d(rat-lines)f(only)g(to)f(selected)75 2110 y(pads/pins)g(\()p
+Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(w)5 b Fo(\))12 b(is)i(often)g
+(useful)h(to)e(la)o(y)o(out)g(a)g(circuit)j(a)d(little)i(bit)f(at)f(a)h
+(time.)20 b(Sometimes)75 2164 y(y)o(ou'll)12 b(w)o(an)o(t)f(to)g
+(delete)i(all)g(the)f(rat-lines)g(\()p Fm(<)p Fh(Key)p
+Fm(>)p Fh(e)s Fo(\))g(or)f(selected)i(rat-lines)g(\()p
+Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(e)s Fo(\))d(in)j(order)f(to)75
+2219 y(reduce)j(confusion.)20 b(With)14 b(a)g(little)h(practice)g(y)o
+(ou'll)f(b)q(e)h(able)g(to)e(ac)o(hiev)o(e)i(a)e(near)h(optimal)h(comp)
+q(onen)o(t)75 2274 y(placemen)o(t)h(with)f(the)h(use)f(of)g(a)g(rats)f
+(nest.)137 2341 y(Rat-lines)h(are)f(not)g(only)h(used)f(for)g
+(assisting)h(y)o(our)e(elemen)o(t)i(placemen)o(t,)g(they)f(can)h(also)f
+(help)h(y)o(ou)75 2396 y(to)f(route)g(traces)f(on)i(the)f(b)q(oard.)20
+b(Use)14 b(the)g Fm(<)p Fh(Key)p Fm(>)p Fh(m)k Fo(to)c(con)o(v)o(ert)f
+(a)h(rat-line)i(under)f(the)f(cursor)g(in)o(to)g(a)75
+2451 y(normal)g(line)i(on)e(the)g(activ)o(e)g(la)o(y)o(er.)19
+b(Inserting)c(a)f(p)q(oin)o(t)h(in)o(to)f(a)g(rat-line)h(will)g(also)f
+(cause)h(the)f(t)o(w)o(o)f(new)75 2506 y(lines)j(to)f(b)q(e)g(normal)g
+(lines)i(on)e(the)g(b)q(oard.)k(Another)c(w)o(a)o(y)f(that)g(y)o(ou)h
+(can)g(use)g(rat-lines)h(is)f(to)g(use)g(the)75 2560
+y Fm(<)p Fh(Key)p Fm(>)p Fh(f)24 b Fo(with)15 b(the)f(cursor)h(o)o(v)o
+(er)e(a)i(pad)f(or)g(pin.)21 b(All)16 b(of)e(the)h(pins)h(and)e(pads)h
+(and)g(rat-lines)g(b)q(elonging)75 2615 y(to)h(that)g(net)h(will)h(b)q
+(e)g(highligh)o(ted.)26 b(This)18 b(is)f(a)f(helpful)j(w)o(a)o(y)d(to)g
+(distinguish)j(one)e(net)g(from)f(the)g(rest)75 2670
+y(of)h(the)g(rats)f(nest.)25 b(Y)l(ou)17 b(can)g(then)g(route)g(those)g
+(trac)o(ks,)f(turn)g(o\013)h(the)g(highligh)o(ting)i(\()p
+Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(f)8 b Fo(\))p eop
+%%Page: 23 24
+23 23 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(23)75 149 y(and)14 b(rep)q(eat)h(the)f(pro)q(cess.)20
+b(This)15 b(will)h(w)o(ork)d(ev)o(en)i(if)f(the)h(la)o(y)o(er)f(that)f
+(the)i(rat-lines)g(reside)g(on)f(is)h(made)75 204 y(in)o(visible)i(-)d
+(so)g(only)h(the)f(pins)i(and)e(pads)g(are)g(highligh)o(ted.)22
+b(Be)14 b(sure)h(to)e(erase)h(the)h(rat-lines)g(\()p
+Fm(<)p Fh(Key)p Fm(>)p Fh(e)75 259 y Fo(erases)f(them)g(all\))h(once)g
+(y)o(ou'v)o(e)f(duplicated)i(their)f(connectivit)o(y)g(b)o(y)g(adding)g
+(y)o(our)f(o)o(wn)f(lines.)22 b(When)75 314 y(in)16 b(doubt,)f(the)g
+Fm(<)p Fh(Key)p Fm(>)p Fh(o)j Fo(will)f(delete)f(only)g(those)f
+(rat-lines)h(that)f(are)g(no)g(longer)g(needed.)137 400
+y(If)22 b(connections)h(exist)f(on)f(the)h(b)q(oard)f(that)g(are)g(not)
+h(listed)h(in)f(the)g(netlist)g(when)g Fm(<)p Fh(Key)p
+Fm(>)p Fh(w)k Fo(is)75 455 y(pressed,)15 b(w)o(arning)f(messages)g(are)
+g(issued)i(and)e(the)h(a\013ected)f(pins)h(and)g(pads)g(are)f(dra)o(wn)
+g(in)h(a)f(sp)q(ecial)75 509 y Fh(warnColor)23 b Fo(un)o(til)d(the)e
+(next)h Fh(Notify\(\))g Fo(ev)o(en)o(t.)30 b(If)19 b(the)f(en)o(tire)h
+(la)o(y)o(out)f(agrees)g(completely)i(with)f(the)75 564
+y(netlist,)g(a)e(message)h(informs)g(y)o(ou)f(that)g(the)h(la)o(y)o
+(out)f(is)i(complete)f(and)g(no)g(rat-lines)g(will)i(b)q(e)e(added)75
+619 y(\(since)k(none)f(are)g(needed\).)37 b(If)21 b(the)g(la)o(y)o(out)
+g(is)g(complete,)i(but)e(still)h(has)f(rat-lines)h(then)f(y)o(ou)f
+(will)75 674 y(b)q(e)e(w)o(arned)f(that)g(rat-lines)h(remain.)27
+b(If)18 b(y)o(ou)f(get)g(no)g(message)g(at)g(all)i(it's)e(probably)h(b)
+q(ecause)g(some)75 728 y(elemen)o(ts)j(listed)g(in)g(the)f(net)g(list)h
+(can't)f(b)q(e)h(found)f(and)g(where)h(rep)q(orted)f(in)h(an)f(earlier)
+h(message.)75 783 y(There)15 b(shouldn't)h(b)q(e)g(an)o(y)f(rat-lines)h
+(left)g(in)g(a)f(completed)h(la)o(y)o(out,)e(only)i(normal)f(lines.)137
+869 y(The)i Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(w)k
+Fo(is)c(used)f(to)g(add)h(rat-lines)g(to)f(only)h(those)f(missing)h
+(connections)g(among)f(the)75 924 y(selected)h(pins)g(and)f(pads.)22
+b(This)17 b(can)f(b)q(e)g(used)h(to)e(add)h(rat-lines)h(in)g(an)e
+(incremen)o(tal)i(manner,)f(or)g(to)75 979 y(force)g(a)f(rat-line)i(to)
+e(route)h(b)q(et)o(w)o(een)g(t)o(w)o(o)e(p)q(oin)o(ts)j(that)e(are)g
+(not)h(the)g(closest)g(p)q(oin)o(ts)g(within)h(the)f(net.)75
+1034 y(Often)h(it)f(is)h(b)q(est)g(to)e(add)i(the)f(rats)f(nest)i(in)g
+(an)f(incremen)o(tal)i(fashion,)e(la)o(ying)h(out)f(a)g(sub-section)h
+(of)75 1088 y(the)i(b)q(oard)g(b)q(efore)g(going)h(further.)31
+b(This)19 b(is)h(easy)f(to)f(accomplish)j(since)f(new)f(rat-lines)h
+(are)f(nev)o(er)75 1143 y(added)d(where)f(routed)g(connectivit)o(y)i
+(already)e(mak)o(es)g(the)g(necessary)g(connections.)75
+1318 y Fl(2.11)32 b(Design)22 b(Rule)h(Chec)n(king)137
+1433 y Fo(After)14 b(y)o(ou'v)o(e)f(\014nished)j(la)o(ying)e(out)g(a)g
+(b)q(oard,)f(y)o(ou)h(ma)o(y)f(w)o(an)o(t)g(to)h(c)o(hec)o(k)g(to)f(b)q
+(e)i(certain)f(that)g(none)75 1488 y(of)20 b(y)o(our)g(in)o
+(terconnections)i(are)e(to)q(o)g(closely)h(spaced)g(or)f(to)q(o)g(ten)o
+(uously)h(touc)o(hing)g(to)f(b)q(e)h(reliably)75 1543
+y(fabricated.)h(The)16 b(design)h(rule)g(c)o(hec)o(king)g(\(DR)o(C\))d
+(function)j(do)q(es)f(this)g(for)f(y)o(ou.)22 b(Use)16
+b(the)g(command)75 1598 y Fm(")p Fo(:DR)o(C\(\))p Fm(")g
+Fo(\(without)j(the)g(quotes)f(of)h(course\))g(to)f(in)o(v)o(ok)o(e)h
+(the)g(c)o(hec)o(k)o(er.)31 b(If)19 b(there)g(are)f(no)h(problem)75
+1653 y(areas,)g(y)o(ou'll)h(get)f(a)g(message)g(to)g(that)f(e\013ect.)
+32 b(If)20 b(an)o(y)f(problem)h(is)g(encoun)o(tered,)g(y)o(ou)f(will)i
+(get)e(a)75 1707 y(message)h(ab)q(out)g(it)h(and)f(the)g(a\013ected)g
+(traces)g(will)i(b)q(e)f(highligh)o(ted.)37 b(One)21
+b(part)f(of)g(the)g(trac)o(ks)f(of)75 1762 y(concern)e(will)h(b)q(e)g
+(selected,)f(while)i(the)d(other)g(parts)g(of)g(concern)i(will)g(ha)o
+(v)o(e)e(the)h Fm(")p Fo(FindConnection)p Fm(")75 1817
+y Fo(highligh)o(ting.)23 b(The)16 b(screen)g(will)i(automatically)e(b)q
+(e)g(cen)o(tered)g(in)h(the)e(middle)j(of)d(the)h(ob)s(ject)f(ha)o
+(ving)75 1872 y(the)c Fm(")p Fo(FindConnection)p Fm(")h
+Fo(\(Green\))e(highligh)o(ting.)21 b(The)11 b(middle)i(of)d(the)h(ob)s
+(ject)f(is)i(also)f(the)g(co)q(ordinates)75 1927 y(rep)q(orted)18
+b(to)g(b)q(e)h Fm(")p Fo(near)p Fm(")f Fo(the)h(problem.)30
+b(The)18 b(actual)h(trouble)g(region)f(will)i(b)q(e)f(somewhere)g(on)f
+(the)75 1981 y(b)q(oundary)g(of)e(this)i(ob)s(ject.)25
+b(If)17 b(the)g(t)o(w)o(o)f(parts)g(are)h(from)g(di\013eren)o(t)g(nets)
+g(then)g(there)h(is)f(some)g(place)75 2036 y(where)h(they)f(approac)o
+(h)h(eac)o(h)f(other)g(closer)h(than)g(the)f(minim)o(um)i(rule.)28
+b(If)17 b(the)h(parts)f(are)g(from)g(the)75 2091 y(same)g(net,)h(then)g
+(there)g(is)g(place)g(where)g(they)g(are)f(only)h(barely)g(connected.)
+28 b(Find)18 b(that)f(place)i(and)75 2146 y(connect)d(them)f(b)q
+(etter.)137 2232 y(After)20 b(a)f(DR)o(C)f(error)i(is)g(found)g(and)g
+(corrected)g(y)o(ou)f(m)o(ust)g(run)h(the)g(DR)o(C)e(again)i(b)q
+(ecause)h(the)75 2286 y(searc)o(h)11 b(for)f(errors)g(is)i(halted)g(as)
+e(so)q(on)h(as)g(the)g(\014rst)f(problem)i(is)f(found.)19
+b(Unless)12 b(y)o(ou'v)o(e)e(b)q(een)i(extremely)75 2341
+y(careless)18 b(there)g(should)h(b)q(e)f(no)g(more)f(than)h(a)f(few)h
+(design)g(rule)h(errors)e(in)h(y)o(our)f(la)o(y)o(out.)27
+b(The)18 b(DR)o(C)75 2396 y(c)o(hec)o(k)o(er)c(do)q(es)h(not)e(c)o(hec)
+o(k)i(for)e(minim)o(um)j(spacing)f(rules)g(to)e(copp)q(er)i(text,)e(so)
+h(alw)o(a)o(ys)g(b)q(e)g(v)o(ery)g(careful)75 2451 y(when)f(adding)h
+(copp)q(er)g(text)e(to)h(a)f(la)o(y)o(out.)19 b(The)13
+b(rules)h(for)e(the)h(DR)o(C)f(are)g(sp)q(eci\014ed)j(in)f(the)f
+(application)75 2506 y(resource)f(\014le.)20 b(The)12
+b(minim)o(um)h(spacing)g(v)m(alue)g(\(in)g(mils\))g(is)f(giv)o(en)h(b)o
+(y)f(the)g Fh(Settings.Blo)n(at)j Fo(v)m(alue.)20 b(The)75
+2560 y(default)d(is)g(7)f(mils.)25 b(The)17 b(minim)o(um)h(touc)o(hing)
+e(o)o(v)o(erlap)h(\(in)g(mils\))g(is)g(giv)o(en)g(b)o(y)f(the)h
+Fh(Settings.Shrink)75 2615 y Fo(v)m(alue.)j(This)11 b(v)m(alue)g
+(defaults)g(to)f(5)g(mils.)19 b(Chec)o(k)11 b(with)g(y)o(our)f
+(fabrication)h(pro)q(cess)f(p)q(eople)i(to)e(determine)75
+2670 y(the)15 b(v)m(alues)i(that)d(are)h(righ)o(t)g(for)g(y)o(ou.)p
+eop
+%%Page: 24 25
+24 24 bop 75 -58 a Fo(Chapter)15 b(2:)k(Getting)c(Started)1209
+b(24)137 149 y(If)11 b(y)o(ou)f(w)o(an)o(t)f(to)h(turn)h(o\013)e(the)i
+(highligh)o(ting)h(pro)q(duced)g(b)o(y)e(the)h(DR)o(C,)e(p)q(erform)h
+(an)g(undo)h(\(assuming)75 204 y(no)18 b(other)h(c)o(hanges)f(ha)o(v)o
+(e)g(b)q(een)i(made\).)29 b(T)l(o)18 b(restore)g(the)h(highligh)o
+(ting,)i(use)d(redo.)30 b(The)19 b(redo)f(will)75 259
+y(restore)c(the)i(highligh)o(ting)h(quic)o(kly)g(without)e(re-running)h
+(the)g(DR)o(C)d(c)o(hec)o(k)o(er.)p eop
+%%Page: 25 26
+25 25 bop 75 -58 a Fo(Chapter)15 b(3:)k(User)d(Commands)1194
+b(25)75 149 y Fk(3)41 b(User)26 b(Commands)137 267 y
+Fo(The)13 b(en)o(tering)f(of)g(user-commands)g(is)g(initiated)i(b)o(y)e
+(the)g(action)g(routine)h Fh(Command\(\))g Fo(\(the)f
+Fm(\(":"\))75 321 y Fo(c)o(haracter\))20 b(and)i(\014nished)h(b)o(y)e
+(either)h Fm(<)p Fh(Key)p Fm(>)p Fh(R)n(eturn)i Fo(or)d
+Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)i Fo(to)d(con\014rm)i(or)e(to)h
+(ab)q(ort.)75 376 y(These)g(t)o(w)o(o)e(k)o(eybindings)k(cannot)d(b)q
+(e)h(c)o(hanged)g(from)f(the)g(resource)h(\014le.)37
+b(The)21 b(triggering)g(ev)o(en)o(t,)75 431 y(normally)14
+b(a)g(k)o(ey)f(press,)h(is)h(ignored.)k(The)c(input)f(area)f(will)j
+(replace)f(the)f(b)q(ottom)e(statusline.)21 b(It)14 b(p)q(ops)75
+486 y(up)20 b(when)g Fh(Command\(\))g Fo(is)g(called.)34
+b(The)19 b(argumen)o(ts)g(of)g(the)g(user-commands)h(are)f(passed)g(to)
+g(the)75 540 y(external)d(commands)f(without)g(mo)q(di\014cation.)21
+b(See)16 b(also,)e(the)i(resource)f Fh(saveInTMP)p Fo(.)137
+608 y(There)h(are)f(simple)i Fh(usage)h Fo(dialogs)e(for)f(eac)o(h)g
+(command)g(and)h(one)f(for)g(the)g(complete)h(set)f(of)g(com-)75
+663 y(mands.)75 767 y(`)p Fm(l)g([filename])p Fo(')315
+822 y(Loads)d(a)g(new)h(data\014le)f(\(la)o(y)o(out\))f(and,)i(if)f
+(con\014rmed,)h(o)o(v)o(erwrites)f(an)o(y)g(existing)h(unsa)o(v)o(ed)
+315 877 y(data.)24 b(The)17 b(\014lename)h(and)f(the)f(searc)o(hpath)h
+(\()p Fh(\014lePath)s Fo(\))f(are)g(passed)h(to)f(the)h(command)315
+932 y(de\014ned)e(b)o(y)f Fh(\014leCommand)p Fo(.)19
+b(If)14 b(no)g(\014lename)h(is)f(sp)q(eci\014ed)j(a)c(\014le)i(select)g
+(b)q(o)o(x)f(will)h(p)q(opup.)75 1011 y(`)p Fm(le)g([filename])p
+Fo(')315 1066 y(Loads)c(an)f(elemen)o(t)i(description)g(in)o(to)f(the)g
+(paste)f(bu\013er.)18 b(The)11 b(\014lename)h(and)f(the)g(searc)o(h-)
+315 1121 y(path)16 b(\()p Fh(elementPath)s Fo(\))f(are)h(passed)g(to)g
+(the)g(command)g(de\014ned)h(b)o(y)f Fh(elementCommand)p
+Fo(.)315 1176 y(If)f(no)h(\014lename)g(is)g(sp)q(eci\014ed)h(a)e
+(\014le)h(select)g(b)q(o)o(x)f(will)i(p)q(opup.)75 1255
+y(`)p Fm(m)e([filename])p Fo(')315 1310 y(Loads)20 b(an)f(la)o(y)o(out)
+h(\014le)g(in)o(to)g(the)g(paste)f(bu\013er.)34 b(The)20
+b(\014lename)h(and)e(the)h(searc)o(hpath)315 1365 y(\()p
+Fh(\014lePath)s Fo(\))15 b(are)h(passed)g(to)f(the)h(command)g
+(de\014ned)h(b)o(y)f Fh(\014leCommand)p Fo(.)21 b(If)16
+b(no)g(\014lename)315 1420 y(is)g(sp)q(eci\014ed)h(a)e(\014le)h(select)
+g(b)q(o)o(x)f(will)i(p)q(opup.)75 1499 y(`)p Fm(q[!])p
+Fo(')118 b(Quits)20 b(the)f(program)f(without)h(sa)o(ving)f(an)o(y)h
+(data)f(\(after)g(con\014rmation\).)31 b(q!)g(do)q(esn't)315
+1554 y(ask)15 b(for)f(con\014rmation,)h(it)h(just)f(quits.)75
+1634 y(`)p Fm(s)g([filename])p Fo(')315 1689 y(Data)21
+b(and)h(the)g(\014lename)h(are)e(passed)h(to)f(the)h(command)g
+(de\014ned)h(b)o(y)f(the)g(resource)315 1743 y Fh(saveCommand)p
+Fo(.)39 b(It)22 b(m)o(ust)f(read)h(the)f(la)o(y)o(out)g(data)g(from)g
+Fh(stdin)p Fo(.)39 b(If)22 b(no)g(\014lename)g(is)315
+1798 y(en)o(tered,)c(either)g(the)g(last)f(one)h(is)g(used)g(again)f
+(or,)g(if)h(it)g(is)g(not)f(a)o(v)m(ailable,)i(a)f(\014le)g(select)315
+1853 y(b)q(o)o(x)d(will)i(p)q(op)f(up.)75 1933 y(`)p
+Fm(rn)f([filename])p Fo(')315 1988 y(Reads)20 b(in)h(a)f(netlist)h
+(\014le.)36 b(If)21 b(no)f(\014lename)h(is)g(giv)o(en)g(a)f(\014le)h
+(select)g(b)q(o)o(x)f(will)i(p)q(op)f(up.)315 2042 y(The)c(\014le)h(is)
+g(read)e(via)i(the)f(command)g(de\014ned)h(b)o(y)f(the)g
+Fh(R)n(atCommand)22 b Fo(resource.)j(The)315 2097 y(command)19
+b(m)o(ust)g(send)i(its)e(output)h(to)f Fh(stdout)p Fo(.)33
+b(The)20 b(netlist)h(receiv)o(ed)f(b)o(y)g(p)q(cb)h(m)o(ust)315
+2152 y(ha)o(v)o(e)15 b(this)g(simple)i(text)e(form:)315
+2219 y(netname)g(NAME-PINNUM)h(NAME2-PINNUM2)f(NAME3-PINNUM3)f(...)19
+b([)p Fm(\\)p Fo(])315 2286 y(where)e Fm(")p Fo(netname)p
+Fm(")h Fo(is)f(the)h(name)f(of)g(the)g(net)g(\(curren)o(tly)h(its)f(v)m
+(alue)i(is)f(ignored)f(but)h(it)315 2341 y(m)o(ust)e(b)q(e)h(presen)o
+(t)g(nonetheless\),)g(NAME)f(is)h(the)g(la)o(y)o(out-name)f(giv)o(en)h
+(to)f(an)h(elemen)o(t,)315 2396 y(and)12 b(PINNUM)h(is)f(the)g
+(\(usually)h(n)o(umeric\))g(pin)g(n)o(um)o(b)q(er)f(of)g(the)g(elemen)o
+(t)h(that)e(is)i(part)e(of)315 2451 y(the)h(net)g(\(see)f(Section)i
+(1.3)d([Elemen)o(t)i(Ob)s(jects],)g(page)f(4)h(for)f(details)h(on)g
+(pin)h(n)o(um)o(b)q(ering\).)315 2506 y(Spaces)i(or)e(tabs)h(separate)f
+(the)i(\014elds.)20 b(If)15 b(the)f(line)i(ends)e(with)h(a)e
+Fm("\\")h Fo(the)g(net)g(con)o(tin)o(ues)315 2560 y(on)d(the)g(next)g
+(line)i(and)e(the)h Fm("\\")e Fo(is)i(treated)e(exactly)i(as)e(if)i(it)
+f(w)o(ere)g(a)g(space.)19 b(If)11 b(the)g(NAME)315 2615
+y(ends)k(with)f(a)g(lo)o(w)o(er-case)g(letter,)g(all)h(lo)o(w)o
+(er-case)f(letters)g(are)g(stripp)q(ed)h(from)e(end)i(of)f(the)315
+2670 y(NAME)h(to)f(determine)j(the)e(matc)o(hing)g(name-on-b)q(oard)h
+(name.)k(F)l(or)14 b(example:)p eop
+%%Page: 26 27
+26 26 bop 75 -58 a Fo(Chapter)15 b(3:)k(User)d(Commands)1194
+b(26)315 149 y(Data)14 b(U1-3)h(U2ab)q(c-4)g(FLOP1a-7)g(Uab)q(c3-A9)315
+217 y(w)o(ould)f(sp)q(eci\014y)i(that)d(pin)h(3)g(of)f(U1)h(b)q(e)g
+(connected)h(to)e(pin)i(4)e(of)h(U2,)f(to)g(pin)i(7)f(of)f(FLOP1)315
+271 y(and)e(to)g(pin)h(A9)e(of)h(Uab)q(c3.)19 b(Note)10
+b(that)g(if)i(pin)g(n)o(um)o(b)q(ers)f(con)o(tain)g(alphab)q(etic)i(c)o
+(haracters,)315 326 y(they)19 b(m)o(ust)f(matc)o(h)g(the)g(case)h(con)o
+(tained)g(in)g(the)g Fm(")p Fo(n)o(um)o(b)q(er)p Fm(")g
+Fo(string)f(de\014ning)i(the)f(pin)315 381 y(n)o(um)o(b)q(er)14
+b(on)g(the)h(co)q(oresp)q(onding)g(elemen)o(t.)20 b(It)14
+b(is)h(up)g(to)e(y)o(ou)h(to)f(name)h(the)h(elemen)o(ts)f(so)315
+436 y(that)e(their)i(la)o(y)o(out-names)f(agrees)f(with)i(the)f
+(netlist.)20 b(Netlists)14 b(are)f(used)g(for)g(generating)315
+491 y(rats)18 b(nest)i(\(see)f(Section)h(2.10)e([Rats)g(Nest],)h(page)g
+(22\))f(and)i(for)f(v)o(erifying)h(the)f(b)q(oard)315
+545 y(la)o(y)o(out)c(\(whic)o(h)g(is)h(also)f(accomplished)i(b)o(y)e
+(the)h Fh(R)n(atsnest)i Fo(command.)75 625 y(`)p Fm(w[q])c([filename])p
+Fo(')315 680 y(These)g(commands)f(ha)o(v)o(e)g(b)q(een)h(added)g(for)f
+(the)g(con)o(v)o(enience)i(of)e Fm(vi)g Fo(users)g(and)h(ha)o(v)o(e)f
+(the)315 735 y(same)i(functionalit)o(y)h(as)f Fh(s)k
+Fo(com)o(bined)d(with)f Fh(q)p Fo(.)75 814 y(`)p Fm(actionCommand)p
+Fo(')315 869 y(Causes)f(the)g(actionCommand)g(to)g(b)q(e)g(executed.)21
+b(This)15 b(allo)o(ws)f(y)o(ou)g(to)f(initiate)j(actions)315
+924 y(for)22 b(whic)o(h)h(no)f(bindings)i(exist)f(in)g(the)f(resource)g
+(\014le.)43 b(It)22 b(can)g(b)q(e)h(used)g(to)f(initiate)315
+979 y(an)o(y)c(action)g(with)g(whatev)o(er)g(argumen)o(ts)f(y)o(ou)g
+(en)o(ter.)29 b(This)18 b(mak)o(es)g(it)g(p)q(ossible)i(to)d(do)315
+1034 y(things)22 b(that)f(otherwise)h(w)o(ould)h(b)q(e)f(extremely)g
+(tedious.)41 b(F)l(or)21 b(example,)j(to)d(c)o(hange)315
+1088 y(the)c(drilling)i(hole)e(diameter)g(of)g(all)g(vias)g(in)h(the)e
+(la)o(y)o(out)g(to)g(32)g(mils,)i(y)o(ou)e(could)i(select)315
+1143 y(ev)o(erything)13 b(using)g(the)f(selection)i(men)o(u,)f(then)g
+(t)o(yp)q(e)f Fm(")p Fh(:ChangeDril)r(lSize\(Sele)n(cte)m(dVias,)315
+1198 y(32\))r Fm(")p Fo(.)27 b(\(This)17 b(will)j(only)e(w)o(ork)f(pro)
+o(vided)h(the)g(via's)f(diameter)h(is)g(su\016cien)o(tly)h(large)f(to)
+315 1253 y(accomo)q(date)d(a)g(32)f(mil)j(hole\).)j(Another)15
+b(example)h(migh)o(t)f(b)q(e)h(to)f(set)g(the)g(grid)g(to)g(1)g(mil)315
+1308 y(b)o(y)f(t)o(yping)h Fm(")p Fh(:SetV)m(alue\(Grid,)f(1\))r
+Fm(")p Fo(.)19 b(Note)14 b(that)g(some)g(actions)h(use)g(the)f(curren)o
+(t)g(cursor)315 1362 y(lo)q(cation,)22 b(so)e(b)q(e)h(sure)g(to)f
+(place)h(the)g(cursor)f(where)h(y)o(ou)f(w)o(an)o(t)f(b)q(efore)i(en)o
+(tering)g(the)315 1417 y(command.)e(This)c(is)f(one)g(of)f(m)o(y)g(fa)o
+(v)o(orite)g(new)h(features)g(in)g(1.5)f(and)h(can)g(b)q(e)g(a)g(p)q(o)
+o(w)o(erful)315 1472 y(to)q(ol.)25 b(Study)18 b(the)f(Section)h(5.2)e
+([Actions],)g(page)h(35)g(section)g(to)f(see)i(what)e(actions)h(are)315
+1527 y(a)o(v)m(ailable.)p eop
+%%Page: 27 28
+27 27 bop 75 -58 a Fo(Chapter)15 b(4:)k(Command-Line)e(Options)1045
+b(27)75 149 y Fk(4)41 b(Command-Line)27 b(Options)137
+266 y Fo(There)14 b(are)f(sev)o(eral)g(resources)h(whic)o(h)g(ma)o(y)f
+(b)q(e)h(set)f(or)g(reset)g(in)h(addition)h(to)d(the)i(standard)f(to)q
+(olkit)75 321 y(command-line)k(options.)j(F)l(or)15 b(a)f(complete)i
+(list)g(refer)f(to)g(Section)h(5.1)e([Resources],)g(page)h(30.)137
+388 y(The)h(synopsis)f(is:)137 456 y Fm(pcb)g([-option)f(...])h
+([-toolkit_option)e(...])h([layout-file])137 523 y Fo(or)137
+590 y Fm(pcb)h(-specialoption)75 719 y Fl(4.1)33 b(Options)75
+852 y Fo(`)p Fm(-alldirections/+alldire)o(ctions)p Fo(')315
+907 y(Disables)18 b(or)f(enables)h(line)h(clipping)h(to)c(45)h(degree)g
+(angles.)26 b(Ov)o(erwrites)18 b(the)f(resource)315 962
+y Fh(al)r(lDir)n(e)n(ctionLines)p Fo(.)75 1041 y(`)p
+Fm(-backup)d(value)p Fo(')315 1096 y(Time)d(b)q(et)o(w)o(een)g(t)o(w)o
+(o)f(bac)o(kups)h(in)h(seconds.)19 b(P)o(assing)10 b(zero)h(disables)h
+(the)f(bac)o(kup)h(feature.)315 1151 y(Ov)o(erwrites)j(the)h(resource)f
+Fh(b)n(ackupInterval)p Fo(.)75 1231 y(`)p Fm(-c)g(value)p
+Fo(')31 b(Num)o(b)q(er)15 b(of)e(c)o(haracters)h(p)q(er)g(output)g
+(line.)21 b(The)14 b(resource)h Fh(char)n(actersPerLine)h
+Fo(is)f(o)o(v)o(er-)315 1285 y(written.)75 1365 y(`)p
+Fm(-fontfile)f(filename)p Fo(')315 1420 y(The)19 b(default)g(set)f(of)g
+(sym)o(b)q(ols)h(\(fon)o(t\))e(for)h(a)h(new)f(la)o(y)o(out)g(is)h
+(read)g(from)f(this)h(\014le.)31 b(All)315 1475 y(directories)20
+b(as)f(de\014ned)h(b)o(y)f(the)h(resource)f Fh(fontPath)k
+Fo(are)18 b(scanned)i(for)f(the)g(\014le.)33 b(The)315
+1529 y(scan)17 b(is)g(only)g(p)q(erformed)g(if)h(the)e(\014lename)i(do)
+q(esn't)f(con)o(tain)g(a)f(directory)h(comp)q(onen)o(t.)315
+1584 y(The)e Fh(fontFile)j Fo(resource)d(is)h(c)o(hanged.)75
+1664 y(`)p Fm(-lelement)e(command-line)p Fo(')315 1719
+y(Sets)21 b(the)f(command)h(to)e(b)q(e)j(executed)f(when)g(an)g(elemen)
+o(t)g(is)g(loaded)g(from)f(a)g(\014le)i(to)315 1774 y(the)15
+b(paste)g(bu\013er.)20 b(The)c(command)f(ma)o(y)f(con)o(tain)i(\045f)f
+(and)g(\045p)h(to)e(pass)h(the)g(requested)315 1828 y(\014lename)20
+b(and)g(the)g(searc)o(hpath)f(to)f(the)i(command.)32
+b(It)20 b(m)o(ust)e(write)i(the)f(data)g(to)g(its)315
+1883 y(standard)c(output.)k(The)d(related)g(resource)f(is)g
+Fh(elementCommand)p Fo(.)75 1963 y(`)p Fm(-lfile)f(command-line)p
+Fo(')315 2018 y(Sets)21 b(the)g(command)g(to)f(b)q(e)h(executed)h(when)
+g(a)e(new)h(la)o(y)o(out)g(is)g(loaded)h(from)e(a)g(\014le.)315
+2072 y(The)15 b(command)g(ma)o(y)g(con)o(tain)g(\045f)g(and)h(\045p)f
+(to)f(pass)h(the)h(requested)f(\014lename)i(and)e(the)315
+2127 y(searc)o(hpath)k(to)g(the)g(command.)32 b(It)19
+b(m)o(ust)g(write)h(the)f(data)g(to)f(its)i(standard)f(output.)315
+2182 y(The)c(related)h(resource)f(is)h Fh(\014leCommand)p
+Fo(.)75 2262 y(`)p Fm(-lfont)e(command-line)p Fo(')315
+2316 y(Sets)i(the)f(command)h(to)f(b)q(e)h(executed)h(when)f(a)f(fon)o
+(t)g(is)h(loaded)h(from)e(a)g(\014le.)22 b(The)16 b(com-)315
+2371 y(mand)11 b(ma)o(y)f(con)o(tain)h(\045f)g(and)g(\045p)g(to)g(pass)
+f(the)i(requested)f(\014lename)h(and)f(the)g(searc)o(hpath)315
+2426 y(to)17 b(the)g(command.)26 b(It)18 b(m)o(ust)e(write)i(the)f
+(data)g(to)f(its)i(standard)f(output.)26 b(The)18 b(related)315
+2481 y(resource)d(is)h Fh(fontCommand)p Fo(.)75 2560
+y(`)p Fm(-lg)e(layergroups)p Fo(')315 2615 y(This)k(option)g(o)o(v)o
+(erwrites)e(the)i(resource)f Fh(layerGr)n(oups)p Fo(.)27
+b(See)18 b(its)g(description)h(for)d(more)315 2670 y(information.)k
+(The)15 b(v)m(alue)i(is)f(used)f(for)g(new)g(la)o(y)o(outs)g(only)l(.)p
+eop
+%%Page: 28 29
+28 28 bop 75 -58 a Fo(Chapter)15 b(4:)k(Command-Line)e(Options)1045
+b(28)75 149 y(`)p Fm(-libname)14 b(filename)p Fo(')315
+204 y(The)h(default)h(\014lename)h(for)d(the)h(library)l(.)21
+b(Ov)o(erwrites)16 b(the)f(resource)g Fh(libr)n(aryFilename)p
+Fo(.)75 277 y(`)p Fm(-libpath)f(path)p Fo(')315 332 y(The)e(default)g
+(searc)o(h)f(path)h(for)f(the)h(the)f(library)l(.)20
+b(Ov)o(erwrites)12 b(the)g(resource)f Fh(libr)n(aryPath)p
+Fo(.)75 405 y(`)p Fm(-llib)j(command-line)p Fo(')315
+460 y(Sets)i(the)f(command)h(to)f(b)q(e)h(executed)h(when)f(an)g
+(elemen)o(t)g(is)g(loaded)h(from)e(the)g(library)l(.)315
+515 y(The)g(command)g(ma)o(y)g(con)o(tain)g(\045f)g(and)h(\045p)f(to)f
+(pass)h(the)h(requested)f(\014lename)i(and)e(the)315
+570 y(searc)o(hpath)h(to)h(the)f(command.)25 b(\045a)16
+b(is)h(replaces)h(b)o(y)f(the)f(three)h(argumen)o(ts)f
+Fh(template)p Fo(,)315 624 y Fh(value)j Fo(and)c Fh(p)n(ackage)p
+Fo(.)20 b(The)c(command)f(m)o(ust)g(write)g(the)h(data)e(to)h(its)h
+(standard)f(output.)315 679 y(The)g(related)h(resource)f(is)h
+Fh(libr)n(aryCommand)p Fo(.)75 752 y(`)p Fm(-llibcont)e(command-line)p
+Fo(')315 807 y(The)i(command)f(lists)h(the)g(con)o(ten)o(ts)f(of)g(the)
+h(library)l(.)22 b(The)15 b(command)h(ma)o(y)f(con)o(tain)g(\045f)315
+862 y(and)g(\045p)f(to)g(pass)h(the)f(library)h(\014lename)h(and)f(the)
+f(searc)o(hpath)h(to)e(the)i(command.)20 b(Also)315 917
+y(refer)e(to)f(Section)i(6.6)e([Library)h(File],)h(page)f(50)g(and)g
+(Section)h(6.5)e([Library)h(Con)o(ten)o(ts)315 971 y(File],)e(page)f
+(50.)k(The)c(related)h(resource)f(is)h Fh(libr)n(aryContentsCommand)p
+Fo(.)75 1044 y(`)p Fm(-loggeometry)d(geometry)p Fo(')315
+1099 y(Determines)j(the)f(geometry)f(of)h(the)g(log)h(windo)o(w.)75
+1172 y(`)p Fm(-pnl)e(value)p Fo(')315 1227 y(Restricts)f(the)h(displa)o
+(y)o(ed)g(length)h(of)e(the)g(name)h(of)f(a)g(pin)i(in)f(the)g(pinout)g
+(windo)o(w)g(to)f(the)315 1282 y(passed)i(v)m(alue.)22
+b(See)15 b(also,)g(the)g(resource)h Fh(pinoutNameL)n(ength)p
+Fo(.)75 1355 y(`)p Fm(-pz)e(value)p Fo(')315 1410 y(Sets)i(the)g(zo)q
+(om)g(factor)f(for)g(the)h(pinout)h(windo)o(w)f(according)h(to)e(the)h
+(form)o(ula:)21 b(scale)c(=)315 1465 y(1:\(2)d(p)q(o)o(w)o(er)h(v)m
+(alue\).)20 b(The)c(related)f(resource)h(is)f Fh(pinoutZo)n(om)p
+Fo(.)75 1538 y(`)p Fm(-reset/+reset)p Fo(')315 1592 y(If)f(enabled,)i
+(all)f(connections)g(are)f(reset)f(after)h(eac)o(h)g(elemen)o(t)h(is)f
+(scanned.)21 b(This)14 b(feature)315 1647 y(is)g(only)f(used)h(while)g
+(scanning)g(connections)g(to)f(all)h(elemen)o(ts.)19
+b(See)14 b(also,)f Fh(r)n(esetAfterEle-)315 1702 y(ment)p
+Fo(.)75 1775 y(`)p Fm(-ring/+ring)p Fo(')315 1830 y(Ov)o(errides)h(the)
+f(resource)h Fh(ringBel)r(lWhenFinishe)n(d)p Fo(.)j(If)c(enabled,)i
+(the)e(b)q(ell)i(sounds)e(when)315 1885 y(connection)j(searc)o(hing)g
+(has)f(\014nished.)75 1958 y(`)p Fm(-rs)f(string)p Fo(')315
+2012 y(Ov)o(errides)30 b(the)f(resource)g Fh(r)n(outeStyle)p
+Fo(.)61 b(The)30 b(string)f(de\014nes)h(a)f(colon)g(separated)315
+2067 y(list)35 b(of)f(route)g(st)o(yles.)78 b(The)34
+b(route)g(st)o(yles)h(consist)f(of)g(a)g(comma)g(separated)315
+2122 y(list)k(of)e(name,)42 b(line)c(thic)o(kness,)43
+b(via)37 b(diameter,)42 b(and)37 b(via)g(drill)i(size.)86
+b(e.g.)315 2177 y Fm(")p Fo(F)l(at,50,100,4)o(0:Skinn)o(y)l(,8,35)o
+(,20:)o(75Ohm,1)o(10,1)o(10,)o(20)p Fm(")75 2250 y Fo(`)p
+Fm(-s/+s)p Fo(')94 b(Enables/Disables)16 b(the)f(sa)o(ving)g(of)f(the)h
+(previous)g(commandline.)22 b(Ov)o(errides)15 b(the)g
+Fh(save-)315 2305 y(L)n(astCommand)k Fo(resource.)75
+2378 y(`)p Fm(-save/+save)p Fo(')315 2433 y(See)d(the)f(resource)g
+(description)i(of)e Fh(saveInTMP)i Fo(for)e(details.)75
+2506 y(`)p Fm(-sfile)f(command-line)p Fo(')315 2560 y(Sets)i(the)g
+(command)f(to)g(b)q(e)i(executed)g(when)f(an)g(la)o(y)o(out)f(\014le)i
+(is)f(sa)o(v)o(ed.)21 b(The)16 b(command)315 2615 y(ma)o(y)d(con)o
+(tain)g(\045f)g(whic)o(h)i(is)f(replaced)g(b)o(y)g(the)f(\014lename.)21
+b(The)13 b(command)h(m)o(ust)e(read)i(its)315 2670 y(data)h(from)f(the)
+h(standard)g(input.)21 b(The)15 b(resource)h Fh(saveCommand)j
+Fo(is)d(o)o(v)o(erwritten.)p eop
+%%Page: 29 30
+29 29 bop 75 -58 a Fo(Chapter)15 b(4:)k(Command-Line)e(Options)1045
+b(29)75 149 y(`)p Fm(-size)14 b(<width>x<height>)p Fo(')315
+204 y(Ov)o(errides)i(the)f(resource)h Fh(size)h Fo(whic)o(h)f
+(determines)g(the)g(maxim)o(um)f(size)h(of)f(a)g(la)o(y)o(out.)75
+284 y(`)p Fm(-v)g(value)p Fo(')31 b(Sets)14 b(the)g(v)o(olume)g(of)g
+(the)g(X)g(sp)q(eak)o(er.)19 b(The)c(v)m(alue)g(is)f(passed)g(to)g
+Fm(XBell\(\))f Fo(and)h(m)o(ust)f(b)q(e)315 339 y(in)j(the)f(range)g
+(-100..100.)75 467 y Fl(4.2)33 b(Sp)r(ecial)23 b(Options)137
+564 y Fo(There)18 b(are)g(some)f(sp)q(ecial)j(options)e(a)o(v)m
+(ailable)h(in)g(addition)f(to)f(normal)h(command)g(line)h(options.)75
+619 y(Eac)o(h)d(of)g(these)g(m)o(ust)g(b)q(e)h(the)f(only)h(option)f
+(sp)q(eci\014ed)i(on)e(a)g(command)g(line.)25 b(The)16
+b(a)o(v)m(ailable)i(sp)q(ecial)75 673 y(options)d(are:)75
+778 y(`)p Fm(-copyright)p Fo(')315 833 y(Prin)o(ts)g(out)g(the)g(cop)o
+(yrigh)o(t)g(notice)h(and)f(terminates.)75 912 y(`)p
+Fm(-version)p Fo(')315 967 y(Prin)o(ts)g(out)g(the)g(v)o(ersion)h(ID)f
+(and)g(terminates.)75 1047 y(`)p Fm(-help)p Fo(')94 b(Prin)o(ts)15
+b(out)g(the)g(usage)g(message)g(and)g(terminates.)p eop
+%%Page: 30 31
+30 30 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(30)75 149 y Fk(5)41 b(X11)27 b(In)n(terface)137 287
+y Fo(This)16 b(c)o(hapter)e(giv)o(es)h(an)g(o)o(v)o(erview)f(ab)q(out)h
+(the)g(additional)h Fm(X11)e Fo(resources)h(whic)o(h)g(are)g(de\014ned)
+h(b)o(y)75 342 y Fm(Pcb)f Fo(as)g(w)o(ell)h(as)f(the)g(de\014ned)h
+(action)g(routines.)75 488 y Fl(5.1)33 b(Non-Standard)23
+b(X11)f(Application)i(Resources)137 591 y Fo(In)16 b(addition)g(to)f
+(the)g(to)q(olkit)h(resources,)f Fm(Pcb)f Fo(de\014nes)i(the)g(follo)o
+(wing)g(resources:)75 717 y(`)p Fm(absoluteGrid)d(\(boolean\))p
+Fo(')315 771 y(Selects)j(if)f(either)h(the)e(grid)i(is)f(relativ)o(e)g
+(to)f(the)h(p)q(osition)h(where)f(it)g(has)g(c)o(hanged)g(last)f(or)315
+826 y(absolute,)h(the)g(default,)h(to)e(the)i(origin)g(\(0,0\).)75
+913 y(`)p Fm(alignmentDistance)c(\(dimension\))p Fo(')315
+968 y(Sp)q(eci\014es)17 b(the)f(distance)g(b)q(et)o(w)o(een)f(the)g(b)q
+(oards)h(outline)g(to)f(the)g(alignmen)o(t)h(targets.)75
+1054 y(`)p Fm(allDirectionLines)c(\(boolean\))p Fo(')315
+1109 y(Enables)k(\(default\))f(or)g(disables)i(clipping)g(of)e(new)h
+(lines)g(to)f(45)f(degree)i(angles.)75 1196 y(`)p Fm(backupInterval)d
+(\(int\))p Fo(')315 1251 y Fm(Pcb)21 b Fo(has)g(an)h(automatic)e(bac)o
+(kup)i(feature)f(whic)o(h)h(sa)o(v)o(es)f(the)g(curren)o(t)h(data)e(ev)
+o(ery)i(n)315 1305 y(seconds.)e(The)c(default)g(is)g
+Fh(300)22 b Fo(seconds.)e(A)15 b(v)m(alue)i(of)e(zero)g(disables)i(the)
+e(feature.)20 b(The)315 1360 y(bac)o(kup)15 b(\014le)g(is)g(named)f(`)p
+Fm(/tmp/PCB.\045i.backup)p Fo('.)j Fh(\045i)i Fo(is)c(replaced)g(b)o(y)
+f(the)h(pro)q(cess)f(ID.)315 1415 y(See)i(also,)f(the)g(command-line)i
+(option)e Fh(-b)n(ackup)p Fo(.)75 1502 y(`)p Fm(Bloat)f(\(dimension\))p
+Fo(')315 1556 y(Sp)q(eci\014es)j(the)f(minim)o(um)g(spacing)g(design)g
+(rule)g(in)g(mils.)75 1643 y(`)p Fm(charactersPerLine)c(\(int\))p
+Fo(')315 1698 y Fm(Pcb)19 b Fo(uses)g(this)h(v)m(alue)g(to)f(determine)
+h(the)f(page)g(width)h(when)g(creating)f(lists.)33 b(N,)19
+b(the)315 1753 y(n)o(um)o(b)q(er)k(of)f(c)o(haracters)g(p)q(er)i(line,)
+i(defaults)d(to)f Fh(80)p Fo(.)43 b(See)23 b(also,)h(the)f
+(command-line)315 1807 y(option)15 b Fh(-c)p Fo(.)75
+1894 y(`)p Fm(connectedColor)e(\(color\))p Fo(')315 1949
+y(All)g(pins,)g(vias,)f(lines)i(and)d(rectangles)i(whic)o(h)f(are)f
+(selected)i(during)g(a)e(connection)i(searc)o(h)315 2004
+y(are)j(dra)o(wn)h(with)g(this)g(color.)24 b(The)17 b(default)g(v)m
+(alue)h(is)g(determined)g(b)o(y)e Fh(XtDefaultF)m(or)n(e-)315
+2058 y(gr)n(ound)p Fo(.)75 2145 y(`)p Fm(crosshairColor)d(\(color\))p
+Fo(')315 2200 y(This)j(color)f(is)h(used)f(to)g(dra)o(w)f(the)i
+(crosshair)f(cursor.)k(The)d(color)f(is)g(a)g(result)h(of)f(a)f
+Fh(X)o(OR)315 2255 y Fo(op)q(eration)k(with)h(the)f(con)o(ten)o(ts)f
+(of)h(the)g(dra)o(wing)g(area.)28 b(The)19 b(result)f(also)g(dep)q
+(ends)i(on)315 2309 y(the)14 b(default)g(colormap)g(of)g(the)g
+Fm(X11)f Fo(serv)o(er)h(b)q(ecause)h(only)f(the)g(colormap)g(index)h
+(is)f(used)315 2364 y(in)h(the)f(b)q(o)q(olean)h(op)q(eration)f(and)g
+Fm(Pcb)f Fo(do)q(esn't)h(create)f(its)i(o)o(wn)e(colormap.)19
+b(The)14 b(default)315 2419 y(setting)h(is)h Fh(XtDefaultF)m(or)n(e)n
+(gr)n(ound)p Fo(.)75 2506 y(`)p Fm(elementColor)d(\(color\))p
+Fo(')75 2560 y(`)p Fm(elementSelectedColor)f(\(color\))p
+Fo(')315 2615 y(The)20 b(elemen)o(ts)g(pac)o(k)m(age)f(part)g(is)h(dra)
+o(wn)f(in)h(these)g(colors,)g(for)f(normal)g(and)h(selected)315
+2670 y(mo)q(de,)15 b(resp)q(ectiv)o(ely)l(,)i(whic)o(h)f(b)q(oth)f
+(default)h(to)f Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p
+Fo(.)p eop
+%%Page: 31 32
+31 31 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(31)75 149 y(`)p Fm(elementCommand)13 b(\(string\))p
+Fo(')315 204 y Fm(Pcb)j Fo(uses)g(a)g(user)g(de\014ned)h(command)f(to)f
+(read)h(elemen)o(t)h(\014les.)23 b(This)17 b(resources)f(is)g(used)315
+259 y(to)g(set)h(the)g(command)f(whic)o(h)i(is)f(executed)h(b)o(y)f
+(the)g(users)g(default)g(shell.)26 b(Tw)o(o)16 b(escap)q(e)315
+314 y(sequences)f(are)f(de\014ned)h(to)f(pass)g(the)g(selected)h
+(\014lename)g(\(\045f)t(\))e(and)h(the)g(curren)o(t)g(searc)o(h)315
+369 y(path)g(\(\045p\).)19 b(The)14 b(command)g(m)o(ust)g(write)g(the)h
+(elemen)o(t)f(data)g(to)f(its)i(standard)f(output.)315
+423 y(The)h(default)h(v)m(alue)h(is)530 488 y Fm(M4PATH="\045p";export)
+22 b(M4PATH;echo)g('include\(\045f\)')g(|)i(m4)315 555
+y Fo(Using)16 b(the)g(GNU)g(v)o(ersion)f(of)h Fm(m4)f
+Fo(is)h(highly)h(recommended.)22 b(See)17 b(also,)e(the)h(command-)315
+610 y(line)h(option)e Fh(-lelement)p Fo(.)75 690 y(`)p
+Fm(elementPath)e(\(string\))p Fo(')315 745 y(A)h(colon)g(separated)f
+(list)i(of)e(directories)h(or)g(commands)f(\(starts)f(with)i(')p
+Fm(|)p Fo('\).)k(The)c(path)f(is)315 800 y(passed)g(to)f(the)g(program)
+g(sp)q(eci\014ed)i(in)g Fh(elementCommand)i Fo(together)c(with)h(the)g
+(selected)315 855 y(elemen)o(tname.)21 b(A)15 b(sp)q(eci\014ed)j
+(command)d(will)i(b)q(e)f(executed)g(in)g(order)f(to)g(create)g(en)o
+(tries)315 910 y(for)f(the)h(\014leselect)h(b)q(o)o(x.)k(It)15
+b(m)o(ust)f(write)h(its)g(results)g(to)f Fh(stdout)20
+b Fo(one)14 b(en)o(try)h(p)q(er)g(line.)21 b(See)315
+964 y(also,)15 b(the)g(user-command)g Fh(le[!])p Fo(.)75
+1044 y(`)p Fm(fileCommand)e(\(string\))p Fo(')315 1099
+y(The)j(command)g(is)h(executed)g(b)o(y)f(the)g(user's)g(default)h
+(shell)h(whenev)o(er)e(existing)i(la)o(y)o(out)315 1154
+y(\014les)13 b(are)e(loaded.)19 b(Data)11 b(is)h(read)f(from)g(the)h
+(command's)f(standard)g(output.)19 b(Tw)o(o)10 b(escap)q(e)315
+1209 y(sequences)17 b(ma)o(y)f(b)q(e)h(sp)q(eci\014ed)h(to)e(pass)g
+(the)g(selected)i(\014lename)f(\(\045f)t(\))e(and)i(the)f(curren)o(t)
+315 1264 y(searc)o(h)f(path)g(\(\045p\).)k(The)d(default)g(v)m(alue)g
+(is:)530 1328 y Fm(cat)24 b(\045f)315 1396 y Fo(See)16
+b(also,)f(the)g(command-line)i(option)e Fh(-l\014le)p
+Fo(.)75 1476 y(`)p Fm(filePath)f(\(string\))p Fo(')315
+1531 y(A)j(colon)h(separated)f(list)g(of)g(directories)h(or)f(commands)
+g(\(starts)e(with)i(')p Fm(|)p Fo('\).)25 b(The)17 b(path)315
+1585 y(is)h(passed)f(to)g(the)g(program)f(sp)q(eci\014ed)j(in)f
+Fh(\014leCommand)j Fo(together)c(with)g(the)h(selected)315
+1640 y(\014lename.)27 b(A)17 b(sp)q(eci\014ed)i(command)e(will)h(b)q(e)
+g(executed)g(in)g(order)f(to)f(create)h(en)o(tries)h(for)315
+1695 y(the)h(\014leselect)h(b)q(o)o(x.)31 b(It)18 b(m)o(ust)h(write)f
+(its)h(results)g(to)f Fh(stdout)24 b Fo(one)19 b(en)o(try)f(p)q(er)h
+(line.)32 b(See)315 1750 y(also,)15 b(the)g(user-command)g
+Fh(l[!])p Fo(.)75 1830 y(`)p Fm(fontCommand)e(\(string\))p
+Fo(')315 1885 y(Loading)k(new)f(sym)o(b)q(ol)h(sets)e(also)h(is)h
+(handled)h(b)o(y)e(an)g(external)g(command.)23 b(Y)l(ou)16
+b(again)315 1939 y(ma)o(y)f(pass)g(the)h(selected)g(\014lename)h(and)f
+(the)f(curren)o(t)h(searc)o(h)f(path)g(b)o(y)h(passing)g(\045f)f(and)
+315 1994 y(\045p)f(in)h(the)g(command)f(string.)20 b(Data)13
+b(is)h(read)h(from)e(the)i(commands)f(standard)g(output.)315
+2049 y(This)i(command)f(defaults)h(to)530 2114 y Fm(cat)24
+b(\045f)315 2181 y Fo(See)16 b(also,)f(the)g(command-line)i(option)e
+Fh(-lfont)p Fo(.)75 2261 y(`)p Fm(fontFile)f(\(string\))p
+Fo(')315 2316 y(The)i(default)h(fon)o(t)e(for)g(new)h(la)o(y)o(outs)f
+(is)i(read)f(from)f(this)h(\014le)h(whic)o(h)g(is)f(searc)o(hed)g(in)h
+(the)315 2371 y(directories)g(as)f(de\014ned)h(b)o(y)f(the)g(resource)g
+Fh(fontPath)p Fo(.)22 b(Searc)o(hing)17 b(is)g(only)f(p)q(erformed)g
+(if)315 2425 y(the)h(\014lename)h(do)q(es)f(not)f(con)o(tain)h(a)g
+(directory)g(comp)q(onen)o(t.)25 b(The)17 b(default)h(\014lename)f(is)
+315 2480 y(`)p Fm(default_font)p Fo('.)g(See)f(also,)f(the)g
+(command-line)i(option)f Fh(-font\014le)p Fo(.)75 2560
+y(`)p Fm(fontPath)e(\(string\))p Fo(')315 2615 y(This)19
+b(resource,)f(a)g(colon)h(separated)e(list)i(of)f(directories,)h
+(de\014nes)h(the)e(searc)o(hpath)g(for)315 2670 y(fon)o(t)c(\014les.)21
+b(See)16 b(also,)f(the)g(resource)g Fh(fontFile)p Fo(.)p
+eop
+%%Page: 32 33
+32 32 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(32)75 149 y(`)p Fm(grid)14 b(\(int\))p Fo(')315 204
+y(This)g(resources)f(de\014nes)i(the)e(initial)i(v)m(alue)g(of)e(one)g
+(cursor)g(step.)19 b(It)14 b(defaults)f(to)g Fh(100)i(mil)315
+259 y Fo(and)g(an)o(y)g(c)o(hanges)g(are)g(sa)o(v)o(ed)g(together)f
+(with)i(the)f(la)o(y)o(out)g(data.)75 335 y(`)p Fm(gridColor)f
+(\(color\))p Fo(')315 390 y(This)e(color)g(is)g(used)g(to)f(dra)o(w)g
+(the)h(grid.)19 b(The)12 b(color)g(is)g(a)f(result)h(of)g(a)f
+Fh(INVER)m(T)16 b Fo(op)q(eration)315 445 y(with)g(the)h(con)o(ten)o
+(ts)e(of)h(the)g(dra)o(wing)g(area.)22 b(The)16 b(result)h(also)f(dep)q
+(ends)h(on)f(the)g(default)315 500 y(colormap)21 b(of)h(the)f
+Fm(X11)g Fo(serv)o(er)h(b)q(ecause)g(only)g(the)g(colormap)f(index)i
+(is)f(used)g(in)h(the)315 554 y(b)q(o)q(olean)13 b(op)q(eration)f(and)g
+Fm(Pcb)g Fo(do)q(esn't)g(create)g(its)g(o)o(wn)f(colormap.)19
+b(The)12 b(default)h(setting)315 609 y(is)j Fh(XtDefaultF)m(or)n(e)n
+(gr)n(ound)p Fo(.)75 685 y(`)p Fm(elementColor)d(\(color\))p
+Fo(')315 740 y(Elemen)o(ts)20 b(lo)q(calted)h(on)e(the)g(opp)q(osite)i
+(side)f(of)f(the)h(b)q(oard)f(are)g(dra)o(wn)g(in)h(this)g(color.)315
+795 y(The)15 b(default)h(is)g Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p
+Fo(.)75 871 y(`)p Fm(layerColor1..8)d(\(color\))p Fo(')75
+926 y(`)p Fm(layerSelectedColor1..8)f(\(color\))p Fo(')315
+981 y(These)k(resources)f(de\014ne)i(the)f(dra)o(wing)f(colors)g(of)g
+(the)h(di\013eren)o(t)g(la)o(y)o(ers)f(in)h(normal)g(and)315
+1036 y(selected)g(state.)j(All)e(v)m(alues)f(are)f(preset)g(to)g
+Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p Fo(.)75 1112 y(`)p
+Fm(layerGroups)e(\(string\))p Fo(')315 1167 y(The)20
+b(argumen)o(t)g(to)f(this)i(resource)f(is)h(a)f(colon)h(separated)f
+(list)h(of)f(comma)f(separated)315 1221 y(la)o(y)o(ern)o(um)o(b)q(ers)d
+(\(1..8\).)22 b(All)17 b(la)o(y)o(ers)f(within)i(one)e(group)g(are)g
+(switc)o(hed)h(on/o\013)e(together.)315 1276 y(The)h(default)h(setting)
+f(is)h Fh(1:2:3:...:8)22 b Fo(whic)o(h)17 b(means)f(all)h(la)o(y)o(ers)
+f(are)g(handled)h(separatly)l(.)315 1331 y(Grouping)d(la)o(y)o(ers)g
+(one)g(to)f(three)h(lo)q(oks)g(lik)o(e)h Fh(1,2,3:4:...:8)20
+b Fo(See)15 b(also,)e(the)h(command-line)315 1386 y(option)h
+Fh(-lg)p Fo(.)75 1462 y(`)p Fm(layerName1..8)e(\(string\))p
+Fo(')315 1517 y(The)20 b(default)h(name)f(of)f(the)h(la)o(y)o(ers)g(in)
+h(a)e(new)i(la)o(y)o(out)e(are)h(determined)h(b)o(y)f(these)g(re-)315
+1572 y(sources.)g(The)15 b(defaults)h(are)f(empt)o(y)g(strings.)75
+1648 y(`)p Fm(libraryCommand)e(\(string\))p Fo(')315
+1703 y Fm(Pcb)g Fo(uses)h(a)f(command)h(to)f(read)h(elemen)o(t)g(data)f
+(from)g(libraries.)21 b(The)14 b(resources)f(is)h(used)315
+1757 y(to)g(set)h(the)g(command)f(whic)o(h)i(is)f(executed)h(b)o(y)f
+(the)g(users)f(default)i(shell.)21 b(Three)15 b(escap)q(e)315
+1812 y(sequences)e(are)e(de\014ned)i(to)d(pass)i(the)f(selected)i
+(\014lename)f(\(\045f)t(\),)f(the)g(curren)o(t)h(searc)o(h)f(path)315
+1867 y(\(\045p\))k(as)h(w)o(ell)h(\(\045a\))e(as)g(the)h(three)h
+(parameters)e Fh(template)p Fo(,)h Fh(value)j Fo(and)d
+Fh(p)n(ackage)k Fo(to)15 b(the)315 1922 y(command.)20
+b(It)15 b(m)o(ust)g(write)g(the)h(elemen)o(t)g(data)e(to)h(its)g
+(standard)g(output.)20 b(The)15 b(default)315 1977 y(v)m(alue)h(is)530
+2039 y Fm(/usr/X11R6/lib/X11/pcb/QueryL)o(ibrary.s)o(h)21
+b(\045p)j(\045f)f(\045a)75 2115 y Fo(`)p Fm(libraryContentsCommand)12
+b(\(string\))p Fo(')315 2170 y(Similar)19 b(to)e Fh(libr)n(aryCommand)p
+Fo(,)h Fm(Pcb)f Fo(uses)h(the)f(command)h(sp)q(eci\014ed)h(b)o(y)f
+(this)g(resource)315 2225 y(to)d(list)h(the)f(con)o(ten)o(ts)f(of)h(a)g
+(library)l(.)435 2288 y Fm(/usr/X11R6/lib/X11/pcb/Lis)o(tLibrar)o
+(yContent)o(s.sh)21 b(\045p)i(\045f)315 2353 y Fo(is)16
+b(the)f(default.)75 2429 y(`)p Fm(libraryFilename)e(\(string\))p
+Fo(')315 2484 y(The)i(resource)h(sp)q(eci\014es)h(the)e(name)g(of)g
+(the)g(library)l(.)21 b(The)16 b(default)f(v)m(alue)i(is)e
+Fh(p)n(cblib)p Fo(.)75 2560 y(`)p Fm(libraryPath)e(\(string\))p
+Fo(')315 2615 y(A)h(colon)h(separated)f(list)i(of)e(directories)h(that)
+f(will)i(b)q(e)f(passed)g(to)e(the)i(commands)f(sp)q(ec-)315
+2670 y(i\014ed)i(b)o(y)g Fh(elementCommand)j Fo(and)c
+Fh(elementContentsCommand)p Fo(.)p eop
+%%Page: 33 34
+33 33 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(33)75 149 y(`)p Fm(lineThickness)13 b(\(dimension\))p
+Fo(')315 204 y(The)i(v)m(alue,)h(in)o(t)f(the)g(range)g([1..250],)d
+(de\014nes)k(the)f(initial)i(thic)o(kness)f(of)e(new)h(lines.)22
+b(The)315 259 y(v)m(alue)16 b(is)g(preset)f(to)g Fh(ten)h(mil)p
+Fo(.)75 336 y(`)p Fm(media)e(\(<predefined>)f(|)i
+(<width>x<height>+-<left_margin)o(>+-<top)o(_margin)o(>\))p
+Fo(')315 391 y(The)h(default)g(\(user)g(de\014ned\))h(media)f(of)f(the)
+h Fm(PostScript)f Fo(device.)23 b(Prede\014ned)17 b(v)m(alues)315
+445 y(are)e Fh(a3)p Fo(,)h Fh(a4)p Fo(,)g Fh(a5)p Fo(,)g
+Fh(letter)p Fo(,)f Fh(tabloit)p Fo(,)g Fh(le)n(dger)p
+Fo(,)g Fh(le)n(gal)p Fo(,)f(and)i Fh(exe)n(cutive)p Fo(.)21
+b(The)16 b(second)g(w)o(a)o(y)e(is)j(to)315 500 y(sp)q(ecify)g(the)f
+(medias)g(width,)h(heigh)o(t)f(and)g(margins)g(in)g(mil.)23
+b(The)16 b(resource)g(defaults)h(to)315 555 y Fh(a4)22
+b Fo(size.)75 632 y(`)p Fm(offLimitColor)13 b(\(color\))p
+Fo(')315 686 y(The)j(area)f(outside)h(the)f(curren)o(t)g(maxim)o(um)h
+(settings)f(for)g(width)h(and)g(heigh)o(t)f(is)h(dra)o(wn)315
+741 y(with)g(this)f(color.)20 b(The)c(default)f(v)m(alue)i(is)e
+(determined)i(b)o(y)e Fh(XtDefaultBackgr)n(ound)p Fo(.)75
+818 y(`)p Fm(pinColor)f(\(color\))p Fo(')75 873 y(`)p
+Fm(pinSelectedColor\(color\))o Fo(')315 928 y(This)k(resource)g
+(de\014nes)h(the)f(dra)o(wing)g(color)f(of)h(pins)h(and)f(pads)f(in)i
+(b)q(oth)f(states.)27 b(The)315 982 y(v)m(alues)16 b(are)f(preset)g(to)
+g Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p Fo(.)75 1059 y(`)p
+Fm(pinoutFont)e(\(string\))p Fo(')315 1114 y(This)g(fon)o(ts)f(are)g
+(used)h(to)e(displa)o(y)j(pin)f(names.)19 b(There)13
+b(is)g(one)f(fon)o(t)g(for)g(eac)o(h)g(zo)q(om)g(v)m(alue.)315
+1169 y(The)j(v)m(alues)i(are)e(preset)g(to)f Fh(XtdefaultF)m(ont)p
+Fo(.)75 1245 y(`)p Fm(pinoutNameLength)f(\(int\))p Fo(')315
+1300 y(This)g(resource)f(limits)i(the)e(n)o(um)o(b)q(er)g(of)g(c)o
+(haracters)g(whic)o(h)h(are)f(displa)o(y)o(ed)h(for)f(pin)h(names)315
+1355 y(in)g(the)f(pinout)h(windo)o(w.)19 b(By)12 b(default)h(the)f
+(string)g(length)g(is)h(limited)h(to)d Fh(eight)17 b
+Fo(c)o(haracters)315 1410 y(p)q(er)f(name.)k(See)15 b(also,)g(the)g
+(command-line)i(option)f Fh(-pnl)p Fo(.)75 1486 y(`)p
+Fm(pinoutOffsetX)d(\(int\))p Fo(')75 1541 y(`)p Fm(pinoutOffsetY)g
+(\(int\))p Fo(')315 1596 y(These)18 b(resources)g(determine)h(the)f
+(o\013set)f(in)i Fh(mil)j Fo(of)17 b(the)h(circuit)i(from)d(the)h(upp)q
+(er)h(left)315 1651 y(corner)14 b(of)h(the)f(windo)o(w)h(when)g(displa)
+o(ying)h(pinout)f(information.)20 b(Both)14 b(default)h(to)f
+Fh(100)315 1706 y(mil)p Fo(.)75 1782 y(`)p Fm(pinoutTextOffsetX)e
+(\(int\))p Fo(')75 1837 y(`)p Fm(pinoutTextOffsetY)g(\(int\))p
+Fo(')315 1892 y(The)k(resources)h(determine)g(the)f(distance)h(in)g
+(mil)h(b)q(et)o(w)o(een)e(the)g(drilling)j(hole)e(of)f(a)g(pin)315
+1947 y(to)d(the)h(lo)q(cation)g(where)g(its)f(name)h(is)g(displa)o(y)o
+(ed)h(in)f(the)g(pinout)g(windo)o(w.)20 b(They)13 b(default)315
+2001 y(to)i Fh(X:50)21 b Fo(and)15 b Fh(Y:0)p Fo(.)75
+2078 y(`)p Fm(pinoutZoom)e(\(int\))p Fo(')315 2133 y(Sets)j(the)g(zo)q
+(om)g(factor)f(for)g(the)h(pinout)h(windo)o(w)f(according)h(to)e(the)h
+(form)o(ula:)21 b(scale)c(=)315 2188 y(1:\(2)12 b(p)q(o)o(w)o(er)g(v)m
+(alue\).)20 b(Its)13 b(default)h(v)m(alue)g(is)g Fh(two)i
+Fo(whic)o(h)e(results)g(in)g(a)e Fh(1:4)20 b Fo(scale.)g(See)13
+b(also,)315 2243 y(the)i(command-line)i(option)f Fh(-pz)p
+Fo(.)75 2319 y(`)p Fm(printCommand)d(\(string\))p Fo(')315
+2374 y(Default)20 b(\014le)i(for)d(prin)o(touts.)35 b(If)21
+b(the)f(name)g(starts)f(with)i(a)f(')p Fm(|)p Fo(')f(the)h(output)g(is)
+h(pip)q(ed)315 2429 y(through)16 b(the)h(command.)23
+b(A)17 b(\045f)f(is)h(replaced)h(b)o(y)e(the)h(curren)o(t)f
+(\014lename.)25 b(There)17 b(is)g(no)315 2484 y(default)f(\014le)g(or)f
+(command.)75 2560 y(`)p Fm(raiseLogWindow)e(\(boolean\))p
+Fo(')315 2615 y(The)j(log)f(windo)o(w)h(will)i(b)q(e)e(raised)g(when)g
+(new)g(messages)f(arriv)o(e)g(if)h(this)g(resource)g(is)g(set)315
+2670 y Fh(true)p Fo(,)f(the)h(default.)p eop
+%%Page: 34 35
+34 34 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(34)75 149 y(`)p Fm(ratCommand)13 b(\(string\))p Fo(')315
+204 y(Default)f(command)h(for)f(reading)h(a)f(netlist.)20
+b(A)12 b(\045f)g(is)h(replaced)h(b)o(y)e(the)h(netlist)g(\014lename.)
+315 259 y(Its)i(default)h(v)m(alue)g(is)g Fm(")p Fh(c)n(at)g(\045f)10
+b Fm(")p Fo(.)75 332 y(`)p Fm(ratPath)k(\(string\))p
+Fo(')315 387 y(Default)h(path)g(to)g(lo)q(ok)g(for)g(netlist)h
+(\014les.)21 b(It's)15 b(default)g(v)m(alue)i(is)f Fm(")p
+Fo(.)p Fm(")75 460 y Fo(`)p Fm(resetAfterElement)c(\(boolean\))p
+Fo(')315 515 y(If)f(set)g(to)f Fh(true)p Fo(,)i(all)g(found)f
+(connections)h(will)h(b)q(e)f(reset)e(b)q(efore)i(a)e(new)h(elemen)o(t)
+h(is)g(scanned.)315 570 y(This)f(will)h(pro)q(duce)f(long)f(lists)h
+(when)g(scanning)g(the)f(whole)h(la)o(y)o(out)f(for)f(connections.)20
+b(The)315 625 y(resource)e(is)h(set)f(to)f Fh(false)k
+Fo(b)o(y)d(default.)29 b(The)18 b(feature)g(is)h(only)f(used)h(while)h
+(lo)q(oking)e(up)315 680 y(connections)e(of)f(all)h(elemen)o(ts.)21
+b(See)15 b(also,)g(the)h(command-line)g(option)g Fh(-r)n(eset,)g
+Fm(+)p Fh(r)n(eset)p Fo(.)75 753 y(`)p Fm(ringBellWhenFinished)c
+(\(boolean\))p Fo(')315 808 y(Whether)18 b(to)f(ring)h(the)f(b)q(ell)j
+(\(the)d(default\))h(when)g(a)f(p)q(ossibly)i(length)o(y)f(op)q
+(eration)g(has)315 862 y(\014nished)f(or)e(not.)k(See)d(also,)f(the)g
+(command-line)i(option)e Fh(-ring,)h Fm(+)p Fh(ring)p
+Fo(.)75 936 y(`)p Fm(routeStyle)d(\(string\))p Fo(')315
+991 y(Default)20 b(v)m(alues)h(for)e(the)h(men)o(u)g(of)f(routing)h(st)
+o(yles)g(\(seen)g(in)h(the)e(sizes)i(men)o(u\).)34 b(The)315
+1045 y(string)16 b(is)g(a)f(comma)g(separated)h(list)g(of)f(name,)h
+(line)h(thic)o(kness,)f(via)g(diameter,)g(and)g(via)315
+1100 y(drill)k(size.)28 b(e.g.)f Fm(")p Fo(F)l(at,50,100,40)o(:Skinn)o
+(y)l(,8,35,)o(20:)o(75Ohm,11)o(0,1)o(10,2)o(0)p Fm(")15
+b Fo(See)j(also,)g(the)315 1155 y(command-line)f(option)e
+Fh(-rs)k Fo(and)d Fh(Sizes)e(Menu)75 1228 y Fo(`)p Fm(rubberBandMode)f
+(\(boolean\))p Fo(')315 1283 y(Whether)g(rubb)q(erband)h(mo)o(v)o(e)e
+(and)h(rotate)e(\(attac)o(hed)h(lines)i(stretc)o(h)e(lik)o(e)i(rubb)q
+(erbands\))315 1338 y(is)i(enabled)g(\(the)f(default\).)75
+1411 y(`)p Fm(saveCommand)e(\(string\))p Fo(')315 1466
+y(This)22 b(command)g(is)g(used)g(to)f(sa)o(v)o(e)g(data)g(to)g(a)g(la)
+o(y)o(out)g(\014le.)41 b(The)22 b(\014lename)g(ma)o(y)f(b)q(e)315
+1521 y(indicated)d(b)o(y)e(placing)h Fm(\045f)f Fo(in)g(the)g(string.)
+22 b(It)16 b(m)o(ust)g(read)g(the)g(data)f(from)g(its)h(standard)315
+1576 y(input.)21 b(The)15 b(default)h(command)f(is:)530
+1637 y Fm(cat)24 b(-)g(>)f(\045f)315 1701 y Fo(See)16
+b(also,)f(the)g(command-line)i(option)e Fh(-s\014le)p
+Fo(.)75 1774 y(`)p Fm(saveInTMP)f(\(boolean\))p Fo(')315
+1829 y(Enabling)21 b(this)g(resource)f(will)i(sa)o(v)o(e)d(all)i(data)e
+(whic)o(h)i(w)o(ould)g(otherwise)f(b)q(e)g(lost)g(in)h(a)315
+1884 y(temp)q(orary)c(\014le)i(`)p Fm(/tmp/PCB.\045i.save)p
+Fo('.)25 b Fh(\045i)d Fo(is)d(replaced)g(b)o(y)f(the)g(pro)q(cess)g
+(ID.)f(As)h(an)315 1938 y(example,)g(loading)g(a)e(new)h(la)o(y)o(out)g
+(when)g(the)g(old)h(one)f(hasn't)f(b)q(een)i(sa)o(v)o(ed)e(w)o(ould)i
+(use)315 1993 y(this)e(resource.)k(See)15 b(also,)g(the)g(command-line)
+i(option)f Fh(-save,)g Fm(+)p Fh(save)p Fo(.)75 2067
+y(`)p Fm(saveLastCommand)d(\(boolean\))p Fo(')315 2121
+y(Enables)19 b(the)f(sa)o(ving)g(of)g(the)g(last)g(en)o(tered)h(user)f
+(command.)28 b(The)19 b(option)f(is)h Fh(disable)n(d)315
+2176 y Fo(b)o(y)c(default.)21 b(See)15 b(also,)g(the)g(command-line)i
+(option)f Fh(-s,)g Fm(+)p Fh(s)p Fo(.)75 2249 y(`)p Fm(Shrink)e
+(\(dimension\))p Fo(')315 2304 y(Sp)q(eci\014es)j(the)f(minim)o(um)g(o)
+o(v)o(erlap)f(\(touc)o(hing\))g(design)h(rule)g(in)g(mils.)75
+2378 y(`)p Fm(size)e(\(<width>x<height>\))p Fo(')315
+2432 y(De\014nes)i(the)f(width)h(and)f(heigh)o(t)h(of)f(a)f(new)i(la)o
+(y)o(out.)j(The)d(default)f(is)h Fh(7000x5000)p Fo(.)75
+2506 y(`)p Fm(stipllePolygons)d(\(boolean\))p Fo(')315
+2560 y(Determines)i(whether)g(to)f(displa)o(y)i(p)q(olygons)g(on)e(the)
+h(screen)h(with)f(a)f(stippled)j(pattern.)315 2615 y(Stippling)e(can)d
+(create)g(some)g(amoun)o(t)g(of)f(transp)q(erency)i(so)f(that)g(y)o(ou)
+g(can)g(still)i(\(to)d(some)315 2670 y(exten)o(t\))k(see)g(la)o(y)o
+(ers)g(b)q(eneath)h(p)q(olygons.)k(It)c(defaults)f(to)g(F)l(alse.)p
+eop
+%%Page: 35 36
+35 35 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(35)75 149 y(`)p Fm(textScale)14 b(\(dimension\))p Fo(')315
+204 y(The)22 b(fon)o(t)f(scaling)i(in)f(p)q(ercen)o(t)h(is)f(de\014ned)
+h(b)o(y)f(this)g(resource.)40 b(The)22 b(default)g(is)g
+Fh(100)315 259 y Fo(p)q(ercen)o(t.)75 334 y(`)p Fm(useLogWindow)13
+b(\(boolean\))p Fo(')315 388 y(Sev)o(eral)i(subroutines)h(send)f
+(messages)f(to)g(the)g(user)h(if)g(an)g(error)f(o)q(ccurs.)20
+b(This)15 b(resource)315 443 y(determines)e(if)f(they)g(app)q(ear)g
+(inside)i(the)e(log)g(windo)o(w)g(or)g(as)f(a)h(separate)f(dialog)i(b)q
+(o)o(x.)18 b(See)315 498 y(also,)d(the)f(resource)h Fh(r)n(aiseL)n(o)n
+(gWindow)k Fo(and)c(the)g(command)g(line)h(option)g Fh(-lo)n(gge)n
+(ometry)p Fo(.)315 553 y(The)f(default)h(v)m(alue)h(is)e
+Fh(true)p Fo(.)75 627 y(`)p Fm(viaColor)f(\(color\))p
+Fo(')75 692 y(`)p Fm(viaSelectedColor)f(\(color\))p Fo(')315
+747 y(This)18 b(resource)f(de\014nes)h(the)f(dra)o(wing)f(color)h(of)g
+(vias)g(in)h(b)q(oth)f(states.)24 b(The)17 b(v)m(alues)h(are)315
+802 y(preset)d(to)g Fh(XtDefaultF)m(or)n(e)n(gr)n(ound)p
+Fo(.)75 876 y(`)p Fm(viaThickness)e(\(dimension\))p Fo(')75
+931 y(`)p Fm(viaDrillingHole)g(\(dimension\))p Fo(')315
+986 y(The)k(initial)i(thic)o(kness)e(and)g(drilling)i(hole)f(of)e(new)h
+(vias.)25 b(The)17 b(v)m(alues)h(m)o(ust)e(b)q(e)h(in)h(the)315
+1041 y(range)e([30..250])e(with)j(at)f(least)h(20)f(mil)i(of)e(copp)q
+(er.)25 b(The)16 b(default)i(thic)o(kness)f(is)g Fh(40)h(mil)315
+1096 y Fo(and)d(the)h(default)f(drilling)j(hole)e(is)g
+Fh(20)h(mil)p Fo(.)75 1170 y(`)p Fm(volume)d(\(int\))p
+Fo(')315 1225 y(The)k(v)m(alue)h(is)f(passed)g(to)f Fm(XBell\(\))f
+Fo(whic)o(h)j(sets)e(the)h(v)o(olume)g(of)f(the)h Fm(X)f
+Fo(sp)q(eak)o(er.)28 b(The)315 1280 y(v)m(alue)15 b(lies)g(in)f(the)f
+(range)g(-100..100)f(and)h(it)h(defaults)g(to)f(the)g(maxim)o(um)h(v)o
+(olume)g(of)f Fh(100)p Fo(.)75 1354 y(`)p Fm(warnColor)h(\(color\))p
+Fo(')315 1409 y(This)k(resources)f(de\014nes)h(the)f(color)g(to)f(b)q
+(e)i(used)g(for)e(dra)o(wing)h(pins)h(and)g(pads)f(when)g(a)315
+1464 y(w)o(arning)e(has)g(b)q(een)h(issued)h(ab)q(out)e(them.)75
+1539 y(`)p Fm(zoom)f(\(int\))p Fo(')315 1594 y(The)19
+b(initial)h(v)m(alue)g(for)e(output)g(scaling)h(is)g(set)f(according)h
+(to)f(the)h(follo)o(wing)g(form)o(ula:)315 1648 y(scale)d(=)g(1:\(2)e
+(p)q(o)o(w)o(er)g(v)m(alue\).)22 b(It)15 b(defaults)h(to)f
+Fh(thr)n(e)n(e)j Fo(whic)o(h)e(results)g(in)g(an)f(output)g(scale)315
+1703 y(of)g Fh(1:8)p Fo(.)137 1778 y(Refer)g(also)g(to)g(Chapter)g(4)f
+([Command-Line)i(Options],)g(page)f(27.)75 1899 y Fl(5.2)33
+b(Actions)137 1993 y Fo(All)22 b(user)f(accessible)i(commands)e(ma)o(y)
+f(b)q(e)h(b)q(ound)h(to)e(almost)g(an)o(y)h Fm(X)g Fo(ev)o(en)o(t.)36
+b(Almost)21 b(no)f(de-)75 2047 y(fault)e(binding)i(for)e(commands)g(is)
+h(done)f(in)h(the)f(binaries,)i(so)e(it)h(is)f(vital)h(for)f(the)g
+(application)i(that)75 2102 y(at)g(least)h(a)g(system-wide)g
+(application)h(resource)f(\014le)h(exists.)37 b(This)21
+b(\014le)h(normally)g(resides)f(in)h(the)75 2157 y(`)p
+Fm(X11/lib/app-defaults)p Fo(')13 b(directory)j(and)g(is)h(called)h(`)p
+Fm(Pcb)p Fo('.)j(The)16 b(bindings)i(to)e(whic)o(h)h(the)f(man)o(ual)75
+2212 y(refers)c(to)f(are)h(the)g(ones)g(as)f(de\014ned)j(b)o(y)e(the)g
+(shipp)q(ed)i(resource)e(\014le.)19 b(Besides)14 b(binding)g(an)e
+(action)g(to)f(an)75 2267 y(X11)j(ev)o(en)o(t,)g(y)o(ou)g(can)h(also)f
+(execute)i(an)o(y)e(action)g(command)h(using)g(a)f Fm(")p
+Fo(:)p Fm(")g Fo(command)h(\(see)f(Chapter)g(3)75 2321
+y([User)h(Commands],)f(page)h(25\).)137 2386 y(T)l(ak)o(e)c(sp)q(ecial)
+i(care)e(ab)q(out)h(translations)f(related)g(to)g(the)g(functions)i(k)o
+(eys)e(and)g(the)g(p)q(oin)o(ter)h(buttons)75 2441 y(b)q(ecause)20
+b(most)f(of)g(the)g(windo)o(w)h(managers)e(use)i(them)f(to)q(o.)32
+b(Change)19 b(the)h(\014le)g(according)g(to)e(y)o(our)75
+2496 y(hardw)o(are/soft)o(w)o(are)8 b(en)o(vironmen)o(t.)19
+b(Y)l(ou)11 b(ma)o(y)f(ha)o(v)o(e)h(to)f(replace)i(all)g(o)q(ccurances)
+g(of)e Fh(b)n(aseT)m(r)n(anslations)75 2550 y Fo(to)15
+b Fh(tr)n(anslations)i Fo(if)f(y)o(ou)f(use)g(a)g Fm(X11R4)f
+Fo(serv)o(er.)137 2615 y(P)o(assing)21 b Fh(Obje)n(ct)k
+Fo(as)c(an)g(argumen)o(t)g(to)f(an)i(action)f(routine)h(causes)f(the)h
+(ob)s(ject)e(at)h(the)g(cursor)75 2670 y(lo)q(cation)f(to)e(b)q(e)i(c)o
+(hanged,)f(remo)o(v)o(ed)g(or)f(whatev)o(er.)31 b(If)19
+b(more)f(than)h(one)g(ob)s(ject)g(is)g(lo)q(cated)h(at)e(the)p
+eop
+%%Page: 36 37
+36 36 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(36)75 149 y(crosshair)18 b(p)q(osition)h(the)f(smallest)h(t)o(yp)q(e)
+f(is)g(used.)29 b(If)19 b(there)f(are)g(t)o(w)o(o)e(of)i(the)g(same)g
+(t)o(yp)q(e)g(the)g(new)o(er)75 204 y(one)d(is)h(tak)o(en.)j
+Fh(Sele)n(cte)n(dObje)n(cts)e Fo(will)g(handle)f(all)g(selected)h(and)e
+(visible)i(ob)s(jects.)75 295 y(`)p Fm(AddRats\(AllRats|Selecte)o
+(dRats\))p Fo(')315 350 y(Adds)e(rat-lines)g(to)e(the)h(la)o(y)o(out)g
+(using)h(the)f(loaded)h(netlist)g(\014le)g(\(see)f(the)g
+Fh(:rn)p Fo(,)f(Chapter)h(3)315 405 y([User)20 b(Commands],)h(page)f
+(25.\).)35 b(Rat)19 b(lines)j(are)e(added)h(on)g(the)f(activ)o(e)h(la)o
+(y)o(er)f(using)315 460 y(the)d(curren)o(t)f(line)j(thic)o(kness)e(sho)
+o(wn)g(in)g(the)g(status)f(line.)26 b(Only)18 b(missing)g(connectivit)o
+(y)315 514 y(is)g(added)g(b)o(y)g(the)f(AddRats)g(command)h(so)f(if,)h
+(for)f(example,)i(the)e(la)o(y)o(out)g(is)h(complete)315
+569 y(nothing)12 b(will)h(b)q(e)f(added.)19 b(Rat)11
+b(lines)i(are)e(dra)o(wn)g(on)g(the)g(screen)h(with)g(a)f(stippled)i
+(pattern)315 624 y(to)f(mak)o(e)g(them)h(easier)g(to)e(iden)o(tify)j
+(since)g(they)f(cannot)f(app)q(ear)h(in)g(a)f(completed)i(la)o(y)o
+(out.)315 679 y(The)d(rat-lines)h(are)e(added)i(in)f(the)g(minim)o(um)h
+(length)f(straigh)o(t-line)h(tree)f(pattern)f(\(alw)o(a)o(ys)315
+734 y(ending)16 b(on)e(pins)i(or)e(pads\))g(that)g(satis\014es)g(the)h
+(missing)g(connectivit)o(y)h(in)f(the)g(circuit.)21 b(If)315
+788 y(a)16 b(SMD)g(pad)h(is)f(unreac)o(hable)i(on)e(the)h(activ)o(e)f
+(la)o(y)o(er,)g(a)g(w)o(arning)h(will)h(b)q(e)f(issued)g(ab)q(out)315
+843 y(it)h(and)h(the)f(rat-line)h(to)e(that)h(pad)g(will)i(not)e(b)q(e)
+g(generated.)29 b(If)18 b(connections)i(exist)e(on)315
+898 y(the)i(b)q(oard)f(whic)o(h)i(are)e(not)h(listed)h(in)f(the)g
+(netlist)g(while)i(AllRats)d(are)h(b)q(eing)h(added,)315
+953 y(w)o(arning)16 b(messages)g(will)i(b)q(e)g(issued)f(and)g(the)f
+(a\013ected)g(pins)i(and)f(pads)f(will)i(b)q(e)f(dra)o(wn)315
+1008 y(in)d(a)g(sp)q(ecial)h Fh(warnColor)k Fo(un)o(til)14
+b(the)g(next)g Fh(Notify\(\))g Fo(ev)o(en)o(t.)20 b(If)13
+b(the)h(en)o(tire)g(la)o(y)o(out)f(agrees)315 1062 y(completely)j(with)
+g(the)f(net-list)h(a)e(message)h(informs)g(y)o(ou)f(that)g(the)h(la)o
+(y)o(out)g(is)g(complete)315 1117 y(and)j(no)g(rat-lines)h(are)f(added)
+h(\(since)f(none)h(are)f(needed\).)29 b(If)18 b Fh(Sele)n(cte)n(dR)n
+(ats)i Fo(is)f(passed)315 1172 y(as)13 b(the)g(argumen)o(t,)g(only)h
+(those)f(missing)h(connections)g(that)f(migh)o(t)g(connect)g(among)g
+(the)315 1227 y(selected)j(pins)h(and)e(pads)g(are)g(dra)o(wn.)20
+b(Default:)435 1288 y Fm(None<Key>w:)46 b(AddRats\(AllRats\))435
+1340 y(!Shift<Key>w:)g(AddRats\(SelectedRats\))435 1392
+y(None<Key>o:)g(DeleteRats\(AllRats\))21 b(AddRats\(AllRats\))435
+1443 y(!Shift<Key>o:)46 b(DeleteRats\(SelectedRats\))21
+b(AddRats\(SelectedRats\))75 1516 y Fo(`)p Fm(Atomic\(Save|Restore|Blo)
+o(ck|Close)o(\))p Fo(')315 1571 y(Con)o(trols)f(the)i(undo)f(grouping)h
+(of)f(sequences)h(of)f(actions.)38 b(Before)21 b(the)g(\014rst)g
+(action)315 1626 y(in)f(a)e(group,)h(A)o(tomic\(Sa)o(v)o(e\))f(should)i
+(b)q(e)g(issued.)32 b(After)18 b(eac)o(h)h(action)g(that)g(migh)o(t)f
+(b)q(e)315 1681 y(undoable,)13 b(A)o(tomic\(Restore\))c(should)i(b)q(e)
+h(issued.)19 b(A)o(tomic\(Blo)q(c)o(k\))11 b(concludes)i(and)e(sa)o(v)o
+(e)315 1736 y(the)16 b(undo)h(grouping)f(if)g(there)g(w)o(as)g(an)o
+(ything)g(in)h(the)f(group)f(to)h(undo.)22 b(A)o(tomic\(Close\))315
+1790 y(concludes)16 b(and)e(sa)o(v)o(e)g(the)g(undo)h(grouping)f(ev)o
+(en)h(if)g(nothing)g(w)o(as)e(actually)i(done.)20 b(Th)o(us)315
+1845 y(it)c(migh)o(t)h(pro)q(duce)g(an)f Fm(")p Fo(empt)o(y)p
+Fm(")f Fo(undo.)24 b(This)17 b(can)f(b)q(e)h(useful)g(when)g(y)o(ou)f
+(w)o(an)o(t)f(to)h(use)315 1900 y(undo)g(in)g(a)f(group)f(of)h
+(actions.)75 1973 y(`)p Fm(Bell\([-100..100]\))p Fo(')315
+2028 y(Rings)h(the)f(b)q(ell)j(of)d(y)o(our)g(displa)o(y)l(.)23
+b(If)16 b(no)f(v)m(alue)i(is)g(passed)e(the)h(setting)g(of)f(the)h
+(resource)315 2082 y Fh(volume)j Fo(will)e(b)q(e)f(used.)75
+2155 y(`)p Fm(ChangeDrillSize\(Object,)c(value\))p Fo(')75
+2210 y(`)p Fm(ChangeDrillSize\(Selecte)o(dPins|Se)o(lectedV)o(ias,)g
+(value\))p Fo(')315 2265 y(This)19 b(action)f(routine)g(c)o(hanges)g
+(the)g(drilling)i(hole)f(of)e(pins)i(and)f(vias.)29 b(If)18
+b Fh(value)j Fo(starts)315 2320 y(with)d Fm(+)f Fo(or)f(-,)i(then)f(it)
+h(adds)f(\(or)f(subtracts\))h Fh(value)j Fo(from)d(the)g(curren)o(t)g
+(hole)h(diameter,)315 2375 y(otherwise)d(it)h(sets)f(the)g(diameter)h
+(to)e(the)h(v)m(alue.)21 b(Default:)435 2436 y Fm(!Mod1<Key>s:)165
+b(Change2ndSize\(Object,)21 b(+5\))435 2487 y(!Mod1)i(Shift<Key>s:)f
+(Change2ndSize\(Object,)f(-5\))75 2560 y Fo(`)p Fm
+(ChangeHole\(Object|Selec)o(tedVias\))o Fo(')315 2615
+y(This)16 b(action)f(routine)h(con)o(v)o(erts)f(a)g(via)g(to)g(and)g
+(from)g(a)g(hole.)21 b(A)15 b(hole)h(is)g(a)f(via)h(that)e(has)315
+2670 y(no)h(copp)q(er)h(ann)o(ulus.)21 b(The)15 b(drill)i(size)f(for)f
+(the)g(via)h(determines)g(the)f(hole)h(diameter.)p eop
+%%Page: 37 38
+37 37 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(37)435 149 y Fm(!Ctrl<Key>h:)46 b(ChangeHole\(Object\))75
+227 y Fo(`)p Fm(ChangeName\(Object\))p Fo(')75 282 y(`)p
+Fm(ChangeName\(Layer|Layout)o(\))p Fo(')315 337 y(Changes)22
+b(the)g(name)g(of)g(the)g(visible)i(ob)s(ject)d(at)h(the)g(cursor)f(lo)
+q(cation.)41 b(A)22 b(text)g(ob-)315 391 y(ject)e(do)q(esn't)f(ha)o(v)o
+(e)g(a)h(name)g(therefore)f(the)h(text)f(string)h(itself)g(is)g(c)o
+(hanged.)34 b(The)20 b(el-)315 446 y(emen)o(t)h(name)h(curren)o(tly)g
+(used)g(for)f(displa)o(y)i(is)f(alw)o(a)o(ys)f(the)g(one)h(c)o(hanged)g
+(with)g(this)315 501 y(command.)j(See)17 b Fh(Display\(Description)p
+Fm(|)p Fh(NameOnPCB)p Fm(|)p Fh(V)m(alue\))f Fo(for)g(details.)26
+b(P)o(assing)315 556 y Fh(L)n(ayer)20 b Fo(c)o(hanges)15
+b(the)g(curren)o(t)g(la)o(y)o(ers)g(name.)20 b(Default:)435
+619 y Fm(None<Key>n:)i(ChangeName\(Object\))75 685 y
+Fo(`)p Fm(ChangeOctagon\(Object|Se)o(lectElem)o(ents|Se)o(lectedP)o
+(ins|Sele)o(ctedVia)o(s|Selec)o(ted\))p Fo(')315 740
+y(T)l(oggles)17 b(what)g(shap)q(e)h(the)f(a\013ected)g(pin\(s\))h(or)f
+(via\(s\))f(will)j(b)q(e)f(dra)o(wn)f(when)h(they)f(are)315
+795 y(not)e(square.)20 b(The)15 b(shap)q(e)h(will)h(either)f(b)q(e)f
+(round)h(or)f(o)q(ctagonal.)k(Default:)435 858 y Fm(!Ctrl<Key>o:)j
+(ChangeOctagon\(Object\))75 936 y Fo(`)p Fm(ChangeSize\(Object,)12
+b(value\))p Fo(')75 990 y(`)p Fm(ChangeSize\(SelectedLine)o(s|Select)o
+(edPins|)o(Selecte)o(dVias,)g(value\))p Fo(')75 1045
+y(`)p Fm(ChangeSize\(SelectedPads)o(|Selecte)o(dTexts|)o(Selecte)o
+(dNames,)g(value\))p Fo(')75 1100 y(`)p Fm(ChangeSize\(SelectedElem)o
+(ents,)g(value\))p Fo(')315 1155 y(T)l(o)f(c)o(hange)h(the)f(size)i(of)
+e(an)g(ob)s(ject)g(y)o(ou)g(ha)o(v)o(e)g(to)g(bind)i(these)f(action)f
+(to)g(some)g Fm(X)h Fo(ev)o(en)o(t)f(\(or)315 1209 y(use)j
+(:ChangeSize\(...\)\).)k(If)c Fh(value)k Fo(b)q(egins)d(with)f(a)f
+Fm(+)h Fo(or)f(-)h(then)g(the)g(v)m(alue)h(will)h(b)q(e)e(added)315
+1264 y(\(or)j(subtracted\))f(from)h(the)h(curren)o(t)f(size,)h
+(otherwise)g(the)f(size)h(is)g(set)f(equal)i(to)d Fh(value)p
+Fo(.)315 1319 y(Range)e(c)o(hec)o(king)h(is)h(done)f(to)e(insure)j
+(that)e(none)h(of)f(the)h(maxim)o(um/minim)o(ums)g(of)f(an)o(y)315
+1374 y(size)e(are)g(violated.)19 b(If)12 b Fh(Obje)n(ct)j
+Fo(is)d(passed)g(then)g(a)f(single)i(ob)s(ject)e(at)g(the)h(cursor)f
+(lo)q(cation)h(is)315 1429 y(c)o(hanged.)19 b(If)10 b(an)o(y)g(of)g
+(the)g Fh(Sele)n(cte)n(d)k Fo(argumen)o(ts)9 b(are)h(passed)h(then)f
+(all)i(selected)f(and)g(visible)315 1483 y(ob)s(jects)h(of)h(that)f(t)o
+(yp)q(e)h(are)g(c)o(hanged.)19 b(If)14 b(the)f(t)o(yp)q(e)g(b)q(eing)h
+(mo)q(di\014ed)g(is)g(an)f(elemen)o(t,)h(then)315 1538
+y(the)h(thic)o(kness)h(of)f(the)g(silkscreen)i(lines)g(de\014ning)g
+(the)e(elemen)o(t)h(is)g(c)o(hanged.)k(Default:)435 1601
+y Fm(None<Key>s:)70 b(ChangeSize\(Object,)21 b(+5\))435
+1653 y(!Shift<Key>s:)h(ChangeSize\(Object,)f(-5\))75
+1731 y Fo(`)p Fm(ChangeSquare\(Object|Sel)o(ectedEle)o(ments|S)o
+(elected)o(Pins\))p Fo(')315 1786 y(T)l(oggles)e(the)h(setting)g(of)f
+(the)g(square)g(\015ag.)33 b(The)20 b(\015ag)f(is)h(used)g(to)f(iden)o
+(tify)h(a)g(certain)315 1840 y(pin,)c(normally)g(the)g(\014rst)f(one,)g
+(of)g(circuits.)22 b(It)16 b(is)g(also)f(used)h(to)f(mak)o(e)g(SMD)g
+(pads)g(ha)o(v)o(e)315 1895 y(square)g(ends.)435 1959
+y Fm(None<Key>q:)70 b(ChangeSquare\(Object\))75 2036
+y Fo(`)p Fm(Command\(\))p Fo(')315 2091 y(Calling)17
+b Fh(Command\(\))f Fo(p)q(ops)f(up)h(an)f(input)h(line)h(at)d(the)h(b)q
+(ottom)g(of)g(the)g(windo)o(w)g(whic)o(h)315 2146 y(allo)o(ws)d(y)o(ou)
+f(to)g(en)o(ter)h(commands.)19 b(Including)14 b(all)f(action)e
+(commands!)19 b(The)12 b(dialog)g(ends)315 2200 y(when)18
+b Fh(None)p Fm(<)p Fh(Key)p Fm(>)p Fh(R)n(eturn)i Fo(to)c(con\014rm)i
+(or)f Fh(None)p Fm(<)p Fh(Key)p Fm(>)p Fh(Esc)n(ap)n(e)i
+Fo(to)d(ab)q(ort)h(is)h(en)o(tered.)315 2255 y(Default:)435
+2318 y Fm(<Key>colon:)k(Command\(\))75 2396 y Fo(`)p
+Fm(Connection\(Find\))p Fo(')75 2451 y(`)p Fm(Connection\(ResetFoundLi)
+o(nesAndRe)o(ctangle)o(s|Reset)o(PinsVias)o(AndPads)o(|Reset\))o
+Fo(')315 2506 y(The)16 b Fh(Conne)n(ction\(\))g Fo(action)g(is)h(used)f
+(to)g(mark)f(all)j(connections)f(from)e(one)h(pin,)i(line)f(or)315
+2560 y(via)k(to)f(others.)36 b(The)21 b Fh(R)n(esetF)m(oundLinesA)o(n)o
+(dR)n(e)n(ctangl)o(es,)e(R)n(esetF)m(oundPinsA)o(ndVias)315
+2615 y Fo(and)14 b Fh(R)n(eset)i Fo(argumen)o(ts)d(ma)o(y)g(b)q(e)h
+(used)g(to)e(reset)h(all)i(mark)o(ed)e(lines)i(and)e(rectangles,)h
+(vias)315 2670 y(and)19 b(pins)h(or)e(all)i(of)f(them.)31
+b(The)19 b(searc)o(h)g(starts)e(with)i(the)g(pin)h(or)f(via)g(at)f(the)
+h(cursor)p eop
+%%Page: 38 39
+38 38 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(38)315 149 y(p)q(osition.)30 b(All)20 b(found)f(ob)s(jects)f(are)g
+(dra)o(wn)g(with)g(the)h(color)f(de\014ned)i(b)o(y)e(the)h(resource)315
+204 y Fh(c)n(onne)n(cte)n(dColor)p Fo(.)f(See)e(also,)f
+Fh(Display\(Description)p Fm(|)p Fh(NameOnPCB)p Fm(|)p
+Fh(V)m(alue\))p Fo(.)h(Default:)435 274 y Fm(!Shift<Key>c:)22
+b(Connection\(Reset\))435 326 y(None<Key>f:)70 b(Connection\(Find\))435
+378 y(!Shift<Key>f:)22 b(Connection\(Reset\))75 468 y
+Fo(`)p Fm(DeleteRats\(AllRats|Sele)o(ctedRats)o(\))p
+Fo(')315 523 y(This)c(routine)f(deletes)h(either)g(all)f(rat-lines)h
+(in)g(the)f(la)o(y)o(out,)g(or)f(only)i(the)f(selected)h(and)315
+578 y(visible)f(ones.)j(Non-rat-lines)d(and)e(other)g(la)o(y)o(out)g
+(ob)s(jects)f(are)h(una\013ected.)20 b(Default:)435 648
+y Fm(None<Key>e:)70 b(DeleteRats\(AllRats\))435 699 y(!Shift<Key>e:)22
+b(DeleteRats\(SelectedRats\))75 790 y Fo(`)p Fm
+(Display\(Description|Nam)o(eOnPCB|V)o(alue\))p Fo(')75
+845 y(`)p Fm(Display\(Toggle45Degree|)o(CycleCli)o(p\))p
+Fo(')75 900 y(`)p Fm(Display\(Grid|ToggleGrid)o(\))p
+Fo(')75 954 y(`)p Fm(Display\(ToggleRubberBan)o(dMode\))p
+Fo(')75 1009 y(`)p Fm(Display\(Center|ClearAnd)o(Redraw|R)o(edraw\))p
+Fo(')75 1064 y(`)p Fm(Display\(Pinout|PinOrPad)o(Name\))p
+Fo(')315 1119 y(This)16 b(action)g(routines)g(handles)h(some)f(output)f
+(related)h(settings.)22 b(It)15 b(is)i(used)f(to)f(cen)o(ter)315
+1174 y(the)d(displa)o(y)i(around)e(the)h(cursor)f(lo)q(cation)h(and)g
+(to)f(redra)o(w)f(the)i(output)f(area)g(optionally)315
+1228 y(after)k(clearing)i(the)f(windo)o(w.)25 b(Cen)o(tering)17
+b(is)g(done)g(with)g(resp)q(ect)h(to)e(the)h Fh(grid)k
+Fo(setting.)315 1283 y(Displa)o(ying)d(the)g(grid)f(itself)h(ma)o(y)f
+(b)q(e)g(switc)o(hed)h(on)f(and)h(o\013)e(b)o(y)h Fh(Grid)22
+b Fo(but)c(only)f(if)h(the)315 1338 y(distance)c(b)q(et)o(w)o(een)f(t)o
+(w)o(o)f(pixels)j(exceeds)f(1)p 1060 1338 14 2 v 16 w(DIST)l(ANCE)f
+(pixels.)21 b Fm(Pcb)13 b Fo(is)g(able)h(to)f(handle)315
+1393 y(sev)o(eral)k(lab)q(els)h(of)e(an)h(elemen)o(t.)24
+b(One)18 b(of)e(them)g(is)i(a)e(description)i(of)e(the)h(functionalit)o
+(y)315 1447 y(\(eg)c(resistor\),)f(the)i(second)g(should)g(b)q(e)g(a)f
+(unique)i(iden)o(ti\014er)f(\(R1\))e(whereas)h(the)h(last)f(one)315
+1502 y(is)h(a)g(v)m(alue)h(\(100k\).)j(The)d Fh(Display\(\))f
+Fo(action)g(selects)h(whic)o(h)g(of)f(the)g(names)g(is)g(displa)o(y)o
+(ed.)315 1557 y(It)20 b(also)h(con)o(trols)e(whic)o(h)j(name)e(will)i
+(b)q(e)f(a\013ected)f(b)o(y)g(the)g Fh(ChangeName)j Fo(command.)315
+1612 y(If)c Fh(T)m(o)n(ggleGrid)j Fo(is)c(passed,)i Fm(Pcb)e
+Fo(c)o(hanges)g(b)q(et)o(w)o(een)h(relativ)o(e)g(\('rel')f(in)h(the)f
+(statusline\))315 1667 y(and)e(absolute)g(grid)h(\(an)e('abs')g(in)i
+(the)f(statusline\).)22 b(Relativ)o(e)16 b(grid)h(means)e(the)h(p)q
+(oin)o(ter)315 1721 y(p)q(osition)i(when)g(the)f(command)f(is)i(issued)
+g(is)g(used)f(as)g(the)g(grid)g(origin;)i(while)f(\(0,0\))d(is)315
+1776 y(used)c(in)h(the)f(absolute)g(grid)g(case.)18 b(P)o(assing)10
+b Fh(Pinout)15 b Fo(displa)o(ys)d(the)f(pinout)g(of)f(the)h(elemen)o(t)
+315 1831 y(at)g(the)i(curren)o(t)f(cursor)f(lo)q(cation)i(whereas)f
+Fh(PinOrPadName)k Fo(toggles)11 b(displa)o(ying)j(of)e(the)315
+1886 y(pins)k(or)e(pads)h(name)f(under)i(the)e(cursor.)20
+b(If)15 b(none)g(of)f(them)g(matc)o(hes)h(but)f(the)h(cursor)f(is)315
+1941 y(inside)i(of)d(an)h(elemen)o(t,)h(the)f(\015ags)g(is)g(toggled)g
+(for)f(all)i(of)f(its)g(pins)h(and)f(pads.)20 b(F)l(or)13
+b(details)315 1995 y(ab)q(out)i(rubb)q(erbands)h(see)g(also)f(the)g
+(details)i(ab)q(out)e Fh(Mo)n(de)p Fo(.)k(Default:)435
+2065 y Fm(None<Key>c:)46 b(Display\(Center\))435 2117
+y(None<Key>d:)g(Display\(PinOrPadName\))435 2169 y(!Shift<Key>d:)22
+b(Display\(Pinout\))435 2221 y(None<Key>r:)46 b
+(Display\(ClearAndRedraw\))435 2273 y(None<Key>.:)g
+(Display\(Toggle45Degree\))435 2325 y(None<Key>/:)g
+(Display\(CycleClip\))75 2415 y Fo(`)p Fm(DRC\(\))p Fo(')94
+b(Initiates)19 b(design)f(rule)h(c)o(hec)o(king)g(of)e(the)h(en)o(tire)
+g(la)o(y)o(out.)26 b(Must)18 b(b)q(e)g(rep)q(eated)g(un)o(til)h(no)315
+2470 y(errors)14 b(are)h(found.)75 2560 y(`)p Fm(EditLayerGroups\(\))p
+Fo(')315 2615 y(P)o(ops)f(up)i(a)e(dialog)i(b)q(o)o(x)e(to)h(edit)g
+(the)g(la)o(y)o(ergroup)f(setting.)20 b(The)15 b(function)h(is)f(also)g
+(a)o(v)m(ail-)315 2670 y(able)h(from)e(the)i Fh(Obje)n(cts)h
+Fo(men)o(u.)k(There)15 b(are)g(no)g(defaults.)p eop
+%%Page: 39 40
+39 39 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(39)75 149 y(`)p Fm(Load\(ElementToBuffer|La)o(yout|Lay)o(outToBu)o
+(ffer|Ne)o(list\))p Fo(')315 204 y(This)11 b(routine)g(p)q(ops)g(up)g
+(a)f(\014leselect)j(b)q(o)o(x)d(to)g(load)h(la)o(y)o(out,)g(elemen)o(t)
+g(data,)f(or)g(netlist.)20 b(The)315 259 y(passed)c(\014lename)h(for)f
+(la)o(y)o(out)f(data)g(is)i(sa)o(v)o(ed)e(and)i(ma)o(y)e(b)q(e)h
+(reused.)23 b Fh(ElementT)m(oBu\013er)315 314 y Fo(and)11
+b Fh(L)n(ayoutT)m(oBu\013er)k Fo(load)10 b(the)h(data)e(in)o(to)i(the)f
+(curren)o(t)h(bu\013er.)18 b(There)10 b(are)h(no)f(defaults.)75
+401 y(`)p Fm(MarkCrosshair\(\))p Fo(')315 456 y(This)16
+b(routine)f(marks)f(the)h(curren)o(t)g(cursor)g(lo)q(cation)h(with)f
+(an)g(X,)g(and)g(then)g(the)g(cursor)315 511 y(displa)o(y)20
+b(sho)o(ws)f(b)q(oth)g(absolute)g(p)q(osition)h(and)g(p)q(osition)g
+(relativ)o(e)f(to)g(the)g(mark.)31 b(If)19 b(a)315 566
+y(mark)f(is)g(already)h(presen)o(t,)g(this)f(routine)h(remo)o(v)o(es)f
+(it)g(and)h(stops)e(displa)o(ying)j(relativ)o(e)315 621
+y(cursor)15 b(co)q(ordinates.)20 b(Defaults:)435 689
+y Fm(!Ctrl<key>m:)46 b(MarkCrosshair\(\))75 776 y Fo(`)p
+Fm(Mode\(Copy|InsertPoint|L)o(ine|Move)o(|None|P)o(asteBuf)o(fer|Poly)o
+(gon|The)o(rmal\))p Fo(')75 831 y(`)p Fm(Mode\(Remove|Rectangle|R)o
+(ubberban)o(dMove|T)o(ext|Via)o(\))p Fo(')75 886 y(`)p
+Fm(Mode\(Cycle\))p Fo(')75 941 y(`)p Fm(Mode\(Notify\))p
+Fo(')75 996 y(`)p Fm(Mode\(Save|Restore\))p Fo(')315
+1050 y(Switc)o(hes)16 b(to)f(a)f(new)i(mo)q(de)g(of)e(op)q(eration.)21
+b(The)15 b(activ)o(e)h(mo)q(de)f(is)h(displa)o(y)o(ed)g(b)o(y)g(a)f
+(thic)o(k)315 1105 y(line)e(around)e(the)g(matc)o(hing)h(mo)q(de)f
+(selector)h(button.)18 b(Most)10 b(of)h(the)g(functionalit)o(y)i(of)d
+Fm(Pcb)315 1160 y Fo(is)16 b(implemen)o(ted)i(b)o(y)e(selecting)h(a)e
+(mo)q(de)h(and)g(calling)i Fh(Mo)n(de\(Notify\))p Fo(.)j(The)16
+b(argumen)o(ts)315 1215 y Fh(Line)p Fo(,)22 b Fh(Polygon)p
+Fo(,)h Fh(R)n(e)n(ctangle)p Fo(,)f Fh(T)m(ext)k Fo(and)c
+Fh(Via)k Fo(are)c(used)g(to)g(create)g(the)g(appropriate)315
+1270 y(ob)s(ject)16 b(whenev)o(er)g Fh(Mo)n(de\(Notify\))h
+Fo(is)g(called.)24 b(Some)16 b(of)g(them,)g(suc)o(h)g(as)g
+Fh(Polygon)p Fo(,)f(need)315 1324 y(more)k(than)g(one)g(call)i(for)d
+(one)i(ob)s(ject)e(to)h(b)q(e)h(created.)32 b Fh(InsertPoint)22
+b Fo(adds)d(p)q(oin)o(ts)h(to)315 1379 y(existing)e(p)q(olygons)f(or)f
+(lines.)25 b Fh(Save)20 b Fo(and)c Fh(R)n(estor)n(e)k
+Fo(are)c(used)h(to)f(temp)q(orarily)h(sa)o(v)o(e)f(the)315
+1434 y(mo)q(de,)24 b(switc)o(h)e(to)g(another)g(one,)i(call)f
+Fh(Mo)n(de\(Notify\))g Fo(and)f(restore)g(the)g(sa)o(v)o(ed)g(one.)315
+1489 y(Ha)o(v)o(e)f(a)h(lo)q(ok)g(at)f(the)h(application)i(resource)e
+(\014le)g(for)g(examples.)40 b Fh(Copy)26 b Fo(and)c
+Fh(Move)315 1544 y Fo(mo)q(des)15 b(are)g(used)h(to)f(c)o(hange)g(an)g
+(ob)s(ject's)g(lo)q(cation)h(and,)f(optionally)l(,)h(to)f(create)g(a)g
+(new)315 1598 y(one.)23 b(The)16 b(\014rst)g(call)h(of)e
+Fh(Mo)n(de\(Notify\))i Fo(attac)o(hes)e(the)i(ob)s(ject)e(at)g(the)i(p)
+q(oin)o(ter)f(lo)q(cation)315 1653 y(to)e(the)g(crosshair)g(whereas)h
+(the)f(second)h(one)g(drops)f(it)g(to)g(the)h(la)o(y)o(out.)k(The)14
+b Fh(rubb)n(erb)n(and)315 1708 y Fo(v)o(ersion)20 b(of)g(mo)o(v)o(e)g
+(p)q(erforms)g(the)g(mo)o(v)o(e)g(while)h(o)o(v)o(erriding)g(the)g
+(curren)o(t)f(rubb)q(erband)315 1763 y(mo)q(de.)f(P)o(assing)10
+b Fh(PasteBu\013er)16 b Fo(attac)o(hes)9 b(the)i(con)o(ten)o(ts)f(of)g
+(the)h(curren)o(tly)g(selected)h(bu\013er)315 1818 y(to)j(the)h
+(crosshair.)22 b(Eac)o(h)16 b(call)h(to)f Fh(Mo)n(de\(Notify\))g
+Fo(pastes)g(this)g(con)o(ten)o(ts)g(to)f(the)h(la)o(y)o(out.)315
+1872 y Fh(Mo)n(de\(Cycle\))j Fo(cycles)i(through)e(the)g(mo)q(des)h(a)o
+(v)m(ailable)h(in)f(the)f(mo)q(de-button)h(pallete.)315
+1927 y Fh(Mo)n(de\(None\))15 b Fo(switc)o(hes)h(all)g(mo)q(des)f
+(o\013.)k(Default:)435 1995 y Fm(<Key>Escape:)309 b(Mode\(None\))435
+2047 y(<Key>space:)333 b(Mode\(Cycle\))435 2099 y(None<Key>BackSpace:)
+141 b(Mode\(Save\))22 b(Mode\(Remove\))g(Mode\(Notify\))h
+(Mode\(Restore\))435 2151 y(None<Key>Delete:)213 b(Mode\(Save\))22
+b(Mode\(Remove\))g(Mode\(Notify\))h(Mode\(Restore\))435
+2203 y(None<Key>F1:)309 b(Mode\(Via\))435 2255 y(None<Key>F2:)g
+(Mode\(Line\))435 2307 y(None<Key>F3:)g(Mode\(PasteBuffer\))435
+2359 y(None<Key>F4:)g(Mode\(Rectangle\))435 2411 y(None<Key>F5:)g
+(Mode\(Text\))435 2462 y(None<Key>F6:)g(Mode\(Polygon\))435
+2514 y(None<Key>F7:)g(Mode\(Thermal\))435 2566 y(None<Key>F8:)70
+b(Mode\(Arc\))435 2618 y(None<Key>Insert:)213 b(Mode\(InsertPoint\))435
+2670 y(None<Key>[:)333 b(Mode\(Save\))22 b(Mode\(Move\))h
+(Mode\(Notify\))p eop
+%%Page: 40 41
+40 40 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(40)435 149 y Fm(None<Key>]:)333 b(Mode\(Notify\))22
+b(Mode\(Restore\))435 201 y(None<Btn1Down>:)237 b(Mode\(Notify\))435
+253 y(!Shift)23 b(Ctrl<Btn1Down>:)70 b(Mode\(Save\))22
+b(Mode\(Remove\))g(Mode\(Notify\))h(Mode\(Restore\))435
+305 y(None<Btn2Down>:)237 b(Mode\(Save\))22 b(Mode\(Move\))h
+(Mode\(Notify\))435 357 y(None<Btn2Up>:)285 b(Mode\(Notify\))22
+b(Mode\(Restore\))435 409 y(!Mod1<Btn2Down>:)165 b(Mode\(Save\))22
+b(Mode\(Copy\))h(Mode\(Notify\))435 461 y(!Mod1<Btn2Up>:)213
+b(Mode\(Notify\))22 b(Mode\(Restore\))435 513 y(Shift)h
+(Mod1<Btn2Down>:)f(Mode\(Save\))g(Mode\(RubberbandMove\))g
+(Mode\(Notify\))75 589 y Fo(`)p Fm(MovePointer\(delta_x,)12
+b(delta_y\))p Fo(')315 643 y(With)g(this)g(function)h(it)f(is)h(p)q
+(ossible)g(to)e(mo)o(v)o(e)h(the)g(crosshair)f(cursor)h(b)o(y)g(using)g
+(the)g(cursor)315 698 y(k)o(eys.)19 b(The)c Fm(X)e Fo(serv)o(er's)h(p)q
+(oin)o(ter)g(follo)o(ws)g(b)q(ecause)h(the)f(necessary)h(ev)o(en)o(ts)e
+(are)h(generated)315 753 y(b)o(y)19 b Fm(Pcb)p Fo(.)31
+b(All)20 b(mo)o(v)o(emen)o(ts)e(are)g(p)q(erformed)h(with)h(resp)q(ect)
+f(to)f(the)h(curren)o(tly)h(set)f(grid)315 808 y(v)m(alue.)i(Default:)
+435 870 y Fm(None<Key>Up:)142 b(MovePointer\(0,)21 b(-1\))435
+922 y(!Shift<Key>Up:)94 b(MovePointer\(0,)21 b(-10\))435
+974 y(None<Key>Down:)94 b(MovePointer\(0,)21 b(1\))435
+1026 y(!Shift<Key>Down:)46 b(MovePointer\(0,)21 b(10\))435
+1078 y(None<Key>Right:)70 b(MovePointer\(1,)21 b(0\))435
+1130 y(!Shift<Key>Right:)h(MovePointer\(10,)f(0\))435
+1181 y(None<Key>Left:)94 b(MovePointer\(-1,)21 b(0\))435
+1233 y(!Shift<Key>Left:)46 b(MovePointer\(-10,)21 b(0\))75
+1309 y Fo(`)p Fm(MoveToCurrentLayer\(Obje)o(ct|Selec)o(tedObje)o(cts\))
+p Fo(')315 1364 y(The)h(function)h(mo)o(v)o(es)e(a)h(single)h(ob)s
+(ject)e(at)h(the)g(crosshair)g(lo)q(cation)g(or)g(all)h(selected)315
+1419 y(ob)s(jects)13 b(to)g(the)h(curren)o(t)f(la)o(y)o(er.)19
+b(Elemen)o(ts)c(are)e(not)g(mo)o(v)o(eable)h(b)o(y)f(this)i(function.)
+20 b(They)315 1474 y(ha)o(v)o(e)c(to)g(b)q(e)i(deleted)g(and)f
+(replaced)h(on)e(the)h(other)g(side.)25 b(If)17 b(a)g(line)h(segmen)o
+(t)e(is)h(mo)o(v)o(ed)315 1528 y(and)i(the)h(mo)o(v)o(emen)o(t)e(w)o
+(ould)i(result)f(in)h(a)f(loss)h(of)f(connectivit)o(y)h(to)f(another)f
+(segmen)o(t)315 1583 y(then)e(via\(s\))e(are)h(automatically)h(added)g
+(to)e(main)o(tain)i(the)f(connectivit)o(y)l(.)435 1646
+y Fm(None<Key>m:)166 b(MoveToCurrentLayer\(Obje)o(ct\))435
+1697 y(!Shift<Key>m:)118 b(MoveToCurrentLayer\(Sele)o(ctedObj)o(ects\))
+75 1773 y Fo(`)p Fm(New\(\))p Fo(')94 b(Clear)14 b(the)h(curren)o(t)f
+(la)o(y)o(out)g(and)g(starts)f(a)h(new)h(one)f(after)g(en)o(tering)h
+(its)f(name.)20 b(Refer)14 b(to)315 1828 y(the)h(resource)h
+Fh(b)n(ackup)i Fo(for)c(more)h(information.)20 b(No)15
+b(defaults.)75 1904 y(`)p Fm(PasteBuffer\(AddSelected)o(|Clear|1)o
+(..5\))p Fo(')75 1959 y(`)p Fm(PasteBuffer\(Rotate,)d(1..3\))p
+Fo(')75 2014 y(`)p Fm(PasteBuffer\(Convert\))p Fo(')315
+2068 y(This)17 b(action)g(routine)g(con)o(trols)f(and)h(selects)g(the)g
+(pastebu\013er)f(as)g(w)o(ell)i(as)e(all)h(cut-and-)315
+2123 y(paste)k(op)q(erations.)39 b(P)o(assing)22 b(a)f(bu\013er)g(n)o
+(um)o(b)q(er)h(selects)h(one)e(in)i(of)e(the)g(range)h(1..5.)315
+2178 y(The)e(statusline)g(is)g(up)q(dated)g(with)g(the)f(new)h(n)o(um)o
+(b)q(er.)32 b Fh(R)n(otate)24 b Fo(p)q(erforms)19 b(a)g(n)o(um)o(b)q
+(er)315 2233 y(of)c(90)g(degree)g(coun)o(ter)h(clo)q(c)o(kwise)g
+(rotations)f(of)g(the)g(bu\013er)g(con)o(ten)o(ts.)20
+b Fh(A)n(ddSele)n(cte)n(d)e Fo(as)315 2288 y(\014rst)g(argumen)o(t)g
+(copies)i(all)f(selected)h(and)f(visible)i(ob)s(jects)d(in)o(to)g(the)h
+(bu\013er.)30 b(P)o(assing)315 2342 y Fh(Cle)n(ar)23
+b Fo(remo)o(v)o(es)18 b(all)i(ob)s(jects)e(from)g(the)h(curren)o(tly)g
+(selected)h(bu\013er.)31 b Fh(Convert)23 b Fo(causes)315
+2397 y(the)e(con)o(ten)o(ts)f(of)h(the)g(bu\013er)g(\(lines,)i(arc,)f
+(vias\))f(to)f(b)q(e)i(con)o(v)o(erted)e(in)o(to)h(an)g(elemen)o(t)315
+2452 y(de\014nition.)h(Refer)14 b(to)h(Section)h(2.4.7)e([P)o
+(astebu\013er],)f(page)i(18)g(for)f(examples.)21 b(Default:)435
+2514 y Fm(!Ctrl<Key>x:)165 b(PasteBuffer\(Clear\))22
+b(PasteBuffer\(AddSelected\))888 2566 y(Mode\(PasteBuffer\))435
+2618 y(!Shift)h(Ctrl<Key>x:)f(PasteBuffer\(Clear\))g
+(PasteBuffer\(AddSelected\))888 2670 y(RemoveSelected\(\))g
+(Mode\(PasteBuffer\))p eop
+%%Page: 41 42
+41 41 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(41)435 149 y Fm(!Mod1<Key>c:)165 b(PasteBuffer\(Clear\))22
+b(PasteBuffer\(AddSelected\))435 201 y(!Mod1<key>x:)165
+b(PasteBuffer\(Clear\))22 b(PasteBuffer\(AddSelected\))507
+253 y(RemoveSelected\(\))435 305 y(!Shift<Key>1:)141
+b(PasteBuffer\(1\))435 357 y(!Shift<Key>2:)g(PasteBuffer\(2\))435
+409 y(!Shift<Key>3:)g(PasteBuffer\(3\))435 461 y(!Shift<Key>4:)g
+(PasteBuffer\(4\))435 513 y(!Shift<Key>5:)g(PasteBuffer\(5\))435
+565 y(None<Key>F3:)165 b(Mode\(PasteBuffer\))75 646 y
+Fo(`)p Fm(Polygon\(\(Close|Previous)o(Point\))p Fo(')315
+700 y(P)o(olygons)35 b(need)i(a)f(sp)q(ecial)h(action)f(routine)h(to)e
+(mak)o(e)g(life)i(easier.)83 b(Calling)315 755 y Fh(Polygon\(Pr)n
+(eviousPoint\))19 b Fo(resets)g(the)h(newly)h(en)o(tered)f(corner)f(to)
+g(the)h(previous)g(one.)315 810 y(The)d(Undo)g(action)g(will)h(call)g
+(P)o(olygon\(PreviousP)o(oin)o(t\))d(when)j(appropriate)e(to)g(do)h
+(so.)315 865 y Fh(Close)h Fo(creates)e(the)g(\014nal)h(segmen)o(t)f(of)
+g(the)g(p)q(olygon.)23 b(This)17 b(ma)o(y)e(fail)i(if)f(clipping)j(to)d
+(45)315 920 y(degree)g(lines)g(is)g(switc)o(hed)g(on,)f(in)h(whic)o(h)g
+(case)f(a)g(w)o(arning)g(is)h(issued.)21 b(Default:)435
+985 y Fm(None<Key>p:)309 b(Polygon\(Close\))435 1036
+y(!Shift<Key>p:)261 b(Polygon\(Close\))75 1118 y Fo(`)p
+Fm(Print\(\))p Fo(')46 b(P)o(ops)15 b(up)h(a)f(prin)o(t)g(con)o(trol)g
+(b)q(o)o(x)g(that)g(lets)h(y)o(ou)f(select)h(the)f(output)g(device,)h
+(scaling)h(and)315 1172 y(man)o(y)11 b(more)h(options.)19
+b(Eac)o(h)11 b(run)i(creates)e(all)i(\014les)g(that)e(are)h(supp)q
+(orted)g(b)o(y)g(the)g(selected)315 1227 y(device.)21
+b(These)14 b(are)g(mask)f(\014les)i(as)f(w)o(ell)h(as)f(drilling)i
+(\014les,)f(silk)g(screens)g(and)f(so)f(on.)20 b(The)315
+1282 y(table)c(sho)o(ws)e(the)h(\014lenames)i(for)d(all)i(p)q(ossible)h
+(\014les:)626 1347 y Fm(POSIX)23 b(\(extention\))309
+b(8.3)23 b(filename)435 1399 y(--------------------------)o(-------)o
+(--------)o(----)435 1451 y(*_componentmask.*)308 b(cmsk.*)435
+1503 y(*_componentsilk.*)g(cslk.*)435 1554 y(*_soldermask.*)380
+b(smsk.*)435 1606 y(*_soldersilk.*)g(sslk.*)435 1658
+y(*_drill.*)500 b(dril.*)435 1710 y(*_groundplane.*)356
+b(gpl.*)435 1762 y(*_group[1..8].*)165 b([..8].*)315
+1830 y Fo(The)18 b(output)f(ma)o(y)f(b)q(e)i(sen)o(t)g(to)e(a)h(p)q
+(ostpro)q(cessor)g(b)o(y)h(starting)e(the)i(\014lename)g(with)g(the)315
+1885 y Fh(pip)n(e)23 b Fm(\("|"\))18 b Fo(c)o(haracter.)31
+b(An)o(y)19 b Fm("\045f")g Fo(in)h(a)f(command)g(is)h(replaced)g(with)g
+(the)f(curren)o(t)315 1940 y(\014lename.)i(The)15 b(function)h(is)g(a)o
+(v)m(ailable)h(from)d(the)i Fh(\014le)h Fo(men)o(u.)k(There)15
+b(are)g(no)g(defaults.)75 2021 y(`)p Fm(Quit\(\))p Fo(')70
+b(Quits)16 b(the)f(application)i(after)e(con\014rming)g(the)h(op)q
+(eration.)k(Default:)435 2086 y Fm(<Message>WM_PROTOCOLS:)h(Quit\(\))75
+2167 y Fo(`)p Fm(Redo\(\))p Fo(')70 b(This)19 b(routine)g(allo)o(ws)g
+(y)o(ou)g(to)f(reco)o(v)o(er)g(from)g(the)g(last)h(undo)g(command.)30
+b(Y)l(ou)19 b(migh)o(t)315 2221 y(w)o(an)o(t)c(to)h(do)g(this)h(if)f(y)
+o(ou)g(though)o(t)g(that)f(undo)i(w)o(as)e(going)i(to)e(rev)o(ert)h
+(something)g(other)315 2276 y(than)k(what)g(it)h(actually)g(did)h(\(in)
+f(case)f(y)o(ou)g(are)g(confused)h(ab)q(out)g(whic)o(h)g(op)q(erations)
+315 2331 y(are)d(un-doable\),)i(or)e(if)h(y)o(ou)f(ha)o(v)o(e)g(b)q
+(een)h(bac)o(king)g(up)g(through)f(a)g(long)h(undo)g(list)g(and)315
+2386 y(o)o(v)o(er-sho)q(ot)f(y)o(our)h(stopping)h(p)q(oin)o(t.)34
+b(An)o(y)20 b(c)o(hange)f(that)g(is)h(made)g(since)g(the)g(undo)g(in)
+315 2441 y(question)f(will)g(trim)f(the)h(redo)f(list.)29
+b(F)l(or)17 b(example)i(if)g(y)o(ou)f(add)g(ten)g(lines,)i(then)f(undo)
+315 2495 y(three)d(of)g(them)g(y)o(ou)g(could)h(use)f(redo)g(to)g(put)g
+(them)g(bac)o(k,)g(but)g(if)g(y)o(ou)g(mo)o(v)o(e)g(a)f(line)j(on)315
+2550 y(the)h(b)q(oard)f(b)q(efore)h(p)q(erforming)f(the)h(redo,)g(y)o
+(ou)f(will)i(lose)f(the)f(abilit)o(y)i(to)e Fm(")p Fo(redo)p
+Fm(")g Fo(the)315 2605 y(three)d Fm(")p Fo(undone)p Fm(")h
+Fo(lines.)22 b(Default:)435 2670 y Fm(!Shift<Key>r:)46
+b(Redo\(\))p eop
+%%Page: 42 43
+42 42 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(42)75 149 y(`)p Fm(RemoveSelected\(\))p Fo(')315 204
+y(This)16 b(routine)f(remo)o(v)o(es)g(all)h(visible)h(and)f(selected)g
+(ob)s(jects.)j(There)d(are)f(no)g(defaults.)75 282 y(`)p
+Fm(Report\(Object|DrillRepo)o(rt\))p Fo(')315 337 y(This)j(routine)f(p)
+q(ops)g(up)h(a)e(dialog)i(b)q(o)o(x)f(describing)i(the)e(v)m(arious)g
+(c)o(haracteristics)g(of)g(an)315 392 y(ob)s(ject)f(\(or)g(piece)i(of)e
+(an)g(ob)s(ject)g(suc)o(h)h(as)f(a)g(pad)h(or)f(pin\))h(in)g(the)g(la)o
+(y)o(out)f(at)g(the)g(cursor)315 447 y(p)q(osition,)21
+b(or)d(a)h(rep)q(ort)g(ab)q(out)g(all)h(of)f(the)g(drill)i(holes)f(in)g
+(the)f(la)o(y)o(out.)31 b(There)19 b(are)g(no)315 501
+y(defaults.)75 579 y(`)p Fm(RouteStyle\(1|2|3|4\))p Fo(')315
+634 y(This)h(routine)f(copies)i(the)e(sizes)h(corresp)q(onding)g(to)f
+(the)g(n)o(um)o(b)q(ered)h(route)f(st)o(yle)g(in)o(to)315
+689 y(the)c(activ)o(e)h(line)g(thic)o(knes,)g(via)g(diameter,)f(and)g
+(via)h(drill)h(size.)j(Defaults:)435 752 y Fm(!Ctrl<Key>1:)i
+(RouteStyle\(1\))435 804 y(...)435 856 y(!Ctrl<Key>4:)g
+(RouteStyle\(4\))75 934 y Fo(`)p Fm(Save\(Layout|LayoutAs\))p
+Fo(')75 989 y(`)p Fm(Save\(AllConnections|All)o(UnusedPi)o(ns|Elem)o
+(entConn)o(ections\))o Fo(')315 1044 y(P)o(assing)17
+b Fh(L)n(ayout)22 b Fo(sa)o(v)o(es)17 b(the)g(la)o(y)o(out)g(using)h
+(the)g(\014le)g(from)f(whic)o(h)h(it)g(w)o(as)e(loaded)i(or,)f(if)315
+1098 y(it)f(is)h(a)f(new)g(la)o(y)o(out,)g(calls)h Fh(Save\(L)n
+(ayoutAs\))f Fo(whic)o(h)h(queries)g(the)g(user)f(for)f(a)h
+(\014lename.)315 1153 y(The)j(v)m(alues:)29 b Fh(A)o(l)r(lConne)n
+(ctions)p Fo(,)16 b Fh(A)o(l)r(lUnuse)n(dPins)k Fo(and)f
+Fh(ElementConne)n(ctions)h Fo(start)d(a)315 1208 y(connection)f(scan)f
+(and)g(sa)o(v)o(e)f(all)i(connections,)g(all)f(un)o(used)h(pins)g(or)e
+(the)h(connections)h(of)315 1263 y(a)f(single)h(elemen)o(t)g(to)f(a)g
+(\014le.)21 b(There)15 b(are)g(no)g(defaults.)75 1341
+y(`)p Fm(Select\(All|Block|Connec)o(tion|Tog)o(gleObje)o(ct\))p
+Fo(')75 1395 y(`)p Fm(Select\(ElementByName|Ob)o(jectByNa)o(me|PadB)o
+(yName|P)o(inByName)o(\))p Fo(')75 1450 y(`)p Fm
+(Select\(TextByName|ViaBy)o(Name\))p Fo(')315 1505 y(T)l(oggles)k
+(either)h(the)g(selection)g(\015ag)f(of)g(the)h(ob)s(ject)e(at)h(the)h
+(crosshair)f(p)q(osition)h(\()p Fh(T)m(o)n(g-)315 1560
+y(gleObje)n(ct)t Fo(\))11 b(or)h(selects)h(all)g(visible)h(ob)s(jects,)
+e(all)h(inside)h(a)e(rectangle)h(or)e(all)j(ob)s(jects)d(whic)o(h)315
+1615 y(ha)o(v)o(e)j(b)q(een)h(found)f(during)h(the)f(last)g(connection)
+i(scan.)j(The)14 b Fh(ByName)k Fo(functions)d(use)f(a)315
+1669 y(regular)e(expression)h(searc)o(h,)f(alw)o(a)o(ys)f(case)h
+(insensitiv)o(e,)i(to)d(select)i(the)f(ob)s(jects.)18
+b(Default:)435 1733 y Fm(None<Btn3Down>:)46 b(Select\(ToggleObject\))
+435 1785 y(None<Btn3Down>,None<Btn3Mo)o(tion>:)20 b(See)k(resource)f
+(file)g(-)h(this)f(is)h(complex)75 1863 y Fo(`)p Fm
+(SetValue\(Grid|LineSize|)o(TextScal)o(e|ViaDr)o(illingH)o(ole|ViaS)o
+(ize|Zoo)o(m,)12 b(value\))p Fo(')315 1917 y(Some)20
+b(in)o(ternal)h(v)m(alues)g(ma)o(y)e(b)q(e)i(c)o(hanged)g(online)g(b)o
+(y)f(this)h(function.)35 b(The)20 b(\014rst)g(pa-)315
+1972 y(rameter)d(sp)q(eci\014es)j(whic)o(h)e(data)g(has)f(to)h(b)q(e)g
+(c)o(hanged.)28 b(The)18 b(other)g(one)g(determines)g(if)315
+2027 y(the)i(resource)h(is)f(set)g(to)g(the)g(passed)h(v)m(alue,)h(if)f
+Fh(value)j Fo(is)c(sp)q(eci\014ed)j(without)d(sign,)h(or)315
+2082 y(incremen)o(ts/decremen)o(ts)14 b(if)g(it)f(is)h(sp)q(eci\014ed)h
+(with)f(a)e(plus)j(or)d(min)o(us)i(sign.)20 b(The)13
+b(function)315 2137 y(do)q(esn't)k(c)o(hange)g(an)o(y)f(existing)i(ob)s
+(ject)f(only)g(the)g(initial)i(v)m(alues)g(of)d(new)h(ob)s(jects.)25
+b(Use)315 2191 y(the)15 b Fh(ChangeSize\(\))g Fo(and)g
+Fh(ChangeDril)r(lSize\(\))f Fo(to)h(c)o(hange)g(existing)h(ob)s(jects.)
+k(Default:)435 2255 y Fm(None<Key>g:)189 b(SetValue\(Grid,)22
+b(+5\))435 2307 y(!Shift<Key>g:)141 b(SetValue\(Grid,)22
+b(-5\))435 2359 y(None<Key>l:)189 b(SetValue\(LineSize,)22
+b(+5\))435 2411 y(!Shift<Key>l:)141 b(SetValue\(LineSize,)22
+b(-5\))435 2462 y(None<Key>t:)189 b(SetValue\(TextScale,)22
+b(+10\))435 2514 y(!Shift<Key>t:)141 b(SetValue\(TextScale,)22
+b(-10\))435 2566 y(None<Key>v:)189 b(SetValue\(ViaSize,)22
+b(+5\))435 2618 y(!Shift<Key>v:)141 b(SetValue\(ViaSize,)22
+b(-5\))435 2670 y(!Mod1<Key>v:)165 b(SetValue\(ViaDrillingHole,)21
+b(+5\))p eop
+%%Page: 43 44
+43 43 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(43)435 149 y Fm(!Mod1)23 b(Shift<Key>v:)f(SetValue\(ViaDrillingHole,)
+f(-5\))435 201 y(None<Key>z:)189 b(SetValue\(Zoom,)22
+b(-1\))435 253 y(!Shift<Key>z:)141 b(SetValue\(Zoom,)22
+b(+1\))75 347 y Fo(`)p Fm(SwapSides\(\))p Fo(')315 402
+y(This)16 b(routine)f(c)o(hanges)h(the)f(b)q(oard)g(side)h(y)o(ou)f
+(are)g(viewing.)21 b(Default:)435 474 y Fm(None<Key>Tab:)141
+b(SwapSides\(\))75 568 y Fo(`)p Fm(SwitchDrawingLayer\(valu)o(e\))p
+Fo(')315 622 y(Mak)o(es)14 b(la)o(y)o(er)h(n)o(umer)h(1..8)e(the)h
+(curren)o(t)g(one.)20 b(Default:)435 694 y Fm(None<Key>1:)189
+b(SwitchDrawingLayer\(1\))435 746 y(...)435 798 y(None<Key>8:)g
+(SwitchDrawingLayer\(8\))75 892 y Fo(`)p Fm(ToggleHideName\(Object|S)o
+(electedE)o(lements)o(\))p Fo(')315 947 y(T)l(oggles)15
+b(whether)h(the)f(elemen)o(t's)h(name)f(is)h(displa)o(y)o(ed)g(or)f
+(hidden.)22 b(If)16 b(it)f(is)h(hidden)h(y)o(ou)315 1001
+y(w)o(on't)h(see)h(it)h(on)f(the)g(screen)h(and)f(it)h(will)h(not)e
+(app)q(ear)g(on)g(the)g(silk)i(la)o(y)o(er)e(when)g(y)o(ou)315
+1056 y(prin)o(t)d(the)f(la)o(y)o(out.)435 1128 y Fm(None<Key>h:)46
+b(ToggleHideName\(Object\))435 1180 y(!Shift<Key>h:)g
+(ToggleHideName\(SelectedEle)o(ments\))75 1274 y Fo(`)p
+Fm(Undo\(\))p Fo(')75 1328 y(`)p Fm(Undo\(ClearList\))p
+Fo(')315 1383 y(The)15 b(unlimited)j(undo)e(feature)e(of)h
+Fm(Pcb)g Fo(allo)o(ws)g(y)o(ou)g(to)g(reco)o(v)o(er)f(from)g(most)h(op)
+q(erations)315 1438 y(that)10 b(materially)i(a\013ect)e(y)o(ou)h(w)o
+(ork.)18 b(Calling)12 b Fh(Undo\(\))g Fo(without)f(an)o(y)f(parameter)h
+(reco)o(v)o(ers)315 1493 y(from)16 b(the)h(last)g(\(non-undo\))g(op)q
+(eration.)24 b Fh(Cle)n(arList)c Fo(is)d(used)g(to)g(release)g(the)g
+(allo)q(cated)315 1548 y(memory)l(.)28 b Fh(Cle)n(arList)20
+b Fo(is)f(called)g(whenev)o(er)f(a)g(new)g(la)o(y)o(out)g(is)g(started)
+f(or)h(loaded.)28 b(See)315 1602 y(also)15 b Fh(R)n(e)n(do)p
+Fo(.)20 b(Default:)435 1674 y Fm(None<Key>u:)189 b(Undo\(\))435
+1726 y(!Shift)23 b(Ctrl<Key>u:)f(Undo\(ClearList\))75
+1820 y Fo(`)p Fm(Unselect\(All|Block|Conn)o(ection\))p
+Fo(')315 1875 y(Unselects)13 b(all)g(visible)i(ob)s(jects,)c(all)i
+(inside)h(a)e(rectangle)h(or)e(all)j(ob)s(jects)d(whic)o(h)i(ha)o(v)o
+(e)f(b)q(een)315 1930 y(found)k(during)g(the)f(last)g(connection)h
+(scan.)k(Default:)435 2001 y Fm(!Shift)j(<Btn3Down>:)f(Mode\(Save\))h
+(Mode\(None\))f(Unselect\(Block\))435 2053 y(!Shift)h(<Btn3Up>:)70
+b(Unselect\(Block\))22 b(Mode\(Restore\))75 2257 y Fl(5.3)33
+b(Default)22 b(T)-6 b(ranslations)137 2367 y Fo(This)22
+b(section)f(co)o(v)o(ers)f(some)h(default)g(translations)g(of)f(k)o(ey)
+h(and)g(button)f(ev)o(en)o(ts)h(as)f(de\014ned)i(in)75
+2422 y(the)f(shipp)q(ed)h(default)g(application)g(resource)f(\014le.)37
+b(Most)20 b(of)g(them)h(ha)o(v)o(e)f(already)h(b)q(een)h(listed)g(in)75
+2477 y(Section)c(5.2)d([Actions],)i(page)g(35.)24 b Fm(Pcb)16
+b Fo(mak)o(es)g(use)h(of)g(a)f(nice)i Fm(X11)e Fo(feature;)h(calling)i
+(sev)o(eral)e(action)75 2532 y(routines)f(for)e(one)i(ev)o(en)o(t.)75
+2680 y(`)p Fm(None<Key>BackSpace:)p Fo(')p eop
+%%Page: 44 45
+44 44 bop 75 -58 a Fo(Chapter)15 b(5:)k(X11)c(In)o(terface)1255
+b(44)75 149 y(`)p Fm(None<key>Delete:)p Fo(')75 204 y(`)p
+Fm(!Shift<Key>BackSpace:)p Fo(')75 259 y(`)p Fm(!Shift)14
+b(Ctrl<Btn1Down>:)p Fo(')315 314 y(The)h(ob)s(ject)f(at)g(the)h(cursor)
+f(lo)q(cation)i(is)f(remo)o(v)o(ed)f(b)o(y)h Fh(None)p
+Fm(<)p Fh(Key)p Fm(>)p Fh(BackSp)n(ac)n(e)h Fo(or)e Fh(Shift)315
+369 y(Ctrl)p Fm(<)p Fh(Btn1Down)p Fm(>)i Fo(whereas)g
+Fh(Shift)p Fm(<)p Fh(Key)p Fm(>)p Fh(BackSp)n(ac)n(e)i
+Fo(also)f(remo)o(v)o(es)e(all)j(other)e(ob)s(jects)315
+423 y(that)e(are)h(fully-connected)j(to)d(the)g(one)g(at)g(the)g
+(cursor)g(lo)q(cation.)75 503 y(`)p Fm(!Mod1)f(Ctrl<Key>Left:)p
+Fo(')75 558 y(`)p Fm(!Mod1)g(Ctrl<Key>Right:)p Fo(')75
+613 y(`)p Fm(!Mod1)g(Ctrl<Key>Up:)p Fo(')75 667 y(`)p
+Fm(!Mod1)g(Ctrl<Key>Down:)p Fo(')315 722 y(Scroll)i(one)g(page)f(in)h
+(one)f(of)g(the)g(four)g(directions.)75 802 y(`)p Fm(None<Key>Left:,)e
+(!Shift<Key>Left:)p Fo(')75 857 y(`)p Fm(None<Key>Right:,)g
+(!Shift<Key>Right:)p Fo(')75 912 y(`)p Fm(None<Key>Up:,)g
+(!Shift<Key>Up:)p Fo(')75 966 y(`)p Fm(None<Key>Down:,)g
+(!Shift<Key>Down:)p Fo(')315 1021 y(Mo)o(v)o(e)h(crosshair)h(either)h
+(one)g(or)e(ten)i(p)q(oin)o(ts)f(in)h(grid.)75 1101 y(`)p
+Fm(None<Key>Return:)p Fo(')315 1156 y(Finished)h(user)e(input,)h
+(selects)g(the)f('default')g(button)g(of)g(dialogs.)75
+1235 y(`)p Fm(None<Key>Escape:)p Fo(')315 1290 y Fh(Mo)n(de\(R)n
+(eset\))p Fo(,)h(ab)q(orts)g(user)i(input,)g(selects)g(the)g('ab)q
+(ort')e(button)h(of)g(dialogs)g(or)g(resets)315 1345
+y(all)f(mo)q(des.)75 1425 y(`)p Fm(None<Btn2Down>,)d(Btn2<Motion>,)g
+(None<Btn2Up>:)p Fo(')75 1479 y(`)p Fm(!Mod1<Btn2Down>,)g
+(Btn2<Motion>,)g(!Mod1<Btn2Up>:)p Fo(')315 1534 y(The)19
+b(\014rst)g(sequence)h(mo)o(v)o(es)f(the)g(ob)s(ject)f(or)h(elemen)o(t)
+h(name)f(at)g(the)g(cursor)g(lo)q(cation.)315 1589 y(The)c(second)h
+(one)f(copies)i(the)e(ob)s(jects.)k(Cop)o(ying)c(isn't)h(a)o(v)m
+(ailable)h(for)d(elemen)o(t)i(names.)p eop
+%%Page: 45 46
+45 45 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(45)75 149 y Fk(6)41 b(File)25 b(F)-7 b(ormats)137 273
+y Fo(All)16 b(\014les)f(used)g(b)o(y)g Fm(Pcb)f Fo(are)g(read)g(from)g
+(the)g(standard)g(output)g(of)g(a)g(command)h(or)f(written)g(to)g(the)
+75 327 y(standard)g(input)i(of)e(one)h(as)f(plain)i(sev)o(en)f(bit)h
+Fm(ASCII)p Fo(.)j(This)c(mak)o(es)f(it)h(p)q(ossible)h(to)e(use)h(an)o
+(y)g(editor)g(to)75 382 y(c)o(hange)e(the)g(con)o(ten)o(ts)f(of)g(a)h
+(la)o(y)o(out)f(\014le.)20 b(It)13 b(is)g(the)g(only)g(w)o(a)o(y)f(for)
+g(elemen)o(t)h(or)g(fon)o(t)f(description)i(\014les)g(to)75
+437 y(b)q(e)f(created.)19 b(T)l(o)12 b(do)g(so)g(y)o(ou'll)h(need)g(to)
+f(study)h(the)f(example)h(\014les)h(`)p Fm(example/*)p
+Fo(')c(and)i(`)p Fm(default_font)p Fo(')75 492 y(whic)o(h)k(are)f
+(shipp)q(ed)i(with)f Fm(Pcb)p Fo(.)j(F)l(or)c(an)g(o)o(v)o(erview)g
+(refer)g(to)f(Chapter)h(1)g([In)o(tro],)f(page)h(4.)137
+561 y(The)j(follo)o(wing)f(sections)h(pro)o(vide)g(the)f(necessary)g
+(information)g(ab)q(out)g(the)g(syn)o(tax)g(of)f(the)h(\014les.)75
+616 y(Netlist)h(\014les)g(are)f(not)g(created)g(b)o(y)g
+Fm(Pcb)p Fo(,)g(but)g(it)h(do)q(es)f(use)h(them.)26 b(F)l(or)17
+b(information)g(on)g(the)g(format)75 671 y(of)f(a)h(netlist)g(\014le)h
+(see)f(the)g Fh(:rn)p Fo(,)f(Chapter)h(3)f([User)g(Commands],)g(page)h
+(25.)23 b(Rat)16 b(lines)i(are)f(added)g(on)75 725 y(the)f(curren)o(t)g
+(la)o(y)o(er)g(using)h(the)g(curren)o(t)f(The)g(commands)g(describ)q
+(ed)i(allo)o(w)f(y)o(ou)f(to)f(add)i(almost)e(an)o(y)75
+780 y(additional)i(functionalit)o(y)g(y)o(ou)e(ma)o(y)g(need.)23
+b(Examples)16 b(are)f(compressed)h(read)g(and)g(write)g(access)f(as)75
+835 y(w)o(ell)f(as)f(arc)o(hiv)o(es.)19 b(The)14 b(commands)f(themselv)
+o(es)g(are)g(de\014ned)i(b)o(y)e(the)g(resources)g Fh(elementCommand)p
+Fo(,)75 890 y Fh(\014leCommand)p Fo(,)22 b Fh(fontCommand)p
+Fo(,)i Fh(libr)n(aryCommand)p Fo(,)f Fh(libr)n(aryContentsCommand)i
+Fo(and)d Fh(saveCom-)75 945 y(mand)p Fo(.)32 b(Note)19
+b(that)g(the)g(commands)g(are)g(not)g(sa)o(v)o(ed)g(along)g(with)h(the)
+f(data.)31 b(It)20 b(is)f(considered)i(an)75 999 y(adv)m(an)o(tage)g
+(to)f(ha)o(v)o(e)h(the)g(la)o(y)o(out)f(\014le)i(con)o(tain)g(all)g
+(necessary)f(information,)h(indep)q(enden)o(t)i(of)c(an)o(y)75
+1054 y(other)15 b(\014les.)137 1123 y(One)21 b(thing)f(common)g(to)f
+(all)h(\014les)h(is)g(they)e(ma)o(y)h(include)i(commen)o(ts,)e
+(newlines,)i(and)e(carriage)75 1178 y(returns)15 b(at)g(an)o(y)f(place)
+j(except)e(within)i(quoted)e(strings.)75 1312 y Fl(6.1)33
+b(Basic)22 b(T)n(yp)r(es)137 1410 y Fo(Here)16 b(are)f(the)g(basic)h(t)
+o(yp)q(e)f(de\014nitions)i(used)f(in)g(the)f(other)g(sections)h(of)e
+(this)i(c)o(hapter.)195 1477 y Fm(Description)118 b(=)24
+b(Name)195 1528 y(DeltaAngle)142 b(=)24 b(Number)195
+1580 y(DrillingHole)94 b(=)24 b(Number)195 1632 y(Flags)262
+b(=)24 b(Number)195 1684 y(FontPosition)94 b(=)24 b(Number)195
+1736 y(Grid)286 b(=)24 b(Number)195 1788 y(GridOffsetX)118
+b(=)24 b(Number)195 1840 y(GridOffsetY)118 b(=)24 b(Number)195
+1892 y(Group)262 b(=)24 b(GroupMember)e([,GroupMember]...)195
+1944 y(GroupMember)118 b(=)24 b(decimal)e(|)i([cs])195
+1995 y(GroupString)118 b(=)24 b(""")f(Group)g([:Group]...)g(""")195
+2047 y(StyleString)f(=)i(""")g(Style)f([:Style]...)f(""")195
+2099 y(Height)238 b(=)24 b(Number)195 2151 y(LayerNumber)118
+b(=)24 b(Number)195 2203 y(LayoutName)142 b(=)24 b(Name)195
+2255 y(Name)286 b(=)24 b(quoted_string)195 2307 y(Number)238
+b(=)24 b(decimal)e(|)i(hex)195 2359 y(PinNumber)f(=)g(quoted_string)195
+2411 y(Spacing)214 b(=)24 b(Number)195 2462 y(StartAngle)142
+b(=)24 b(Number)195 2514 y(SymbolID)190 b(=)24 b(Number)f(|)g
+(charconst)195 2566 y(Thickness)166 b(=)24 b(Number)195
+2618 y(TextData)190 b(=)24 b(quoted_string)195 2670 y(TextFlags)166
+b(=)24 b(Flags)p eop
+%%Page: 46 47
+46 46 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(46)195 149 y Fm(TextScale)166 b(=)24 b(scale)195 201
+y(TextX)262 b(=)24 b(Number)195 253 y(TextY)262 b(=)24
+b(Number)195 305 y(Value)262 b(=)24 b(Name)195 357 y(Width)262
+b(=)24 b(Number)195 409 y(X)358 b(=)24 b(Number)195 461
+y(X1)334 b(=)24 b(Number)195 513 y(X2)334 b(=)24 b(Number)195
+565 y(Y)358 b(=)24 b(Number)195 616 y(Y1)334 b(=)24 b(Number)195
+668 y(Y2)334 b(=)24 b(Number)195 720 y(charconst)166
+b(=)24 b("'")f(<any)g(character>)g("'")195 772 y(comment)214
+b(=)24 b("#")f({<any)g(character)g(up)g(to)h(a)g(newline>}...)195
+824 y(decimal)214 b(=)24 b([0-9]+)195 876 y(direction)166
+b(=)24 b([0-3])195 928 y(hex)310 b(=)24 b(0x[0-9a-fA-F]+)195
+980 y(scale)262 b(=)24 b([1-<positive)e(integer>])195
+1032 y(quoted_string)70 b(=)24 b(""")f(<anything)g(except)g(\\n)g(and)h
+(\\r>)f(""")195 1083 y(zoom)286 b(=)24 b([0-MAX])75 1210
+y Fl(6.2)33 b(La)n(y)n(out)23 b(File)h(F)-6 b(ormat)137
+1306 y Fo(The)15 b(la)o(y)o(out)g(\014le)h(describ)q(es)g(a)f(complete)
+h(la)o(y)o(out)e(including)k(sym)o(b)q(ols,)d(vias,)g(elemen)o(ts)g
+(and)g(la)o(y)o(ers)75 1361 y(with)h(lines,)g(rectangles)f(and)h(text.)
+j(This)d(is)g(the)f(most)f(complex)i(\014le)h(of)d(all.)195
+1425 y Fm(File)286 b(=)24 b(Header)f(Font)g(PCBData)195
+1477 y(Header)238 b(=)24 b(PCBName)e([GridData])h([CursorData])f
+([PCBFlags])h([Groups])195 1528 y(PCBName)214 b(=)24
+b("PCB\(")f(Name)g(Width)g(Height)g("\)")195 1580 y(GridData)190
+b(=)24 b("Grid\(")e(Grid)i(GridOffsetX)e(GridOffsetY)g("\)")195
+1632 y(CursorData)142 b(=)24 b("Cursor\(")e(X)i(Y)g(zoom)f("\)")195
+1684 y(PCBFlags)190 b(=)24 b("Flags\(")e(Flags)h("\)")195
+1736 y(Groups)238 b(=)24 b("Groups\(")e(GroupString)h("\)")195
+1788 y(Styles)g(=)h("Styles\(")e(StyleString)h("\)")195
+1840 y(Font)286 b(=)24 b({FontData}...)195 1892 y(FontData)190
+b(=)24 b({Symbol}...)195 1944 y(Symbol)238 b(=)24 b("Symbol\(")e
+(SymbolID)h(Spacing)g("\)")720 1995 y("\(")g({SymbolData}...)f("\)")195
+2047 y(SymbolData)142 b(=)24 b({SymbolLine}...)195 2099
+y(SymbolLine)142 b(=)24 b("SymbolLine\(")e(X1)h(Y1)h(X2)f(Y2)h
+(Thickness)f("\)")195 2151 y(PCBData)214 b(=)24 b({Via)f(|)h(Layer)f(|)
+g(Element}...)195 2255 y(Via)310 b(=)24 b("Via\(")f(X)g(Y)h(Thickness)f
+(DrillingHole)f(Name)h(Flags)g("\)")195 2359 y(Element)214
+b(=)24 b("Element\(")e(Flags)h(Description)g(LayoutName)f(Value)h(\\)
+720 2411 y(TextX)g(TextY)g(direction)g(scale)g(TextFlags"\)")720
+2462 y("\(")g({ElementData}...)f([Mark])h("\)")195 2514
+y(ElementData)118 b(=)24 b({ElementLine)e(|)h(Pad)h(|)g(Pin)f(|)h
+(ElementArc)e(}...)195 2566 y(ElementArc)142 b(=)24 b("ElementArc\(")e
+(X)h(Y)h(Width)f(Height)720 2618 y(StartAngle)f(DeltaAngle)h(Thickness)
+g("\)")195 2670 y(ElementLine)118 b(=)24 b("ElementLine\(")d(X1)j(Y1)g
+(X2)f(Y2)h(Thickness)e("\)")p eop
+%%Page: 47 48
+47 47 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(47)195 149 y Fm(Mark)286 b(=)24 b("Mark\(")e(X)i(Y)g("\)")195
+201 y(Pad)310 b(=)24 b("Pad\(")f(X1)g(Y1)h(X2)f(Y2)h(Thickness)f(Name)g
+(PinNumber)g(Flags"\)")195 253 y(Pin)310 b(=)24 b("Pin\(")f(X)g(Y)h
+(Thickness)f(DrillingHole)f(Name)h(PinNumber)g(Flags)g("\)")195
+357 y(Layer)262 b(=)24 b("Layer\(")e(LayerNumber)h(Name)g("\)")720
+409 y("\(")g({LayerData}...)f("\)")195 461 y(LayerData)166
+b(=)24 b({Line)f(|)g(Polygon)g(|)h(Text}...)195 513 y(Line)286
+b(=)24 b("Line\(")e(X1)i(Y1)g(X2)f(Y2)h(Thickness)e(Flags"\)")195
+565 y(Arc)h(=)h("Arc\(")f(X)h(Y)g(Width)f(Height)g(StartAngle)f
+(DeltaAngle)h(Thickness)g(Flags"\)")195 616 y(Polygon)214
+b(=)24 b("Polygon\(")e(Flags)h("\)")h(\\)720 668 y("\(")f({Points}...)g
+("\)")195 720 y(Points)238 b(=)24 b("\(")f(X)h(Y)f("\)")195
+772 y(Text)286 b(=)24 b("Text\(")e(X)i(Y)g(direction)f(scale)g
+(TextData)f(Flags"\)")75 850 y Fo(`)p Fm(PCBName)p Fo(')46
+b(is)18 b(used)f(to)g(de\014ne)h(the)f(la)o(y)o(out's)f(name)h(whic)o
+(h)h(is)g(indep)q(enden)o(t)i(of)c(its)i(\014lename.)26
+b(It)17 b(is)315 905 y(displa)o(y)o(ed)f(in)h(the)e(lo)o(w)o(er)g(left)
+g(corner)g(of)g(the)g(main)h(windo)o(w.)75 983 y(`)p
+Fm(GridData)p Fo(')315 1038 y(is)f(optional)h(and)e(is)i(used)f(to)f
+(sa)o(v)o(e)g(the)h(grid)g(setting)g(and)g(o\013set)e(whic)o(h)j(w)o
+(ere)e(set)h(at)f(the)315 1092 y(time)i(the)f(la)o(y)o(out)f(w)o(as)h
+(sa)o(v)o(ed.)75 1170 y(`)p Fm(CursorData)p Fo(')315
+1225 y(also)h(is)h(an)g(optional)f(parameter)g(to)g(sa)o(v)o(e)f(the)i
+(last)f(cursor)g(lo)q(cation)h(and)g(zo)q(om)f(v)m(alue.)315
+1280 y(The)f(real)h(zo)q(om)f(factor)f(is)i(calculated)g(b)o(y)g(scale)
+f(=)h(1:\(2)e(p)q(o)o(w)o(er)h(v)m(alue\).)75 1358 y(`)p
+Fm(PCBFlags)p Fo(')315 1413 y(determine)20 b(ho)o(w)e(to)h(dra)o(w)f
+(lines)i(and)g(whic)o(h)f(name)g(of)g(the)g(elemen)o(ts)g(should)h(b)q
+(e)g(dis-)315 1467 y(pla)o(y)o(ed.)530 1531 y Fm(bit)k(4:)47
+b(do)24 b(rubberband)e(moves)i(and)f(rotates)g(if)h(set)530
+1583 y(bit)g(5:)47 b(display)23 b(description)g(of)g(elements)g(if)h
+(set)530 1635 y(bit)g(6:)47 b(display)23 b(unique)g(name)h(of)f(an)h
+(element)f(if)g(set)530 1687 y(bit)h(7:)47 b(use)24 b(absolute)f(grid)g
+(if)g(set)530 1738 y(bit)h(8:)47 b(don't)24 b(clip)f(lines)g(to)h(45)f
+(degrees)75 1816 y Fo(`)p Fm(Groups)p Fo(')70 b(La)o(y)o(ergroups)10
+b(are)h(sa)o(v)o(ed)g(b)o(y)g(using)h(this)g(optional)f(parameter.)18
+b(The)11 b(only)h(w)o(a)o(y)e(of)h(c)o(hang-)315 1871
+y(ing)16 b(them)g(is)g(to)f(use)h(an)g(editor)g(and)g(alter)g(the)g
+(appropriate)f(line.)24 b(The)16 b(c)o(haracters)f Fh(c,s)315
+1926 y Fo(idenify)i(the)e(comp)q(onen)o(t-)h(and)f(solder-side)i(for)e
+(SMD)f(ob)s(jects.)75 2004 y(`)p Fm(Symbol)p Fo(')70
+b(See)16 b(the)f(description)i(of)e(fon)o(t)f(\014les)i(in)g(this)g(c)o
+(hapter.)75 2082 y(`)p Fm(Via)p Fo(')142 b(Vias)19 b(are)e(alw)o(a)o
+(ys)h(connected)h(to)f(all)h(la)o(y)o(ers)f(whic)o(h)h(also)f(means)g
+(vias)g(are)g(one)h(logical)315 2137 y(lev)o(el)i(ahead)f(of)g(la)o(y)o
+(ers.)34 b(Vias)20 b(are)g(de\014ned)h(b)o(y)f(p)q(osition,)i(size,)f
+(name)f(and)g(b)o(y)g(some)315 2191 y(\015ags.)530 2255
+y Fm(bit)k(0:)47 b(always)23 b(clear)530 2307 y(bit)h(1:)47
+b(always)23 b(set)530 2359 y(bit)h(2:)47 b(set)24 b(if)f(via)h(was)f
+(found)g(during)h(a)f(connection)g(search)530 2411 y(bit)h(4:)47
+b(set)24 b(if)f(via)h(is)f(a)h(hole)f(\(has)h(no)f(copper)g(annulus\))
+530 2462 y(bit)h(5:)47 b(display)23 b(the)h(vias)f(name)530
+2514 y(bit)h(6:)47 b(via)24 b(has)f(been)h(selected)530
+2566 y(bit)g(12:)f(set)h(if)f(via)h(has)f(octagonal)g(shape)530
+2618 y(Other)h(bits)f(have)g(special)g(meaning)g(and)h(should)f(not)g
+(be)h(changed)530 2670 y(by)g(the)f(user.)48 b(See)23
+b(const.h)g(for)g(more)h(information)p eop
+%%Page: 48 49
+48 48 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(48)75 149 y(`)p Fm(Element)p Fo(')46 b(See)16 b(the)f(description)i
+(of)e(elemen)o(t)g(\014les)i(in)f(this)f(c)o(hapter.)75
+229 y(`)p Fm(Layer)p Fo(')94 b(A)19 b(la)o(y)o(er)g(is)h(the)f(cen)o
+(tral)h(ob)s(ject)e(from)h(the)g(user's)g(p)q(oin)o(t)h(of)f(view.)32
+b(It)20 b(holds)g(all)g(con-)315 284 y(nections)e(and)g(all)g(text)f
+(ob)s(jects.)26 b(Up)18 b(to)e(8)h(ma)o(y)g(b)q(e)h(used)g(individuall)
+q(y)l(.)30 b(Its)17 b(n)o(um)o(b)q(er,)315 339 y(starting)e(with)g
+(one,)g(and)g(its)h(name)f(are)g(read)g(as)g(argumen)o(ts.)315
+419 y(`)p Fm(Line)p Fo(')118 b(All)19 b(lines)g(are)e(iden)o(ti\014ed)j
+(b)o(y)d(their)h(start)f(and)g(endp)q(oin)o(ts)i(together)e(with)555
+474 y(their)c(thic)o(kness)f(and)g(some)g(\015ags.)19
+b(They)12 b(ha)o(v)o(e)f(to)h(\014t)g(a)f(45)h(degree)g(sc)o(heme.)770
+538 y Fm(bit)24 b(2:)47 b(set)24 b(if)f(line)h(was)f(found)g(during)g
+(a)h(connection)f(search)770 590 y(bit)h(4:)47 b(line)24
+b(is)f(a)h(rat-line)770 642 y(bit)g(6:)47 b(line)24 b(has)f(been)g
+(selected)315 722 y Fo(`)p Fm(Polygon)p Fo(')46 b(used)13
+b(to)g(\014ll)h(a)f(larger)f(area)h(with)g(`)p Fm(copper)p
+Fo('.)k(The)c(co)q(ordinates)h(sp)q(ecify)g(the)555 777
+y(corners.)20 b(The)15 b(\015ags)g(are:)770 841 y Fm(bit)24
+b(2:)47 b(set)24 b(if)f(polygon)g(was)h(found)f(during)g(a)h
+(connection)e(search)770 893 y(bit)i(4:)47 b(polygon)23
+b(is)h(a)g(1.5)f(style)g(polygon)g(that)g(automatically)g(clears)g
+(pins)770 945 y(bit)h(6:)47 b(polygon)23 b(has)h(been)f(selected)315
+1025 y Fo(`)p Fm(Text)p Fo(')118 b(Y)l(ou)19 b(ma)o(y)e(use)i(text)f
+(ob)s(jects)g(to)g(add)h(information)f(to)g(y)o(our)g(b)q(oard.)30
+b(An)555 1080 y(example)21 b(w)o(ould)f(b)q(e)g(naming)h(a)e(connector)
+h(or)f(marking)h(pin)h(one)f(of)f(it.)555 1134 y(The)c(p)q(osition)g
+(marks)f(the)g(lo)o(w)o(er)h(left)f(corner)h(of)f(the)g(string)h(whic)o
+(h)g(is)g(also)555 1189 y(a)i(\014xp)q(oin)o(t)i(for)e(rotations.)27
+b(T)l(ext)17 b(directions)i(are)f(indep)q(enden)o(t)i(to)d(those)555
+1244 y(of)h(lines.)32 b(They)19 b(are)f(coun)o(ted)h(from)f(zero)g(to)g
+(three)h(with)g(a)f(meaning)h(of)555 1299 y(zero)f(to)f(270)g(degree)h
+(rotations)f(coun)o(ter-clo)q(c)o(kwise.)30 b(The)18
+b(scaling)h(v)m(alue)555 1354 y(is)d(a)f(p)q(ositiv)o(e)h(in)o(teger)f
+(whic)o(h)h(determines)g(a)f(zo)q(om)g(factor)f(in)i(p)q(ercen)o(t.)770
+1418 y Fm(bit)24 b(6:)47 b(the)24 b(text)f(has)h(been)f(selected)770
+1470 y(bit)h(7:)47 b(the)24 b(text)f(is)h(on)f(the)h(solder)f(\(back\))
+g(side)g(of)h(the)f(board)770 1522 y(bit)h(10:)f(the)h(text)f(is)h(on)f
+(the)h(silkscreen)e(layer)75 1676 y Fl(6.3)33 b(Elemen)n(t)23
+b(File)h(F)-6 b(ormat)137 1773 y Fo(Elemen)o(t)15 b(\014les)g(are)f
+(used)h(to)f(describ)q(e)i(one)e(comp)q(onen)o(t)h(whic)o(h)g(then)g
+(ma)o(y)e(b)q(e)i(used)g(sev)o(eral)g(times)75 1827 y(within)21
+b(one)f(or)g(more)f(la)o(y)o(outs.)34 b(Y)l(ou)20 b(will)h(normally)g
+(split)g(the)f(\014le)h(in)o(to)f(t)o(w)o(o)e(parts,)i(one)h(for)e(the)
+75 1882 y(pinout)g(and)g(one)g(for)f(the)h(pac)o(k)m(age)g
+(description.)32 b(Using)19 b Fm(m4)g Fo(allo)o(ws)g(y)o(ou)f(to)g
+(de\014ne)i(pin)g(names)e(as)75 1937 y(macros)f(in)h(one)g(\014le)g
+(and)g(include)h(a)f(pac)o(k)m(age)f(description)i(\014le)f(whic)o(h)h
+(ev)m(aluates)f(the)g(macros.)25 b(See)75 1992 y(the)15
+b(resource)h Fh(elementCommand)j Fo(for)c(more)g(information.)20
+b(The)c(pins)g(\(and)g(pads\))f(m)o(ust)g(app)q(ear)g(in)75
+2047 y(squen)o(tial)j(order)e(in)i(the)f(elemen)o(t)g(\014le)h(\(new)f
+(in)g(1.5\))f(so)g(that)g(pin)i(1)f(m)o(ust)f(b)q(e)h(the)g(\014rst)g
+(PIN\(...\))23 b(in)75 2101 y(the)15 b(\014le.)137 2169
+y(Doing)22 b(things)g(this)g(w)o(a)o(y)f(mak)o(es)g(it)h(p)q(ossible)h
+(to)e(use)i(one)e(pac)o(k)m(age)h(\014le)h(for)e(sev)o(eral)h
+(di\013eren)o(t)75 2224 y(circuits.)f(See)16 b(the)f(sample)h(\014les)g
+(`)p Fm(dil*)p Fo('.)137 2291 y(The)d(lo)o(w)o(est)e(x)i(and)f(y)g(co)q
+(ordinates)h(of)f(all)h(sub)q(ob)s(jects)f(of)g(an)g(elemen)o(t)h(are)f
+(used)h(as)f(an)g(attac)o(hmen)o(t)75 2346 y(p)q(oin)o(t)k(for)e(the)i
+(crosshair)f(cursor)g(of)f(the)i(main)f(windo)o(w.)195
+2411 y Fm(File)286 b(=)24 b({Element}...)195 2462 y(Element)214
+b(=)24 b("Element\(")e(Flags)h(Description)g(LayoutName)f(Value)h(\\)
+720 2514 y(TextX)g(TextY)g(direction)g(scale)g(TextFlags"\)")720
+2566 y("\(")g({ElementData}...)f([Mark])h("\)")195 2618
+y(ElementData)118 b(=)24 b({ElementLine)e(|)h(Pad)h(|)g(Pin)f(|)h
+(ElementArc)e(}...)195 2670 y(ElementArc)142 b(=)24 b("ElementArc\(")e
+(X)h(Y)h(Width)f(Height)p eop
+%%Page: 49 50
+49 49 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(49)720 149 y Fm(StartAngle)22 b(DeltaAngle)h(Thickness)g("\)")195
+201 y(ElementLine)118 b(=)24 b("ElementLine\(")d(X1)j(Y1)g(X2)f(Y2)h
+(Thickness)e("\)")195 253 y(Mark)286 b(=)24 b("Mark\(")e(X)i(Y)g("\)")
+195 305 y(Pad)310 b(=)24 b("Pad\(")f(X1)g(Y1)h(X2)f(Y2)h(Thickness)f
+(Name)g(PinNumber)g(Flags)g("\)")195 357 y(Pin)310 b(=)24
+b("Pin\(")f(X)g(Y)h(Thickness)f(DrillingHole)f(Name)h(PinNumber)g
+(Flags)g("\)")75 432 y Fo(`)p Fm(Element)p Fo(')46 b(Ob)s(jects)15
+b(of)g(t)o(yp)q(e)g(elemen)o(t)h(are)f(determined)i(b)o(y)e(\015ags,)g
+(some)f(names,)h(a)g(canonical)i(and)315 487 y(a)k(la)o(y)o(out)g(name)
+g(as)g(w)o(ell)i(as)e(a)g(v)m(alue.)39 b(Additional)23
+b(\014elds)g(are)e(text)g(p)q(osition,)i(their)315 541
+y(direction)f(coun)o(ted)e(from)g(zero)g(to)g(three)g(\(n)g(*)g(90)g
+(degrees)g(coun)o(ter-clo)q(c)o(kwise\))i(and)315 596
+y(elemen)o(t)16 b(data.)315 671 y(`)p Fm(Flags)p Fo(')94
+b(The)18 b(\015ag)g(\014eld)h(determines)h(the)e(state)f(of)h(an)g
+(elemen)o(t.)29 b(The)18 b(bit)h(v)m(alues)555 726 y(are:)736
+788 y(bit)c(4:)30 b(the)15 b(elemen)o(t)h(name)f(is)h(hidden)736
+839 y(bit)f(6:)30 b(elemen)o(t)16 b(has)f(b)q(een)h(selected)736
+891 y(bit)f(7:)30 b(elemen)o(t)16 b(is)g(lo)q(cated)f(on)h(the)f
+(solder)h(side)315 966 y(`)p Fm(TextFlags)p Fo(')315
+1021 y(`)p Fm(scale)p Fo(')315 1076 y(`)p Fm(direction)p
+Fo(')555 1130 y(See)g(the)f(description)i(of)e(text)f(ob)s(ject)h
+(earlier)h(in)g(this)g(c)o(hapter.)315 1205 y(`)p Fm(ElementLine)p
+Fo(')555 1260 y(A)21 b(line)i(is)e(de\014ned)h(b)o(y)f(its)g(start)f
+(and)h(end)h(p)q(oin)o(ts)f(and)g(b)o(y)g(its)h(size,)g(or)555
+1315 y(width.)315 1390 y(`)p Fm(ElementArc)p Fo(')555
+1444 y(De\014nes)e(an)f(arc)g(b)o(y)g(its)g(cen)o(ter,)h(width,)h
+(heigh)o(t,)f(startangle,)f(its)g(length)555 1499 y(in)f(degrees)f(and)
+g(its)g(size.)26 b(Remem)o(b)q(er)16 b(the)h(y)g(axis)g(on)g(the)g
+(screen)g(gro)o(ws)555 1554 y(do)o(wn)o(w)o(ards.)315
+1629 y(`)p Fm(Mark)p Fo(')118 b(is)22 b(just)f(a)h(hin)o(t)g(to)f(mak)o
+(e)g(p)q(ositioning)i(easier.)40 b(The)21 b(crosshair)h(will)h(b)q(e)
+555 1683 y(p)q(ositioned)17 b(here.)j(Its)15 b(cen)o(ter)g(is)h(passed)
+g(as)e(the)i(t)o(w)o(o)d(argumen)o(ts.)315 1758 y(`)p
+Fm(Pad)p Fo(')142 b(A)17 b(pad)h(is)f(v)o(ery)g(similar)i(to)d(a)h
+(line)i(except)f(it)f(ma)o(y)g(not)f(b)q(e)i(disconnected)555
+1813 y(from)g(its)h(elemen)o(t)g(and)g(it)g(has)f(an)h(asso)q(ciated)g
+(name.)30 b(Is)19 b(is)g(de\014ned)h(b)o(y)555 1868 y(t)o(w)o(o)14
+b(end)i(p)q(oin)o(t)f(p)q(osition,)h(size,)g(name)f(and)h(b)o(y)f(some)
+g(\015ags.)770 1930 y Fm(bit)24 b(2:)47 b(set)24 b(if)f(pad)h(was)f
+(found)g(during)h(a)f(connection)g(search)770 1982 y(bit)h(5:)47
+b(display)23 b(the)h(pads)f(name)770 2033 y(bit)h(6:)47
+b(pad)24 b(has)f(been)h(selected)770 2085 y(bit)g(7:)47
+b(pad)24 b(is)f(located)g(on)h(the)f(solder)g(side)315
+2160 y Fo(`)p Fm(Pin)p Fo(')142 b(A)19 b(pin)h(is)f(v)o(ery)g(similar)h
+(to)e(a)g(via)i(except)f(it)g(ma)o(y)f(not)h(b)q(e)g(disconnected)555
+2215 y(from)14 b(its)i(elemen)o(t.)770 2277 y Fm(bit)24
+b(0:)47 b(always)23 b(set)770 2329 y(bit)h(1:)47 b(always)23
+b(clear)770 2380 y(bit)h(2:)47 b(set)24 b(if)f(pin)h(was)f(found)g
+(during)h(a)f(connection)g(search)770 2432 y(bit)h(3:)47
+b(set)24 b(if)f(pin)h(is)f(only)h(a)f(mounting)g(hole)h(\(no)f(copper)g
+(annulus\))770 2484 y(bit)h(5:)47 b(display)23 b(the)h(pins)f(name)770
+2536 y(bit)h(6:)47 b(pin)24 b(has)f(been)h(selected)770
+2588 y(bit)g(8:)47 b(pin)24 b(is)f(drawn)h(as)f(a)h(square)770
+2640 y(bit)g(12:)f(set)h(if)f(pin)h(is)f(drawn)h(with)f(an)h(octagonal)
+e(shape)p eop
+%%Page: 50 51
+50 50 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(50)75 149 y Fl(6.4)33 b(F)-6 b(on)n(t)23 b(File)h(F)-6
+b(ormat)137 246 y Fo(A)17 b(n)o(um)o(b)q(er)h(of)e(user)h(de\014ned)i
+(sym)o(b)q(ols)e(are)g(called)i(a)d(fon)o(t.)25 b(There)17
+b(is)h(only)f(one)g(p)q(er)h(la)o(y)o(out.)25 b(All)75
+301 y(sym)o(b)q(ols)15 b(are)g(made)h(of)e(lines.)22
+b(See)16 b(the)f(\014le)h(`)p Fm(default_font)p Fo(')d(as)i(an)g
+(example.)137 368 y(The)h(lo)o(w)o(est)e(x)h(and)h(y)f(co)q(ordinates)h
+(of)e(all)i(lines)h(of)e(a)g(fon)o(t)f(are)h(transformed)f(to)h
+(\(0,0\).)195 433 y Fm(File)286 b(=)24 b(Font)195 484
+y(Font)286 b(=)24 b({FontData}...)195 536 y(FontData)190
+b(=)24 b({Symbol}...)195 588 y(Symbol)238 b(=)24 b("Symbol\(")e
+(SymbolID)h(FontPosition)f("\)")720 640 y("\(")h({SymbolData}...)f
+("\)")195 692 y(SymbolData)142 b(=)24 b({SymbolLine}...)75
+772 y Fo(`)p Fm(Symbol)p Fo(')70 b(The)18 b(t)o(w)o(o)e(argumen)o(ts)h
+(are)g(the)h Fm(ASCII)e Fo(co)q(de)i(of)g(the)f(sym)o(b)q(ol)h(and)g
+(its)g(distance)g(to)f(the)315 827 y(next)12 b(sym)o(b)q(ol.)19
+b(Unde\014ned)13 b(sym)o(b)q(ols)f(are)g(dra)o(wn)f(as)h(\014lled)h
+(rectangles.)19 b(The)12 b Fm(ASCII)f Fo(co)q(de)315
+882 y(ma)o(y)j(b)q(e)i(passed)g(as)f(a)f(c)o(haracter)h(constan)o(t)f
+(or)h(as)g(a)g(hexadecimal)i(v)m(alue.)315 961 y(`)p
+Fm(SymbolLine)p Fo(')555 1016 y(The)g(sym)o(b)q(ol)h(data)e(itself)i
+(is)g(made)f(up)h(of)e(sev)o(eral)i(en)o(tries)f(of)g(t)o(yp)q(e)g
+Fh(Sym-)555 1071 y(b)n(olLine)p Fo(.)75 1225 y Fl(6.5)33
+b(Library)25 b(Con)n(ten)n(ts)d(File)h(F)-6 b(ormat)137
+1321 y Fo(There)18 b(is)g(nothing)h(lik)o(e)g(a)e(sp)q(ecial)j(library)
+e(format.)26 b(The)18 b(ones)g(that)f(ha)o(v)o(e)g(b)q(een)i(in)o(tro)q
+(duced)g(in)75 1376 y(1.4.1)f(just)h(use)g(some)g(nice)i(\(and)e(time)h
+(consuming\))g(fetures)f(of)g(GNU)g Fm(m4)p Fo(.)32 b(The)19
+b(only)h(prede\014ned)75 1431 y(format)d(is)i(the)f(one)g(of)g(the)g
+(con)o(ten)o(ts)g(\014le)h(whic)o(h)g(is)g(read)f(during)h(startup.)28
+b(It)18 b(is)h(made)f(up)h(of)e(t)o(w)o(o)75 1486 y(basic)f(line)h(t)o
+(yp)q(es:)195 1550 y Fm(menu)23 b(entry)143 b(=)24 b("TYPE="name)195
+1602 y(contents)f(line)71 b(=)24 b(template":"package":"va)o(lue":"d)o
+(escript)o(ion)195 1654 y(name)286 b(=)24 b(String)195
+1706 y(template)190 b(=)24 b(String)195 1758 y(package)214
+b(=)24 b(String)195 1810 y(value)262 b(=)24 b(String)195
+1862 y(description)118 b(=)24 b(String)195 1914 y(String)238
+b(=)24 b(<anything)e(except)h(":",)h("\\n")f(and)g("\\r">)137
+1981 y Fo(No)11 b(leading)i(whitespaces)f(or)e(commen)o(ts)h(are)g
+(allo)o(w)o(ed)h(in)g(this)f(\014le.)20 b(If)11 b(y)o(ou)g(need)h
+(either)g(one,)g(de\014ne)75 2036 y(a)g(command)g(that)f(remo)o(v)o(es)
+g(them)h(b)q(efore)g(loading.)20 b(Ha)o(v)o(e)11 b(a)h(lo)q(ok)g(to)f
+(the)i Fh(libr)n(aryContentsCommand)75 2091 y Fo(resource.)137
+2158 y(The)i(men)o(u)f(en)o(try)g(will)i(app)q(ear)e(in)h(the)g
+(selection)g(men)o(u)g(at)e(the)i(top)f(and)g(of)g(the)g(library)h
+(windo)o(w.)75 2287 y Fl(6.6)33 b(Library)25 b(File)e(F)-6
+b(ormat)137 2383 y Fo(This)23 b(section)f(pro)o(vides)g(an)g(o)o(v)o
+(erview)g(ab)q(out)f(the)h(existing)h Fm(m4)f Fo(de\014nitions)h(of)f
+(the)g(elemen)o(ts.)75 2438 y(There)16 b(are)f(basically)i(t)o(w)o(o)c
+(di\013eren)o(t)j(t)o(yp)q(es)f(of)g(\014les.)21 b(One)16
+b(to)f(de\014ne)i(elemen)o(t)f(sp)q(eci\014c)h(data)d(lik)o(e)j(the)75
+2493 y(pinout,)j(pac)o(k)m(age)f(and)h(so)e(on,)i(the)f(other)g(to)f
+(de\014ne)j(the)e(v)m(alues.)32 b(F)l(or)19 b(example)h(the)f(static)g
+(RAM)75 2548 y(circuits)c(43256)e(and)i(62256)d(are)i(v)o(ery)g
+(similar.)21 b(They)14 b(therefore)g(share)g(a)g(common)g(de\014nition)
+i(in)f(the)75 2603 y(macro)f(\014le)j(but)e(are)g(de\014ned)i(with)e(t)
+o(w)o(o)f(di\013eren)o(t)h(v)m(alue)i(lab)q(els.)137
+2670 y(The)f(macro)e(\014le)i(en)o(try:)p eop
+%%Page: 51 52
+51 51 bop 75 -58 a Fo(Chapter)15 b(6:)k(File)e(F)l(ormats)1268
+b(51)195 149 y Fm(define\(`Description_43256_)o(dil',)21
+b(`SRAM)i(32Kx8'\))195 201 y(define\(`Param1_43256_dil',)d(28\))195
+253 y(define\(`Param2_43256_dil',)g(600\))195 305 y
+(define\(`PinList_43256_dil')o(,)h(``pin1',)i(`pin2',)g(...'\))137
+372 y Fo(And)16 b(the)f(list)h(\014le:)195 437 y Fm
+(43256_dil:N:43256:62256)137 504 y Fo(The)h(macro)f(m)o(ust)g(de\014ne)
+h(a)f(description,)i(the)f(pin)g(list)g(and)g(up)g(to)f(t)o(w)o(o)f
+(additional)j(parameters)75 559 y(that)c(are)h(passed)g(to)g(the)g(pac)
+o(k)m(age)g(de\014nitions.)21 b(The)16 b(\014rst)e(one)h(is)h(the)f(n)o
+(um)o(b)q(er)g(of)g(pins)h(whereas)f(the)75 614 y(second)h(one)f
+(de\014nes)h(for)f(example)h(the)f(width)h(of)f(a)g(pac)o(k)m(age.)137
+681 y(It)k(is)g(v)o(ery)g(imp)q(ortan)o(t)f(to)g(select)h(a)g(unique)h
+(iden)o(ti\014er)g(for)e(eac)o(h)h(macro.)30 b(In)19
+b(the)g(example)h(this)75 736 y(w)o(ould)h(b)q(e)h Fh(43256)p
+399 736 14 2 v 18 w(dil)j Fo(whic)o(h)d(is)f(also)g(the)g(templates)g
+(name.)38 b(It)21 b(is)g(required)h(b)o(y)f(some)g(lo)o(w-lev)o(el)75
+790 y(macros)14 b(that)h Fh(Description)p 560 790 V 17
+w(,)h(Par)n(am1)p 761 790 V 17 w(,)g(Par)n(am2)p 962
+790 V 33 w Fo(and)f Fh(PinList)p 1231 790 V 30 w Fo(are)g(prep)q
+(ended.)137 858 y(The)h(list)g(\014le)g(uses)f(a)g(syn)o(tax:)195
+922 y Fm(template:package:value[:mo)o(re)21 b(values])137
+989 y Fo(This)13 b(means)f(that)f(the)h(sho)o(wn)f(example)i(will)g
+(create)f(t)o(w)o(o)f(elemen)o(t)h(en)o(tries)g(with)h(the)f(sam)f(pac)
+o(k)m(age)75 1044 y(and)k(pinout)h(but)g(with)f(di\013eren)o(t)h
+(names.)137 1111 y(A)g(n)o(um)o(b)q(er)f(of)g(pac)o(k)m(ages)g(are)g
+(de\014ned)h(in)g(`)p Fm(common.m4)p Fo('.)i(Included)g(are:)195
+1176 y Fm(DIL)23 b(packages)g(with)h(suffix)f(D,)g(DW,)h(J,)f(JD,)h
+(JG,)f(N,)h(NT,)f(P)195 1227 y(PLCC)195 1279 y(TO3)195
+1331 y(generic)g(connectors)195 1383 y(DIN)g(41.612)g(connectors)195
+1435 y(zick-zack)g(\(SD)g(suffix\))195 1487 y(15)h(pin)f(multiwatt)137
+1554 y Fo(If)15 b(y)o(ou)e(are)h(going)g(to)f(start)g(y)o(our)h(o)o(wn)
+f(library)i(please)g(tak)o(e)e(care)h(ab)q(out)g Fm(m4)g
+Fo(functions.)20 b(Be)14 b(a)o(w)o(are)75 1609 y(of)f(quoting)g(and)g
+(so)g(on)g(and,)h(most)e(imp)q(ortan)o(t)h(c)o(hec)o(k)g(y)o(our)g
+(additional)h(en)o(try)f(b)o(y)g(calling)i(the)e(macro:)195
+1673 y Fm(CreateObject\(`template',)21 b(`value',)h(`package)h
+(suffix'\))137 1741 y Fo(If)15 b(quoting)f(is)h(incorrect)g(an)f
+(endless)h(lo)q(op)g(ma)o(y)e(o)q(ccur)i(\(brok)o(en)f(b)o(y)g(a)g
+(out-of-memory)f(message\).)137 1808 y(The)22 b(scripts)f(in)h(the)f(`)
+p Fm(lib)p Fo(')f(directory)h(handle)i(the)e(creation)g(of)g(libraries)
+h(as)f(w)o(ell)h(as)f(of)f(their)75 1863 y(con)o(ten)o(ts)15
+b(\014les.)20 b(Querying)d(is)e(also)h(supp)q(orted.)137
+1930 y(I)h(kno)o(w)f(quite)i(w)o(ell)f(that)f(this)h(description)h(of)e
+(the)h(library)g(implemen)o(tation)h(is)f(not)f(what)g(some)75
+1985 y(out)h(there)h(exp)q(ect.)28 b(But)18 b(in)g(m)o(y)g(opinion)h
+(it's)e(m)o(uc)o(h)h(more)f(useful)i(to)e(lo)q(ok)h(at)f(the)h(commen)o
+(ts)f(and)75 2039 y(follo)o(w)e(the)h(macros)e(step)h(b)o(y)g(step.)p
+eop
+%%Page: 52 53
+52 52 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l
+(roublesho)q(oting)835 b(52)75 149 y Fk(App)r(endix)25
+b(A)41 b(Installation)26 b(and)h(T)-7 b(roublesho)r(oting)137
+254 y Fo(Compiling)16 b(and)f(installing)i(the)e(pac)o(k)m(age)g
+(should)g(b)q(e)h(straigh)o(tforw)o(ard.)h(If)e(an)o(y)g(problems)g(o)q
+(ccur,)75 309 y(please)e(con)o(tact)f(the)g(author)g(\(Thomas.Nau)p
+Fm(@)p Fo(rz.uni-ulm.de\))g(to)g(\014nd)h(a)f(solution)h(and)g(include)
+h(it)f(in)o(to)75 364 y(the)i(next)h(release.)75 485
+y Fl(A.1)33 b(Compiling)24 b(and)f(Installing)137 579
+y Fo(This)16 b(section)g(co)o(v)o(ers)e(the)i(steps)f(whic)o(h)h(are)f
+(necessary)g(to)g(compile)h(the)g(pac)o(k)m(age.)75 684
+y Fg(A.1.1)30 b(Editing)21 b(con\014g.h)137 778 y Fo(Most)11
+b Fm(X11)h Fo(related)g(options)g(are)g(automatically)g(co)o(v)o(ered)g
+(b)o(y)g Fm(imake)f Fo(whic)o(h)i(is)f(called)i(from)d
+Fm(xmkmf)p Fo(.)75 832 y(The)k(ones)h(sp)q(ecial)h(to)d
+Fm(Pcb)h Fo(ha)o(v)o(e)g(to)f(b)q(e)i(edited)h(in)f(`)p
+Fm(config.h)p Fo('.)i(In)d(order)g(of)g(app)q(earance:)75
+927 y(`)p Fm(INFOLIBDIR)p Fo(')315 982 y(m)o(ust)g(b)q(e)g(set)g(to)g
+(the)g(directory)h(where)f(y)o(our)g(GNU)g(info)g(\014les)i(are)e(lo)q
+(cated.)75 1057 y(`)p Fm(/usr/X11R6/lib/X11/pcb)p Fo(')315
+1112 y(is)h(the)f(path)g(of)g(a)g(directory)g(where)h(the)f(fon)o(t)f
+(\014les)i(will)h(b)q(e)f(installed.)75 1186 y(`)p Fm(DEFAULTFONT)p
+Fo(')315 1241 y(the)f(name)g(of)g(the)h(default)f(fon)o(t)g(\014le.)75
+1316 y(`)p Fm(DEFAULTLIBRARY)p Fo(')315 1371 y(the)g(name)g(of)g(the)h
+(default)f(library)l(.)75 1446 y(`)p Fm(gm4)p Fo(')142
+b(the)15 b(name)g(of)g(GNUs)g(m4)g(v)o(ersion.)75 1520
+y(`)p Fm(Mod1)p Fo(')118 b(If)15 b(y)o(our)e(windo)o(w)i(manager)e(has)
+i(already)f(b)q(ound)h Fh(Mo)n(d1)21 b Fo(together)13
+b(with)i(some)f(function)315 1575 y(k)o(eys)h(y)o(ou)g(ma)o(y)f(w)o(an)
+o(t)g(to)h(c)o(hange)g(this)h(setting.)k(This)c(is)f(true)g(for)g
+(HP-VUE.)75 1650 y(`)p Fm(EXTRA_INCLUDES)p Fo(')315 1705
+y(Some)d(systems)g(do)g(not)f(ha)o(v)o(e)h(the)g(A)o(thena)g(Widget)g
+(include)j(\014les)e(in)f(their)h(normal)f(place)315
+1760 y(as)j(con\014gured)h(b)o(y)f Fm(X11)p Fo(s)f(con\014g)i(\014les.)
+21 b(De\014ne)15 b(this)h(as)f(follo)o(ws:)530 1822 y
+Fm(EXTRA_INCLUDES)22 b(=)i(-I/usr/openwin/share/includ)o(e)315
+1886 y Fo(This)16 b(is)f(probably)h(true)f(for)g(Suns)h(whic)o(h)g(use)
+f Fm(OpenWindows)p Fo(.)75 1961 y(`)p Fm(PATCHES)p Fo(')46
+b(This)21 b(sym)o(b)q(ol)f(is)h(passed)g(to)e(the)i(compiler.)36
+b(Use)20 b(it)h(to)f(de\014ne)h(additional)h(compiler)315
+2016 y(\015ags.)d(Add)12 b(the)h Fh(-DNEED)p 791 2016
+14 2 v 17 w(STRDUP)j Fo(\015ag,)c(if)h(y)o(our)f(system)g(do)q(es)h
+(not)e(ha)o(v)o(e)h(a)g(strdup\(\))315 2071 y(library)k(function.)75
+2146 y(`)p Fm(HAS_REGEX)p Fo(')315 2200 y(Set)h(to)g
+Fh(-DHAS)p 600 2200 V 16 w(REGEX)24 b Fo(if)18 b(y)o(our)f(system)f
+(supp)q(orts)i(regular)f(expressions.)27 b(This)17 b(en-)315
+2255 y(ables)f(the)f(actions)g Fh(Sele)n(ct\(*ByName\))p
+Fo(.)75 2330 y(`)p Fm(EXITCALL)p Fo(')315 2385 y(The)i(sym)o(b)q(ol)g
+Fh(EXITCALL)d Fo(should)j(b)q(e)h(de\014ned)g(according)f(to)f(the)h
+Fh(c)n(al)r(l)g(on)g(exit)k Fo(func-)315 2440 y(tions)15
+b(supp)q(orted)h(b)o(y)f(y)o(our)g(system.)k(There)d(are)f(three)g(c)o
+(hoices:)530 2501 y Fm(EXITCALL)23 b(=)h(-DHAS_ATEXIT)94
+b(if)23 b(atexit\(\))g(is)h(supported)e(\(SYSV\))530
+2553 y(EXITCALL)h(=)h(-DHAS_ON_EXIT)70 b(if)23 b(on_exit\(\))g(and)g
+(no)h(atexit\(\))f(is)g(supported)530 2605 y(EXITCALL)g(=)406
+b(if)23 b(none)h(of)f(them)h(is)f(supported)315 2670
+y Fo(Please)16 b(c)o(hec)o(k)f(y)o(our)g(manpages)g(for)f(details.)p
+eop
+%%Page: 53 54
+53 53 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l
+(roublesho)q(oting)835 b(53)75 149 y(`)p Fm(SYS_LIBRARIES)p
+Fo(')315 204 y(This)18 b(sym)o(b)q(ol)g(is)g(used)g(to)f(pass)g
+(additional)i(libraries)h(to)c(the)i(link)o(er.)28 b(The)18
+b(only)g(addi-)315 259 y(tional)e(libraries)h(whic)o(h)f(are)e(used)i
+(are)f(the)g(math)g(and)g(lex)h(library)l(.)137 344 y(If)f(y)o(ou)f(ha)
+o(v)o(e)g(to)g(mak)o(e)g(system)f(dep)q(enden)o(t)j(c)o(hanges)f
+(please)g(include)i(them)d(in)o(to)g(a)h Fh(#ifdef)g(A)o(r)n(chi-)75
+398 y(te)n(ctur)n(e)j Fo(...)h Fh(#endif)25 b Fo(construct)15
+b(and)g(mail)h(a)f(cop)o(y)g(to)g(the)g(author)g(\(Thomas.Nau)p
+Fm(@)p Fo(rz.uni-ulm.de\).)137 469 y(No)o(w)i(run)h Fm(xmkmf)c(-a)j
+Fo(whic)o(h)i(creates)e(the)g(`)p Fm(Makefiles)p Fo(')f(and)h(runs)h
+Fm(make)c(depend)p Fo(.)26 b(This)18 b(should)75 524
+y(\014nish)12 b(without)e(an)o(y)g(problems)h(except)g(some)f(systems)f
+(whic)o(h)j(complain)f(ab)q(out)f(missing)i(include)g(\014les.)75
+578 y(Don't)g(w)o(orry)h(ab)q(out)g(an)o(y)g(suc)o(h)g(w)o(arnings)h
+(at)e(this)i(time,)g(the)f(pac)o(k)m(age)h(should)g(compile)h(without)e
+(an)o(y)75 633 y(problems.)75 752 y Fg(A.1.2)30 b(Man)n(uals)137
+851 y Fo(After)13 b Fm(xmkmf)h(-a)f Fo(has)f(created)h(the)g(new)g(`)p
+Fm(Makefile)p Fo(')e(y)o(ou)i(are)f(able)i(to)e(create)g(the)h
+(manpages,)g(the)75 906 y(application)k(resource,)e(the)g(info)h
+(\014le,)g(the)f Fm(TeX)g Fo(output)g(and)g(a)g(reference)h(card)f(b)o
+(y)g(executing)195 974 y Fm(\(cd)23 b(doc;)h(make\))195
+1026 y(\(cd)f(src;)h(make)f(Pcb.ad\))137 1096 y Fo(Y)l(ou'll)c(need)f
+Fm(TeX)p Fo(,)f Fm(texindex)f Fo(and,)i(if)f(y)o(ou)g(w)o(an)o(t)f
+Fm(PostScript)p Fo(,)g Fm(dvips)h Fo(to)g(build)i(the)e(man)o(uals.)75
+1151 y(Preformatted)d(do)q(cumen)o(tation)h(for)g(the)g(default)g
+(con\014guration)h(ma)o(y)e(b)q(e)i(found)f(in)h(the)f(`)p
+Fm(./doc.ps)p Fo(')75 1206 y(directory)l(.)33 b(A)19
+b(simple)i Fh(make)i Fo(builds)f(ev)o(erything.)32 b(Generate)20
+b(a)f(prin)o(ted)h(cop)o(y)f(to)g(mak)o(e)g(y)o(our)g(life)75
+1260 y(easier.)h Fm(TeX-3.0)15 b Fo(failed,)h Fm(TeX-3.14)e
+Fo(w)o(ork)o(ed)g(just)h(\014ne.)75 1379 y Fg(A.1.3)30
+b(Compiling)21 b(the)f(P)n(ac)n(k)m(age)137 1479 y Fo(After)e(reac)o
+(hing)h(this)g(p)q(oin)o(t,)g(it)g(is)g(time)g(for)f
+Fm(make)p Fo(.)29 b(It)18 b(should)i(build)g(ev)o(erything)f(without)f
+(an)o(y)75 1533 y(errors.)h(If)d(it)f(do)q(esn't)g(refer)g(to)g
+(Section)h(A.2)e([problems],)h(page)g(53.)137 1604 y(Y)l(ou)23
+b(ha)o(v)o(e)g(to)f(b)q(e)h(ro)q(ot)f(to)g(install)j(the)d(pac)o(k)m
+(age)h(or)g(at)f(least)h(a)f(user)h(with)g(the)g(appropriate)75
+1659 y(priv)o(eleges)f(in)f(some)f Fm(X11)g Fo(directories.)37
+b(Set)20 b(the)h(umask)f(to)g Fh(022)27 b Fo(or)20 b(else)i(some)e
+(\014les)h(will)h(not)e(b)q(e)75 1713 y(found)c(b)q(ecause)g(the)f
+(directory)g(isn't)h(w)o(orld)f(readable.)137 1784 y(If)j(y)o(ou)g(do)f
+(not)h(ha)o(v)o(e)f(the)h(appropriate)g(p)q(ermissions)h(y)o(ou)e
+(should)i(run)f(`)p Fm(./pcbtest.sh)p Fo(')d(in)k(the)75
+1839 y(`)p Fm(src)p Fo(')14 b(directory)h(to)g(run)g
+Fm(Pcb)g Fo(from)g(the)g(installation)i(directory)l(.)137
+1909 y Fm(make)e(install)20 b Fo(and)i Fm(make)14 b(install.man)20
+b Fo(install)j(the)e(program,)h(the)f(fon)o(ts,)h(the)f(application)75
+1964 y(default)g(resource)f(\014le,)i(all)f(elemen)o(t)g(and)f(pac)o(k)
+m(age)h(data)e(as)h(w)o(ell)h(as)f(the)g(manpage)g(in)o(to)g(the)g
+Fm(X11)75 2019 y Fo(directories.)h Fm(make)14 b(install.info)g
+Fo(do)q(es)i(the)f(same)g(for)f(the)i Fm(GNU)e Fo(info)i(\014le.)75
+2156 y Fl(A.2)33 b(T)-6 b(roublesho)r(oting)137 2255
+y Fo(There)12 b(are)g(some)f(kno)o(wn)h(problems.)19
+b(Most)11 b(of)g(them)h(are)f(related)i(to)e(missing)h(parts)g(of)f(a)g
+(standard)75 2310 y Fm(X11)k Fo(distribution.)21 b(Some)15
+b(others)g(are)g(caused)h(b)o(y)f(third)h(part)o(y)e(applications)j
+(suc)o(h)e(as)g Fm(X)g Fo(serv)o(ers.)k(T)l(o)75 2365
+y(mak)o(e)e(this)g(list)h(more)e(complete)i(please)g(mail)g(y)o(our)e
+(problems)i(and,)f(if)h(a)o(v)m(ailable,)h(solutions)e(to)g(the)75
+2419 y(author.)i(The)c(mail)g(address)g(ma)o(y)f(b)q(e)h(found)g(at)f
+(the)g(b)q(eginning)j(of)d(this)h(c)o(hapter.)k(In)d(an)o(y)e(case,)g
+(read)75 2474 y(Section)i(A.2.8)e([X11],)g(page)h(55.)137
+2545 y(By)h(the)f(w)o(a)o(y)l(,)f(y)o(ou)h Fm(MUST)f(HAVE)h(AN)g(ANSI)f
+(COMPILER)h Fo(to)f(mak)o(e)h Fm(Pcb)f Fo(w)o(ork.)137
+2615 y(If)j(the)g(shell)h(script)f Fm(create_sed_script.sh)d
+Fo(fails)j(with)g(an)f(error)g(of)g Fm(awk)h Fo(c)o(hec)o(k)f(y)o(our)g
+(system)75 2670 y(for)f Fm(nawk)f Fo(or)h(get)g(the)g
+Fm(GNU)g(gawk)p Fo(.)k(See)d(the)f(script)h(for)e(details.)p
+eop
+%%Page: 54 55
+54 54 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l
+(roublesho)q(oting)835 b(54)137 149 y(Another)16 b(source)g(of)f
+(problems)i(are)e(older)i(v)o(ersions)f(of)f Fm(flex)h
+Fo(and)g Fm(bison)p Fo(.)21 b Fm(Pcb)15 b Fo(de\014nitely)j(w)o(orks)75
+204 y(with)13 b Fm(flex-2.4.7)e Fo(and)i Fm(bison-1.22)e
+Fo(or)h(later.)19 b(The)13 b(problems)g(will)h(result)f(in)g(a)f
+Fh(syntax)i(err)n(or)j Fo(while)75 259 y(parsing)h(\014les.)27
+b(Y)l(ou)17 b(will)i(ha)o(v)o(e)e(to)g(add)h Fh(-l\015)j
+Fo(to)c(the)g(SYS)p 1092 259 14 2 v 17 w(LIBRARIES)h(iden)o(ti\014er)h
+(in)f(`)p Fm(Imakefile)p Fo('.)75 314 y(See)e(also,)f(Section)h(A.2.7)e
+([F)l(reeBSD],)g(page)h(55.)137 380 y(The)g(follo)o(wing)h(list)g(giv)o
+(es)f(y)o(ou)g(just)f(an)h(idea)h(b)q(ecause)g(I'm)f(not)g(able)g(to)g
+(test)f(all)i Fm(Pcb)e Fo(releases)i(on)75 435 y(all)g(platforms.)75
+544 y Fg(A.2.1)30 b(HP)21 b(Series)g(700)e(and)i(800)137
+640 y Fo(Y)l(ou)11 b(ha)o(v)o(e)f(to)f(install)j(sev)o(eral)e
+Fm(X11)g Fo(to)q(ols)g(\()p Fm(imake)p Fo(\))f(and)i(include)h(\014les)
+f(or,)g(b)q(etter,)g(install)g(a)f(complete)75 695 y
+Fm(X11R5)17 b Fo(release.)27 b(Hewlett-P)o(ac)o(k)m(ard)17
+b(do)q(esn't)g(supp)q(ort)h(the)f(A)o(thena)h(Widgets.)26
+b(So)18 b(the)f(header)h(\014les)75 749 y(and)i(libraries)i(are)d
+(missing)i(from)e(the)h(application)i(media,)f(but)f(they)g(are)g(a)o
+(v)m(ailable)h(as)f(a)g(patc)o(h.)75 804 y(They)c(also)h(do)f(not)f
+(ship)j(the)e Fm(ANSI)f Fo(compiler)j(with)e(the)h(normal)f(op)q
+(erating)g(system)g(release)h(so)e(y)o(ou)75 859 y(ha)o(v)o(e)g(to)f
+(buy)i(one)f(or)g(use)h Fm(GCC)p Fo(.)j(Some)c(of)g(the)g(to)q(ols)g
+(are)g(a)o(v)m(ailable)i(as)e(patc)o(hes.)137 925 y(In)k(addition,)h
+Fm(Pcb)d Fo(has)h(b)q(een)i(successfully)g(tested)e(on)g(these)g
+(platforms)g(with)g Fm(HPUX)d(9.*,)g(10.*)75 980 y Fo(running)h
+(self-compiled)i Fm(X11R5)p Fo(.)75 1089 y Fg(A.2.2)30
+b(Sun)21 b(SP)-5 b(AR)n(C)21 b(arc)n(hitecture)137 1185
+y Fo(There)36 b(are)f(no)g(kno)o(wn)f(problems)i(with)g(Sun)g(mac)o
+(hines)g(if)f(they)g(use)h Fm(X11R5)e Fo(instead)75 1240
+y(of)41 b Fm(OpenWindows)p Fo(.)96 b Fm(Pcb)41 b Fo(compiled)i
+(successfully)g(with)f(all)g(kinds)g(of)f(SP)l(AR)o(Cstations)75
+1294 y Fm(Solaris-2.[345])p Fo(.)137 1361 y(F)l(or)15
+b(problems)h(with)f Fm(OpenWindows)f Fo(refer)h(to)f(Section)j(A.2.8)c
+([X11],)h(page)h(55.)137 1427 y(If)h Fm(xmkmf)e Fo(is)i(missing,)g(try)
+290 1491 y Fm(/usr/openwin/bin/imake)21 b(-DUseInstalled)h
+(-I/usr/openwin/lib/config)290 1542 y(make)i(Makefile)290
+1594 y(make)g(includes)290 1646 y(make)g(depend)137 1713
+y Fo(instead.)19 b(I)12 b(got)e(it)h(compiled)h(but)f(the)g(link)o(er)h
+(complained)h(ab)q(out)e(missing)g(sym)o(b)q(ols.)19
+b(The)11 b(problem)75 1767 y(ma)o(y)17 b(b)q(e)h(related)g(to)e(the)i
+(mixed)g Fm(OpenWindows)e Fo(-)i Fm(X11R5)e Fo(en)o(vironmen)o(t)i
+(whic)o(h)g(is)g(installed)i(on)d(the)75 1822 y(test)e(mac)o(hine.)20
+b(An)o(yw)o(a)o(y)15 b(the)g(co)q(de)h(w)o(as)e(executable)j(and)e(I)g
+(ha)o(v)o(en't)g(got)f(a)h(core)g(y)o(et.)75 1932 y Fg(A.2.3)30
+b(Silicon)21 b(Graphics)137 2027 y Fm(Pcb)13 b Fo(has)f(b)q(een)i
+(tested)f(on)g(some)f(b)q(o)o(xes)h(running)h(either)g
+Fm(IRIX-4.0.5)d Fo(or)i Fm(IRIX-5.3)p Fo(.)18 b(The)13
+b(former)75 2082 y(one)j(uses)f(a)h Fm(X11R4)e Fo(serv)o(er.)21
+b(There)15 b(are)h(no)f(problems)h(except)g(some)f(additionally)j
+(needed)f(compiler)75 2137 y(\015ags.)h(F)l(or)10 b(kno)o(wn)g
+(problems)i(with)f Fm(X11R4)p Fo(,)f(see)h(Section)h(A.2.8)d([X11],)h
+(page)h(55.)18 b(Chec)o(k)10 b(`)p Fm(Imakefile)p Fo(',)75
+2191 y(to)q(o.)75 2301 y Fg(A.2.4)30 b(DEC)22 b(Alpha)137
+2396 y Fm(Pcb)e Fo(compiled)j(and)d(runs)h(without)g(problems)g(on)g
+Fm(DEC)14 b(UNIX)h(V3.2c)20 b Fo(if)h(y)o(ou)f(do)h(the)f(follo)o(wing)
+75 2451 y(instead)c(of)f(calling)i Fm(xmkmf)d(-a)p Fo(:)290
+2514 y Fm(xmkmf)290 2566 y(make)24 b(Makefiles)290 2618
+y(make)g(includes)290 2670 y(make)g(depend)p eop
+%%Page: 55 56
+55 55 bop 75 -58 a Fo(App)q(endix)17 b(A:)e(Installation)i(and)e(T)l
+(roublesho)q(oting)835 b(55)75 149 y Fg(A.2.5)30 b(SCO)21
+b(Unix)137 246 y Fo(John)16 b(DuBois)g Fm(<)p Fo(sp)q(cecdt)p
+Fm(@)p Fo(deepth)o(t.armory)l(.com)p Fm(>)e Fo(wrote:)195
+310 y Fm(SCO-ODT-3.0)22 b(requires)h(the)h(latest)f(version)g(of)g
+(tls003,)g(the)g(Athena)195 362 y(widget)g(library)g(\(available)f
+(from)i(sosco.sco.com\).)e(The)h(main)g(problems)195
+414 y(I)h(have)f(encountered)f(are)i(it)f(core)h(dumps)f(fairly)g
+(often,)g(especially)195 466 y(while)g(loading/dropping)f(elements...)
+137 533 y Fo(I'll)17 b(see)e(what)g(I)g(am)g(able)h(to)f(do)g(as)g(so)q
+(on)g(as)f(I)i(ha)o(v)o(e)f(access)g(to)g(an)g Fm(SCO)g
+Fo(system.)75 645 y Fg(A.2.6)30 b(Lin)n(ux)137 741 y
+Fo(Since)18 b(the)e Fm(X11)g Fo(v)o(ersion)g(of)g Fm(Pcb)f
+Fo(has)h(b)q(een)h(dev)o(elop)q(ed)h(on)e(a)g(Lin)o(ux)h(system)f(here)
+g(are)g(no)g(kno)o(wn)75 796 y(problems.)75 908 y Fg(A.2.7)30
+b(F)-5 b(reeBSD)20 b(and)h(NetBSD)137 1005 y Fo(If)g
+Fm(Pcb)e Fo(complains)j(ab)q(out)e(syn)o(tax)f(errors)g(ev)o(en)i(in)g
+(the)f(demo)g(\014les)h(get)f(rid)h(of)e(y)o(our)h Fm(lex)g
+Fo(and)75 1059 y Fm(yacc)d Fo(implemen)o(tation.)27 b(Replace)18
+b(them)f(b)o(y)g Fm(GNU)e(flex)i Fo(and)g Fm(bison)p
+Fo(.)25 b(Don't)17 b(forget)f(to)h(c)o(hange)g(the)75
+1114 y(SYS)p 162 1114 14 2 v 17 w(LIBRARIES)f(in)g(`)p
+Fm(Imakefile)p Fo(')d(from)h Fh(-l)r(l)20 b Fo(to)15
+b Fh(-l\015)p Fo(.)k(Y)l(ou)c(also)h(need)g(to)e(de\014ne:)290
+1178 y Fm(YACC)24 b(=)f(bison)h(-y)290 1230 y(LEX)g(=)g(flex)75
+1342 y Fg(A.2.8)30 b(Problems)21 b(related)f(to)g(X11)137
+1439 y Fo(There)k(are)g(a)f(some)h(problems)g(related)h(to)e
+Fm(X11R4)g Fo(or)g(systems)h(deriv)o(ed)h(from)e Fm(X11)g
+Fo(suc)o(h)h(as)75 1494 y Fm(OpenWindows)p Fo(.)34 b(See)22
+b(Section)f(A.2.2)e([Sun],)j(page)e(54.)36 b(Y)l(ou)20
+b(at)g(least)h(ha)o(v)o(e)f(to)g(c)o(hange)h(all)g(o)q(ccu-)75
+1548 y(rances)g(of)f Fh(b)n(aseT)m(r)n(anslations)i Fo(in)g(the)f
+(resource)g(\014les)g(to)g Fh(tr)n(anslations)i Fo(if)e(y)o(ou)g(are)f
+(using)i(a)f Fm(X11R4)75 1603 y Fo(serv)o(er.)e(Lo)q(ok)d(at)e(the)i
+Fm(X11R5)e Fh(Intrinsics)j Fo(man)o(ual)e(for)g(details.)137
+1670 y(The)h(panner)g(widget)f(\(prin)o(t)h(dialog)g(b)q(o)o(x\))f(app)
+q(ears)g(only)h(in)h(release)f Fm(X11R5)e Fo(and)i(later.)21
+b(It)15 b(really)75 1725 y(simpli\014es)i(adjusting)e(the)g(o\013sets.)
+k(With)14 b(earlier)i(releases)f(the)g(prin)o(tout)g(will)h(alw)o(a)o
+(ys)e(app)q(ear)h(in)h(the)75 1780 y(cen)o(ter)f(of)g(the)g(page.)137
+1847 y(Y)l(ou)j(ma)o(y)e(ha)o(v)o(e)h(some)g(problems)g(in)h(a)f(mixed)
+h Fm(X11-OpenWindows)d Fo(en)o(vironmen)o(t.)26 b(If)17
+b(y)o(ou)g(w)o(an)o(t)75 1902 y(to)h(try)g(it)h(an)o(yw)o(a)o(y)e(y)o
+(ou)h(ha)o(v)o(e)h(to)f(add)g(an)h(additional)h(path)e(for)g(include)j
+(\014les)f(and)f(de\014ne)g(another)75 1957 y(sym)o(b)q(ol)d(in)g(`)p
+Fm(Imakefile)p Fo(',)290 2021 y Fm(EXTRA_INCLUDES)22
+b(=)i(-I/usr/openwin/include)137 2088 y(Pcb)15 b Fo(has)g(b)q(een)h
+(tested)f(successfully)j(with)d Fm(X11R6)g Fo(under)h(Lin)o(ux)g
+(1.1.59)d(and)j(later.)75 2200 y Fg(A.2.9)30 b(Problems)21
+b(related)f(to)g(T)-5 b(eX)137 2297 y Fo(If)18 b(y)o(our)e
+Fm(TeX)h Fo(installation)h(complains)h(ab)q(out)e(a)g(missing)h(`)p
+Fm(texinfo.tex)p Fo(')c(\014le)19 b(cop)o(y)e(the)g(one)g(in-)75
+2352 y(cluded)d(in)g(this)e(release)i(\(directory)e(`)p
+Fm(doc)p Fo(')f(to)h(y)o(our)g Fm(TeX)g Fo(macro)g(directory)l(.)19
+b(Note,)13 b(there)f(are)g(probably)75 2406 y(new)o(er)i(v)o(ersions)g
+(of)f(this)i(\014le)g(a)o(v)m(ailable)g(from)e(some)h(FTP)f(sites.)20
+b Fm(TeX-3.0)13 b Fo(failed,)i Fm(TeX-3.14)e Fo(w)o(ork)o(ed)75
+2461 y(just)i(\014ne.)20 b(Chec)o(k)c(our)f(FTP)f(serv)o(er)h
+Fh(ftp.uni-ulm.de)k Fo(for)c(ready-to-prin)o(t)g(v)o(ersions)g(of)g
+(the)g(man)o(uals.)p eop
+%%Page: 56 57
+56 56 bop 75 -58 a Fo(Index)16 b(of)f(Resources)1381
+b(56)75 149 y Fk(Index)26 b(of)h(Resources)75 307 y Fl(/)75
+372 y Fe(/usr/X11R6)o(/l)o(ib/)o(X1)o(1/p)o(cb)8 b Fd(.)e(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24
+b Fc(52)75 512 y Fl(A)75 577 y Fe(absoluteGr)o(id)6 b
+Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22
+b Fc(30)75 624 y Fe(alignmentD)o(is)o(tan)o(ce)5 b Fd(.)s(.)i(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)19 b Fc(30)75 672 y Fe(allDirecti)o(on)o(Lin)o(es)8
+b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)24 b Fc(27,)13 b(30)75 811 y Fl(B)75
+875 y Fe(backupInte)o(rv)o(al)t Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17
+b Fc(27,)c(30)75 923 y Fe(bloat)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18
+b Fc(30)75 1055 y Fl(C)75 1120 y Fe(characters)o(Pe)o(rLi)o(ne)8
+b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)24 b Fc(27,)13 b(30)75 1168 y Fe(connectedC)o(ol)o
+(or)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21
+b Fc(30)75 1215 y Fe(crosshairC)o(ol)o(or)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(30)75 1348 y Fl(D)75 1412
+y Fe(default)10 b(font)t Fd(.)5 b(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)17 b Fc(27)75 1460 y Fe(DEFAULTFON)o(T)7
+b Fd(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23
+b Fc(52)75 1508 y Fe(DEFAULTLIB)o(RA)o(RY)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(52)75 1640 y Fl(E)75 1705
+y Fe(elementCol)o(or)6 b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)22 b Fc(30)75 1752 y Fe(elementCom)o(ma)o(nd)6
+b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)22 b Fc(27,)13 b(30,)g(45)75 1800
+y Fe(elementCon)o(te)o(nts)o(Co)o(mma)o(nd)8 b Fd(.)e(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24
+b Fc(32)75 1847 y Fe(elementPat)o(h)7 b Fd(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(31)75 1895 y Fe(elementSel)o(ec)o
+(ted)o(Co)o(lor)s Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(30)75
+1943 y Fe(EXITCALL)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(52)75 1990 y Fe(EXTRA_INCL)o(UD)o
+(ES)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21
+b Fc(52)75 2123 y Fl(F)75 2187 y Fe(fileComman)o(d)9
+b Fd(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(27,)13 b(31,)g(45)75
+2235 y Fe(filePath)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(31)75 2283 y Fe(fontComman)o(d)9
+b Fd(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(27,)13 b(31,)g(45)75
+2330 y Fe(fontFile)c Fd(.)s(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)21 b Fc(27,)13 b(31)75 2378 y Fe(fontPath)s Fd(.)s(.)7
+b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16
+b Fc(31)75 2510 y Fl(G)75 2575 y Fe(gm4)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(52)75 2622 y Fe(grid)6 b Fd(.)f(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19
+b Fc(31)75 2670 y Fe(gridColor)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(32)1012 307 y
+Fl(H)1012 368 y Fe(HAS_REGEX)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(52)1012 490 y Fl(I)1012
+551 y Fe(INFOLIBDIR)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)24 b Fc(52)1012 597 y Fe(invisibleOb)o(je)o(cts)o(Co)o
+(lor)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(32)1012 726 y Fl(L)1012
+787 y Fe(layerColor)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)24 b Fc(32)1012 833 y Fe(layerGroups)6
+b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b
+Fc(27,)13 b(32)1012 879 y Fe(layerName)c Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(32)1012 924
+y Fe(layerSelect)o(ed)o(Col)o(or)t Fd(.)t(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)19
+b Fc(32)1012 970 y Fe(libraryComm)o(an)o(d)7 b Fd(.)f(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23
+b Fc(28,)13 b(32,)g(45)1012 1016 y Fe(libraryCont)o(en)o(tsC)o(om)o
+(man)o(d)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)21 b Fc(28,)13 b(45)1012 1062 y Fe(libraryFile)o(na)o(me)s
+Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b Fc(27,)c(32)1012
+1107 y Fe(libraryPath)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)20 b Fc(28,)13 b(32)1012 1153 y Fe(lineThickne)o(ss)8
+b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22
+b Fc(32)1012 1275 y Fl(M)1012 1336 y Fe(media)6 b Fd(.)t(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19
+b Fc(33)1012 1382 y Fe(Mod1)6 b Fd(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20
+b Fc(52)1012 1504 y Fl(O)1012 1565 y Fe(offLimitCol)o(or)8
+b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22
+b Fc(33)1012 1687 y Fl(P)1012 1748 y Fe(PATCHES)t Fd(.)t(.)6
+b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+17 b Fc(52)1012 1794 y Fe(pinColor)s Fd(.)t(.)6 b(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(33)1012
+1839 y Fe(pinoutFont0)o(..)o(4)8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)21 b Fc(33)1012 1885 y Fe(pinoutNameL)o(en)o(gth)8
+b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)25 b Fc(28,)13 b(33)1012 1931
+y Fe(pinoutOffse)o(tX)8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)22 b Fc(33)1012 1977 y Fe(pinoutOffse)o(tY)8 b
+Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22
+b Fc(33)1012 2022 y Fe(pinoutTextO)o(ff)o(set)o(X)6 b
+Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fc(33)1012 2068
+y Fe(pinoutTextO)o(ff)o(set)o(Y)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+19 b Fc(33)1012 2114 y Fe(pinoutZoom)7 b Fd(.)s(.)f(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)21 b Fc(28,)13 b(33)1012 2159 y Fe(pinSelected)o
+(Co)o(lor)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20
+b Fc(33)1012 2205 y Fe(printComman)o(d)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(33)1012 2335 y Fl(R)1012
+2396 y Fe(raiseLogWin)o(do)o(w)8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)21 b Fc(33)1012 2441 y Fe(ratCommand)8 b
+Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)24
+b Fc(33)1012 2487 y Fe(ratPath)t Fd(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17 b Fc(34)1012
+2533 y Fe(resetAfterE)o(le)o(men)o(t)8 b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)25
+b Fc(28,)13 b(34)1012 2579 y Fe(ringBellWhe)o(nF)o(ini)o(sh)o(ed)c
+Fd(.)s(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)22 b Fc(28,)13 b(34)1012 2624 y Fe(routeStyle)7
+b Fd(.)s(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21
+b Fc(28,)13 b(34)1012 2670 y Fe(rubberBandM)o(od)o(e)8
+b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21 b
+Fc(34)p eop
+%%Page: 57 58
+57 57 bop 75 -58 a Fo(Index)16 b(of)f(Resources)1381
+b(57)75 149 y Fl(S)75 210 y Fe(saveComman)o(d)9 b Fd(.)d(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)24 b Fc(28,)13 b(34,)g(45)75 256 y Fe(saveInTMP)8
+b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21
+b Fc(28,)13 b(34)75 302 y Fe(saveLastCo)o(mm)o(and)s
+Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)16 b Fc(28,)d(34)75 348
+y Fe(shrink)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(34)75 394 y Fe(size)10
+b Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)24 b Fc(29,)13 b(34)75 440 y Fe(stipplePol)o(yg)o(ons)6
+b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Fc(34)75
+485 y Fe(SYS_LIBRAR)o(IE)o(S)9 b Fd(.)s(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)22 b Fc(52)75 608 y Fl(T)75 669 y Fe(textScale)8
+b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24
+b Fc(34)75 792 y Fl(U)75 853 y Fe(useLogWind)o(ow)6 b
+Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22
+b Fc(35)1012 149 y Fl(V)1012 219 y Fe(viaColor)s Fd(.)t(.)6
+b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17
+b Fc(35)1012 269 y Fe(viaDrilling)o(Ho)o(le)7 b Fd(.)s(.)f(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)21 b Fc(35)1012 319 y Fe(viaSelected)o(Co)o(lor)6
+b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Fc(35)1012
+368 y Fe(viaThicknes)o(s)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)23 b Fc(35)1012 418 y Fe(volume)8 b Fd(.)e(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)23 b Fc(29,)13
+b(35)1012 569 y Fl(W)1012 639 y Fe(warnColor)c Fd(.)d(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(35)1012
+784 y Fl(Z)1012 853 y Fe(zoom)6 b Fd(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20
+b Fc(35)p eop
+%%Page: 58 59
+58 58 bop 75 -58 a Fo(Index)16 b(of)f(Actions,)g(Commands)g(and)g
+(Options)917 b(58)75 149 y Fk(Index)26 b(of)h(Actions,)g(Commands)h
+(and)e(Options)75 321 y Fl(-)75 384 y Fe(-alldirect)o(io)o(ns)8
+b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b
+Fc(27)75 430 y Fe(-backup)t Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(27)75
+477 y Fe(-c)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(27)75
+523 y Fe(-copyright)7 b Fd(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)24 b Fc(29)75 570 y Fe(-fontfile)8 b
+Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24
+b Fc(27)75 616 y Fe(-help)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(29)75
+662 y Fe(-lelement)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)24 b Fc(27)75 709 y Fe(-lfile)5 b
+Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)18 b Fc(27)75 755 y Fe(-lfont)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18
+b Fc(27)75 802 y Fe(-lg)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(27)75 848 y Fe(-libname)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(27)75 895
+y Fe(-libpath)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(28)75 941 y Fe(-llib)6
+b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)18 b Fc(28)75 988 y Fe(-llibcont)8
+b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24
+b Fc(28)75 1034 y Fe(-loggeomet)o(ry)6 b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)22 b Fc(28)75 1081 y Fe(-pnl)6
+b Fd(.)f(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(28)75 1127 y Fe(-pz)7
+b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Fc(28)75 1174 y Fe(-reset)5
+b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)18 b Fc(28)75 1220 y Fe(-ring)6 b Fd(.)t(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18
+b Fc(28)75 1267 y Fe(-rs)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(28)75 1313 y Fe(-s)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(28)75 1360 y Fe(-save)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b
+Fc(28)75 1406 y Fe(-sfile)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(28)75
+1453 y Fe(-size)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(29)75 1499
+y Fe(-v)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(29)75
+1546 y Fe(-version)s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(29)75 1672 y Fl(:)75
+1734 y Fe(:actionCom)o(ma)o(nd\()o(\))6 b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)19 b Fc(26)75 1781 y Fe(:l)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+20 b Fc(25)75 1827 y Fe(:le)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(25)75 1874 y Fe(:m)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(25)75 1920 y Fe(:q)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(25)75 1967 y Fe(:rn)7 b Fd(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(25)75 2013 y Fe(:s)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(25)75 2060 y Fe(:w[q])6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b
+Fc(26)75 2186 y Fb(+)75 2249 y Fe(+alldirect)o(io)o(ns)8
+b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b
+Fc(27)75 2295 y Fe(+reset)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(28)75
+2342 y Fe(+ring)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(28)75 2388
+y Fe(+s)8 b Fd(.)d(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(28)75
+2435 y Fe(+save)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(28)75 2561
+y Fl(A)75 2624 y Fe(AddRats\(\))8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(36)75 2670 y
+Fe(Atomic\(\))s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(36)1012 321 y Fl(B)1012
+387 y Fe(Bell\(\))5 b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(36)1012 521
+y Fl(C)1012 586 y Fe(ChangeDrill)o(Si)o(ze\()o(\))6 b
+Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fc(36)1012 634
+y Fe(ChangeHole\()o(\))6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)23 b Fc(36)1012 682 y Fe(ChangeName\()o(\))6
+b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23
+b Fc(37)1012 730 y Fe(ChangeOctag)o(on)o(\(\))7 b Fd(.)s(.)f(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(37)1012 778 y Fe(ChangeSize\()o(\))6
+b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23
+b Fc(37)1012 826 y Fe(ChangeSquar)o(e\()o(\))8 b Fd(.)s(.)e(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(37)1012 874 y Fe(Command\(\))9
+b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25
+b Fc(37)1012 922 y Fe(Connection\()o(\))6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(37)1012 1056 y Fl(D)1012
+1121 y Fe(DeleteRats\()o(\))6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)23 b Fc(38)1012 1169 y Fe(Display\(\))9
+b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25
+b Fc(38)1012 1217 y Fe(DRC\(\))6 b Fd(.)t(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19
+b Fc(38)1012 1351 y Fl(E)1012 1417 y Fe(EditLayerGr)o(ou)o(ps\()o(\))6
+b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fc(38)1012 1559
+y Fl(L)1012 1624 y Fe(Load\(\))5 b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b
+Fc(38)1012 1758 y Fl(M)1012 1824 y Fe(MarkCrossha)o(ir)o(\(\))7
+b Fd(.)s(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(39)1012
+1872 y Fe(Mode\(\))5 b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(39)1012 1920
+y Fe(MovePointer)o(\(\))8 b Fd(.)s(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)22 b Fc(40)1012 1968 y Fe(MoveToCurre)o(nt)o(Lay)o(er)o(\(\))s
+Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(40)1012 2109 y Fl(N)1012
+2175 y Fe(New\(\))6 b Fd(.)t(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(40)1012
+2309 y Fl(P)1012 2374 y Fe(PasteBuffer)o(\(\))8 b Fd(.)s(.)e(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(40)1012 2422 y
+Fe(Polygon\(\))9 b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)25 b Fc(41)1012 2470 y Fe(Print\(\))t
+Fd(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)17 b Fc(41)1012 2605 y Fl(Q)1012 2670 y Fe(Quit\(\))5
+b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)18 b Fc(41)p eop
+%%Page: 59 60
+59 59 bop 75 -58 a Fo(Index)16 b(of)f(Actions,)g(Commands)g(and)g
+(Options)917 b(59)75 149 y Fl(R)75 210 y Fe(Redo\(\))5
+b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)18 b Fc(41)75 256 y Fe(RemoveSele)o(ct)o(ed\()o(\))6
+b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(42)75
+302 y Fe(Report\(\))s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(42)75 347 y Fe(RouteStyle)o(\(\))6
+b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22
+b Fc(42)75 477 y Fl(S)75 538 y Fe(Save\(\))5 b Fd(.)t(.)h(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18
+b Fc(42)75 583 y Fe(Select\(\))s Fd(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Fc(42)75
+629 y Fe(SetValue\(\))7 b Fd(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)24 b Fc(42)1012 149 y Fe(SwapSides\(\))6
+b Fd(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24
+b Fc(43)1012 196 y Fe(SwitchDrawi)o(ng)o(Lay)o(er)o(\(\))s
+Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(43)1012 327 y Fl(T)1012
+389 y Fe(ToggleHideN)o(am)o(e\(\))6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)20 b Fc(43)1012 521 y Fl(U)1012 583 y Fe(Undo\(\))5
+b Fd(.)t(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)18 b Fc(43)1012 629 y Fe(Unselect\(\))8
+b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)24
+b Fc(43)p eop
+%%Page: 60 61
+60 60 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(60)75
+149 y Fk(Index)26 b(of)h(Concepts)75 321 y Fl(/)75 383
+y Fc(/tmp)s Fd(.)7 b(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)16 b Fc(19,)d(28,)g(34)75 517 y Fl(A)75 580 y
+Fc(ab)q(out,)h(command)f(button)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17
+b Fc(11)75 626 y(action)d(command)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)19 b Fc(26)75 672 y(actions)5 b Fd(.)j(.)e(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18
+b Fc(35)75 719 y(Actions,)c(initiating)h Fd(.)6 b(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)24 b Fc(26)75 765 y(alignmen)o(t)8 b Fd(.)h(.)d(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b
+Fc(30)75 811 y(alignmen)o(t)15 b(targets)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)20 b Fc(20)75 858 y(Alpha)t Fd(.)7 b(.)g(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(54)75 904 y(arc)12 b Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24
+b Fc(6)75 950 y(arc,)13 b(an)g(example)s Fd(.)8 b(.)e(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)16 b Fc(15)75 997 y(arc)o(hitecture)6
+b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18
+b Fc(54,)13 b(55)75 1043 y(ASCI)q(I)f(\014les,)i(format)f(of)c
+Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(44)75 1089 y(A)o(tari)13
+b(v)o(ersion)f Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)22 b Fc(2)75 1136 y(atomic)7 b Fd(.)g(.)g(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20
+b Fc(36)75 1261 y Fl(B)75 1324 y Fc(bac)o(kup)7 b Fd(.)h(.)e(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)21 b Fc(19,)13 b(27,)f(28,)h(30,)g(34)75 1370
+y(basic)h(t)o(yp)q(es)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)20 b Fc(45)75 1416 y(b)q(ell)6
+b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fc(36)75 1463 y(bloat)13
+b Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)25 b Fc(30)75 1509 y(bu\013er,)14
+b(an)f(example)8 b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(18)75 1555 y(bu\013er,)14 b(con)o(v)o(ert)f(con)o(ten)o(ts)h(to)f
+(elemen)o(t)8 b Fd(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21
+b Fc(17)75 1602 y(bu\013er,)14 b(p)q(opup)g(men)o(u)8
+b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(13)75 1648
+y(bu\013er,)14 b(selecting)h(a)7 b Fd(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)19 b Fc(40)75 1694 y(button)14 b(translations)g
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(35)75 1820
+y Fl(C)75 1882 y Fc(cat)7 b Fd(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Fc(31,)13
+b(34)75 1928 y(cen)o(tering)5 b Fd(.)j(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(38)75 1975
+y(c)o(hange)c(activ)o(e)g(la)o(y)o(er)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)17 b Fc(10)75 2021 y(c)o(hange)d(dra)o(wing)g(la)o(y)o(er)5
+b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Fc(43)75 2068 y(c)o(hange)c(ob)r
+(ject)f(name)6 b Fd(.)h(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19
+b Fc(37)75 2114 y(c)o(hange)14 b(settings)9 b Fd(.)e(.)f(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(42)75 2160 y(c)o(hange)14
+b(sizes)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17
+b Fc(36,)c(37)75 2207 y(c)o(hange)h(square)g(\015ag)c
+Fd(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)23 b Fc(37)75
+2253 y(c)o(hange)14 b(viewing)h(side)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)20 b Fc(43)75 2299 y(c)o(haracters)14 b(p)q(er)f(line)5
+b Fd(.)j(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)18 b Fc(27,)13 b(30)75 2346
+y(clipping)j(lines)f(to)e(45)g(degree)5 b Fd(.)h(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(30,)c(38)75
+2392 y(clipping)j(of)d(lines)t Fd(.)8 b(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)17 b Fc(27)75 2438 y(closing)e(a)e(p)q(olygon)f
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(41)75
+2485 y(color)14 b(prin)o(tout)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)24 b Fc(20)75 2531 y(color,)14 b(w)o(arning)8
+b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21
+b Fc(35)75 2577 y(colors)t Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)18 b Fc(30,)12 b(32,)h(33,)g(35)75 2624 y(command-line)i(options)6
+b Fd(.)j(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(26)75 2670 y(compile,)14
+b(ho)o(w)f(to)s Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)16
+b Fc(52)1012 321 y(con\014g.h)8 b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Fc(52)1012
+376 y(connection,)15 b(remo)o(ving)g(an)t Fd(.)6 b(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17
+b Fc(43)1012 431 y(connections,)e(colors)6 b Fd(.)i(.)e(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)20 b Fc(30)1012 486 y(connections,)15 b(creating)f(list)h
+(of)6 b Fd(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)19 b Fc(21)1012 541 y(connections,)c(p)q(opup)g(men)o(u)
+5 b Fd(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)18 b Fc(13)1012 596 y(connections,)d(reseting)8
+b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(37)1012 651 y(connections,)15
+b(reseting)f(after)f(elemen)o(t)6 b Fd(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)g
+(.)19 b Fc(28,)13 b(34)1012 706 y(connections,)i(searc)o(hing)g(for)c
+Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)25 b Fc(37)1012 761 y(con)o(trol)15 b(panel)9
+b Fd(.)e(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22
+b Fc(10)1012 816 y(cop)o(y)14 b(an)f(ob)r(ject)t Fd(.)7
+b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)17
+b Fc(44)1012 871 y(cop)o(ying)e(ob)r(jects)7 b Fd(.)g(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Fc(40)1012 926 y(cop)o(ying,)15
+b(an)e(example)f Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24
+b Fc(19)1012 981 y(cop)o(yrigh)o(t)s Fd(.)9 b(.)d(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(29)1012
+1036 y(creating)e(ob)r(jects)s Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)17 b Fc(14)1012 1091 y(cursor)d(color)e Fd(.)6
+b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24
+b Fc(30)1012 1146 y(cursor)14 b(mo)o(v)o(emen)o(ts)t
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(40)1012
+1201 y(cursor)d(p)q(osition)g Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)25 b Fc(39)1012 1256 y(cursor)14 b(steps)c
+Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23
+b Fc(31)1012 1311 y(cutting)15 b(ob)r(jects)c Fd(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(40)1012
+1490 y Fl(D)1012 1571 y Fc(DEC)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17
+b Fc(54)1012 1625 y(default)d(fon)o(t)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(27,)13 b(31)1012 1680
+y(default)h(la)o(y)o(out)h(size)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)24 b Fc(34)1012 1735 y(default)14 b(library)7 b Fd(.)h(.)f(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Fc(32)1012 1790
+y(default)14 b(text)f(scaling)h Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25
+b Fc(34)1012 1845 y(default)14 b(translations)f Fd(.)6
+b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(43)1012 1900 y(design)15
+b(rule)f(c)o(hec)o(king)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(23,)13
+b(38)1012 1955 y(device,)h(selecting)h(an)f(output)e
+Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)25 b Fc(19)1012 2010 y(directory)15 b(/tmp)s
+Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(19,)c(28,)g(34)1012
+2065 y(displa)o(y)5 b Fd(.)k(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(34)1012 2120
+y(displa)o(y)m(,)d(p)q(opup)g(men)o(u)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)22 b Fc(12)1012 2175 y(displa)o(yi)q(ng)16 b(elemen)o(t)e(names)c
+Fd(.)c(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23
+b Fc(12,)13 b(38)1012 2230 y(displa)o(yi)q(ng)j(pinout)11
+b Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(38)1012
+2285 y(displa)o(yi)q(ng)16 b(status)d(information)f Fd(.)7
+b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23
+b Fc(9)1012 2340 y(DOS)14 b(\014lenames)t Fd(.)7 b(.)f(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b Fc(20)1012 2395 y(dra)o(wing)e(ob)r
+(jects)t Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17
+b Fc(13)1012 2450 y(drc)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)21 b Fc(23,)13 b(30,)g(34,)g(38)1012 2505
+y(drill)h Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25 b Fc(42)1012 2560
+y(drillin)q(g)16 b(hole,)d(c)o(hanging)j(of)c(ob)r(jects)c
+Fd(.)f(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21
+b Fc(36)1012 2615 y(drillin)q(g)16 b(hole,)d(setting)i(of)d(initial)k
+(size)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22
+b Fc(42)1012 2670 y(D)o(VI)13 b(format)g(of)g(man)o(ual)s
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(53)p eop
+%%Page: 61 62
+61 61 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(61)75
+149 y Fl(E)75 212 y Fc(elemen)o(t)14 b(name,)f(hiding)h
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(43)75 258 y(elemen)o(t)14
+b(name,)f(remo)o(ving)h(from)f(silk-screen)h Fd(.)7 b(.)f(.)g(.)g(.)g
+(.)25 b Fc(43)75 305 y(elemen)o(t,)14 b(an)f(example)e
+Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(17)75 351 y(elemen)o(t,)14
+b(an)f(o)o(v)o(erview)7 b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19
+b Fc(4)75 398 y(elemen)o(t,)14 b(color)7 b Fd(.)g(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)19 b Fc(30,)13 b(32)75 444 y(elemen)o(t,)h(command)e
+Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(27,)13 b(30)75 491 y(elemen)o(t,)h
+(creating)g(a)f(new)g(pac)o(k)n(age)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(17)75 537 y(elemen)o(t,)14
+b(displa)o(y)h(names)e(of)8 b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)20 b Fc(12,)13 b(38)75 584
+y(elemen)o(t,)h(\014leformat)7 b Fd(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+19 b Fc(48)75 630 y(elemen)o(t,)14 b(\014les)e Fd(.)6
+b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b Fc(27,)13 b(30,)g(31)75
+677 y(elemen)o(t,)h(loading)h(to)e(bu\013er)g Fd(.)6
+b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)24 b Fc(25)75 723 y(elemen)o(t,)14 b(mo)o(v)o(e)f(name)g(of)7
+b Fd(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)20 b Fc(44)75 770 y(en)o(tering)14
+b(user)g(commands)5 b Fd(.)j(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(24)75
+816 y(erasing)c(ob)r(jects)f Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)25 b Fc(13)75 862 y(example)14 b(\014les)e
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24
+b Fc(17)75 909 y(example)14 b(of)f(bu\013er)h(handling)h
+Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)24 b Fc(18)75 955 y(example)14 b(of)f(connection)i(lists)d
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)23 b Fc(21)75 1002 y(example)14 b(of)f(cop)o(ying)h
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(19)75 1048
+y(example)14 b(of)f(creating)h(an)g(elemen)o(t)d Fd(.)c(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Fc(17)75
+1095 y(example)14 b(of)f(elemen)o(t)h(handling)5 b Fd(.)k(.)d(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17
+b Fc(17)75 1141 y(example)d(of)f(line)i(handling)s Fd(.)9
+b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)16 b Fc(15)75 1188 y(example)e(of)f(loading)6
+b Fd(.)j(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)18 b Fc(19)75
+1234 y(example)c(of)f(loading)j(an)d(elemen)o(t)h(\014le)t
+Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17
+b Fc(17)75 1281 y(example)d(of)f(mo)o(ving)6 b Fd(.)i(.)e(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)18 b Fc(19)75 1327 y(example)c(of)f(pastebu\013er)i
+(handling)t Fd(.)9 b(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)17 b Fc(18)75 1374 y(example)d(of)f(pin)h(handling)7
+b Fd(.)i(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)19 b Fc(17)75 1420 y(example)14 b(of)f(p)q(olygon)i
+(handling)t Fd(.)9 b(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)16 b Fc(15)75 1467 y(example)e(of)f(prin)o(ting)c
+Fd(.)g(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(19)75 1513
+y(example)14 b(of)f(rectangle)i(handling)f Fd(.)6 b(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(15)75
+1560 y(example)14 b(of)f(sa)o(ving)5 b Fd(.)j(.)e(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)18 b Fc(19)75 1606 y(example)c(of)f(text)g(handling)c
+Fd(.)g(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)21 b Fc(16)75 1652 y(example)14 b(of)f(via)h(handling)8
+b Fd(.)h(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)21 b Fc(16)75 1699 y(exit)11 b Fd(.)6
+b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)23 b Fc(25,)13 b(41)75 1832 y Fl(F)75 1894 y Fc(\014le)h(format,)e
+(elemen)o(t)i(data)e Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(48)75
+1941 y(\014le)14 b(format,)e(fon)o(t)h(data)6 b Fd(.)h(.)g(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)19 b Fc(49)75 1987 y(\014le)14 b(format,)e(la)o(y)o(out)j(data)
+6 b Fd(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)18 b Fc(46)75 2034 y(\014le)c(format,)e
+(libraries)7 b Fd(.)i(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19
+b Fc(50)75 2080 y(\014le)14 b(format,)e(library)j(con)o(ten)o(ts)6
+b Fd(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)18 b Fc(50)75 2127 y(\014le)c(formats)5 b Fd(.)i(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(44)75
+2173 y(\014le)c(formats,)f(basic)h(t)o(yp)q(es)d Fd(.)6
+b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)23 b Fc(45)75 2219 y(\014le)14 b(load)g(command)6
+b Fd(.)i(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fc(27,)13 b(31)75 2266
+y(\014le)h(sa)o(v)o(e)f(command)7 b Fd(.)g(.)f(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19
+b Fc(28,)13 b(34)75 2312 y(\014le,)h(p)q(opup)g(men)o(u)5
+b Fd(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b
+Fc(12)75 2359 y(fon)o(t)c(command)g Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)25 b Fc(27,)13 b(31)75 2405 y(fon)o(t)g(\014le,)g(format)g(of)d
+Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(49)75
+2452 y(fon)o(t)13 b(\014les)7 b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)19 b Fc(27,)13 b(31)75 2498 y(fon)o(t,)g(an)g
+(o)o(v)o(erview)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)23
+b Fc(4)1012 149 y(fon)o(t,)13 b(used)h(for)e(pin)j(names)5
+b Fd(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)19 b Fc(33)1012 195 y(format)13 b(of)g(elemen)o(t)h
+(\014les)s Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(48)1012
+241 y(format)c(of)g(fon)o(t)g(\014les)8 b Fd(.)f(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)21 b Fc(49)1012 286 y(format)13 b(of)g(la)o(y)o(out)h
+(\014les)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(46)1012
+332 y(format)13 b(of)g(libraries)i Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)25 b Fc(50)1012 378 y(format)13 b(of)g(library)i(con)o(ten)o(ts)d
+Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)24 b Fc(50)1012 423 y(F)m(reeBSD)7 b Fd(.)h(.)e(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21
+b Fc(55)1012 545 y Fl(G)1012 606 y Fc(grid)5 b Fd(.)j(.)e(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Fc(11,)13
+b(30,)g(31)1012 652 y(grid)h(color)e Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(32)1012
+698 y(grid,)14 b(absolute)h(and)e(relativ)o(e)s Fd(.)c(.)d(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(12,)c(38)1012
+743 y(grid,)h(displa)o(y)f Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)24 b Fc(12,)13 b(38)1012 789 y(grid,)h(setting)g(of)t
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17
+b Fc(42)1012 835 y(groups)t Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(27,)13 b(32)1012
+880 y(groups,)h(editing)h(of)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)21 b Fc(38)1012 1009 y Fl(H)1012 1069 y Fc(Hewlett)13
+b(P)o(ac)o(k)n(ard)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+20 b Fc(54)1012 1115 y(hide)15 b(elemen)o(t)e(name)6
+b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Fc(43)1012
+1161 y(ho)o(w)13 b(to)g(start)6 b Fd(.)h(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Fc(8)1012 1206 y(HP)9
+b Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)22 b Fc(54)1012 1328 y Fl(I)1012
+1389 y Fc(info)14 b(\014le)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(53)1012
+1435 y(information)15 b(ab)q(out)f(ob)r(jects)9 b Fd(.)e(.)f(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)22
+b Fc(42)1012 1481 y(input-\014eld,)16 b(p)q(osition)f(of)5
+b Fd(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(9)1012 1526 y(input\014eld,)e
+(sa)o(ving)e(en)o(tered)g(command-line)6 b Fd(.)j(.)d(.)g(.)19
+b Fc(28,)13 b(34)1012 1572 y(input\014eld,)j(start)d(user)g(input)t
+Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)17 b Fc(37)1012 1618 y(install,)e(ho)o(w)e(to)7
+b Fd(.)g(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(52)1012 1746 y Fl(K)1012 1807 y Fc(k)o(ey)14 b(translations)s
+Fd(.)9 b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(35)1012 1852 y(k)o(eyb)q(oard)e(b)q(ell)d Fd(.)6
+b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(28,)13
+b(34)1012 1981 y Fl(L)1012 2042 y Fc(la)o(y)o(er,)h(c)o(hange)g(activ)o
+(e)8 b Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(43)1012
+2087 y(la)o(y)o(er,)14 b(name)f(of)c Fd(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)22 b Fc(32)1012 2133 y(la)o(y)o(ers,)14
+b(an)f(o)o(v)o(erview)5 b Fd(.)j(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19
+b Fc(5)1012 2179 y(la)o(y)o(ers,)14 b(c)o(hanging)h(activ)o(e)f(one)f
+Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)25 b Fc(10)1012 2224 y(la)o(y)o(ers,)14 b(colors)e
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)24
+b Fc(32)1012 2270 y(la)o(y)o(ers,)14 b(editing)h(of)e(groups)8
+b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)21 b Fc(38)1012 2316 y(la)o(y)o(ers,)14
+b(groups)9 b Fd(.)e(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)22
+b Fc(27,)13 b(32)1012 2361 y(la)o(y)o(ers,)h(switc)o(hing)h(on/o\013)5
+b Fd(.)i(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(10)1012 2407 y(la)o(y)o(out)d(\014les)8
+b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Fc(27,)13 b(28,)g(31,)g(34)1012
+2453 y(la)o(y)o(out)i(\014les,)e(format)g(of)e Fd(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)24 b Fc(46)1012 2498 y(la)o(y)o(out)15
+b(\014les,)e(sa)o(ving)i(of)c Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(25,)13
+b(26)p eop
+%%Page: 62 63
+62 62 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(62)75
+149 y Fc(la)o(y)o(out)14 b(ob)r(jects,)f(an)h(o)o(v)o(erview)8
+b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)21 b Fc(3)75 195 y(la)o(y)o(out)14 b(size)f
+Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25
+b Fc(29)75 241 y(la)o(y)o(out,)14 b(default)g(size)g(of)d
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(34)75 287 y(la)o(y)o(out,)14
+b(loading)h(a)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18
+b Fc(25)75 333 y(la)o(y)o(out,)c(loading)h(to)e(bu\013er)6
+b Fd(.)i(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)19 b Fc(25)75 379 y(la)o(y)o(out,)14
+b(merging)g(a)8 b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(25)75 425 y(la)o(y)o(out,)14 b(prin)o(ting)h(a)8
+b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Fc(41)75
+471 y(la)o(y)o(out,)14 b(start)f(a)g(new)5 b Fd(.)h(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)18 b Fc(40)75 517 y(la)o(y)o(out-name)c Fd(.)6
+b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(4,)12
+b(25)75 563 y(length)i(of)f(a)g(pin)h(name)t Fd(.)7 b(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)16
+b Fc(28,)d(33)75 609 y(length)h(of)f(outputline)6 b Fd(.)j(.)d(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)18 b Fc(27)75 654 y(library)d(command)7
+b Fd(.)g(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Fc(28,)13 b(32)75
+700 y(library)i(con)o(ten)o(ts)f(command)t Fd(.)7 b(.)f(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(28,)c(32)75
+746 y(library)i(con)o(ten)o(ts)f(\014le,)f(format)g(of)e
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24
+b Fc(50)75 792 y(library)15 b(\014le,)f(format)e(of)5
+b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Fc(50)75 838 y(library)d(name)7
+b Fd(.)g(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b
+Fc(27,)13 b(32)75 884 y(library)i(searc)o(h)f(path)t
+Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(28)75
+930 y(library)e(searc)o(hpath)d Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)24 b Fc(32)75 976 y(library)15 b(windo)o(w)c Fd(.)6
+b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(13)75
+1022 y(line)15 b(clipping)7 b Fd(.)i(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(27)75 1068 y(linelength)9
+b Fd(.)g(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)21 b Fc(30)75 1114 y(lines,)14 b(an)g(example)d Fd(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(15)75
+1160 y(lines,)14 b(an)g(o)o(v)o(erview)7 b Fd(.)g(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)19 b Fc(6)75 1205 y(lines,)14 b(clipping)i(to)d(45)
+h(degree)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)21 b Fc(30,)13 b(38)75 1251 y(lines,)h(setting)g(of)f(initial)j
+(size)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)20 b Fc(42)75 1297 y(lines,)14 b(size)f
+Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)24 b Fc(32)75 1343 y(Lin)o(ux)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19
+b Fc(55)75 1389 y(list)14 b(of)f(connections)s Fd(.)c(.)d(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)16 b Fc(30)75 1435 y(listing)f(libraries)f
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)24
+b Fc(28)75 1481 y(listing)15 b(library)g(con)o(ten)o(ts)c
+Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(32)75 1527 y(loading)15
+b(a)e(la)o(y)o(out)i(to)e(bu\013er)5 b Fd(.)i(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)17
+b Fc(25)75 1573 y(loading)e(elemen)o(ts)c Fd(.)6 b(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(27,)13 b(28,)f(30,)h(31,)g
+(32)75 1619 y(loading)i(elemen)o(ts)f(to)f(bu\013er)e
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)22 b Fc(25)75 1665 y(loading)15 b(\014les)c
+Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22
+b Fc(38)75 1710 y(loading)15 b(fon)o(ts)7 b Fd(.)f(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)19 b Fc(27,)13 b(31)75 1756 y(loading)i(la)o(y)o
+(outs)e Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b Fc(25,)13 b(27,)g(31)75
+1802 y(loading)i(sym)o(b)q(ols)8 b Fd(.)g(.)e(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+20 b Fc(27,)13 b(31)75 1848 y(loading,)i(an)e(example)5
+b Fd(.)j(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)17 b Fc(19)75 1894
+y(log)d(windo)o(w)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b
+Fc(13,)12 b(28,)h(33,)g(35)75 2024 y Fl(M)75 2085 y Fc(m4)e
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(30)75 2131 y(m4,)13
+b(prepro)q(cessing)i(example)g(\014les)9 b Fd(.)e(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b Fc(17)75 2177
+y(mak)o(e)11 b Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(53)75 2223 y(Mak)o(e\014le)14
+b Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)25 b Fc(52)75 2269 y(man)o(uals)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(53)75 2315 y(mark)12 b Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(39)75
+2361 y(media)t Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(33)75 2406 y(media)d(margin)f
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25
+b Fc(33)75 2452 y(media,)14 b(size)f(of)t Fd(.)7 b(.)f(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(20)75 2498 y(men)o(us)12
+b Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)23 b Fc(11)1012 149 y(merging)15 b(la)o(y)o(outs)s
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17
+b Fc(25)1012 205 y(messages)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18
+b Fc(13,)13 b(28,)g(33,)g(35)1012 260 y(mirroring)i(prin)o(tout)c
+Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fc(19)1012
+315 y(mo)q(de)14 b(selection)t Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)17 b Fc(10)1012 371 y(mo)q(de,)d(selecting)g(of)t
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(39)1012
+426 y(moun)o(ting)e(holes)9 b Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)22 b Fc(36)1012 481 y(mo)o(v)o(e)12 b Fd(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)25 b Fc(34)1012 536 y(mo)o(v)o(e)14 b(an)f(ob)r(ject)8
+b Fd(.)f(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22
+b Fc(44)1012 592 y(mo)o(ving)15 b(ob)r(jects)e(to)g(curren)o(t)h(la)o
+(y)o(er)c Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+23 b Fc(40)1012 647 y(mo)o(ving,)14 b(an)g(example)5
+b Fd(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Fc(19)1012 828
+y Fl(N)1012 909 y Fc(name)c(of)f(an)g(elemen)o(t)8 b
+Fd(.)f(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(38)1012 965
+y(name,)13 b(c)o(hange)h(an)g(ob)r(jects)e Fd(.)7 b(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25
+b Fc(37)1012 1020 y(namelength)15 b(of)e(pins)e Fd(.)6
+b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)23 b Fc(28,)13 b(33)1012 1075 y(NetBSD)s
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)17 b Fc(55)1012 1130 y(netlist)c Fd(.)6 b(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24
+b Fc(22,)13 b(25,)g(33,)g(34,)g(36,)g(38)1012 1312 y
+Fl(O)1012 1393 y Fc(ob)r(ject,)g(c)o(hange)h(name)g(of)6
+b Fd(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)20 b Fc(37)1012 1448 y(ob)r(ject,)13
+b(c)o(hanging)i(the)f(size)f(of)g(an)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Fc(14)1012 1503
+y(ob)r(ject,)13 b(cop)o(y)h(an)8 b Fd(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)21 b Fc(44)1012 1558 y(ob)r(ject,)13
+b(creating)i(an)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)20
+b Fc(14)1012 1614 y(ob)r(ject,)13 b(dra)o(wing)i(and)e(remo)o(ving)t
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+17 b Fc(13)1012 1669 y(ob)r(ject,)c(mo)o(v)o(e)h(an)e
+Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b
+Fc(44)1012 1724 y(ob)r(ject,)13 b(remo)o(ving)i(an)c
+Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)24 b Fc(14,)13 b(43)1012 1780 y(ob)r(ject,)g
+(selecting)i(an)d Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24
+b Fc(12)1012 1835 y(ob)r(jects,)13 b(mo)o(ving)i(to)e(curren)o(t)g(la)o
+(y)o(er)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)17 b Fc(40)1012 1890 y(ob)r(jects,)c(p)q(opup)i(men)o(u)6
+b Fd(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(12)1012 1945
+y(o)q(ctagonal)c(pins)g(and)e(vias)g Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25
+b Fc(37)1012 2001 y(o\013)14 b(limit)h(color)t Fd(.)7
+b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18
+b Fc(33)1012 2056 y(o\013set)c(of)f(pinnames)h Fd(.)6
+b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)25 b Fc(33)1012 2111
+y(o\013set)14 b(of)f(pinout)e Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)23 b Fc(33)1012 2167 y(o\013set)14 b(of)f(prin)o(tout)t
+Fd(.)7 b(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b
+Fc(20)1012 2222 y(Op)q(enWindo)o(ws)5 b Fd(.)k(.)d(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(54)1012 2277 y(op)q(eration)d(mo)q
+(des,)e(selecting)i(of)c Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(39)1012 2332 y(outline)15
+b(prin)o(tout)s Fd(.)9 b(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17
+b Fc(20)1012 2388 y(output)d(device)s Fd(.)8 b(.)f(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Fc(19)1012 2443 y(outputline,)f
+(length)e(of)9 b Fd(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b Fc(27)1012
+2498 y(o)o(v)o(erlap,)14 b(minim)o(um)g Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)25 b Fc(23)p eop
+%%Page: 63 64
+63 63 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(63)75
+149 y Fl(P)75 212 y Fc(pastebu\013er,)14 b(an)g(example)d
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)22 b Fc(18)75 258 y(pastebu\013er,)14
+b(con)o(v)o(ert)g(con)o(ten)o(ts)g(to)e(elemen)o(t)f
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(17)75 304 y(pastebu\013er,)14
+b(p)q(opup)h(men)o(u)10 b Fd(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(13)75
+350 y(pastebu\013er,)14 b(selecting)h(a)8 b Fd(.)f(.)f(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21
+b Fc(40)75 397 y(path)14 b(for)e(elemen)o(t)i(\014les)t
+Fd(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(31)75 443 y(path)d(for)e(fon)o
+(t)h(\014les)c Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21
+b Fc(31)75 489 y(path)14 b(for)e(la)o(y)o(out)j(\014les)8
+b Fd(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(31)75 536
+y(path)14 b(for)e(libraries)t Fd(.)d(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)17 b Fc(32)75 582 y(PC)c(UNIX)t Fd(.)5 b(.)h(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(54,)d(55)75 628 y(pin)h(color)8
+b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)21 b Fc(33)75 675 y(pin,)14 b(name)f(of)d Fd(.)c(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)22 b Fc(28,)13 b(33)75 721 y(pinout)i(of)d
+(elemen)o(ts)d Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21
+b Fc(12)75 767 y(pinout,)14 b(displa)o(y)i(of)8 b Fd(.)d(.)i(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(38)75 814 y(pinout,)14
+b(fon)o(t)f(to)g(displa)o(y)i(pin)g(names)c Fd(.)6 b(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(33)75 860 y(pinout,)14
+b(zo)q(omfactor)g(of)e(displa)o(y)5 b Fd(.)k(.)d(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(28,)c(33)75 906 y(pins,)h(an)f(example)
+t Fd(.)8 b(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(17)75 953 y(pins,)d(c)o(hanging)h(shap)q(e)f(of)t
+Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(37)75 999 y(p)q(oin)o(ter,)d(mo)o(ving)
+g(of)c Fd(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Fc(40)75
+1045 y(p)q(olygon)7 b Fd(.)h(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(34)75 1091 y(p)q(olygon)c(p)q
+(oin)o(t,)f(go)f(bac)o(k)h(to)f(previous)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)21 b Fc(41)75 1138 y(p)q(olygon,)15
+b(an)e(example)8 b Fd(.)g(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21
+b Fc(15)75 1184 y(p)q(olygon,)15 b(an)e(o)o(v)o(erview)5
+b Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(7)75 1230
+y(p)q(olygon,)d(closing)g(a)t Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)17 b Fc(41)75 1277 y(p)q(opping)e(up)f(men)o(us)9
+b Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)22 b Fc(11)75
+1323 y(p)q(ostpro)q(cessing)16 b(la)o(y)o(out)e(data)9
+b Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)21
+b Fc(28,)13 b(34)75 1369 y(prepro)q(cessing)i(elemen)o(t)f(data)d
+Fd(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b
+Fc(27,)13 b(28,)g(30)75 1416 y(prepro)q(cessing)i(fon)o(t)e(data)c
+Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)22 b Fc(27,)13 b(31)75 1462 y(prepro)q(cessing)i(la)o(y)o(out)g
+(data)9 b Fd(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)21 b Fc(27,)13 b(31)75 1508 y(prev)o(en)o(ting)i(loss)f(of)f
+(data)f Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)24 b Fc(19,)13 b(28,)g(34)75 1555 y(prin)o(t)h(command)8
+b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(20)75 1601 y(prin)o(t)14 b(media)8 b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)20 b Fc(20,)13 b(33)75 1647 y(prin)o(t)h
+(o\013set)8 b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)21 b Fc(20)75 1693 y(prin)o(ting)6 b Fd(.)j(.)d(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19
+b Fc(33)75 1740 y(prin)o(ting)c(a)e(la)o(y)o(out)5 b
+Fd(.)i(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(41)75
+1786 y(prin)o(ting,)e(an)e(example)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+21 b Fc(19)75 1832 y(problems)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Fc(53)75
+1964 y Fl(Q)75 2026 y Fc(quit)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Fc(25,)13
+b(41)75 2158 y Fl(R)75 2220 y Fc(rat-line)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17 b Fc(22,)c(36,)g(38)75
+2267 y(rats)g(nest)c Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Fc(22,)13 b(25,)g(33,)f(34,)h(36,)g(38)
+75 2313 y(reco)o(v)o(er)d Fd(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)22 b Fc(41,)13 b(43)75 2359 y(rectangle,)h(an)f
+(example)8 b Fd(.)g(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b Fc(15)75
+2406 y(redo)9 b Fd(.)e(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Fc(41)75 2452
+y(redra)o(wing)14 b(la)o(y)o(out)t Fd(.)8 b(.)f(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)17 b Fc(38)75 2498 y(refreshing)d(la)o(y)o(out)5
+b Fd(.)j(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b
+Fc(38)1012 149 y(release,)c(curren)o(t)9 b Fd(.)e(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)22 b Fc(29)1012 195 y(remo)o(ving)15
+b(connections)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(43)1012
+241 y(remo)o(ving)15 b(ob)r(jects)5 b Fd(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18
+b Fc(13,)13 b(14,)g(43)1012 287 y(remo)o(ving)i(selected)f(ob)r(jects)t
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)17 b Fc(42)1012 333 y(rep)q(ort)c Fd(.)6
+b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)25 b Fc(42)1012 379 y(rep)q(ort,)13 b(p)q(opup)i(men)o(u)5
+b Fd(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Fc(13)1012 425
+y(reseting)d(found)e(connections)6 b Fd(.)j(.)d(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)19 b Fc(28,)13 b(34,)g(37)1012 471
+y(resources)6 b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)19 b Fc(30)1012 517 y(rotate)t Fd(.)7
+b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)18 b Fc(34)1012 563 y(rotating)d(a)e(bu\013er)7
+b Fd(.)g(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)21 b
+Fc(40)1012 609 y(rotating)15 b(prin)o(tout)e Fd(.)6 b(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)25 b Fc(19)1012 654 y(routing)15
+b(st)o(yle)5 b Fd(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18
+b Fc(28,)13 b(34,)g(42)1012 700 y(rubb)q(erband)8 b Fd(.)h(.)d(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(34,)13 b(38)1012
+830 y Fl(S)1012 891 y Fc(sa)o(ving)i(connections)8 b
+Fd(.)g(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Fc(42)1012
+937 y(sa)o(ving)15 b(\014les)9 b Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 b Fc(42)1012 983 y(sa)o(ving)15
+b(found)f(connections)8 b Fd(.)g(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(37)1012
+1029 y(sa)o(ving)15 b(last)f(en)o(tered)f(user)h(command)e
+Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25 b Fc(28,)13
+b(34)1012 1075 y(sa)o(ving)i(la)o(y)o(outs)s Fd(.)8 b(.)e(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)16
+b Fc(19,)d(25,)g(26,)g(28,)g(34)1012 1121 y(sa)o(ving,)i(an)e(example)t
+Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Fc(19)1012
+1167 y(scaling)e(a)e(prin)o(tout)7 b Fd(.)h(.)e(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)20 b Fc(20)1012 1213 y(scanning)15 b(connections)5
+b Fd(.)k(.)e(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fc(37)1012 1259
+y(SCO)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)19 b Fc(54)1012 1305 y(scrolling)t
+Fd(.)9 b(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)17 b Fc(44)1012 1350 y(searc)o(hing)e(connections)d
+Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Fc(37)1012 1396 y(searc)o(hpath)15
+b(for)d(elemen)o(t)i(\014les)7 b Fd(.)h(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(31)1012
+1442 y(searc)o(hpath)15 b(for)d(fon)o(t)h(\014les)g Fd(.)6
+b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)25 b Fc(31)1012 1488 y(searc)o(hpath)15
+b(for)d(la)o(y)o(out)j(\014les)d Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24 b Fc(31)1012
+1534 y(searc)o(hpath)15 b(for)d(libraries)7 b Fd(.)i(.)d(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20
+b Fc(32)1012 1580 y(selected)15 b(ob)r(ject,)e(remo)o(ving)h(an)7
+b Fd(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)20 b Fc(42)1012 1626 y(selected)15 b(ob)r(jects,)e(c)o(hanging)i
+(size)c Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)24 b Fc(12)1012 1672 y(selected)15 b(ob)r(jects,)e(remo)o(ving)8
+b Fd(.)f(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)21 b Fc(12)1012 1718 y(selecting)15 b(a)e(bu\013er)g
+Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)25 b Fc(40)1012
+1764 y(selecting)15 b(a)e(new)g(mo)q(de)g Fd(.)6 b(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+25 b Fc(10)1012 1810 y(selecting)15 b(ob)r(jects)t Fd(.)8
+b(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(12,)13 b(42)1012
+1856 y(selection)7 b Fd(.)h(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)20 b Fc(42,)13 b(43)1012 1901 y(selection,)i(an)e(example)h
+Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(21)1012 1947 y(selection,)15
+b(p)q(opup)f(men)o(u)f Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)25 b Fc(12)1012
+1993 y(SGI)t Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(54)1012
+2039 y(shrink)d Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)25 b Fc(34)1012 2085 y(signal)6
+b Fd(.)j(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)20 b Fc(36)1012 2131 y(Silicon)c(Graphics)9
+b Fd(.)f(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b
+Fc(54)1012 2177 y(size)14 b(of)f(a)g(la)o(y)o(out)f Fd(.)6
+b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Fc(29)1012
+2223 y(size)14 b(of)f(lines)t Fd(.)8 b(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Fc(32)1012 2269 y(size)c(of)f(lines)i
+(and)e(vias)e Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Fc(42)1012
+2315 y(size)14 b(of)f(vias)c Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)22 b Fc(35)1012 2361 y(sizes,)14
+b(c)o(hanging)h(of)e(ob)r(jects)s Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(36,)c(37)1012
+2406 y(sizes,)h(p)q(opup)g(men)o(u)d Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)23 b Fc(12)1012 2452 y(Solaris)8 b Fd(.)h(.)d(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)21
+b Fc(54)1012 2498 y(spacing,)15 b(minim)o(um)d Fd(.)6
+b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Fc(23)p eop
+%%Page: 64 65
+64 64 bop 75 -58 a Fo(Index)16 b(of)f(Concepts)1395 b(64)75
+149 y Fc(sp)q(eak)o(er)14 b(v)o(olume)t Fd(.)7 b(.)g(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)17 b Fc(29,)c(35)75 195 y(square)h(\015ag,)f(c)o(hanging)i
+(of)e(ob)r(jects)c Fd(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)22 b Fc(37)75 241 y(start)13 b(user)g(input)5
+b Fd(.)j(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18
+b Fc(37)75 286 y(starting)c(a)f(new)g(la)o(y)o(out)h
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 b Fc(40)75 332 y(starting)14
+b Fe(Pcb)8 b Fd(.)d(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)21 b Fc(26)75 378 y(status)13 b(information)f Fd(.)7
+b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22 b Fc(9)75 423
+y(strings,)14 b(an)f(example)f Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22
+b Fc(16)75 469 y(strings,)14 b(an)f(o)o(v)o(erview)6
+b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(7)75
+515 y(Sun)t Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Fc(54)75
+560 y(sym)o(b)q(ols)c Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)24 b Fc(27,)13 b(31)75 606 y(sym)o(b)q(ols,)h(an)g(o)o
+(v)o(erview)t Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)17
+b Fc(4)75 734 y Fl(T)75 795 y Fc(temp)q(orary)d(\014les)f
+Fd(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)24 b Fc(19,)13 b(28,)g(34)75
+841 y(T)m(eX,)f(problems)t Fd(.)c(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)17 b Fc(55)75 886 y(texinfo)d(\014le)f Fd(.)6
+b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)24
+b Fc(53)75 932 y(text,)13 b(an)g(example)5 b Fd(.)i(.)g(.)f(.)g(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)17 b Fc(16)75 978 y(text,)c(an)g(o)o(v)o(erview)f
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b
+Fc(7)75 1023 y(text,)13 b(default)h(scaling)6 b Fd(.)i(.)e(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)19 b Fc(34)75 1069 y(text,)13 b(editing)6
+b Fd(.)i(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19
+b Fc(12)75 1115 y(thic)o(kness)c(of)d(lines)t Fd(.)c(.)e(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)16 b Fc(32)75 1160 y(thic)o(kness)f(of)d(ob)r
+(jects)d Fd(.)e(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Fc(14)75
+1206 y(thic)o(kness)15 b(of)d(vias)d Fd(.)e(.)g(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)21 b Fc(35)75 1252 y(thic)o(kness,)14 b(c)o(hanging)h(of)e
+(ob)r(jects)5 b Fd(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)18 b Fc(37)75 1297 y(translations)7 b
+Fd(.)i(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20
+b Fc(35,)13 b(43)75 1343 y(troublesho)q(oting)6 b Fd(.)j(.)d(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fc(53)75 1471 y Fl(U)75
+1532 y Fc(undo)t Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Fc(43)75
+1578 y(undo,)d(m)o(ulti-action)h(resources)8 b Fd(.)f(.)f(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)20
+b Fc(36)75 1623 y(undo,)14 b(p)q(opup)g(men)o(u)6 b Fd(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)18 b Fc(13)1012 149 y(unix)d(command)e
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)24
+b Fc(27,)13 b(28,)g(30,)g(31,)g(32,)g(34)1012 195 y(unselect)i(ob)r
+(jects)s Fd(.)7 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
+b Fc(43)1012 241 y(user)d(commands)7 b Fd(.)g(.)f(.)g(.)h(.)f(.)g(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)20 b Fc(24)1012 286 y(user)14 b(input)5
+b Fd(.)j(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)19 b Fc(44)1012 415 y Fl(V)1012 475 y Fc(v)o(ersion,)14
+b(curren)o(t)5 b Fd(.)j(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19
+b Fc(29)1012 521 y(vias,)14 b(an)f(example)6 b Fd(.)i(.)e(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(16)1012 567 y(vias,)14
+b(an)f(o)o(v)o(erview)g Fd(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)
+f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)25 b Fc(4)1012 612 y(vias,)14 b(c)o(hanging)h(shap)q(e)f(of)6
+b Fd(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(37)1012 658 y(vias,)14
+b(color)6 b Fd(.)h(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)19 b Fc(35)1012 704 y(vias,)14 b(con)o(v)o(erting)h(to)e
+(moun)o(ting)i(hole)10 b Fd(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)23 b Fc(36)1012 749 y(vias,)14 b(setting)g(of)f(initial)j(size)s
+Fd(.)7 b(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)17 b Fc(42)1012 795 y(vias,)d(size)7
+b Fd(.)h(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)g(.)21 b Fc(35)1012 841 y(viewing)15 b(side,)f(c)o(hanging)h(of)8
+b Fd(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)22 b Fc(43)1012 886 y(v)o(olume)15 b(of)d(sp)q(eak)o
+(er)f Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)23 b Fc(29,)13 b(35)1012
+1015 y Fl(X)1012 1076 y Fc(X11)f Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)25
+b Fc(29)1012 1121 y(X11)13 b(default)h(translations)6
+b Fd(.)j(.)e(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)g(.)h(.)19 b Fc(43)1012 1167 y(X11)13 b(resources)g
+Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)25
+b Fc(30)1012 1213 y(X11)13 b(translations)7 b Fd(.)i(.)d(.)h(.)f(.)g(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)g(.)h(.)20 b Fc(35)1012 1258 y(X11,)13
+b(problems)6 b Fd(.)i(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)
+19 b Fc(55)1012 1304 y(xmkmf)6 b Fd(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fc(52)1012
+1426 y Fl(Z)1012 1486 y Fc(zo)q(om)14 b(of)e(dra)o(wing)j(windo)o(w)9
+b Fd(.)e(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+g(.)g(.)h(.)f(.)22 b Fc(35)1012 1532 y(zo)q(om)14 b(of)e(pinout)j
+(windo)o(w)8 b Fd(.)g(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)g(.)g(.)22 b Fc(28,)13 b(33)1012 1578
+y(zo)q(om,)g(setting)5 b Fd(.)j(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)19 b Fc(12)1012 1623 y(zo)q(om,)13 b(setting)h(of)d
+Fd(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b
+Fc(42)p eop
+%%Page: -1 66
+-1 65 bop 1862 -58 a Fo(i)75 149 y Fk(T)-7 b(able)27
+b(of)f(Con)n(ten)n(ts)75 320 y Fl(Cop)n(ying)12 b Fa(.)g(.)e(.)g(.)g(.)
+g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)35
+b Fl(1)75 455 y(History)8 b Fa(.)j(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h
+(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
+h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)30 b Fl(2)75
+590 y(1)67 b(In)n(tro)r(duction)8 b Fa(.)k(.)e(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
+g(.)g(.)h(.)f(.)g(.)30 b Fl(4)224 659 y Fo(1.1)45 b(Sym)o(b)q(ols)9
+b Fh(.)g(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)24
+b Fo(4)224 714 y(1.2)45 b(Vias)6 b Fh(.)h(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)20 b Fo(4)224 768
+y(1.3)45 b(Elemen)o(ts)13 b Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)27 b Fo(4)224 823 y(1.4)45 b(La)o(y)o(ers)6 b
+Fh(.)h(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21
+b Fo(5)224 878 y(1.5)45 b(Lines)8 b Fh(.)h(.)e(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)22 b Fo(6)224 933 y(1.6)45
+b(Arcs)t Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)19 b Fo(6)224 988 y(1.7)45 b(P)o(olygons)14
+b Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29
+b Fo(7)224 1042 y(1.8)45 b(T)l(ext)14 b Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29 b Fo(7)75 1164
+y Fl(2)67 b(Getting)23 b(Started)7 b Fa(.)k(.)f(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)
+f(.)g(.)29 b Fl(9)224 1232 y Fo(2.1)45 b(The)15 b(Application)j(Windo)o
+(w)12 b Fh(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27
+b Fo(9)374 1287 y(2.1.1)44 b(The)15 b(Status-line)i(and)e
+(Input-\014eld)h Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)28 b Fo(9)374 1342 y(2.1.2)44
+b(The)15 b(Con)o(trol)g(P)o(anel)8 b Fh(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)23 b Fo(10)374 1396 y(2.1.3)44 b(The)15 b(Mo)q(de)g
+(Selectors)6 b Fh(.)j(.)f(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)22
+b Fo(10)374 1451 y(2.1.4)44 b(Dra)o(wing)14 b(Area)d
+Fh(.)d(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26
+b Fo(11)374 1506 y(2.1.5)44 b(Men)o(u)8 b Fh(.)g(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)23
+b Fo(11)224 1561 y(2.2)45 b(Log)15 b(Windo)o(w)8 b Fh(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)23 b Fo(13)224 1616 y(2.3)45 b(Library)16
+b(Windo)o(w)e Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)29 b Fo(13)224 1670 y(2.4)45
+b(Dra)o(wing)15 b(and)g(Remo)o(ving)g(Basic)h(Ob)s(jects)e
+Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)29 b Fo(13)374 1725 y(2.4.1)44 b(Lines)12 b Fh(.)c(.)g(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)27 b Fo(15)374 1780 y(2.4.2)44 b(Arcs)8 b Fh(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)23 b Fo(15)374 1835 y(2.4.3)44 b(P)o(olygons)15
+b(and)g(Rectangles)10 b Fh(.)e(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)25 b Fo(16)374
+1890 y(2.4.4)44 b(T)l(ext)8 b Fh(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23
+b Fo(16)374 1944 y(2.4.5)44 b(Vias)9 b Fh(.)f(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)24
+b Fo(16)374 1999 y(2.4.6)44 b(Elemen)o(ts)5 b Fh(.)j(.)g(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)20
+b Fo(17)374 2054 y(2.4.7)44 b(P)o(astebu\013er)6 b Fh(.)g(.)i(.)f(.)h
+(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21
+b Fo(18)224 2109 y(2.5)45 b(Mo)o(ving)15 b(and)g(Cop)o(ying)e
+Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)28 b Fo(19)224 2164 y(2.6)45 b(Loading)16 b(and)f(Sa)o(ving)e
+Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)28 b Fo(19)224 2218 y(2.7)45 b(Prin)o(ting)10
+b Fh(.)e(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)25
+b Fo(19)224 2273 y(2.8)45 b(Connection)16 b(Lists)10
+b Fh(.)e(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)26 b Fo(21)224 2328 y(2.9)45 b(Selection)16
+b Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)29 b
+Fo(21)224 2383 y(2.10)45 b(Rats)14 b(Nest)g Fh(.)7 b(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)29 b Fo(22)224 2438 y(2.11)45 b(Design)15
+b(Rule)h(Chec)o(king)d Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)27 b Fo(23)75 2559 y Fl(3)67 b(User)22
+b(Commands)10 b Fa(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)33
+b Fl(25)p eop
+%%Page: -2 67
+-2 66 bop 1850 -58 a Fo(ii)75 42 y Fl(4)67 b(Command-Line)24
+b(Options)11 b Fa(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
+(.)g(.)g(.)g(.)h(.)f(.)34 b Fl(27)224 110 y Fo(4.1)45
+b(Options)14 b Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)28
+b Fo(27)224 165 y(4.2)45 b(Sp)q(ecial)17 b(Options)11
+b Fh(.)d(.)g(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)g(.)f(.)26 b Fo(29)75 286 y Fl(5)67 b(X11)21
+b(In)n(terface)8 b Fa(.)i(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)30
+b Fl(30)224 355 y Fo(5.1)45 b(Non-Standard)15 b(X11)g(Application)i
+(Resources)10 b Fh(.)d(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)25 b Fo(30)224 409 y(5.2)45 b(Actions)6 b
+Fh(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21
+b Fo(35)224 464 y(5.3)45 b(Default)15 b(T)l(ranslations)7
+b Fh(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)22 b Fo(43)75 585 y Fl(6)67 b(File)24 b(F)-6 b(ormats)6
+b Fa(.)k(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)28
+b Fl(45)224 654 y Fo(6.1)45 b(Basic)16 b(T)o(yp)q(es)e
+Fh(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)29 b Fo(45)224 709
+y(6.2)45 b(La)o(y)o(out)14 b(File)j(F)l(ormat)5 b Fh(.)h(.)h(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)20
+b Fo(46)224 763 y(6.3)45 b(Elemen)o(t)16 b(File)g(F)l(ormat)c
+Fh(.)c(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+29 b Fo(48)224 818 y(6.4)45 b(F)l(on)o(t)14 b(File)j(F)l(ormat)7
+b Fh(.)f(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)23 b Fo(50)224 873 y(6.5)45 b(Library)16
+b(Con)o(ten)o(ts)e(File)i(F)l(ormat)11 b Fh(.)c(.)g(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)26 b Fo(50)224 928 y(6.6)45 b(Library)16 b(File)g(F)l(ormat)11
+b Fh(.)6 b(.)h(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)26 b Fo(50)75 1049 y Fl(App)r(endix)e(A)67 b(Installation)24
+b(and)f(T)-6 b(roublesho)r(oting)228 1115 y Fa(.)10 b(.)h(.)f(.)g(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)
+g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)41
+b Fl(52)224 1184 y Fo(A.1)k(Compiling)17 b(and)e(Installing)c
+Fh(.)f(.)d(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26
+b Fo(52)374 1239 y(A.1.1)44 b(Editing)16 b(con\014g.h)8
+b Fh(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23
+b Fo(52)374 1293 y(A.1.2)44 b(Man)o(uals)7 b Fh(.)g(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)22
+b Fo(53)374 1348 y(A.1.3)44 b(Compiling)17 b(the)e(P)o(ac)o(k)m(age)d
+Fh(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)28 b Fo(53)224 1403 y(A.2)45
+b(T)l(roublesho)q(oting)11 b Fh(.)e(.)f(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 b Fo(53)374
+1458 y(A.2.1)44 b(HP)15 b(Series)h(700)f(and)g(800)6
+b Fh(.)g(.)i(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
+h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21 b Fo(54)374 1513 y(A.2.2)44
+b(Sun)16 b(SP)l(AR)o(C)f(arc)o(hitecture)5 b Fh(.)i(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)20
+b Fo(54)374 1567 y(A.2.3)44 b(Silicon)18 b(Graphics)d
+Fh(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30
+b Fo(54)374 1622 y(A.2.4)44 b(DEC)15 b(Alpha)6 b Fh(.)i(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)21 b
+Fo(54)374 1677 y(A.2.5)44 b(SCO)16 b(Unix)10 b Fh(.)e(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)25
+b Fo(55)374 1732 y(A.2.6)44 b(Lin)o(ux)13 b Fh(.)8 b(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
+(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27
+b Fo(55)374 1787 y(A.2.7)44 b(F)l(reeBSD)16 b(and)f(NetBSD)8
+b Fh(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)23 b Fo(55)374 1841 y(A.2.8)44
+b(Problems)16 b(related)f(to)g(X11)8 b Fh(.)f(.)g(.)h(.)g(.)f(.)h(.)f
+(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)23
+b Fo(55)374 1896 y(A.2.9)44 b(Problems)16 b(related)f(to)g(T)l(eX)6
+b Fh(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
+f(.)h(.)f(.)h(.)f(.)h(.)21 b Fo(55)75 2017 y Fl(Index)i(of)f(Resources)
+10 b Fa(.)f(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g
+(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)33 b Fl(56)75
+2152 y(Index)23 b(of)f(Actions,)g(Commands)g(and)g(Options)12
+b Fa(.)f(.)f(.)h(.)f(.)35 b Fl(58)75 2287 y(Index)23
+b(of)f(Concepts)6 b Fa(.)j(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g
+(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)28
+b Fl(60)p eop
+%%Trailer
+end
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/cad/pcb/files/refcard.ps b/cad/pcb/files/refcard.ps
new file mode 100644
index 00000000000..92f716545c1
--- /dev/null
+++ b/cad/pcb/files/refcard.ps
@@ -0,0 +1,437 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
+%%Title: refcard.dvi
+%%Pages: 1
+%%PageOrder: Ascend
+%%Orientation: Landscape
+%%BoundingBox: 0 0 596 842
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -D 300 -o refcard.ps refcard.dvi
+%DVIPSParameters: dpi=300, compressed
+%DVIPSSource: TeX output 2000.08.31:1014
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+TeXDict begin 55380996 39158280 1000 300 300 (refcard.dvi)
+@start
+%DVIPSBitmapFont: Fa cmr9 9 19
+/Fa 19 121 df<126012F0A212701210A31220A21240A2040B7D830B>44
+D<126012F0A212601200A8126012F0A2126004107D8F0B>58 D<130CA3131EA2132F1327
+A2EB4380A3EB81C0A200017F1300A248B47E38020070A2487FA3487FA2003C131EB4EBFF
+C01A1A7F991D>65 D<EAFFE0000EC7FCB01408A3141814101430147014F0B5FC151A7F99
+18>76 D<B51280380E01E0EB007014781438143CA4143814781470EB01E0380FFF80000E
+C7FCABEAFFE0161A7F991A>80 D<007FB5FC38701C0700401301A200C0148000801300A3
+00001400B13803FFE0191A7F991C>84 D<39FF801FC0391C00070014066C1304A36C5BA2
+6C6C5AA36C6C5AA26C6C5AA3EB7080A213790139C7FCA2131EA3130CA21A1A7F991D>86
+D<EA1FC0EA38707FEA101C1200A2EA03FCEA1E1C1238127012E01480A2133CEA705F381F
+8F0011107F8F13>97 D<EA07F8EA1C1C1238EA700813005AA612701304EA3808EA1C18EA
+07E00E107F8F11>99 D<EA07C0EA1C30EA30181270EA600C12E0EAFFFCEAE000A41260EA
+7004EA3808EA1C18EA07E00E107F8F11>101 D<1218123CA212181200A612FC121CAE12
+FF081A80990A>105 D<12FC121CB3A6EAFF80091A80990A>108 D<EAFC7CEA1D87381E03
+80A2121CAB38FF9FF01410808F15>110 D<EA07E0EA1C38EA300CEA700EEA6006EAE007
+A6EA6006EA700EEA381CEA1C38EA07E010107F8F13>I<EAFCFCEA1D07381E0380381C01
+C0A2EB00E0A6EB01C01480381E0300EA1D06EA1CF890C7FCA6B47E1317808F15>I<EAFC
+78EA1D9CEA1E1C1308EA1C00ABEAFF800E10808F0F>114 D<1208A41218A21238EAFFC0
+EA3800A81320A41218EA1C40EA07800B177F960F>116 D<38FF0F80383C0700EA1C0613
+04A26C5AA26C5AA3EA03A0A2EA01C0A36C5A11107F8F14>118 D<38FE3F80383C1E00EA
+1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC012107F
+8F14>120 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fb cmmi6 6 1
+/Fb 1 98 df<EA0720EA18E0EA30601260A2EAC0C0A213C81241EA62D0EA3C600D0B7E8A
+11>97 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fc cmmi7 7 1
+/Fc 1 98 df<EA07B0EA0C701210EA30601260A3EAC0C013C8A21241EA62D0EA3C700D0D
+7E8C12>97 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fd cmsy10 10 1
+/Fd 1 2 df<126012F0A2126004047C8B0C>1 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fe cmti10 10 9
+/Fe 9 117 df<48B5FC39003C038090383801C0EC00E0A35B1401A2EC03C001E01380EC
+0F00141EEBFFFC3801C00E801580A2EA0380A43907000F00140E141E5C000E13F0B512C0
+1B1C7E9B1D>66 D<903803F02090381E0C6090383002E09038E003C03801C001EA038048
+C7FC000E1480121E121C123C15005AA35AA41404A35C12705C6C5B00185B6C485AD80706
+C7FCEA01F81B1E7A9C1E>I<48B512F038003C00013813301520A35BA214081500495AA2
+1430EBFFF03801C020A448485A91C7FCA348C8FCA45AEAFFF01C1C7E9B1B>70
+D<D801FEEB01FED8003E14E0012EEB03C01505A21509014EEB0B801513152313470187EB
+4700A21587EC0107D80107130E14021404A20002495AEB0388149014A000045C14C0A200
+0C1380001CEB007839FF8307FF271C7E9B25>77 D<EB0F84EB304CEB403CEB8018EA0100
+5AA200061310A214001207A2EA03E013FC6CB4FC38007F80EB07C01301A21300A21220A2
+38600180A2EB03001302EAF004EACC18EA83E0161E7D9C17>83 D<EB3F80EB7F001360A3
+5BA4485AA448C7FCA41206A45AA45AA45AA45AA45AA212FEA211297E9E0D>91
+D<EB3F80EB7F001303A31306A45BA45BA45BA45BA45BA4485AA448C7FCA41206A212FEA2
+1129819E0D>93 D<EA383EEA4CC3384D0380124E129E129C121CA238380700A3130E0070
+1340A2131C1480EAE00C3860070012127C9117>110 D<12035AA3120EA4EAFFE0EA1C00
+A35AA45AA4EAE080A2EAE100A2126612380B1A7C990E>116 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Ff cmr10 10 59
+/Ff 59 123 df<EB7E1F3901C1B180390303E3C0000713C3000EEBC180903801C000A6B5
+12FC380E01C0B0387F87FC1A1D809C18>11 D<137E3801C180EA0301380703C0120EEB01
+8090C7FCA5B512C0EA0E01B0387F87F8151D809C17>I<EB7FC0EA01C1EA03031207EA0E
+01A7B5FCEA0E01B0387FCFF8151D809C17>I<9038030180A39038060300A4EB0C06A549
+5AB612FCA23900301800A4495AA4B612FCA23900C0600048485AA438030180A4D80603C7
+FCA31E257E9C23>35 D<13E0EA0310EA0608A2120EA45BA25B6C5AEC3FE09038800F80EC
+06000003130412073809C00800115BEA30E03820F020EA607038E03840EB3C80131C9038
+0F00207F0070EB8040383009C0391830E180390FC03F001B1F7E9D20>38
+D<1380EA0100120212065AA25AA25AA35AA412E0AC1260A47EA37EA27EA27E12027EEA00
+80092A7C9E10>40 D<7E12407E12307EA27EA27EA37EA41380AC1300A41206A35AA25AA2
+5A12205A5A092A7E9E10>I<126012F0A212701210A41220A212401280040C7C830C>44
+D<EAFFE0A20B0280890E>I<126012F0A2126004047C830C>I<130113031306A3130CA313
+18A31330A31360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA210297E9E
+15>I<EA03C0EA0C30EA1818EA300CA2EA700EEA6006A2EAE007ADEA6006A2EA700EEA30
+0CA2EA1818EA0C30EA07E0101D7E9B15>I<5A1207123F12C71207B3A5EAFFF80D1C7C9B
+15>I<EA07C0EA1830EA201CEA400C130EEAF00F12F81307A21270EA000F130EA2131CA2
+13381370136013C0EA0180EA0300EA0601120C1218EA1002EA3FFE127F12FF101C7E9B15
+>I<EA07E0EA1830EA201CA2EA781E130E131E1238EA001CA2131813301360EA07C0EA00
+30131CA2130E130FA2127012F8A3EAF00EEA401C1220EA1830EA07C0101D7E9B15>I<13
+0CA2131C133CA2135C13DC139CEA011C120312021204120C1208121012301220124012C0
+B512C038001C00A73801FFC0121C7F9B15>I<EA300CEA3FF813F013C0EA2000A6EA23E0
+EA2C30EA3018131CEA200E1200130FA3126012F0A3EA800EEA401E131CEA2038EA1870EA
+07C0101D7E9B15>I<13F0EA030CEA0404EA0C0EEA181E1230130CEA7000A21260EAE3E0
+EAE430EAE818EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA1818EA0C30EA03
+E0101D7E9B15>I<EA03E0EA0C30EA1008EA200C13061260A21270A2EA7C0CEA3E18EA3F
+B0EA1FE0EA07F013F8EA18FCEA307EEA601E130FEAC0071303A4EA60021304EA300CEA1C
+10EA07E0101D7E9B15>56 D<EA03C0EA0C30EA1818EA300C1270EA600EEAE006A21307A5
+1260EA700F1230EA1817EA0C27EA07C7EA0006A2130EEA300C127813181270EA2030EA10
+C0EA0F80101D7E9B15>I<126012F0A212601200AA126012F0A2126004127C910C>I<1306
+A3130FA3EB1780A2EB37C01323A2EB43E01341A2EB80F0A338010078A2EBFFF83802003C
+A3487FA2000C131F80001E5BB4EBFFF01C1D7F9C1F>65 D<90381F8080EBE06138018019
+38070007000E13035A14015A00781300A2127000F01400A8007014801278A212386CEB01
+00A26C13026C5B380180083800E030EB1FC0191E7E9C1E>67 D<B512C0380F00F0143C14
+0E80A2EC038015C01401A215E0A815C0A21403158014071500140E5C1470B512C01B1C7E
+9B20>I<EAFFF8EA0F8090C7FCB01408A31418A2141014301470EB01F0B5FC151C7E9B1A>
+76 D<B46CEBFF80000FECF800A2390BC00178A33809E002A23808F004A3EB7808A3EB3C
+10A3EB1E20A3EB0F40A2EB0780A3EB0300121C3AFF8307FF80211C7E9B26>I<EB3F80EB
+E0E03803803848487E000E7F487F003C148000381303007814C0A20070130100F014E0A8
+007014C000781303A200381480003C1307001C14006C130E6C5B6C6C5A3800E0E0EB3F80
+1B1E7E9C20>79 D<B51280380F00E01478143C141C141EA5141C143C147814E0EBFF8090
+C7FCACEAFFF0171C7E9B1C>I<B5FC380F01E0EB007880141C141EA4141C143C5CEB01E0
+01FFC7FCEB01E0EB0070147880A61510A2141CA239FFF00E20C7EA03C01C1D7E9B1F>82
+D<007FB512C038700F010060130000401440A200C014201280A300001400B1497E3803FF
+FC1B1C7F9B1E>84 D<39FFE00FF0391F0003C0EC01806C1400A238078002A213C000035B
+A2EBE00C00011308A26C6C5AA213F8EB7820A26D5AA36D5AA2131F6DC7FCA21306A31C1D
+7F9B1F>86 D<12FEA212C0B3B312FEA207297C9E0C>91 D<12FEA21206B3B312FEA20729
+809E0C>93 D<EA1FC0EA3070EA78387F12301200A2EA01FCEA0F1C12381270126000E013
+40A3EA603C38304E80381F870012127E9115>97 D<12FC121CAA137CEA1D87381E018038
+1C00C014E014601470A6146014E014C0381E018038190700EA10FC141D7F9C17>I<EA03
+F8EA0C0CEA181E1230EA700CEA600012E0A61260EA70021230EA1804EA0C18EA03E00F12
+7F9112>I<EB1F801303AAEA03F3EA0E0BEA1807EA30031270126012E0A6126012701230
+EA1807EA0E1B3803E3F0141D7F9C17>I<EA07E0EA0C30EA1818EA300CEA700EEA600612
+E0EAFFFEEAE000A41260EA70021230EA1804EA0C18EA03E00F127F9112>I<13F8EA018C
+EA071E1206EA0E0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C0D>I<EB03803807C4C0EA
+1C783838388038301800EA701CA4EA3018EA38386C5AEA27C00020C7FCA21230EA3FF86C
+B4FC1480EA2003386001C0EAC000A33860018038300300EA1C0EEA07F8121C7F9215>I<
+12FC121CAA137C1387EA1D03001E1380121CAD38FF9FF0141D7F9C17>I<1218123CA212
+18C7FCA712FC121CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA00C01300A7EA07E01200
+B3A21260EAF0C012F1EA6180EA3E000B25839C0D>I<12FC121CAAEB0FE0EB0780EB0600
+5B13105B5B13E0121DEA1E70EA1C781338133C131C7F130F148038FF9FE0131D7F9C16>
+I<12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C838838391D019018001EEBE0
+1C001C13C0AD3AFF8FF8FF8021127F9124>I<EAFC7CEA1C87EA1D03001E1380121CAD38
+FF9FF014127F9117>I<EA03F0EA0E1CEA1806487E00701380EA600100E013C0A6006013
+80EA700300301300EA1806EA0E1CEA03F012127F9115>I<EAFC7CEA1D87381E0180001C
+13C0EB00E0A21470A614E0A2EB01C0001E1380381D0700EA1CFC90C7FCA7B47E141A7F91
+17>I<3803E080EA0E19EA1805EA3807EA7003A212E0A61270A2EA38071218EA0E1BEA03
+E3EA0003A7EB1FF0141A7F9116>I<EAFCE0EA1D38EA1E78A2EA1C301300ACEAFFC00D12
+7F9110>I<EA1F90EA2070EA4030EAC010A212E0EAF800EA7F80EA3FE0EA0FF0EA00F8EA
+8038131812C0A2EAE010EAD060EA8FC00D127F9110>I<1204A4120CA2121C123CEAFFE0
+EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD1307120CEA0E
+1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A2EA0F06EA0704A2
+EA0388A213C8EA01D0A2EA00E0A3134013127F9116>I<39FF3FC7E0393C0703C0001CEB
+01801500130B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB8030
+000013201B127F911E>I<38FF0FE0381E0700EA1C06EA0E046C5AEA039013B0EA01E012
+007F12011338EA021C1204EA0C0E487E003C138038FE1FF014127F9116>I<38FF07E038
+3C0380381C0100A2EA0E02A2EA0F06EA0704A2EA0388A213C8EA01D0A2EA00E0A31340A2
+5BA212F000F1C7FC12F312661238131A7F9116>I<EA7FFCEA70381260EA407013F013E0
+EA41C012031380EA0700EA0F04120E121CEA3C0CEA380812701338EAFFF80E127F9112>
+I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fg cmbx10 10 25
+/Fg 25 123 df<90383FE3F83901F03F1C3903C03E3E0007137CEA0F80151C1500A5B612
+C0A2390F807C00AE397FE1FF80A21F1D809C1C>11 D<13201340EA018012031300120612
+0E5AA2123C1238A21278A312F85AA97E1278A31238A2123C121CA27E12067E13801201EA
+004013200B297C9E13>40 D<7E12401230123812187E120E7EA213801203A213C0A313E0
+1201A9120313C0A31380A212071300A2120E120C5A1238123012405A0B297D9E13>I<EB
+01801303A2EB0700A3130EA25BA35BA35BA25BA3485AA3485AA348C7FCA2120EA35AA35A
+A25AA35AA25A11297D9E18>47 D<127812FCA412781200A6127812FCA4127806127D910D
+>58 D<EA0FF8EA1C1E383E0F80130714C0121C1200137FEA07E7EA1F07123C127C12F8A3
+EA780B383E13F8EA0FE115127F9117>97 D<B4FCA2121FA9EB3F80EBE1E0EB8070EB0078
+143CA2143EA6143CA21478EB8070381EC1E0381C3F00171D7F9C1B>I<EA03FCEA0E0EEA
+1C1F123C1278130E00F8C7FCA61278EB0180123C381C0300EA0E0EEA03F811127E9115>
+I<EB0FF0A21301A9EA01F9EA0F07EA1C03EA3C011278A212F8A61278A2123CEA1C03380F
+0FFEEA03F9171D7E9C1B>I<EA03FCEA0F07381C0380383C01C0127814E012F8A2B5FC00
+F8C7FCA3127814607E6C13C0380F03803801FC0013127F9116>I<3803F0F0380E1F38EA
+3C0F3838073000781380A400381300EA3C0FEA1E1CEA33F00030C7FCA3EA3FFF14C06C13
+E014F0387801F838F00078A300701370007813F0381E03C03807FF00151B7F9118>103
+D<121E123FA4121EC7FCA6127FA2121FAEEAFFC0A20A1E7F9D0E>105
+D<B4FCA2121FB3A7EAFFE0A20B1D7F9C0E>108 D<39FF0FC07E903831E18F3A1F40F207
+80D980FC13C0A2EB00F8AB3AFFE7FF3FF8A225127F9128>I<38FF0FC0EB31E0381F40F0
+EB80F8A21300AB38FFE7FFA218127F911B>I<EA01FC380F0780381C01C0003C13E03878
+00F0A200F813F8A6007813F0A2383C01E0381E03C0380F07803801FC0015127F9118>I<
+38FF3F80EBE1E0381F80F0EB0078147C143C143EA6143C147C1478EB80F0EBC1E0EB3F00
+90C7FCA6EAFFE0A2171A7F911B>I<EAFE3E1347381E8F80A3381F070090C7FCAAEAFFE0
+A211127F9114>114 D<EA1FD8EA3078EA601812E0A2EAF000EAFF80EA7FE013F0EA1FF8
+EA07FCEA007CEAC01CA212E01318EAF830EACFC00E127E9113>I<1203A45AA25AA2EA3F
+FC12FFEA1F00A9130CA4EA0F08EA0798EA03F00E1A7F9913>I<38FF07F8A2EA1F00AC13
+01120F380786FFEA01F818127F911B>I<38FFC1FCA2381F00601380000F13C0A23807C1
+80A23803E300A213F7EA01F613FE6C5AA21378A2133016127F9119>I<38FFC7FCA2381F
+81C0380F83803807C700EA03EEEA01FC5B1200137C13FEEA01DF38039F80EA070F380607
+C0380C03E038FF07FCA216127F9119>120 D<38FFC1FCA2381F00601380000F13C0A238
+07C180A23803E300A213F7EA01F613FE6C5AA21378A21330A25B1270EAF8E05BEAF98000
+73C7FC123E161A7F9119>I<387FFF8038781F00EA703FEA603E5B13FC5BEA01F0120348
+5AEBC180EA0F81121F1303003E1300EA7E07EA7C0FB5FC11127F9115>I
+E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fh cmsy8 8 1
+/Fh 1 14 df<EB0FC0EB7FF83801F03E38038007390600018048EB00C0481460481430A2
+481418A248140CA700601418A26C1430A26C14606C14C06CEB018039038007003801F03E
+38007FF8EB0FC01E1D7E9623>13 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fi cmr8 8 15
+/Fi 15 118 df<126012F0A212701210A21220A21240A2040A7D830A>44
+D<1206120E12FE120EB1EAFFE00B157D9412>49 D<EA01F0EA0608EA080CEA181C1230EA
+7000126012E0EAE3E0EAEC30EAF018130CEAE00EA31260A2EA300C1318EA1830EA07C00F
+157F9412>54 D<1240EA7FFE13FC13F8EAC008EA80101320EA00401380A2EA01005AA212
+021206A2120EA512040F167E9512>I<EA07E0EA1830EA2018EA600CA21270EA7818EA3E
+10EA1F60EA07C0EA0FF0EA18F8EA607C131EEAC00E1306A21304EA600CEA3830EA0FE00F
+157F9412>I<EA07C0EA1830EA30181260EAE00CA2130EA3EA601E1230EA186EEA0F8EEA
+000E130C131CEA7018A2EA6030EA20E0EA1F800F157F9412>I<00FC13FE001E1338001F
+13101217EA1380EA11C0A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00
+F014701430123800FE131017177F961A>78 D<387FFFF83860381800401308A200801304
+A300001300AF3803FF8016177F9619>84 D<EA3FC0EA70601330EA20381200EA03F8EA1E
+3812301270EAE039A21379EA70FFEA1F1E100E7F8D12>97 D<EA07F0EA18381230EA7010
+EA600012E0A41260EA70081230EA1830EA07C00D0E7F8D10>99 D<12F81238A813F8EA3B
+1CEA3C0E1238AA38FE3F8011177F9614>104 D<38F8F83E383B1CC7393C0F0380EA380E
+AA39FE3F8FE01B0E7F8D1E>109 D<EA07C0EA1830EA3018EA600CA2EAE00EA5EA701CEA
+3018EA1830EA07C00F0E7F8D12>111 D<EA1F40EA60C0EAC040A2EAE000B4FCEA7F80EA
+1FC0EA01E0EA8060A212C0EAE0C0EA9F000B0E7F8D0E>115 D<EAF83EEA380EAA131EEA
+1C2E3807CF80110E7F8D14>117 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fj cmbx12 24.88 17
+/Fj 17 115 df<B612FEA91F097F9B27>45 D<EA07C0EA1FF0EA3FF8EA7FFCA2EAFFFEA5
+EA7FFCA2EA3FF8EA1FF0EA07C00F0F788E20>I<EC01E01403140F143F14FF130F0003B5
+FCB6FCA213F1EAFC011200B3B3B1003FB71280A4294478C33A>49
+D<EC7FF80103B57E011F14F090393F807FF89039FC000FFED801F06D7E4848158048486D
+13C013F8486C15E06D7F486C15F0A314801400A26C4A13E06C5A6C5A6C4815C0C85A1780
+17004B5A5E4B5A4B5AEDFFC0020790C7FC903803FFFC5DEDFF8090C7EA7FF0ED1FFCED07
+FE923803FF8017C06F13E017F0A217F88117FCA217FEEA0380EA0FE0EA3FF8487EA2487E
+A217FCA317F86C485B4915F06C5A494913E0D81F8015C0D80FE0491380D807F8011F1300
+3A03FF807FFEC690B512F8013F14E0010F91C7FC010013F02F457BC33A>51
+D<EDFFC0020F13F8023F13FE9138FFC03F903A03FE000F80D907F8EB07C0D91FF0130349
+48EB0FE04948133F4948EB7FF04890C7FC16FF485A1207A24848EC7FE0A2001FED3FC0EE
+0F00003F92C7FCA25B127FA391380FFF80023F13E000FF4913F89138F007FC9039F9C001
+FE9039FB8000FF178001FFC7EA7FC04915E017F0EE3FF85B17FCA35B17FEA3127FA6123F
+A217FC6C7EA3000F16F8167F000716F06C6C15E017C06C6C14FF6C6D481380903A7FC003
+FE0090393FF00FFC010FB55A6D14E0010114809026001FFCC7FC2F457BC33A>54
+D<B912C018FCF0FF8019E0D8001F90C7000313F805007FF03FFE727E1A807213C0841AE0
+A2841AF0A84E13E0A21AC0601A804E13004E5A4E5A4E5A050313E0057F138092B600FCC7
+FCF0FF8019F092C8EA7FFCF01FFF060713807213C01AE07213F07213F81AFCA2F17FFEA3
+1AFFA81AFEA219FF1AFC601AF84E13F04E13E04E13C0063F13804DB51200BA12FC19F019
+8006F8C7FC48477CC653>66 D<DC7FFE1406030FB500C0131E037F02F8133E0203B600FE
+137E020F903AF800FF80FE023F0180EB1FC1DAFFFCC7EA07F34901F0EC01FF010701C0EC
+007F4990C9123F4948161F4948160F49481607495A4818034A16015A48491600A2485B1A
+7E5A91CBFC48193EA35A491800A312FFAD127FA37F6C191EA37E806C193E1A3C6C7FA26C
+6D17787E6E17F06C18016D6C17E06D6CEE03C06D6CEE07806D6C6CED0F006D6D153E0101
+01F05D6D01FC4A5A91263FFF80EB0FF0020F01F8EB7FC0020390B6C7FCDA007F14FC030F
+14E09226007FFEC8FC47497AC754>I<B9FC18F818FEF0FFC0D8001F902680001F7F0501
+13F8717FF03FFE727E1A80841AC0841AE0A21AF0A81AE0A31AC0601A80601A004E5AF0FF
+FC050313F0051F5B92B7128006FCC7FC18E00380CAFCB3ABB712F0A444477CC64F>80
+D<90380FFFF090B6FC000315C03A07F8007FF0486CEB1FFCED07FE486C6D7E838183816C
+48816C5A6C5AC9FCA5157F023FB5FC0103B6FC011F13F090387FFE003801FFE0481380D8
+0FFEC7FC485A5B123F485AA2485AA45DA26C6C5BED077F6C6C130F6C6C013E13F83C0FFF
+80F83FFFE000039038FFF01FC6ECC00F90390FFE0003332E7CAD38>97
+D<91381FFFC049B512FC010714FF903A1FF8007F80D97FE0EBFFC0EBFF8048494813E048
+5A1207485AA248486D13C0003FED7F80EE3F00007F92C7FC5BA312FFAA127FA27FA2123F
+A26C6C15F0120F6DEC01E012076C6CEC03C06C6DEB07806C6DEB0F00D97FF0133E90391F
+FC01FC0107B512F0010114C09026001FFCC7FC2C2E7CAD34>99 D<EFFF804BB5FCA4ED00
+0782B3A2EC1FFC49B51283010714E390391FFC03F390397FE0007FD9FF807F4890C7120F
+484880000781485AA2485A123FA25B127FA312FFAA127FA46C7EA2121FA26C7E00075D6C
+6C5C6C6C5C6C6D137F6D6C01FB13C090273FF807E313FF010FB512C3010114039038003F
+F038487CC741>I<EC1FFC49B512C0010714F090391FF80FFC90397FC001FE49486C7E48
+90C7EA7F804848EC3FC04848EC1FE0120F484815F0160F003F16F8A25B007F150717FCA2
+12FFA290B7FCA301F0C9FCA5127FA36C7EA2001F163CA26C7E17786C6C15F86C6CEC01F0
+6C6DEB03E06C6DEB07C0D93FE0EB1F80903A1FFC01FF000107B512FC010014E0020F90C7
+FC2E2E7DAD35>I<EDFFC0021F13F0027F13FC903901FFC0FE49EB01FF903807FC034948
+481380131FEB3FF0137F14E001FF6D13006F5A6F5A163093C7FCABB612FEA4C601E0C8FC
+B3B3A2007FEBFFF0A429487DC724>I<9027FF8003FFEC03FFB5011F01E0011F13E0037F
+01F8017F13F8913D81F80FFC01F80FFC913D83C007FE03C007FE0003903D878003FF0780
+03FF6CD98E00EC0E00029C039C8102B86D01B87F06F88102F05DA24A5DA34A5DB3A9B66C
+B66CB61280A4592E7BAD62>109 D<9039FF8007FEB590383FFFC04B13F0913981F81FF8
+913983C00FFC00039039870007FE6C138E029C8002B87F188014F0A25CA35CB3A9B60081
+B6FCA4382E7BAD41>I<EC0FFE49B512F0010714FC90391FF803FF90267FE00013C0D9FF
+80EB3FE04890C76C7E48486E7E48486E7E000F82491403001F82003F17804980A2007F17
+C0A300FF17E0AA007F17C0A46C6C4A1380A2001F17006D5C000F5E6C6C4A5A00035E6C6C
+4A5A6C6D495AD97FE0EBFFC090261FFC0790C7FC0107B512FC010114F0D9001F90C8FC33
+2E7DAD3A>I<90397F803F80B5EBFFE0028113F8913883C3FC91388707FE0003138E6C90
+389C0FFF14B8A214F0A2ED07FE9138E003FCED01F892C7FCA25CB3A8B612E0A4282E7DAD
+2F>114 D E
+%EndDVIPSBitmapFont
+end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 300dpi
+TeXDict begin
+%%PaperSize: A4
+ @landscape
+%%EndSetup
+%%Page: 1 1
+1 0 bop 410 12 a Fj(PCB-1.6.3)39 b(command)d(reference)2007
+11 y Fi(c)1997 12 y Fh(\015)p Fi(1996,)10 b(1997,)h(1998)f(Thomas)g
+(Nau)p -75 74 936 2 v -75 1905 2 1832 v 236 121 a Fg(misc)15
+b(op)q(erations)-22 171 y Ff(bac)o(kspace)106 b(remo)o(v)o(e)12
+b(ob)r(ject)-22 221 y Fe([S][C]Btn)p Ff(1)93 b(remo)o(v)o(e)12
+b(ob)r(ject)-22 271 y(escap)q(e)170 b(reset)15 b(mo)q(de)-22
+320 y Fe(Btn)p Ff(1)198 b(create)15 b(ob)r(ject)g(or)e(part)-22
+370 y(u)262 b(undo)13 b(op)q(eration)-22 420 y Fe([S])p
+Ff(r)220 b(redo)14 b(op)q(eration)-22 470 y Fe([S][C])p
+Ff(u)157 b(clear)14 b(undo-list)-22 520 y(tab)225 b(switc)o(h)14
+b(viewing)f(side)-22 569 y(cursor)i(k)o(ey)99 b(mo)o(v)o(e)12
+b(crosshair)i(1)g(grid)-22 619 y Fe([S])p Ff(cursor)h(k)o(ey)50
+b(mo)o(v)o(e)12 b(crosshair)i(10)g(grid)278 719 y Fg(connections)-22
+769 y Fe([S])p Ff(f)223 b(reset)15 b(found)e(connections)-22
+819 y(f)272 b(\014nd)14 b(connections)-22 868 y Fe([S])p
+Ff(bac)o(kspace)57 b(remo)o(v)o(e)12 b(connections)202
+968 y Fg(user)j(\(:\))21 b(commands)-22 1018 y Ff(:DR)o(C\(\))149
+b(c)o(hec)o(k)14 b(la)o(y)o(out)f(for)h(rule)g(violations)-22
+1068 y(:l)f([\014le])171 b(load)12 b(data)i(\014le)-22
+1117 y(:le)f([\014le])153 b(load)12 b(elemen)o(t)i(to)g(bu\013er)-22
+1167 y(:m)e([\014le])148 b(load)12 b(la)o(y)o(out)h(to)h(bu\013er)-22
+1217 y(:q)251 b(quit)13 b(application)-22 1267 y(:rn)g([\014le])144
+b(load)12 b(netlist)-22 1317 y(:s)i([\014le])166 b(sa)o(v)o(e)14
+b(data)f(as)h(\014le)327 1416 y Fg(displa)o(y)-22 1466
+y Ff(c)267 b(cen)o(ter)15 b(displa)o(y)-22 1516 y(g)264
+b(increase)15 b(grid)e(spacing)-22 1566 y Fe([S])p Ff(g)215
+b(decrease)16 b(grid)d(spacing)-22 1616 y Fe([C])p Ff(m)193
+b(mark)12 b(lo)q(cation)-22 1665 y(r)269 b(clear)14 b(and)g(redra)o(w)g
+(output)-22 1715 y(z)267 b(zo)q(om)12 b(in)-22 1765 y
+Fe([S])p Ff(z)218 b(zo)q(om)12 b(out)p 858 1905 V -75
+1907 936 2 v 971 74 985 2 v 971 1942 2 1868 v 1380 121
+a Fg(selection)1024 171 y Fe(Btn)p Ff(3)256 b(toggle)13
+b(ob)r(ject)i(selection)1024 221 y(drag)e Fe(Btn)p Ff(3)162
+b(select)15 b(only)e(ob)r(jects)i(in)e(b)q(o)o(x)1024
+271 y(drag)g Fe([S]Btn)p Ff(3)113 b(unselect)15 b(ob)r(jects)g(in)e(b)q
+(o)o(x)1024 320 y(drag)g Fe([M]Btn)p Ff(3)99 b(select)15
+b(ob)r(jexts)f(in)g(b)q(o)o(x)1024 370 y Fe([S])p Ff(m)258
+b(mo)o(v)o(e)12 b(selected)k(to)d(curren)o(t)j(la)o(y)o(er)1314
+470 y Fg(cop)o(y)f(and)h(mo)o(v)o(e)1024 520 y Ff(drag)d
+Fe(Btn)p Ff(2)162 b(mo)o(v)o(e)12 b(ob)r(ject)1024 569
+y(drag)h Fe([S]Btn)p Ff(2)113 b(mo)o(v)o(e)12 b(selected)k(ob)r(jects)
+1024 619 y(drag)d Fe([M]Btn)p Ff(2)99 b(cop)o(y)13 b(ob)r(ject)1024
+669 y(drag)g Fe([S][M]Btn)p Ff(2)50 b(o)o(v)o(erride)14
+b(rubb)q(erband)h(&)f(mo)o(v)o(e)1024 719 y(m)307 b(mo)o(v)o(e)12
+b(to)i(curren)o(t)h(la)o(y)o(er)1354 819 y Fg(pastebu\013er)1024
+868 y Fe(F)p Ff(3)295 b(en)o(ter)15 b(pastebu\013er-mo)q(de)1024
+918 y Fe([S]F)p Ff(3)246 b(rotate)14 b(90)f(degree)j(cc)1024
+968 y Fe(Btn)p Ff(1)256 b(cop)o(y)13 b(to)h(la)o(y)o(out)1024
+1018 y Fe([S])p Ff(1)p Fd(\001)7 b(\001)g(\001)n Ff(5)204
+b(select)15 b(bu\013er)g(#)e(1)p Fd(\001)7 b(\001)g(\001)n
+Ff(5)1024 1068 y(x)321 b(cop)o(y)13 b(selected)j(ob)r(jects)f(to)f
+(bu\013er)1024 1117 y Fe([S])p Ff(x)272 b(cut)14 b(selected)i(ob)r
+(jects)f(to)f(bu\013er)1411 1217 y Fg(sizing)1024 1267
+y Ff(s)327 b(increase)15 b(size)f(of)g(TLAPV)1810 1252
+y Fc(a)1024 1317 y Fe([S])p Ff(s)278 b(decrease)16 b(size)e(of)g(TLAPV)
+1024 1366 y Fe([M])p Ff(s)264 b(increase)15 b(drill)e(size)h(of)f(PV)
+1024 1416 y Fe([S][M])p Ff(s)215 b(decrease)16 b(drill)c(size)j(of)e
+(PV)1389 1516 y Fg(elemen)o(t)1024 1566 y Ff(d)320 b(displa)o(y)13
+b(pinout)1024 1616 y Fe([S])p Ff(d)271 b(op)q(en)14 b(pinout)f(windo)o
+(w)1024 1665 y(h)320 b(hide/sho)o(w)13 b(elemen)o(t)h(name)1024
+1715 y(n)320 b(c)o(hange)14 b(elemen)o(t)f(name)1387
+1815 y Fg(pin/pad)1024 1865 y Ff(n)320 b(c)o(hange)14
+b(name)1024 1914 y(q)321 b(toggle)13 b(square)i(\015ag)p
+1953 1942 V 971 1944 985 2 v 971 1974 412 2 v 1021 2001
+a Fb(a)1040 2017 y Fa(TLAPV:)d(text,)g(line,)j(arc,)d(pin)i(or)g(via)p
+2016 74 823 2 v 2016 1905 2 1832 v 2404 121 a Fg(via)2069
+171 y Fe(F)p Ff(1)136 b(en)o(ter)15 b(via-mo)q(de)2069
+221 y(v)162 b(increase)15 b(initial)d(size)2069 271 y
+Fe([S])p Ff(v)113 b(decrease)16 b(initial)c(size)2069
+320 y Fe([M])p Ff(v)99 b(inc.)18 b(initial)11 b(drilling)i(hole)2069
+370 y Fe([S][M])p Ff(v)50 b(dec.)18 b(initial)12 b(drilling)g(hole)2069
+420 y Fe([C])p Ff(h)105 b(con)o(v)o(ert)14 b(via)f(to)h(moun)o(ting)e
+(hole)2334 520 y Fg(lines/arcs)2069 569 y Fe(F)p Ff(2)136
+b(en)o(ter)15 b(line)e(mo)q(de)2069 619 y Fe(F)p Ff(8)136
+b(en)o(ter)15 b(arc)f(mo)q(de)2069 669 y(l)172 b(increase)15
+b(initial)d(line)h(size)2069 719 y Fe([S])p Ff(l)123
+b(decrease)16 b(initial)c(line)h(size)2069 769 y(p)q(erio)q(d)69
+b(toggle)13 b(45)g(degree)i(enforcemen)o(t)2069 819 y(/)163
+b(cycle)14 b(m)o(ultiline)d(mo)q(de)2069 868 y Fe([S])135
+b Ff(o)o(v)o(erride)14 b(m)o(ultiline)d(mo)q(de)2353
+968 y Fg(p)q(olygon)2069 1018 y Fe(F)p Ff(4)136 b(en)o(ter)15
+b(rectangle-mo)q(de)2069 1068 y Fe(F)p Ff(6)136 b(en)o(ter)15
+b(p)q(olygon-mo)q(de)2069 1117 y Fe([S])p Ff(p)112 b(close)14
+b(path)2069 1167 y(insert)83 b(en)o(ter)15 b(insert)f(p)q(oin)o(t)g(mo)
+q(de)2393 1267 y Fg(text)2069 1317 y Fe(F)p Ff(5)136
+b(en)o(ter)15 b(text-mo)q(de)2069 1366 y(n)161 b(edit)14
+b(string)2069 1416 y(t)168 b(increase)15 b(initial)d(text)i(size)2069
+1466 y Fe([S])p Ff(t)119 b(decrease)16 b(initial)c(text)i(size)2344
+1566 y Fg(rats)h(nest)2069 1616 y Ff(w)154 b(add)13 b(all)g(rats)2069
+1665 y Fe([S])p Ff(w)105 b(add)13 b(rats)i(to)e(selected)j(pins/pads)
+2069 1715 y(e)166 b(delete)14 b(all)f(rats)2069 1765
+y Fe([S])p Ff(e)117 b(delete)14 b(selected)i(rats)2069
+1815 y(o)163 b(optimize)12 b(all)h(rats)2069 1865 y Fe([S])p
+Ff(o)114 b(optimize)12 b(selected)k(rats)p 2837 1905
+V 2016 1907 823 2 v -79 2091 a(Ob)o(viously)d Fe([S])p
+Ff(,)g Fe([C])p Ff(,)f Fe([M])p Ff(,)h Fe(F)h Ff(and)g
+Fe(Btn)g Ff(mean)f(the)h(shift,)g(con)o(trol,)f(mo)q(di\014er1)f(\(Mo)q
+(d1)i(for)g(buttons\),)g(function)f(k)o(ey)h(and)g(mouse)f(button.)p
+eop
+%%Trailer
+end
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/cad/pcb/patches/patch-ac b/cad/pcb/patches/patch-ac
new file mode 100644
index 00000000000..ac15884c2d0
--- /dev/null
+++ b/cad/pcb/patches/patch-ac
@@ -0,0 +1,13 @@
+$NetBSD: patch-ac,v 1.1 2000/08/31 14:55:32 dmcmahill Exp $
+
+don't force the user to have latex for building the docs
+
+--- doc/Imakefile.orig Wed May 13 06:29:09 1998
++++ doc/Imakefile Thu Aug 31 10:18:06 2000
+@@ -32,5 +32,5 @@
+ */
+
+-all:: pcb.man pcb.ps pcb.html pcb.info refcard.ps
++all:: pcb.man
+
+ InstallManPage(pcb,$(MANDIR))
diff --git a/cad/pcb/pkg/PLIST b/cad/pcb/pkg/PLIST
index ee8ee0a54c0..024bcfc3c08 100644
--- a/cad/pcb/pkg/PLIST
+++ b/cad/pcb/pkg/PLIST
@@ -1,5 +1,8 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 1998/11/07 14:30:34 frueauf Exp $
+@comment $NetBSD: PLIST,v 1.2 2000/08/31 14:55:33 dmcmahill Exp $
bin/pcb
+@unexec install-info --delete %D/info/pcb.info %D/info/dir
+info/pcb.info
+@exec install-info %D/info/pcb.info %D/info/dir
lib/X11/app-defaults/Pcb
lib/X11/pcb/default_font
lib/X11/pcb/pcblib
@@ -44,5 +47,10 @@ lib/X11/pcb/m4/qfp.inc
lib/X11/pcb/m4/plcc.inc
lib/X11/pcb/m4/to.inc
man/cat1/pcb.0
+share/doc/pcb/index.html
+share/doc/pcb/pcb.html
+share/doc/pcb/pcb.ps
+share/doc/pcb/refcard.ps
@dirrm lib/X11/pcb/m4
@dirrm lib/X11/pcb
+@dirrm share/doc/pcb