Specifications for Converting U.S. Code GPO
Photocomposition Codes into XHTML
House
Information Resources
Office
of the Chief Administrative Officer
United
States House of Representatives
Elliot Chabot
April 16, 2001
Version 2.07
Table of Contents................................................................................................................ i
Changes to Version 2.06.................................................................................................... 1
Schedule of Future
Updates to these Specifications........................................................ 5
Background........................................................................................................................ 6
Mainframe Migration,
SGML, XML, HTML, and XHTML............................................. 8
Section 508
Requirements............................................................................................... 10
Nomenclature................................................................................................................... 12
Special Characters........................................................................................................... 12
ESC sequences.................................................................................................................. 19
Bell Codes......................................................................................................................... 28
Bell-a.............................................................................................................................. 28
Bell-A............................................................................................................................. 29
Bell-c.............................................................................................................................. 29
A. Arguments for bell-c (excluding column definitions)................................................................................ 29
B. Column definitions within the arguments for bell-c................................................................................... 36
C. Codes within a table........................................................................................................................................ 47
D. Boxhead processing........................................................................................................................................ 83
E. Horizontal Rule Processing ........................................................................................................................... 86
F. Standard Reading/Stub Column Processing................................................................................................ 87
G. Long table testing and processing............................................................................................................... 89
H. New column processing................................................................................................................................ 89
Bell-C............................................................................................................................. 90
Bell-F............................................................................................................................. 90
Bell-g.............................................................................................................................. 90
Bell-G and Bell-T........................................................................................................... 93
Grid 5....................................................................................................................................................................... 95
Grid 6..................................................................................................................................................................... 109
Grid 7..................................................................................................................................................................... 124
Grid 8..................................................................................................................................................................... 144
Processing Unidentified Characters................................................................................................................. 154
Bell-I............................................................................................................................ 154
Formats 5800 to 5803........................................................................................................................................... 162
Format 5804.......................................................................................................................................................... 210
Format 5807.......................................................................................................................................................... 248
Format 5810.......................................................................................................................................................... 250
Format 5811.......................................................................................................................................................... 259
Format 5812.......................................................................................................................................................... 269
Format 5813.......................................................................................................................................................... 294
Formats 58001 to 58009....................................................................................................................................... 299
Formats 58071 to 58079....................................................................................................................................... 302
Format 58098........................................................................................................................................................ 304
Other formats....................................................................................................................................................... 313
Bell-K........................................................................................................................... 314
Bell-L........................................................................................................................... 314
Bell-N........................................................................................................................... 314
Bell-P........................................................................................................................... 314
Bell-q............................................................................................................................ 314
Bell-Q........................................................................................................................... 314
Bell-R........................................................................................................................... 314
Bell-S............................................................................................................................ 316
Bell-U........................................................................................................................... 316
Bell-xl........................................................................................................................... 317
Bell-X........................................................................................................................... 317
Bell-Y........................................................................................................................... 317
Bell-Z........................................................................................................................... 317
Bell-01 to Bell-99........................................................................................................ 317
Special Processing.......................................................................................................... 319
Caps and small caps..................................................................................................... 319
Leadering..................................................................................................................... 319
FOTP Processing ........................................................................................................ 319
Graphics Processing.................................................................................................... 323
Assumptions, Questions,
and Alternatives................................................................... 328
PLS-specific elements
in these Specifications............................................................ 328
Questions on Formats
5800 to 5803........................................................................... 332
Questions on Format
5804.......................................................................................... 332
Questions on Function
Codes..................................................................................... 332
Assumptions used to
convert from GPO photocomposition codes to HTML........... 334
Normal Processing....................................................................................................... 335
Alternative processing
scheme for bell-Q.................................................................. 338
Logic for
implementation of the Quad-right and Quad-left features in c-table horizontal
rule processing 343
Mathematical Formulas............................................................................................... 344
Glossary.......................................................................................................................... 345
Previous versions of
these specifications...................................................................... 347
Examples of U.S. Code
photocomposition codes.......................................................... 348
Examples of U.S. Code Text Generated According to These
Specifications............. 359
Constitution, preamble to art. I, § 2, cl. 3........................................................................... 359
1 U.S.C. prec. ch. 1........................................................................................................ 362
2 U.S.C. § 60a-2............................................................................................................ 363
4 U.S.C. § 1 note (Ex. Ord. No. 10834, § 21)................................................................... 368
4 U.S.C. § 1 note (Ex. Ord. No. 10834, § 33)................................................................... 369
5 U.S.C. prec. pt. I......................................................................................................... 371
5 U.S.C. § 101 note........................................................................................................ 375
5 U.S.C. § 5332 note (sched. 1 to 4)................................................................................ 376
5 U.S.C. § 5332 note (sched. 8)....................................................................................... 378
15 U.S.C. § 205.............................................................................................................. 379
16 U.S.C. § 431 note...................................................................................................... 380
16 U.S.C. § 3631............................................................................................................ 381
17 U.S.C. § 402.............................................................................................................. 385
17 U.S.C. § 909(b)(1)..................................................................................................... 388
20 U.S.C. § 1087pp(b)(2)-(4).......................................................................................... 389
20 U.S.C. § 1091(r)(1).................................................................................................... 393
21 U.S.C. 350a(i)(2)(B).................................................................................................. 394
23 U.S.C. § 127(a)-(b).................................................................................................... 396
26 U.S.C. § 1252(a)(3)................................................................................................... 400
28 U.S.C. app. (Sup. Ct. R.) rule 33................................................................................. 401
28 U.S.C. app. (Fed. Cl. R.) app. J, rule 16...................................................................... 405
42 U.S.C. § 300x-7(a)..................................................................................................... 408
42 U.S.C. § 7412(a)(11)-(b)(3)(D)................................................................................... 409
45 U.S.C. § 358(a)(1)(B)(i)-(ii)........................................................................................ 414
46 U.S.C. subtitle I......................................................................................................... 415
Bibliography................................................................................................................... 416
Version 2.07 makes the following changes to version 2.06:
(1) Added Section 508 Requirements section.
(2) ESC sequences
(a) Added AC_ACUTE processing steps 1(h)(2) and 1(l)(2).
(b) Added AC_MACRON processing step 3.
(3) Bell-g
(a) Added bell-g007 instruction 2A.
(b) Revised bell-g007 instruction 4.
(c) Added bell-g007 instruction 4A.
(d) Revised bell-g007 instruction 5.
(e) Added bell-g007 instruction 5A.
(4) Bell-G and Bell-T
(a) Added instruction 9, grid 5, hex 13, typefaces 1 to 4, special processing step 2.
(b) Added instruction 9, grid 5, hex 14, typefaces 1 to 4, special processing step 2.
(c) Added instruction 9, grid 5, hex 15, typefaces 1 to 4, special processing step 2.
(d) Added instruction 9, grid 5, hex 16, typefaces 1 to 4, special processing step 2.
(e) Added instruction 9, grid 5, hex 17, typefaces 1 to 4, special processing step 2.
(f) Added instruction 9, grid 5, hex 21, typefaces 1 to 4, special processing step 2.
(g) Added instruction 9, grid 5, hex 27, typefaces 1 to 4, special processing step 2.
(h) Added instruction 9, grid 5, hex 60, typefaces 1 to 4, special processing step 2.
(i) Added instruction 9, grid 5, hex BA, typefaces 1 to 4, special processing step 2.
(j) Added instruction 9, grid 5, hex C4, typefaces 1 to 4, special processing step 2.
(k) Added instruction 9, grid 6, hex 13, typefaces 1 to 4, special processing step 2.
(l) Added instruction 9, grid 6, hex 15, typefaces 1 to 4, special processing step 2.
(m) Added instruction 9, grid 6, hex 16, typefaces 1 to 4, special processing step 2.
(n) Added instruction 9, grid 6, hex 17, typefaces 1 to 4, special processing step 2.
(o) Added instruction 9, grid 6, hex 21, typefaces 1 to 4, special processing step 2.
(p) Added instruction 9, grid 6, hex 27, typefaces 1 to 4, special processing step 2.
(q) Added instruction 9, grid 6, hex 55, typefaces 1 to 4, special processing step 2.
(r) Added instruction 9, grid 6, hex 60, typefaces 1 to 4, special processing step 2.
(s) Added instruction 9, grid 6, hex BA, typefaces 1 to 4, special processing step 2.
(t) Added instruction 9, grid 6, hex C4, typefaces 1 to 4, special processing step 2.
(u) Added instruction 9, grid 7, hex 12, typeface 3, special processing step 2.
(v) Added instruction 9, grid 7, hex 27, typeface 3, special processing step 2.
(w) Added instruction 9, grid 7, hex 2D, typeface 3, special processing step 2.
(x) Added instruction 9, grid 7, hex 2E, typeface 4, special processing step 2.
(y) Added instruction 9, grid 7, hex 32, typeface 4, special processing step 2.
(z) Added instruction 9, grid 7, hex 3B, typeface 4, special processing step 2.
(aa) Added instruction 9, grid 7, hex 47, typeface 2, special processing step 2.
(bb) Added instruction 9, grid 7, hex 50, typeface 2, special processing step 2.
(cc) Added instruction 9, grid 7, hex 59, typeface 3, special processing step 2.
(dd) Added instruction 9, grid 7, hex 5A, typeface 3, special processing step 2.
(ee) Added instruction 9, grid 7, hex 60, typeface 3, special processing step 2.
(ff) Added instruction 9, grid 7, hex 66, typeface 4, special processing step 2.
(gg) Added instruction 9, grid 7, hex 68, typeface 4, special processing step 2.
(hh) Added instruction 9, grid 7, hex 79, typeface 2, special processing step 2.
(ii) Added instruction 10, grid 8, hex 13, typefaces 1 to 3, special processing step 2.
(jj) Added instruction 10, grid 8, hex 14, typefaces 1 to 3, special processing step 2.
(kk) Added instruction 10, grid 8, hex 15, typefaces 1 to 3, special processing step 2.
(ll) Added instruction 10, grid 8, hex 16, typefaces 1 to 3, special processing step 2.
(mm) Added instruction 10, grid 8, hex 17, typefaces 1 to 3, special processing step 2.
(nn) Added instruction 10, grid 8, hex 5A, typeface 4, special processing step 2.
(5) Bell-I
(a) Added example citation for formats 5800 to 5803, locator-05.
(b) Added footnote to formats 5800 to 5803, locator 53.
(c) Added special processing instruction #2 to formats 5800 to 5803, locator-54.
(d) Added example citation for formats 5800 to 5803, locator-69.
(e) Added special processing instructions to formats 5800 to 5803, locator-71. Also generally revised example citations.
(f) Added footnote to formats 5800 to 5803, locator-73.
(g) Added footnote to formats 5800 to 5803, locator-74. Also generally revised example citations.
(h) Added footnote to formats 5800 to 5803, locator-75.
(i) Added footnote to formats 5800 to 5803, locator-76. Also revised special processing instruction 0.1.
(j) Added footnote to formats 5800 to 5803, locator-78.
(k) Added footnote to formats 5800 to 5803, locator-82.
(l) Added example citation to formats 5800 to 5803, locator-83.
(m) Added footnote to formats 5800 to 5803, locator-84. Also added example citation to special processing instruction 0.2.
(n) Added footnote to formats 5800 to 5803, locator-85. Also added example citation to special processing instruction 0.2.
(o) Added footnote to formats 5800 to 5803, locator-86. Also added example citation to special processing instruction 0.2.
(p) Added footnote to formats 5800 to 5803, locator-87. Also added example citation to special processing instruction 0.2.
(q) Revised footnote to formats 5800 to 5803, locator-89. Also added example citations to special processing instruction 3.
(r) Added example citation to formats 5800 to 5803, locators-94 to 96
(s) Revised format 5804, locator-01, follow text with material.
(t) Revised format 5804, locator-08, follow text with material.
(u) Revised format 5810, locator-01, follow text with material.
(v) Revised format 5810, locator-19, follow text with material.
(w) Revised format 5810, locator-20, follow text with material.
(x) Revised format 5811, locator-04, follow text with material.
(y) Revised format 5812, locator-04, follow text with material.
(z) Revised format 5812, locator-11, precede text with material.
(aa) Revised format 5813, locator-04, follow text with material.
(bb) Revised formats 58001 to 58009, locator-06, follow text with material.
(cc) Revised format 58098, locator-01, precede text with material.
(dd) Revised format 58098, locator-08, precede text with material.
(6) Assumptions, Questions, and
Alternatives: PLS-specific elements in
these Specifications In item 3, added the material between the
<style> and </style> tags, the material between the <table>
and </table> tags, and the material between {$DOC} and the </body>
tag.
(7) Previous versions of these specifications
added version 2.07.
(8) Examples of
U.S. Code photocomposition codes --
(a) Added 1 U.S.C. prec. ch. 1.
(b) Revised process for 2 U.S.C. § 60a-2 note (Amendments)
(c) Added 2 U.S.C. § 604.
(d) Added 3 U.S.C. § 205.
(e) Added 4 U.S.C. § 1 note (Ex. Ord. No. 10834)
(f) Replaced 4 U.S.C. § 1 note (Ex. Ord. 10798, § 21) with note (Ex. Ord. 10834, § 21).
(g) Replaced 4 U.S.C. § 1 note (Ex. Ord. 10798, § 33) with note (Ex. Ord. 10834, § 33).
(h) Added 5 U.S.C. app. (Table of Contents).
(i) Added 10 U.S.C. § 2407 note (NATO Cooperative Logistic Support Agreements).
(j) Added 12 U.S.C. § 1785 note (Choice of Highest Applicable Interest Rate).
(k) Added 15 U.S.C. ch. 14 (prec. § 601).
(l) Added 18 U.S.C. § 201 note (Memorandum of Attorney General Regarding Conflict of Interest Provisions of Public Law 87-849, February 1, 1963, 28 F.R. 985).
(m) Added 18 U.S.C. app. (Fed. R. Crim. P.) table of contents.
(n) Added 18 U.S.C. app. (Fed. R. Crim. P.) rule 39.
(o) Added 22 U.S.C. § 2291 note (Determining Major Drug-Transit Countries with Respect to Fiscal Year 1989).
(p) Added 22 U.S.C. § 5952 note (Limitation on Use of Funds for Certain Purposes).
(q) Added 26 U.S.C. § 132 note (Amendment of Subsection (f)).
(r) Added 28 U.S.C. app. (Fed. R. Civ. P.) form 2
(s) Added 28 U.S.C. app. (Fed. Cl. R.) app. A, form A
(t) Added 40 U.S.C. § 71b note (Reorg. Plan No. 5 of 1966).
(u) Added 42 U.S.C. § 2472 note (Amendments).
(v) Added 42 U.S.C. ch. 72, subch. II, pt. B (prec. § 5631).
(w) Added 43 U.S.C. § 502 note (Temporary Activity of Secretary of Interior to Facilitate Emergency Actions with Regard to 1976-1977 Drought).
(x) Added 43 U.S.C. § 751 note (Land Information Study; Report to Congress).
(y) Added 43 U.S.C. § 946 note (Amendments).
(z) Added 43 U.S.C. § 1451 note (Reorg. Plan No. 3 of 1950)
(aa) Added 43 U.S.C. § 1457 note (Emergency Preparedness Functions).
(bb) Added 43 U.S.C. § 1595 note (Effective Date of 1984 Amendment).
(cc) Added 43 U.S.C. § 1733 note (Modification of Regulations Relating to Mining Operations on Public Lands; Posting of Reclamation Bond for All Operations Involving Significant Surface Disturbance).
(dd) Added 43 U.S.C. § 1843 note (Amendments).
(ee) Added 44 U.S.C. § 101 note (Short Title of 1993 Amendment).
(ff) Added 44 U.S.C. § 3506 note (Amendments).
(gg) Added 44 U.S.C. § 3901 note (Short Title).
(hh) Added 48 U.S.C. 864 note (Federal Rules of Criminal Procedure).
(ii) Added 48 U.S.C. §§ 1694 to 1694e.
The following is the planned schedule for release of
future editions of the specifications, with the issues to be addressed in each
new version:
Version 2.08 Accessibility: (estimated
completion date 5/15/01)
·
Verify compliance with 36 C.F.R. § 1194.22
·
subsection (g) row and column headers in
data tables
·
subsection (h) markup of data cells where
headers have multiple levels.
·
Subsection (j) screen flicker
·
Subsection (k) text-only pages
·
Subsection (l) scripting languages
·
Subsection (n) electronic forms
·
Subsection (o) repetitive navigation links.
·
Verify
compliance with priority 1 items on the World Wide Web Consortiums Checklist of Checkpoints for Web Content
Accessibility Guidelines 1.0 http://www.w3.org/TR/WCAG10/full-checklist.html#wc-priority-1.
The United States Code is the official compilation
of the Federal statutes of a general and permanent nature[1]. By Federal statute[2],
the Law Revision Counsel of the U.S. House of Representatives is the publisher
and compiler of the Code. The Counsel
is an appointee of the Speaker of the House.
In 1977 at the request of the Law Revision Counsel
the Office of the Law Revision Counsel, the Government Printing Office (GPO),
and House Information Systems[3]
began work on computerizing the production of the U.S. Code. This evolved into the Integrated Law
Revision and Retrieval System[4],
jointly developed by LRC, HIS, and GPO.
The integrated system was developed to provide the Office of the Law
Revision Counsel with direct control of the U.S. Code, to produce the U.S. Code
in a more timely fashion, to produce an up-to-date U.S. Code research and
retrieval system, and to produce cost savings in typesetting the U.S. Code
system. Key elements of the integrated
system included:
·
A
system of tags to format U.S. Code data[5]
·
Hardware
and software for editing and storing the U.S. Code master database[6]
·
Software
to typeset the tagged data[7]
·
Software
to allow full text search of the U.S. Code (meeting or exceeding industry
standards for computer assisted legal research)[8]
·
Software
to (1) format tagged data into a style compatible with the input requirements
of the search software, while (2) preserving as much of the typesetting
functionality of the tags as possible.
In August of 1977, HIS released a pilot full-text
searchable version of title 2 of the U.S. Code. HIS developed mainframe COBOL software to convert the data into a
format usable by STAIRS the mainframe-based search engine from IBM, that was
already in use by HIS for the Bill Status System (later LEGIS). By September of 1978, the pilot expanded to
include all 50 titles of the U.S. Code.
In the early 1980s, HIS rewrote its software for
converting the photocomposition coded data using a table-driven
architecture. The software (which
resides on the HIR mainframe) was written primarily in COBOL with tabular data
manipulation done through PL/1. In
1986, HIS developed mainframe software to convert the U.S. Code Classification
Tables into a format compatible with STAIRS and to incorporate that data into
the U.S. Code searchable database.[9] The full-text searchable U.S. Code was made
available to House and Senate offices, the Library of Congress, the Congressional
Budget Office, the General Accounting Office, the Supreme Court, and several
executive branch offices, through communications links to the HIS/HIR
mainframe.[10]
In 1991, HIS, at the request of the Law Revision
Counsel, began work on producing a CD-ROM version of the U.S. Code for
distribution to House offices, the legal community, and the public at large.[11] On January 4, 1995, HIS began making a
full-text searchable version of the U.S. Code available to the public through
the World Wide Web.[12] Both the CD-ROM and World Wide Web versions of the U.S. Code are accessible
through search engines produced by Personal Library Software, Inc. (now part of
America Online, Inc.). The conversion
of the raw data from GPO photocomposition codes, however, is still processed
primarily through software on the HIR mainframe.
In 1995, the Committee on House Oversight (now the
Committee on House Administration) adopted a resolution directing that HIR
prepare a plan for the retirement of the HIR mainframe[13]. As part of the implementation of the plan
that was ultimately adopted, access to the STAIRS-based mainframe U.S. Code
database was ended effective December 1, 1998[14]. Some of the software necessary to convert the
Law Revision Counsels master U.S. Code database from GPO photocomposition code
format into a format usable to update the U.S. Code web database and to create
the annual U.S. Code CD-ROM, however, still resides on the HIR mainframe. The 2001-2005 Strategic Plan adopted by the Chief Administrative
Officer of the House in May 2000, nonetheless, has as one of its objectives,
completing mainframe migration by September 2001[15]. The Strategic Plans companion document, CAO Team Member Feedback: CAO 2001-2005 Draft Strategic Plan,
states that A key component of this objective is a formal certification that
the migration solution meets the critical functions of the original
application. . . . Mission critical
mainframe services will be continued until alternatives are defined, funded and
satisfactorily deployed. It also
provides that Migration objectives include . . . Meet[ing] customer
requirements for the application, connectivity, input/output, and user
interfaces.
In 1996, the Law Revision Counsel requested that HIR
provide support for the conversion of the U.S. Code master database from GPO
photocomposition coding to SGML coding.[16] SGML (Standard Generalized Markup Language)
exists in many implementations including
·
Extensible
Markup Language (XML),
·
Document
Style Semantics and Specification Language (DSSSL),
·
Hypermedia
Time-based Structuring Language (HyTime),
·
Virtual
Reality Markup Language (VRML),
·
HyperText
Markup Language (HTML), and
·
Extensible
HyperText Markup Language (XHTML).
Of the SGML implementations, HTML is the
implementation that is by far most widely identified with the World Wide
Web. Virtually all web browsers are
able to display HTML documents. HTML is
stable, reasonably robust, and has a well-established infrastructure of authoring
and maintenance tools. XML does not
have the installed base of browsers or authoring and maintenance tools that
HTML has, nor the stability that HTML now has[17],
and is far more complex than HTML. XML,
nonetheless, has widespread support in the technical community as the wave of
the future for SGML coding. The Clerk
of the House and the Secretary of the Senate have recommended that the House
and Senate should adopt XML as a data standard to be employed for the exchange
of legislative documents, allowing each body to determine appropriate document
creation and editing environments.[18] While the Legislative Branch XML Technical
Committee[19], under the
leadership of the Clerk of the House and the Secretary of the Senate, has
several initiatives in development, it appears highly unlikely that an XML
implementation of the U.S. Codethat would be usable by those who are currently
using the U.S. Code web databasecan be in place by the September 2001 target
for mainframe migration.
Fortunately, the U.S. Code is not the only project
that has had to face an HTML vs. XML choice.
The World Wide Web Consortium (the World Wide Webs principal standards
developing body) is currently developing a specification for XHTML that will
allow HTML and XML to coexist and share features that are currently only in one
or the other. The current draft of that
specification provides guidance as to how to code HTML in such a way that it is
compatible with XML[20]. In developing the specifications for
converting from GPO photocomposition coding to HTML coding, we have attempted
to follow the XHTML standards.
In addition to not
precluding use of XML, and to have the new U.S. Code database free of the HIR
mainframe by September 2001, it is a goal of the conversion from GPO
photocomposition codes to
·
format
the U.S. Code text so that it is close to the appearance of the Code in its
traditional printed bound volumes[21];
and
·
maximize
accessibility to the U.S. Code.
To help reach these goals,
whenever possible, we have only used the commands that are contained in HTML
version 3.2. In those instances where
additional capabilities have been necessary in order to approximate the
appearance of the Code, we have used commands that were added in subsequent
versions of HTML. In those few instances
where even those features have been inadequate, we have used features from
JavaScript and Cascading Style Sheets.
Within these constraints, the HTML
tagging conforms to the revised Robot Exclusion Standard[22],
the W3C PICS Specification[23],
and conformance level A of the W3C Content Accessibility Guidelines[24].
Section 508 of the Rehabilitation Act of 1973 (29
U.S.C. § 794d) provides that Federal government information technology systems
are to be available to individuals with disabilities on a basis comparable with
access that is available to individuals without disabilities. The Architectural and Transportation
Barriers Compliance Board is to issue standards to carry out this mandate, which
are to take effect six months after the Boards standards have been
issued. On December 21, 2000, the Board
issued its final standards (36 C.F.R.
Part 1194). The standards dealing
specifically with web sites are contained in 36 C.F.R. §
1194.22. Section 1104.22 provides that:
(a) A text equivalent for every
non-text element shall be provided (e.g., via "alt",
"longdesc", or in element content).
(b) Equivalent alternatives for
any multimedia presentation shall be synchronized with the presentation.
(c) Web pages shall be designed
so that all information conveyed with color is also available without color,
for example from context or markup.
(d) Documents shall be
organized so they are readable without requiring an associated style sheet.
(e) Redundant text links shall
be provided for each active region of a server-side image map.
(f) Client-side image maps
shall be provided instead of server-side image maps except where the regions
cannot be defined with an available geometric shape.
(g) Row and column headers
shall be identified for data tables.
(h) Markup shall be used to
associate data cells and header cells for data tables that have two or more
logical levels of row or column headers.
(i) Frames shall be titled with
text that facilitates frame identification and navigation.
(j) Pages shall be designed to
avoid causing the screen to flicker with a frequency greater than 2 Hz and
lower than 55 Hz.
(k) A text-only page, with
equivalent information or functionality, shall be provided to make a web site
comply with the provisions of this part, when compliance cannot be accomplished
in any other way. The content of the text-only page shall be updated whenever
the primary page changes.
(l) When pages utilize
scripting languages to display content, or to create interface elements, the
information provided by the script shall be identified with functional text
that can be read by assistive technology.
(m) When a web page requires
that an applet, plug-in or other application be present on the client system to
interpret page content, the page must provide a link to a plug-in or applet
that complies with §1194.21(a) through (l).
(n) When electronic forms are
designed to be completed on-line, the form shall allow people using assistive
technology to access the information, field elements, and functionality required
for completion and submission of the form, including all directions and cues.
(o) A method shall be provided
that permits users to skip repetitive navigation links.
(p) When a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required.
Civil actions are
permitted against agencies that are not in compliance with the standards by
June 21, 2001. The Rehabilitation Act
applies to offices of the House of Representatives by virtue of § 102(a)(10) of the Congressional Accountability Act
(2 U.S.C. § 1302(a)(10)).
These specifications are in compliance with the standards promulgated by the Board.
As used in these specifications:
(1)
A diamond symbol () indicates a blank space.
(2)
{Braced bold text} indicates the name of a
variable.
(3)
{Braced bold text}with a subscript indicates an array with the
subscript as the arrays index.
(4)
A bent left arrow (Γ) indicates a carriage
return/line feed character.
The U.S. Code data includes some characters that do
not follow the standard ASCII definitions.
These should be translated at the end of the photocomposition-to-HTML
conversion process in particular, after any G-code and T-code processing, if
any.
|
Name |
Decimal Value |
Hex Value |
Represen- tation |
HTML |
Example at |
|
EOF |
0 |
00 |
|
Special processing: (1) Output: {footnote
file}<!--plsfield:END--> - - - (2) print out the {error file}. - - - (3) if a HEX 00 is followed immediately by one or more additional occurrences of HEX 00, the additional occurrence(s) of HEX 00 should be deleted. |
1
U.S.C. § 213 (source credit) 34
U.S.C. |
|
Sectwst |
06 |
06 |
§ |
Special processing: If two
Hex06 appear together, replace the pair with: §§<!-- sections --> If a
Hex06 appears not in a pair, replace it with: §<!-- section --> |
Single §:
1 U.S.C. § 101 Double §:
2 U.S.C. §§ 1223, 1224 |
|
Crlf |
10 |
0A |
|
Special processing: Delete any Hex 0A. |
1 U.S.C. §
1 |
|
Cents |
11 |
0B |
’ |
Special Processing: (1)
output: ¢<!-- cents --> - - - (2)
Add to {error file}: {TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning verify implementation of Hex 0B
(cents sign) |
|
|
Pgmark |
12 |
0C |
Ά |
Special processing: If two
Hex0C appear together, replace the pair with: ¶¶<!-- paragraphs --> If a Hex0C appears not in a pair, replace it with: ¶<!-- paragraph --> |
Single Ά:
11 U.S.C. app. rule 4004 note Double Ά: 11 U.S.C. app. rule 2004 note |
|
Noprnst |
14 |
0E |
|
Special Processing: (1)
Delete
data through noprnend - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long
subsection} ({text field})
warning verify
implementation of Hex 0E (Noprnst). |
|
|
Noprnend |
15 |
0F |
|
Special Processing: (1)
End
of delete started with noprst - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long
subsection} ({text field})
warning verify
implementation of Hex 0E (Noprnend). |
|
|
Prime |
16 |
10 |
' |
<!-- prime -->' |
48 U.S.C. § 1705 note (Proc. No. 4346) |
|
bldlbrak |
19 |
13 |
[ |
Special Processing: (1)
Output: <strong><!-- [
-->[</strong> - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long
subsection} ({text field})
warning verify implementation of Hex 13 (bldlbrak) |
|
|
bldrbrak |
20 |
14 |
] |
Special Processing: (1) Output: <strong><!-- [
-->]</strong> - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long
subsection} ({text field})
warning verify implementation of Hex 14 (bldrbrak) |
|
|
emspace[25] |
24 |
18 |
|
<!-- -->     <!-- --> |
1 U.S.C. § 204(d) |
|
enspace[26] |
25 |
19 |
|
<!-- -->   <!-- --> |
2 U.S.C. § 1 notes (Constitu-tional Provisions) |
|
plusminus |
27 |
1B |
± |
Special Processing: (1)
Output: <!-- plus or minus -->± - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection}
({text field})
warning verify implementation of Hex 1B (plusminus) |
|
|
dscrhyph |
28 |
1C |
|
Special processing:
delete HEX 1C. |
1 U.S.C. prec. ch. 1 (Table Showing
Disposition of All Sections of Former Title 1) |
|
dagger |
30 |
1E |
|
Special Processing: (1)
Output: <!-- dagger -->† - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection}
({text field})
warning verify implementation of Hex 1E (dagger) |
|
|
Xyquotes (open) |
39 |
27 |
|
Special processing: If two HEX 27s occur with no
characters between them, then replace the pair with a quotation mark. Otherwise, replace it with an apostrophe. |
Single occurrence: 1 U.S.C. § 1 note (Continen-tal United
States) Double occurrence: 1 U.S.C. ch. 1 |
|
Less than |
60 |
3C |
< |
Special Processing: (1)
Output: <!-- is less than
-->< - - - (2) Add to {error file}: {TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field}) warning verify implementation of Hex 3C (Less than) |
|
|
Greater than |
62 |
3E |
> |
Special Processing: (1)
Output: <!-- is greater than
-->> - - - (2) Add to {error file}: {TITILE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field}) warning verify implementation of Hex 3E
(Greater than) |
|
|
footnote |
92 |
5C |
\ |
Special processing: (1) Backslashes appear in pairs with
a {number} between them. - - - (1A) If {subsection anchor} is on, then output:
</a> - - - (2) If (a) {footnote switch} = 0; (b) the {number} string does not include a slash (i.e., /); (c)
{table switch} is
off; and (d) {format} does not equal 58008; then
replace the \{number}\ string with: <a href=#ftnt{number}text
name=ftnt{number} id=ftnt{number}><sup>{number}</sup></a> - - - (3)
If (a) the {number} does not include a slash; (b) {footnote switch} is greater than zero; and (c) {table switch} is off;
then replace the \{number}\ string with: <a id=ftnt{number}text name=ftnt{number}text href=#ftnt{number}><sup>{number}</sup></a> - - - (4) If the {number} string is 1/4, then replace the \{number}\ string with: ¼ - - - (5) If the {number} string is 1/2, then replace the \{number}\ string with: ½ - - - (6) If the {number} string is 3/4, then replace the \{number}\ string with: ¾ - - - (7) If the {number} string includes
a slash, but is not 1/4, 1/2, or 3/4, then replace the \{first number}/{second number}\ string with: <sup>{first
number}</sup>/<sub> {second number}</sub> - - - (8) If (a) {footnote switch} = 0; (b) the {number} string does not include a slash
(i.e., /); and (c) {table switch} is on; then replace the \{number}\ string with: <a href=#tableftnt{number}text id=tableftnt{number} name=tableftnt{number}><sup>{number}</sup></a> - - - (9) If (a) the {number} does not include a slash; (b) {footnote switch} is greater than zero; and (c) {table switch} is on; then Replace the \{number}\ string with: <a id=tableftnt{number}text name=tableftnt{number}text href=#tableftnt{number}><sup>{number}</sup></a> - - - (10) If {subsection
anchor} is
on, then output: <a
onMouseOver=window.status={TITLE
NUMBER}
USC{appendix} {SECTION NUMBER}{long subsection}; return true> - - - (11) If (a) {footnote switch} = 0; (b) the {number} string does not include a slash (i.e., /); (c)
{table switch} is
off; and (d) {format} equals 58008; then replace the \{number}\ string with: <sup>{number}</sup> - - - (12) If (a) {footnote switch} = 0; (b) the {number} string does not include a slash
(i.e., /); (c) {table switch} is off; (d) {format} equals 58008; and (e)
{bell-I} equals 04,
then replace the \{number}\ string with: <a href=#ftnt{number}text
name=ftnt{number} id=ftnt{number}><sup>{number}</sup></a> - - - (13) If (a) {footnote switch} = 0; (b) the {number} string does not include a slash
(i.e., /); (c) {table switch} is off; (d) {format} equals 58008; then replace the \{number}\ string with: <a href=#ftnt{number}text
name=ftnt{number} id=ftnt{number}><sup>{number}</sup></a> |
42 U.S.C. § 7412(b)(3) (A) 1 U.S.C. ch. 1 1 U.S.C. ch. 1 28 U.S.C. app. (Sup. Ct. R.) rule 33(1)(c) 5 U.S.C. § 5304(a)(3) (D) 33 U.S.C. § 702a-1Ύ 26 U.S.C. § 451 note (Pub. L. 97-248, § 229(c)(2) (B)) 42 U.S.C. § 7412(b)(1) 42 U.S.C. § 7412(b)(1) Con-stitution, art. I, § 2, cl. 1 Con-stitution (catchline) Con-stitution, art. I, § 1, cl. 3 |
|
minus[27] |
94 |
5E |
- |
<!-- minus -->- |
22 U.S.C. § 127(a) |
|
emdash[28] |
95 |
5F |
|
<!-- -->—<!-- --> |
1 U.S.C. ch. 1 |
|
Xyquotes (close) |
96 |
60 |
|
Special processing:
If
two HEX 60s occur with no characters between them, then replace the pair with
a quotation mark. Otherwise, replace
it with an apostrophe. |
Single occurrence: 1 U.S.C. § 1 note (Continen-tal United States) Double occurrence: 1 U.S.C. ch. 1 |
|
degreemk |
171 |
AB |
Ί |
<!-- degrees -->° |
45 U.S.C. § 1705 note (Proc. No. 4346) |
|
dbldagger |
189 |
BD |
|
Special Processing: (1)
Output: <!-- double dagger
-->‡ - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long
subsection} ({text field}) warning verify
implementation of Hex BD (dbldagger) |
|
|
muchless |
190 |
BE |
<< |
Special Processing: (1) Output: <nobr><!-- is much greater than -->><a style="position: relative; left: -0.2 em; top: -0.1 em; font-size: 0.8 em; font-weight:
normal">></a></nobr> - - - (2) Add to {error file}:
{TITILE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning verify
implementation of Hex BE (Muchless) |
|
|
balbox |
191 |
BF |
~ |
Special Processing: (1)
Output: <!-- box --> > - - - (2) Add to {error file}:
{TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long
subsection} ({text field}) warning verify
implementation of Hex BF (Balbox) |
|
The ESC character (Hex FF) followed by two (or
three) characters is used to indicate certain special characters or processes.[29] These need to be converted early in the
photocomposition-to-HTML conversion process.
The following list indicates the character strings that follow the ESC
character and the HTML coding that the ESC and character string should be
converted into:
|
Name |
ESC sequence |
Process |
Ex-ample at |
|
Thin space |
ESC 1A |
Replace with: <!--
--> <!-- --> |
1 U.S.C. prec. ch. 1 |
|
N-dash |
ESC 09 |
(1) Replace with:
– (2) Go back to the previous blank space[30],
  <td> tag, <p>, <br>, or bell-code[31]
and insert after it: <nobr> (3) Go forward to the next blank space[32],
  <td> tag, <p>, <br>, bell-code[33],
or EOF (Hex 00), and insert after it:
</nobr> (4) Output:
<!-- (5) Again output all of the text between <nobr>
and </nobr>, but this time replace the occurrence(s) of – with
a dash[34] (6) Output: --> |
1 U.S.C. ch. 1 |
|
Multiplication |
ESC 0A |
Replace with: <!-- times
-->× |
28 U.S.C. § 1470 note (Rules of Pro-cedure of the
Judicial Panel on Multi-district Liti-gation, rule 7.1(c) (iv)) |
|
All Mark |
ESC 08 |
Step 1: Replace with: O Step 2: Add to {error file}: {TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning verify implementation of ESC 08 (All Mark) |
|
|
Copyright |
ESC AF |
Replace with: © |
17 U.S.C. § 401(b)(1) |
|
AC_BREVE [˘] |
ESC AE0 |
Step 1: If preceded by S, replace with:
Š If preceded by s, replace with:
š Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was mas▲AE0 (where ▲ is the
escape character), then convert it to ma <!-- mas -->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE0 (Breve accent) |
|
|
AC_ACUTE [΄] |
ESC AE1 |
Step 1: (a) If preceded by A, replace with: Á (b) If preceded by E, replace with: É (c) If preceded by I, replace with: Í (d) If preceded by O, replace with: Ó (e) If preceded by U, replace with: Ú (f) If preceded by Y, replace with: Ý (g) If preceded by a, replace with: á (h) If preceded by c, (1) replace with: <nobr>c<a
style="position: relative; left: -0.2 em; top: 0.2 em; font-size: 1.8 em; font-weight:
normal">´</a></nobr> (2) Add the following to the previous <table>
tag: summary="Warning
to users of assistive technology:
this paragraph includes a c with an acute accent, that may be
misinterpreted by your reader as a c followed by the accent." (i) If preceded by e, replace with: é (j) If preceded by i, replace with: í (k) If preceded by o, replace with: ó (l) If preceded by s, (1) replace with: <nobr>s<a style="position: relative; left: -0.2 em; top: 0.2 em;
font-size: 1.8 em; font-weight:
normal">´</a></nobr> (2) Add the following to
the previous <table> tag: summary="Warning to users of assistive
technology: this paragraph includes
an s with an acute accent, that may be misinterpreted by your reader as an s
followed by the accent." (m) If preceded by u, replace with: ú (n) If preceded by y, replace with: ý Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was pa▲AE1per (where ▲ is the escape character), then convert it to pαper <!-- paper -->.) |
Α:
50 U.S.C. ch. 21 (prec. § 541) Ι:
7 U.S.C. ch. 43 (prec. § 1761) α: 50 U.S.C. §§ 541 to 546 ć: 22 U.S.C. § 5421(f) (3)(B) (5) ι: 7 U.S.C. § 1765a (d) ś:
22 U.S.C. § 5421(f) (3)(B) (5) |
|
AC_GRAVE [`] |
ESC AE2 |
Step 1: If preceded by A, replace with:
À If preceded by a, replace with:
à If preceded by E, replace with:
È If preceded by I, replace with:
Ì If preceded by O, replace with:
Ò If preceded by U, replace with:
Ù If preceded by a, replace with:
à If preceded by e, replace with:
è If preceded by i, replace with:
ì If preceded by o, replace with:
ò If preceded by u, replace with:
ù Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was che▲AE2que (where ▲ is the escape character), then convert it to chθque <!-- cheque
-->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE2 (Grave accent) |
|
|
AC_CIRCUMFLEX [^] |
ESC AE3 |
Step 1: If preceded by A, replace with:
 If preceded by E, replace with:
Ê If preceded by I, replace with:
Î If preceded by O, replace with:
Ô If preceded by U, replace with:
Û If preceded by a, replace with:
â If preceded by e, replace with:
ê If preceded by i, replace with:
î If preceded by o, replace with:
ô If preceded by u, replace with:
û Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was cha▲AE3ssis (where ▲ is the escape character), then convert it to chβssis <!--
chassis -->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE3 (Circumflex) |
|
|
AC_DIERESIS [¨] |
ESC AE4 |
Step 1: If preceded by A, replace with:
Ä If preceded by E, replace with:
Ë If preceded by I, replace with:
Ï If preceded by O, replace with:
Ö If preceded by U, replace with:
Ü If preceded by Y, replace with:
Ÿ If preceded by a, replace with:
ä If preceded by e, replace with:
ë If preceded by i, replace with:
ï If preceded by o, replace with:
ö If preceded by u, replace with:
ü If preceded by y, replace with:
ÿ Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was u▲AE4berall (where ▲ is the escape character), then convert it to όberall <!--
uberall -->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE4 (Dieresis accent ) |
|
|
AC_CARON [ˇ] |
ESC AE5 |
Step
1: If preceded by S, replace with: Š If preceded by s, replace with: š Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was s▲AE5 (where ▲ is the
escape character), then convert it to <!-- s -->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE5 (Caron accent) |
|
|
AC_TILDE [~] |
ESC AE6 |
Step 1: If preceded by A, replace with:
à If preceded by N, replace with:
Ñ If preceded by O, replace with:
Õ If preceded by a, replace with:
ã If preceded by n, replace with:
ñ If preceded by o, replace with:
õ Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was n▲AE6apa (where ▲ is the escape character), then convert it to ρapa <!-- napa
-->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE6 (Tilde accent) |
|
|
AC_ANGSTROM [°] |
ESC AE7 |
Step 1: If preceded by A, replace with:
Å If preceded by a, replace with:
å Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was a▲AE7rti (where ▲ is the escape character), then convert it to εrti <!-- arti
-->.) Step 3: Add to {error file}: {TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning verify implementation of ESC AE7 (Angstrom) |
|
|
AC_MACRON [ˉ] |
ESC AE8 |
Step
1: Replace with:
<a style="position: relative; left: -0.3 em; top: -0.3 em; font-size: 1.8 em; font-weight:
normal">-</a> Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was o▲AE8lelo
(where ▲ is the escape character), then convert it to
ōlelo <!-- olelo -->.) Step 3: Add the following to the previous <table> tag: summary="Warning
to users of assistive technology:
this paragraph includes a character with a macron on top of it, that
may be misinterpreted by your reader as an letter followed by a dash." |
^: 20
U.S.C. § 7902(19) f: 20
U.S.C. § 7912(1) (B)(ii) |
|
AC_CEDILLA [Έ] |
ESC AE9 |
Step 1: If preceded by C, replace with:
Ç If preceded by c, replace with:
ç Step 2: Continue normal processing until the next space is reached. Insert a space, <!--, another space,
the previous word, another space, and -->. (For instance, if the original text was c▲AE9a (where ▲ is the escape character), then convert it to ηa <!-- ca
-->.) Step 3: Add to {error file}:
{TITLE NUMBER} USC{appendix}
{SECTION NUMBER}{long subsection} ({text field})
warning verify implementation of ESC AE9 (cedilla) |
|
A bell (HEX 07) signals that a command is to be given. The character that immediately follows a
bell indicates the type of command. As
indicated below, some of these commands have arguments these arguments come
immediately after the character following the bell. For instance,
Bell-I80
is a bell-I with an argument
of 80. Note that the bell commands are case sensitive.
A bell-a is followed by a three-digit numeric. When a bell-a occurs:
(1) Store the number as {bell-a argument}.
(2) Delete all of the text from the bell-a up to (but not including) the next bell.
(3) Add to {error file}: {TITLE NUMBER} USC{appendix}{SECTION
NUMBER}{long subsection} ({text
field}) warning verify implementation of bell-a{bell-a argument}.
Delete the bell-A.[35]
The bell-c indicates the start of tabular data[36]. The bell-c is normally followed by a long string of qualifiers that define the characteristics of the table. This is then followed by additional codes associated with the actual data in the table. A bell-e marks the end of the table. Note that bell codes within a table (i.e., between a bell-c and a bell-e) may have different characteristics than the same bell codes outside of a table.
(A.1) The bell-c is followed immediately by a number and a comma.
(a) Store the number as the {number of columns in table}.
(b) Set {footnote switch}, {column}, {absolute width indent}, and {table offset} to zero.
(c) Set {HTML frame
value} to: void
(d) Set {bearoff}[37] to two.
(e) Set {bearoff default} and {table switch} to: on
(f) Add seven to {Leading}[38]
(g) Set {Body HTML font size}, {Boxhead HTML font size}, {colspan}, {Footnote HTML font size}, {Grid}, {I95 HTML font size}, {I96 HTML font size}, {original grid}, {original typeface}, and {Typeface}, to one.
(h) Set {alignment}, {previous stub locator}, {table leading}, {table row}, and {table width in points}, to zero.
(i) Set {absolute width switch}, {block style}, {I25 switch}, {ns switch}, {row bottom leadering}, {stub indent limit switch}, {table-wide justification}, {top leadering switch}, and {tracing column switch} to: off
(j) Set {HTML border value} to one.
(k) (i) set {table width in pixels} to 480
(ii) if {number of columns in table} is greater than 9, then set {table width in pixels} to 718.
(l) Set {rules value}[39] to: all
(m) If {text field} is SOURCE,[40] then set {text field} to: MISC1
(n) Set {boxhead top leading} to 4
(p) For every value of {N} (from 1 to {number of columns in table}*2[41]), set {bell-D indent}{N} to: <!-- --> <!-- -->
(q) Set {centering table width} to 720
(r) Set {Body point size} to six
(s) Set {I26 HTML font size} to three
(t) For every value of {N} (from 1 to {number of columns in table}*2[42]), set {vertical rule suppression}{N} and {vertical rule}{N} to a blank.
(u) Clear out the contents of {repeated headings file} and {I25 repeated headings file}.
|
L argument |
HTML frame value |
|
0 [43] |
void |
|
1 [44] |
hsides |
|
2 [45] |
hsides |
|
3 [46] |
0 |
|
4 [47] |
0 |
|
5 [48] |
0 |
|
6 [49] |
0 |
|
Any other value |
0 |
(a) If {HTML frame value} = 0, then
(i)
Add to the {error file}: {TITLE
NUMBER} USC{appendix}{SECTION
NUMBER}{long subsection} ({text
field}) unidentified argument in c-code L{L argument}
(ii) Set {HTML frame value} to: void
(b) If {HTML frame value} = void, then set {HTML border value} to zero.
(c) If {L argument} = 1, then set {rules value}[50] to: none
(A.3) If the argument contains an L followed by a number and an open paren,[51] up to six numbers (delimited by commas), a close paren, and a comma, then
(a) follow the directions in A.2
(ignoring the restriction on open parens contained in the introduction.
(b) [reserved]
(c) If there is a number immediately after the open paren, then
set {top of table rule weight} to
that number
(e) If there is a number immediately after the second comma,
then set {end of table rule weight}
to that number
(f) If there is a number immediately after the third comma, then set {horizontal rules weight} to that
number
(g) If there is a number immediately after the fourth comma,
then set {vertical rules weight} to
that number
(h) If there is a number immediately after the fifth comma,
then set {gap between parallel lines}
to that number
(h-1) If {top of table rule weight} equals zero,
{end of table rule weight} equals
zero, and {HTML frame value} equals
hsides, [52] then
(1) set {HTML frame value} to: void
(2) go to instruction (j-1).
(i) If {top of table
rule weight} equals zero and {HTML
frame value} equals hsides, then set {HTML
frame value} to: below
(j) If {end of table rule
weight} equals zero and {HTML frame
value} equals hsides, then set {HTML
frame value} to: above
(j-1) If {horizontal rules weight} equals zero
and {vertical rules weight} equals
zero, then set {rules value}[53] to: none
(k)
If {horizontal rules weight} equals zero and {rules value}[54] does not equal
none, then set {rules value}
to: cols
(l) If {vertical rules
weight} equals zero and {rules
value}[55] does not equal
none, then set {rules value}
to: rows
(m) [reserved]
(n)
If {HTML
border value} is greater than zero, then
(1) average the non-zero values of {top of table rule weight}, {end
of table rule weight}, {horizontal
rules weight}, and {vertical rules
weight}
(2) divide the average from instruction (n)(1) by four
(3) round off the result of instruction (n)(2) to the nearest
whole number
(4) store the result of instruction (n)(3) as {HTML border value}
(A.4) If the argument contains a b (bearoff) followed by a number and a comma,[56] then
(a) calculate
{bearoff}[57] by multiplying the value of the number that
followed the b by 0.8 and rounding that product to the nearest whole number.
(b) Set {bearoff
default} to: off
(A.5) If the argument contains an ns, (minimum space)[58], then:
(a) subtract seven from {Leading}.
(b) Set {ns switch}
to: on
(A.6)
If the argument contains an nc,
(no carding)[59], then set {ns switch} to: on
(A.7)
If the argument contains an nj,
(non-justify)[60], then set {table-wide justification} to: off
(A.8) If the argument contains a j, (justify)[61], then
(a) set {table-wide
justification} to: on
(b) add to {error file}: {TITLE
NUMBER} U.S.C.{appendix}{SECTION
NUMBER}{long subsection} ({text
field}) attention verify accuracy of rendering of j in bell-c command
line see Subformat Generation MicroComp
(2/1/97), page 4 (item 7).
(A.9)
If the argument contains an nh,
(no hyphenation in stub column)[62], then ignore the code and continue processing.
(A.10) If the argument contains an lt, (leader from top)[63], then
(a) set {top leadering
switch} to: on
(b) add to {error file}: {TITLE
NUMBER} USC{appendix}{SECTION
NUMBER}{long subsection} ({text
field}) attention verify accuracy of rendering of lt in bell-c command
line see Subformat Generation MicroComp
(2/1/97), page 4 (item 9).
(A.11)
If the argument contains tp
(title point size) followed by a number followed by a comma[64],
then store the {I95 HTML font size} and
{I96 HTML font size} according to
the following table
|
tp argument |
I95[65] HTML font size |
I96[66] HTML font size |
|
0 [67] |
0 |
0 |
|
1 |
1 |
1 |
|
2 |
1 |
1 |
|
3 |
1 |
1 |
|
4 |
1 |
1 |
|
5 |
1 |
1 |
|
6 [68] |
1 |
1 |
|
7 [69] |
2 |
1 |
|
8 [70] |
3 |
1 |
|
9 |
4 |
2 |
|
10 |
5 |
3 |
|
11 |
5 |
3 |
|
12 |
6 |
5 |
|
13 |
6 |
5 |
|
14 |
7 |
6 |
|
Over 14 |
7 |
6 |
(A.12) If
the argument contains a p followed by a number, a comma, a second number, a
slash, a third number, and a comma (e.g., p6,7/8), then the first number
represents the point size of the boxhead, the second number represents the
point size of the body of the table, and the third number represents the
leading point size of the body of the table[71]. Convert the point sizes according to the
following table:
|
Point size |
HTML font size |
|
0 [72] |
0 |
|
1 [73] |
1 |
|
2 |
1 |
|
3 |
1 |
|
4 [74] |
1 |
|
5 |
1 |
|
6 [75] |
1 |
|
7 [76] |
2 |
|
8 [77] |
3 |
|
9 |
4 |
|
10 |
5 |
|
11 |
5 |
|
12 |
6 |
|
13 |
6 |
|
14 |
7 |
|
Over 14 |
7 |
(a)
Store the point size of the second number as the {Body point size}.
(b)
Store the HTML font size of the first number as the {Boxhead HTML font size}.
(c)
Store the HTML font size of the second number as the {Body HTML font size}.
(c-1) Store the point size of the third number as {interline leading}.
(d)
If {bearoff default} = on,
then
(i) Multiply the value of {Body point size} by 0.4; round it off
to the nearest whole number; and move it to {bearoff}[78].
(ii)
Set {bearoff default}
to: off
(e)
Use the above table to calculate the HTML font size of a point size
equal to {Body point size} + 2. Store the HTML font size that results as {I26 HTML font size}.
(f)
Subtract the value of {Body
point size} from {interline leading}.
(g)
Multiply {interline leading} by
0.8 and round off the result to the nearest whole number.
(h)
If {interline leading} is
greater than {bearoff}, then set {bearoff} to the value of {interline leading}.
(A.13)
If the argument contains an f
(footnote point size)[79]
followed by a number and a comma, convert the point size according to the
following table and store it as the {Footnote
HTML font size}:
|
Footnote point size |
Footnote HTML font size |
|
1 |
1 |
|
2 |
1 |
|
3 |
1 |
|
4 |
1 |
|
5 |
1 |
|
6 |
1 |
|
7 |
2 |
|
8 |
3 |
|
9 |
4 |
|
10 |
5 |
|
11 |
5 |
|
12 |
6 |
|
13 |
6 |
|
14 |
7 |
|
Over 14 |
7 |
(A.14) If the argument contains a g, a
number, and a comma[80],
then, store the number as {Grid} and
{original grid}.
(A.15) If the argument contains a t, a
number, and a comma[81],
then, store the number as {Typeface}
and {original typeface}.
(A.16)
If
the argument contains an aw, (absolute width)[82]
and a comma, then set {absolute width
switch} to: on
(A.17) If the argument contains an aw followed by a number and a comma, then store the number as
{absolute width indent}.
(A.18) If the argument
contains a bl, (block style)[83], then set {block
style} to: on
(A.19) If the argument contains a bl,
followed by a locator and an em-quad[84],
then
add
to {error file}: {TITLE
NUMBER} USC{appendix}{SECTION
NUMBER}{long subsection} ({text
field}) undefined argument in c-code bl em-quad see Subformat
Generation MicroComp (2/1/97), page 4 (item 15).
(A.20)
If the argument contains an o (offset)[85]
followed by a number and a comma, then store the number as {table offset}.
(A.21)
If the argument contains an i1 (indentations)[86]
followed by a comma, then set {stub indent limit switch} to:
on
The number of columns in the table has already been defined (see item A.1(a), above). The bell-c arguments that follow (items B.1 to B.7A) define the attributes of each column. The columns are defined in the order that the data occurs (i.e., the first (i.e., left-most) column is defined first, the next column is defined second, etc.). When storing the attributes, the column must also be stored (e.g., as the index of an array).
(B.1) If the argument contains an s (stub)[87]
followed by a number and
·
a
comma,
·
a
b and a comma,
·
a
C and a comma,
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma, or
·
a
V and a comma,
then
(a)
increment {column} by 1
(b)
set {align}{column}: left
(c) (i) store
the number that followed the s as the {column
width in points}{column}.
(ii) if
{absolute width switch} is off,
then double the value stored in {column
width in points}{column}.
(d)
add the value of the {column
width in points}{column} to the {table width in points}
(d-1) if {table-wide
justification} is on, then set {align}{column}
to: justify
(e)
if the delimiter was an R and a comma, then set {align}{column} to:
right
(f)
if the delimiter was a C and a comma, then set {align}{column} to:
center
(g)
if the delimiter was a j and a comma, then set {align}{column} to:
justify
(h)
set {valign}{column} to: top
(i)
if {row bottom leadering} is
on, then set {valign}{column}
to: bottom
(j)
if the delimiter was an n and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (j)(4)
(3) set {vertical rule suppression}{column} to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(k) if the delimiter was a p
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(l) if the delimiter was a b and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.2) If the argument contains an r (reading column
width)[88]
followed by a number and
·
a
comma,
·
a
b and a comma,
·
a
C and a comma,
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma, or
·
a
V and a comma,
then
(a) increment {column} by 1
(b) set {align}{column} to:
left
(c) (i) store
the number that followed the r as the
{column width in points}{column}
(ii) if
{absolute width switch} is off,
then double the value stored in {column
width in points}{column}.
(d) add the value of the {column width in points}{column}
to the {table width in points}
(d-1) if {table-wide justification} is on, then set {align}{column} to:
justify
(e) if the delimiter was an R
and a comma, then set {align}{column}
to: right
(f) if the delimiter was a C
and a comma, then set {align}{column}
to: center
(g) if the delimiter was a j
and a comma, then set {align}{column}
to: justify
(h) set {valign}{column} to: top
(i) if {row bottom leadering} is on, then set {valign}{column} to:
bottom
(j) if {block style} is on, then delete the contents of {bell-D indent}{column}.
(k) if the delimiter was an n
and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (k)(4)
(3) set {vertical rule suppression}{column} to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(l) if the delimiter was a p and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(m) if the delimiter was a b
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.3) If the argument contains a comma, followed by a
whole number (figure column)[89], followed by
·
a
comma,
·
a
b and a comma,
·
a
C and a comma,
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma, or
·
a
V and a comma,
then
(a) increment {column} by 1
(b) set {align}{column} to:
right
(c) (i) store the number as the {column width in points}{column}
(ii) if {absolute
width switch} is on, then multiply {column
width in points}{column} by five.
(d) add the value of the {column width in points}{column}
to the {table width in points}
(e) if the delimiter was an L
and a comma, then set {align}{column}
to: left
(f) if the delimiter was a C
and a comma, then set {align}{column}
to: center
(g) if the delimiter was a j
and a comma, then set {align}{column}
to: justify
(h) set {valign}{column} to:
top
(i) if {row bottom leadering} is on, then set {valign}{column} to:
bottom
(j) if the delimiter was an n
and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (j)(4)
(3) set {vertical rule suppression}{column} to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(k) if the delimiter was a p
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(l) if the delimiter was a b and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.4) If the argument contains a pair of numbers with any
character (other than comma or a space) between them (alignment column)[90] ,
followed by
·
a
comma,
·
a
b and a comma,
·
an
n and a comma, or
·
a
p and a comma,
then
(a) increment {column} by 1
(b) store the first number as
the {left alignment}{column}
(c) store the separator
character as the {separator character}{column}
(d) store the second number as
the {right alignment}{column}
(e) set {align}{column} to:
char char={separator character}
(f)(i) calculate the value of {column width in points}{column} according to the
formula: {left alignment}{column} + {right alignment}{column}
+ 1 = {column width in points}{column}
(ii) if
{absolute width switch} is on,
then recalculate the value of {column
width in points}{column} according to the formula (({column width in points}{column}
1) * 5) + 1 = {column width in
points}{column}
(g) add
the value of the {column width in
points}{column} to the {table
width in points}.
(h) set {valign}{column} to:
top
(i) if {row bottom leadering} is on, then set {valign}{column} to:
bottom
(j) if the delimiter was an n
and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (j)(4)
(3) set {vertical rule suppression}{column} to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(k) if the delimiter was a p
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(l) if the delimiter was a b and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.5) If the argument contains an xl (no leaders
special reading column)[91], followed by
a number and
·
a
comma,
·
a
b and a comma,
·
a
C and a comma,
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma, or
·
a
V and a comma,
then
(a) increment {column} by 1
(b) set {align}{column} to:
left
(c) store the number that
followed the xl as the {column width
in points}{column}
(d) add the value of the {column width in points}{column}
to the {table width in points}
(d-1) if {table-wide justification} is on, then set {align}{column} to:
justify
(e) if the delimiter was an R
and a comma, then set {align}{column}
to: right
(f) if the delimiter was a C
and a comma, then set {align}{column}
to: center
(g) if the delimiter was a j
and a comma, then set {align}{column}
to: justify
(h) set {valign}{column} to:
top
(i) if {row bottom leadering} is on, then set {valign}{column} to:
bottom
(j) if the delimiter was an n and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (j)(4)
(3)
set {vertical rule suppression}{column}
to: bordercolorlight=#FFFFFF
(4) set
{vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(k) if the delimiter was a p
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(l) if the delimiter was a b and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.6) If the argument contains an xs (no spread
special reading column)[92], followed
by a number and
·
a
comma,
·
a
b and a comma,
·
a
C and a comma,
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma, or
·
a
V and a comma,
then
(a) increment {column} by 1
(b) set {align}{column}:
left
(c) store the number that
followed the xs as the {column width
in points}{column}
(d) add the value of the {column width in points}{column}
to the {table width in points}
(d-1) if {table-wide justification} is on, then set {align}{column} to: justify
(e) if the delimiter was an R
and a comma, then set {align}{column}
to: right
(f) if the delimiter was a C
and a comma, then set {align}{column}
to: center
(g) if the delimiter was a j
and a comma, then set {align}{column}
to: justify
(h) set {valign}{column} to:
top
(i) if {row bottom leadering} is on, then set {valign}{column} to:
bottom
(j) if the delimiter was an n and a comma, then:
(1) set {rules
value} to: cols
(2) if {vertical rule
suppression}{column} does not equal blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (j)(4)
(3) set
{vertical rule suppression}{column}
to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(k) if the delimiter was a p and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(l) if the delimiter was a b and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.7) If the argument contains an xls (no leaders or spread special
reading column), followed by
·
a
comma, [93]
·
a
b and a comma,
·
a
C and a comma, [94]
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma,
·
a
V and a comma,
then
(a) increment {column} by 1
(b) move the following value to {align}{column} to: left
(c) store the number that
followed the xls as the {column width
in points}{column}
(d) add the value of the {column width in points}{column}
to the {table width in points}
(d-1) if {table-wide justification} is on, then set {align}{column}
to: justify
(e) if the delimiter was an R
and a comma, then set {align}{column}
to: right
(f) if the delimiter was a C
and a comma, then set {align}{column}
to: center
(g) if the delimiter was a j
and a comma, then set {align}{column}
to: justify
(h) set {valign}{column} to:
top
(i) if {row bottom leadering} is on, then set {valign}{column} to:
bottom
(j) if the delimiter was an n
and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (j)(4)
(3) set {vertical rule suppression}{column} to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(k) if the delimiter was a p
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(l) if the delimiter was a b and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.7A) If the argument contains a tr (tracer column), followed
by a number, followed by a
·
a
comma,
·
a
b and a comma,
·
a
C and a comma,
·
a
j and a comma,
·
an
L and a comma,
·
an
n and a comma,
·
a
p and a comma,
·
an
R and a comma,
·
a
V and a comma,
then
(a)
increment (column} by
1
(b)
set {align}{column}
to: right
(c)
store the number as {column
width in points}{column}
(d)
if {absolute width
switch} is on, then multiply {column
width in points}{column} by five
(e)
add {column width in
points}{column} to {table
width in points}
(f)
if the delimiter was an L and a comma, then set {align}{column} to: left
(g)
if the delimiter was an C and a comma, then set {align}{column} to: center
(h)
if the delimiter was a j and a comma, then set {align}{column} to: justify
(i)
(1) set
{valign}{column} to: bottom
(2) if {top leadering
switch} is on, then set {valign}{column}
to: top
(j)
set {tracing column
switch} to: on
(k) add the
following to {error file}: {TITLE
NUMBER} USC{appendix}{SECTION
NUMBER}{long subsection} ({text
field}) attention verify accuracy of tracing column rendering see
Subformat Generation MicroComp (2/1/97) pages 2 (locator 50) and 4 (item 18),
and GPO Style Manual section 13.119.
(l) if the delimiter was an n
and a comma, then:
(1) set {rules value} to: cols
(2) if {vertical rule suppression}{column} does not equal
blank, then
(A) set {vertical rule suppression}{column} to: bordercolor= #FFFFFF
(B) go to instruction (l)(4)
(3) set {vertical rule suppression}{column} to: bordercolorlight=#FFFFFF
(4) set {vertical rule suppression}{column}+1
to: bordercolordark=#FFFFFF
(m) if the delimiter was a p and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: p
(4) set {column width in points}{column} to zero
(n) if the delimiter was a b
and a comma, then
(1) increment {number of columns in table} by one
(2) increment {column} by one
(3) set {vertical rule}{column} to: b
(4) set {column width in points}{column} to zero
(B.8) Once the final column has been processed,
(a) if {absolute
width switch} is on, then
(i) set {table width in pixels} to the three
times the value of {table width in
points} and round off to the nearest whole number.
(ii)
if {table width in
pixels} is greater than 718, then set {centering
table width} to the value of {table
width in pixels} + 2
(a-1) if {absolute
width indent} is greater than zero, then
(i)
multiply {absolute
width indent} times 2.7 and round
off to the nearest whole number
(ii)
add {absolute width
indent} to {centering table width}
(iii)
if {absolute width
switch} is off, then subtract {absolute
width indent} from {table width in
pixels}
(a-2) if {absolute
width indent} is greater than zero, then
(i)
multiply {table offset} times 2.7 and round off to the nearest whole
number
(ii) add {table offset} to {centering table width}
(iii)
if {absolute width
switch} is off, then subtract {table
offset} from {table width in pixels}
(b) (i) if {number of
columns in table} is greater than one, then calculate (for each value of {column}, from one to {number of columns in table} - 1) the {column width in pixels}{column}[95] by using the
following formula:
({column
width in points}{column} / {table width in
points}) H {table width in pixels} = {column
width in pixels}{column}
(ii) if
{number of columns in table} is
greater than one, then calculate {column
width in pixels}{number of columns in table} by
adding all of the values of {column
width in pixels}1 through {column
width in pixels}{number of columns in table} 1 and
then subtracting the total from the value of {table width in pixels}
(iii) if {number of columns in table} equals one,[96]
then set {column width in pixels}1
to the value of {table width in pixels}.
(iv) for each value of {column}, where {vertical rule}{column} is p,
(A) set {column width in pixels}{column} to the value of {gap between parallel lines} divided by
four.
(B) Round off {column width in pixels}{column} to
the nearest whole number.
(C) Add the value of {column width in pixels}{column} to
{table width in pixels}.
(D) If {table width in pixels} + 2 > {centering table width}, then set {centering table width} to the value of {table width in pixels} + 2.
(v)
for each value of {column},
where {vertical rule}{column}
is b,
(A) increment {table width in pixels} by one.
(B) If {table width in pixels} + 2 > {centering table width}, then set {centering table width} to the value of {table width in pixels} + 2
(c)
Multiply {leading} by
0.8. Round off {leading} to the nearest whole number. If {leading} is less
than zero, then set {leading} to
zero. For every occurrence of {leading}, insert in the {Leading file}: <tr></tr>
(d) (i) If {text field} is STATUTE, then
output: <a
onMouseOver=window.status={TITLE
NUMBER} USC{appendix}{SECTION
NUMBER}{long subsection}; return true>
(ii) Set {frame} to: void
(iii)
Set
{border} to: 0
(iv) If {bell-y} equals one, then
(1)
Set {frame} to: lhs
(2)
Set {Border} to: one
(v) output
the following: <table width={centering table width} border={border} cellpadding=0 frame={frame} rules=none>{Leading file}<tr><td
align=center>
(e) clear out the {Leading file}.
(f) set {leading} to seven.
(g) If {ns switch} is on, then set {leading}
to zero.
As noted in the introduction to Bell-c, bell codes within a table (i.e., between a
bell-c and a bell-e) may have different characteristics than the same bell
codes outside of a table. In the chart
below, find the line associated with the bell code, and
(1) execute the special
processing instructions
(2) replace the bell
code with the
HTML coding shown in the table in the Precede text with column;
(3) insert the text that
followed the bell-code, up to the next bell[97];
(4) insert the HTML coding shown
in the Follow text with column;
(5) If the bell-code is a bell-h
or bell-I, then store the {FOTP}
value
|
Bell codes within bell-c table |
|
|
|
|
|
Bell code |
Precede text with |
Follow text with |
Special processing |
Example available
at |
|
A |
|
|
(1) Set {table row} to sixty. - - - (2) Add to {error file}: {TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning improper use of bell-A in table Subformat Generation MicroComp (2/1/97) page 2, footnote f, states that bell-A is not to be used inside of a table and a bell-z is to be used instead. |
|
|
b |
|
|
26 U.S.C. § 1252(a)(3) |
|
|
D |
<td width={column
width in pixels}{column} {current column attribute} {vertical rule
suppression}{column}><font size={current HTML font size}>{bell-D
indent}{column} |
</font></td> |
(1) Set {number of grid changes} and {number of typeface changes} to zero. - - - - - - (2A) Execute bell-c instruction F(9)(e) and then return. - - - (3) If {I25 switch} is off, then: (a)
Set {current
column attribute} to: align={align}{column} valign={valign}{column} (b)
Set {current HTML
font size} to the value of {Body
HTML font size} (c)
If {row bottom
leadering} is on, then set {current
column attribute} to: align={align}{column}
valign=bottom - - - (4) If {I25 switch} is on, then: (a)
Set {current
column attribute} to: align=center valign=top (b) Set {current HTML font size} to the value
of {Boxhead HTML font size} (c) If {table-wide justification} is on
and {row bottom leadering} is
off, then set {current column
attribute} to: align=justify
valign=top (d) If {table-wide justification} is on
and {row bottom leadering} is
on, then set {current column
attribute} to: align=justify
valign=bottom (e) Add to the {I25 repeated headings file} a copy
of all of the material output as a result of the bell-D. - - - (5) Set {Grid} to the value of {original grid}. - - - (6) Set {Typeface} to the value of {original typeface}. - - - (7) Process grid and typeface values according to G-codes and T-codes. - - - (8) If {number of columns in table}={column}, then follow the Follow text with material with: </tr> |
1 U.S.C. (prec. ch. 1) 5 U.S.C. prec. pt. I (Table Showing Disposition of All Sections of Former Title 5) |
|
e |
</table></td></tr></table>ΓΓ |
|
(1) Zero out the values for: ·
{align}1 to {number of columns in table} ·
{alignment} ·
{Body HTML font
size} ·
{Boxhead HTML
font size} ·
{colspan} ·
{column width
in pixels}1 to {number of
columns in table} ·
{column width
in points}1 to {number of
columns in table} ·
{current column
attribute} ·
{current HTML
font size} ·
{Footnote HTML
font size} ·
{footnote
switch} ·
{HTML border
value} ·
{HTML frame
value} ·
{I95 HTML font
size} ·
{I96 HTML font
size} ·
{left
alignment} ·
{right
alignment} ·
{separator
character} ·
{table width in
pixels} ·
{table width in
points} ·
{valign}1 to {number of columns in table} Note: {leading} is
initialized in bell-c instruction B.8, instead of as
part of the bell-e processing. - - - (2) If {column}
does not equal {number of columns
in table}, then precede the Precede
text with material with: </tr> - - - (3) set {table switch} to: off - - - (4) clear out {repeated headings file} and {I25 repeated headings file}. - - - (5) if {text field} is STATUTE, then
follow the Precede text with material
with: </a> |
5 U.S.C. § 5332 note (sched. 3) |
|
f |
</table><table width={table width in pixels} border=0
cellspacing=0 cellpadding=0 frame=void rules=none>{footnote top leading}<tr><td
width={table width in pixels} align=justify> <div
align="justify"><font size={Footnote HTML font size}>    <!--
--> |
</font></div></td></tr> |
(1) Increment {footnote switch} by one. - - - (2) Set {footnote top leading} to a blank space. - - - (3) If {footnote switch} = 1, then set {footnote top leading} to: <tr> </tr><tr></tr><tr> </tr><tr></tr><tr> </tr><tr></tr> - - - (4) Set {number of grid changes} and {number of typeface changes} to zero. |
5 U.S.C. § 5332 note (sched. 3) |
|
g |
|
|
36 U.S.C. § 101 (Table
Showing Disposition of All Sections From Title 36) |
|
|
G |
|
|
21 U.S.C. § 350a(i)(2)(B) |
|
|
h |
|
|
4 U.S.C. § 1 note (Ex. Ord. No. 10798, § 21) |
|
|
I01 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}> ◊ |
</font></div></td> |
1 U.S.C. (prec. ch. 1) |
|
|
I02 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
21 U.S.C. § 350a(i)(2)(B) |
|
|
I03 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
11 U.S.C. app. (Bankr. R.) rule 7001 note |
|
|
I04 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
20 U.S.C. § 1091(r)(1) |
|
|
I05 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
28 U.S.C. app. (Fed. Cl. R.) app. J (rule 16) |
|
|
I06 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size= {Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I07 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I08 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I09 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I10 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I11 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}> ◊ |
</font></div></td> |
1 U.S.C. (prec. ch. 1) |
|
|
I12 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I13 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I14 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I15 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I16 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I17 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I18 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I19 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I20 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}>{stub indent file} ◊ |
</font></div></td> |
|
|
|
I21 |
<tr><td {width attribute} align={I21 alignment}><div align={I21 alignment}><font size={Body HTML font size}> |
</font></div></td> |
(1) set {I21 alignment} to: center - - - (2) if {table-wide justification} is on, then set {I21 alignment} to: justify - - - (2A) if {L argument} equals 2, 4, or 6, then set {colspan} to the value of {number of columns in table} - - - |
20 U.S.C. § 1087pp(b)(4) |
|
I22 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}> ◊ |
</font></div></td> |
1 U.S.C. prec. ch. 1 (Table Showing Disposition of All Sections of Former Title 1) |
|
|
I23 |
</table><table width={table width in pixels} border=0
cellspacing=0 cellpadding=0 frame=void rules=none><tr><td
width={table width in pixels}
align=right><font size={Footnote
HTML font size}> |
</font></td></tr> |
(1) Standard Reading/Stub Column processing - - - (2)
Add to the {error
file}: {TITLE NUMBER} U.S.C.{appendix} {SECTION NUMBER}{long subsection} ({text field}) verify accuracy of rendering of I23 in subformat generation table see Subformat Generation MicroComp (2/1/97), page 2. |
|
|
I24 |
<tr><td width={width attribute} align={I24 alignment} valign={valign}{column}
{vertical rule suppression}{column}><div align={I24
alignment}><font size={Body
HTML font size}>   ◊ |
</font></div></td> |
(1) if {line type} is J, then set {I24 alignment} to: justify - - - (2) if {line type} is L, then set {I24 alignment} to: left - - - (3) if {line type} is C, then set {I24 alignment} to: center - - - (4) if {line type} is R, then set {I24 alignment} to: right - - - (5) if {line type} is V, then set {I24 alignment} to: left - - - |
|
|
I25 |
<tr><td {width attribute} align={I25 alignment}
valign=top><div align={I25
alignment}><font size={Boxhead
HTML font size}> |
</font></div></td> |
(1) Set {I25 alignment} to: center - - - (2) If {table-wide justification} is on, then set {I25 alignment} to: justify - - - (3) Standard Reading/Stub Column processing - - - (4) Set {I25 switch} to: on - - - (5) Clear out the contents of {I25 repeated headings file}. - - - (6) Add to the {I25 repeated headings file} all material output as a result of the bell-I25. |
20 U.S.C. § 1087oo(c)(2) |
|
I26 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font
size={I26 HTML font size}> ◊ |
</font></div></td> |
|
|
|
I27 |
|
|
(1) Process this locator as if it were a bell-I40. - - - (2) Add the following to {error file}: {TITLE NUMBER}{long subsection} ({text field}) USC{appendix} {SECTION NUMBER}(long subsection} ({text field}) warning improper use of locator-27 in table Subformat Generation MicroComp (2/1/97), page 6, in item E(2)(g) states that locator-27 is obsolete and locator-40 should be used instead. |
|
|
I28 |
<tr><td {width attribute} align={I28 alignment}><font size={Body HTML font size}> |
</font></td> |
(1) set {I21 alignment} to: center - - - (2) if {table-wide justification} is on, then set {I21 alignment} to: justify - - - (3) if {L argument} equals 2, 4, or 6, then set {colspan} to the value of {number of columns in table} - - - |
|
|
I29 |
|
|
(1) Process this locator as if it were a bell-f. - - - (2) Add the following to {error file}: {TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning improper use of locator-29 in table Subformat Generation MicroComp (2/1/97), page 6, item E(2)(i), states that a bell-f is to used for footnotes, not a locator-29. |
|
|
I30 |
<tr><td colspan={number of columns in table} align={I30 alignment}><div align={I30 alignment}><font size={Body HTML font size}> |
</font></td> |
(1) Set {I30 alignment} to: center - - - (2) If {table-wide justification} is on, set {I30 alignment} to: justify - - - |
|
|
I31 |
<tr><td {width
attribute} align={align}{column}
valign={valign}{column}
{vertical rule suppression}{column}><div
align={align}{column}><font
size={Body HTML font size}> ◊ |
</font></div></td> |
1 U.S.C. (prec. ch. 1) |
|
|
I38 |
<tr><td {width attribute} align={align}{column} valign={valign}{column} {vertical rule suppression}{column}><div align={align}{column}><font size={Body HTML font size}> ◊ |
</font></div></td> |
|
|
|
I39 |
<table width=600 border=0 cellspacing=0
cellpadding=0 frame="none" rules="none"> {Leading file}<tr><td width=120> 
</td><td width=480>{footnote
divider file}<div align=justify><font size=1>   <!--
--> |
</div></font></td></tr> </table> |
(1) if the {footnote
file} is not empty, then set the {leading
file} and the {footnote divider
file} to a blank. - - - (2) Increment {footnote
switch} by one. - - - (3) [reserved] - - - (4) Do not output this material. Add it, instead, to the {footnote file} for use with document breaks (i.e., locator 80 (in formats 5800 to 5803) and bell-R) |
33 U.S.C. § 1285(c)(2) |
|
I40 |
<td colspan= {colspan} align={alignment}><font size={Body HTML font size} ◊ |
</font></td> |
(1) Set {number of grid changes} and {number of typeface changes} to zero. - - - (2) The locator-40 is followed by either · ({colspan}); or · {alignment} ({colspan}) where {alignment} is J, L, or R, and {colspan} is a number. - - - (3) Increment {colspan} by one. - - - (4) If {alignment} = J, then set {alignment} to: justify - - - (5) If {alignment} = L, then set {alignment} to: left - - - (6) If {alignment} = R, then set {alignment} to: right - - - (7) If {alignment} = 0, and {table-wide justification} is off, then set {alignment} to: center - - - (7A) If {alignment} = 0, and {table-wide justification} is on, then set {alignment} to: justify - - - (8) Do not output the close paren or any of the material before it. - - - (9) Long table testing and processing. - - - (10) After completing the Follow text with processing, set {alignment} to 0. |
|
|
I50 |
<tr><td {width attribute} align={align}1 valign={valign}1 {vertical rule suppression}{column}><div align={align}1><font size={Body HTML font size}> |
</font></div></td> |
|
|
|
I51 to I80 |
|
|
(1) Take the two-digit argument that follows the bell-I, subtract 49 and subtract {column}. For each occurrence of the remaining number, act as if there is a bell-D. - - - (2) Add to {error file}: {TITLE NUMBER} USC{appendix} {SECTION NUMBER}{long subsection} ({text field}) warning improper use of bell-{bell code} in table Subformat Generation MicroComp (2/1/97), page 6, item E(2)(p) states that a bell-D should be used instead. |
|
|
{plsfield tag}<table width={table width in pixels} border=0 cellspacing=0 cellpadding=0 frame="void" rules="none"><tr><td width={table width in pixels} align="center"><font size={I95 HTML font size}> |
</font></td></tr><tr> </tr><tr></tr><tr></tr>
<tr></tr></table> |
(1)
If {I95 HTML font
size}=0, then delete the bell-I95 and all of the text that follows it
through the next bell. Stop
processing the bell-I95 and begin processing the next bell-code. - - - (2) If {I95 HTML font size} = 2, then: (a) if {text field} equals MISC1, MISC2, MISC3, MISC4, MISC5, MISC6, MISC7, or MISC8, then set {plsfield tag} to a blank. (b) If {text field} equals HEAD, STATUTE, SOURCE, or STATAMEND, then (1) set {text field} to: MISC1 (2) set {plsfield tag} to: <!--plsfield:MISC1--> (c) If {text field} equals REFTEXT, then (1) set {text field} to: MISC2 (2) set {plsfield tag} to: <!--plsfield:MISC2--> (d) If {text field} equals COD, then (1) set {text field} to: MISC3 (2) set {plsfield tag} to: <!--plsfield:MISC3--> (e) If {text field} equals CHANGE, then (1) set {text field} to: MISC4 (2) set {plsfield tag} to: <!--plsfield:MISC4--> (f) If {text field} equals TRANS, then (1) set {text field} to: MISC5 (2) set {plsfield tag} to: <!--plsfield:MISC5--> (g) If {text field} equals EXEC, then (1) set {text field} to: MISC6 (2) set {plsfield tag} to: <!--plsfield:MISC6--> (h) If {text field} equals CROSS, then (1) set {text field} to: MISC7 (2) set {plsfield tag} to: <!--plsfield:MISC7--> (i) If {text field} equals SECREF, then (1) set {text field} to: MISC8 (2) set {plsfield tag} to: <!--plsfield:MISC8--> - - - (3) [reserved] - - - (4) Set the
value of {HTML font size} to the
value of {I95 HTML font size} - - - (5) Set {number of grid changes} and {number of typeface changes} to zero. - - - (6) Add to the {repeated headings file}: the Precede text with material, the text that follows the bell-I95, the literal <!-- --> —<!-- --> Continued, and the Follow text with material. |
7-point miscellaneous table title: 1 U.S.C. (prec. ch. 1). 7-point Historical and Revision Notes table title: 5 U.S.C. § 101 notes. 6-point table title: 4 U.S.C. § 1 notes (Ex. Ord. No. 10834, § 33). No table title (0 point size): 4 U.S.C. § 1 notes (Ex. Ord. No. 10834, §
21). |
|
|
I96 |
||||