⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cawf.1

📁 操作系统设计与实现源码
💻 1
📖 第 1 页 / 共 2 页
字号:
     separate device file for each device represented  in  the  output  device
     configuration file - the dumb.dev device file will suffice for almost all
     representations.

DEVICES
     Cawf supports primitive output device configuration  for  font  and  type
     face  control.   One  font  may  be  selected  for the entire document by
     directing cawf to issue a font selection control character string at  the
     beginning  of the document, and control character strings may be selected
     for switching between the bold, italic and Roman type faces.

     The -c config, -ddevice and -ffont options direct the font and type  face
     selections.

     The -ddevice option specifies the name of the  device.   Cawf  has  three
     built-in  devices  -  ANSI,  NONE  and  NORMAL.   When the ANSI device is
     selected, cawf issues the ANSI shadow mode control codes, ``ESC [ 7  m'',
     to  represent the bold face; the ANSI underscore control codes, ``ESC [ 4
     m'', to represent the italic face; and the ANSI control codes, ``ESC [  0
     m'',  to  represent the ROMAN face.  No -ffont specification is permitted
     with the ANSI device.

     When the NONE device is selected, cawf uses no special  output  codes  to
     represent  the type faces.  No -ffont specification is permitted with the
     ANSI device.


Purdue University                       November, 1992                       5



CAWF(1)                   Minix Programmer's Manual                    CAWF(1)


     The NORMAL output device  is  the  default.   When  it's  selected,  cawf
     overprints  each  bold character two times, using three issuances of each
     bold  character,  separated  by  backspace  characters;  it   issues   an
     underscore  and  backspace  before  each  italic  character.   No  -ffont
     specification is permitted with the ANSI device.   The  bsfilt(1)  filter
     may  be  used  to further process the backspace codes output for a NORMAL
     device.

     All other devices named in the -ddevice option must be represented  by  a
     stanza  in  the device configuration file.  The device configuration file
     is usually contained in device.cf in cawf's library  directory  (see  the
     FILES  section  for more information).  An alternate device configuration
     file path may be specified with the -cconfig option.

     The DEVICE CONFIGURATION FILE section describes the organization  of  the
     device  configuration  file.   It is easy to add devices to the device.cf
     supplied in the cawf distribution.

     The -ffont option  may  be  used  with  the  -ddevice  option,  when  the
     appropriate stanza in the device configuration file contains an entry for
     the named font.  The DEVICE  CONFIGURATION  FILE  section  describes  how
     fonts are defined in device configuration file stanzas.

DEVICE CONFIGURATION FILE
     The  device  configuration  file  defines  the  special  character  codes
     necessary  to  direct output devices to select fonts and to produce bold,
     italic and Roman type faces.

     The configuration file is usually found in device.cf  in  cawf's  library
     directory  (see the FILES section for more information).  It is organized
     into two main parts - comments and  device  stanzas.   Comments  are  any
     lines  that  begin  with  the  pound  sign  (`#')  character.   They  are
     informational only and cawf ignores them.  Cawf also ignores empty lines,
     so they may be used as vertical white space.

     Stanzas name devices and define their font and type face control strings.
     A stanza begins with the name of the device, starting at the beginning of
     a line and occupying the entire line.  The body of the  stanza,  defining
     fonts  and  type  faces, is formed of lines beginning with white space (a
     TAB or space characters) that directly follow the device name.

     Individual lines of the stanza body contain a key character, followed  by
     a  equal  sign,  followed by the font name (if a font key) and the output
     device control codes.  Cawf issues the font control codes  once,  at  the
     beginning  of  output,  so  only one font may be selected.  The type face
     control codes are issued at each change of type face.

     The key characters are:




Purdue University                       November, 1992                       6



CAWF(1)                   Minix Programmer's Manual                    CAWF(1)


          b          for bold
          f          for font definition
          i          for italic
          r          for Roman

     The `b', `i' and `r' key codes are followed by an equal  sign  (`=')  and
     their  control code definition.  The `f' key code is followed by an equal
     sign (`='), the font name, another equal sign and the font  control  code
     definition.

     Control code definitions may  contain  any  printable  ASCII  characters.
     Non-printable characters may be encoded in octal notation with the `\nnn'
     form or in hexadecimal with the `\xnn' form.  The special code, `\E'  (or
     `\e') represents the ESC control character (\033 or \x1b).

     Here's a sample showing the definition for  the  HP  LaserJet  III.   The
     stanza  name  is ``lj3''.  All its non-printable characters are ESCs; the
     first is coded in  octal  form;  the  second  with  '\E';  the  rest,  in
     hexadecimal  form.   TAB is used as the leading white space character for
     the stanza body lines.

          # HP LaserJet III

          lj3
                  b=\033(s7B
                  i=\E(s1S
                  r=\x1b(s0B\x1b(s0S
                  f=c10=x1b&l0Ox1b(8Ux1b(s0p12h10v0s0b3T
                  f=c12ibm=x1b&l0Ox1b(10Ux1b(s0p10.00h12.0v0s0b3T
                  f=lg12=x1b&l0Ox1b(8Ux1b(s12h12v0s0b6T


     The distribution device.cf file defines the following devices and fonts.

     epson     dot matrix printer in Epson FX-86e/FX-800 mode
               Bold:     Double-strike
               Fonts:    none

     ibmppds   IBM Personal Printer Data Stream (PPDS) protocol
               Bold:     Double-strike
               Italic:   Underline
               Fonts:    none










Purdue University                       November, 1992                       7



CAWF(1)                   Minix Programmer's Manual                    CAWF(1)


     kxp1124   Panasonic KX-P1124 dot matrix printer in PGM mode
               Bold:     Emphasized
               Fonts:    c10        10 Characters Per Inch (CPI) Courier
                         c12        12 CPI Courier
                         bps10      10 CPI Bold PS
                         bps12      12 CPI Bold PS
                         p10        10 CPI Prestige
                         p12        12 CPI Prestige
                         s10        10 CPI Script
                         s12        12 CPI Script
                         ss10       10 CPI Sans Serif
                         ss12       12 CPI Sans Serif

     kxp1180   Panasonic KX-P1180 dot matrix printer in PGM mode
               Bold:     Emphasized
               Fonts:    c10        10 Characters Per Inch (CPI) Courier
                         c12        12 CPI Courier
                         bps10      10 CPI Bold PS
                         bps12      12 CPI Bold PS
                         p10        10 CPI Prestige
                         p12        12 CPI Prestige
                         ss10       10 CPI Sans Serif
                         ss12       12 CPI Sans Serif

     lj3       HP LaserJet III
               Fonts:    c10        10 point, 12 Characters Per Inch (CPI)
                                    Courier
                         c12ibm     12 point, 10 CPI Courier, IBM-PC
                                    Symbol Set
                         lg12       12 point, 12 CPI Letter Gothic

     vgamono   VGA monochrome monitor for MS-DOS
               (ANSI.SYS driver required for MS-DOS)
               Italic:   Reverse-video
               Fonts:    none

FILES
     Cawf  resource  files  are  located  in  the  cawf  library  directory  -
     C:\SYS\LIB\CAWF,  the  MS-DOS  environment default; or /usr/lib/cawf, the
     UNIX environment default.   These  defaults  can  be  overridden  by  the
     CAWFLIB environment variable, or changed in the cawflib.h header file.

     common      common device-independent initialization
     device.cf   output device configurations
     *.dev       device-specific initialization
     m*.mac      macro package files






Purdue University                       November, 1992                       8



CAWF(1)                   Minix Programmer's Manual                    CAWF(1)


DIAGNOSTICS
     Unlike nroff, cawf complains whenever  it  sees  unknown  requests.   All
     diagnostics appear on the standard error file.

HISTORY
     Vic Abell of Purdue University <abe@cc.purdue.edu> derived cawf from awf,
     ``the  Amazingly Workable (text) Formatter,'' written by Henry Spencer of
     the University of Toronto.  The Toronto work was a supplement  to  the  C
     News  project.   The  Purdue  effort  was aimed at producing a C language
     version that would run on small systems, particularly MS-DOS  ones.   The
     adaptation    of    the    me   macros   was   done   by   Chet   Creider
     <creider@csd.uwo.ca>.  Chet also contributed ideas for device,  font  and
     type face support.

     The MS-DOS version  of  cawf  has  been  compiled  with  version  2.5  of
     Microsoft's  Quick-C  compiler.   It  runs  under the Mortis Kern Systems
     Toolkit KornShell, ksh(1), and COMMAND.COM.

BUGS
     Nroff and  troff  mavens  will  have  many  complaints.   Some  may  even
     represent bugs and not deliberate omissions.

     Watch out for scaling factors - especially on requests like \w.

     The overprinting required to create bold  and  italicized  characters  is
     tiresome  on  a  slow  printer.   The  bsfilt(1)  post-filter  from  this
     distribution may be used to  alleviate  that  nuisance  by  managing  the
     backspacing codes from cawf's NORMAL device output.

     The printing of bold and italic characters is sometimes better handled by
     special printer codes.  Use cawf's -c config, -ddevice and -ffont options
     to produce special font and device output control codes.

     Cawf has a small amount of built-in code for the man,  me  and  ms  macro
     packages, but none for any others.

     The stacking for the .so request is limited.

SEE ALSO
     bsfilt(1), colcrt(1), man(7), me(7), ms(7) and nroff(1).












Purdue University                       November, 1992                       9

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -