(file) Return to enscript.info CVS log (file) (dir) Up to [RizwankCVS] / testProject / docs

  1 rizwank 1.1 This is Info file enscript.info, produced by Makeinfo version 1.68 from
  2             the input file enscript.texi.
  3             
  4             INFO-DIR-SECTION Utilities
  5             START-INFO-DIR-ENTRY
  6             * Enscript: (enscript).		    GNU Enscript
  7             END-INFO-DIR-ENTRY
  8             
  9                This file documents GNU enscript 1.6.3
 10             
 11                Copyright (C) 1995-1999 Markku Rossi.
 12             
 13                Permission is granted to make and distribute verbatim copies of this
 14             manual provided the copyright notice and this permission notice are
 15             preserved on all copies.
 16             
 17                Permission is granted to copy and distribute modified versions of
 18             this manual under the conditions for verbatim copying, provided that
 19             the entire resulting derived work is distributed under the terms of a
 20             permission notice identical to this one.
 21             
 22 rizwank 1.1    Permission is granted to copy and distribute translations of this
 23             manual into another language, under the above conditions for modified
 24             versions, except that this permission notice may be stated in a
 25             translation approved by the Foundation.
 26             
 27             
 28             File: enscript.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
 29             
 30             GNU enscript
 31             ************
 32             
 33                This file documents the GNU enscript program.  This edition documents
 34             version 1.6.3.
 35             
 36             * Menu:
 37             
 38             * Introduction::
 39             * Invoking Enscript::
 40             * Basic Printing::
 41             * Advanced Usage::
 42             * Configuration Files::
 43 rizwank 1.1 * Customization::
 44             * The states Program::
 45             * Writing New Highlighting Definitions::
 46             * Index::
 47             
 48             
 49             File: enscript.info,  Node: Introduction,  Next: Invoking Enscript,  Prev: Top,  Up: Top
 50             
 51             Introduction
 52             ************
 53             
 54                * overall
 55             
 56                * design
 57             
 58             
 59             File: enscript.info,  Node: Invoking Enscript,  Next: Basic Printing,  Prev: Introduction,  Up: Top
 60             
 61             Invoking Enscript
 62             *****************
 63             
 64 rizwank 1.1 
 65             File: enscript.info,  Node: Basic Printing,  Next: Advanced Usage,  Prev: Invoking Enscript,  Up: Top
 66             
 67             Basic Printing
 68             **************
 69             
 70             * Menu:
 71             
 72             * Input Encodings::
 73             * Selecting Fonts::
 74             * Page Headers::
 75             * Page Handling::
 76             * Highlighting::
 77             
 78             
 79             File: enscript.info,  Node: Input Encodings,  Next: Selecting Fonts,  Prev: Basic Printing,  Up: Basic Printing
 80             
 81             Input Encodings
 82             ===============
 83             
 84             
 85 rizwank 1.1 File: enscript.info,  Node: Selecting Fonts,  Next: Page Headers,  Prev: Input Encodings,  Up: Basic Printing
 86             
 87             Selecting Fonts
 88             ===============
 89             
 90             
 91             File: enscript.info,  Node: Page Headers,  Next: Page Handling,  Prev: Selecting Fonts,  Up: Basic Printing
 92             
 93             Page Headers
 94             ============
 95             
 96             
 97             File: enscript.info,  Node: Page Handling,  Next: Highlighting,  Prev: Page Headers,  Up: Basic Printing
 98             
 99             Page Handling
100             =============
101             
102             * Menu:
103             
104             * Page Orientation::
105             * N-up Printing::
106 rizwank 1.1 * Fitting Text to Page::
107             
108             
109             File: enscript.info,  Node: Page Orientation,  Next: N-up Printing,  Prev: Page Handling,  Up: Page Handling
110             
111             Page Orientation
112             ----------------
113             
114             
115             File: enscript.info,  Node: N-up Printing,  Next: Fitting Text to Page,  Prev: Page Orientation,  Up: Page Handling
116             
117             N-up Printing
118             -------------
119             
120             
121             File: enscript.info,  Node: Fitting Text to Page,  Prev: N-up Printing,  Up: Page Handling
122             
123             Fitting Text to Page
124             --------------------
125             
126             
127 rizwank 1.1 File: enscript.info,  Node: Highlighting,  Prev: Page Handling,  Up: Basic Printing
128             
129             Highlighting
130             ============
131             
132             * Menu:
133             
134             * Different Output Languages::
135             
136             
137             File: enscript.info,  Node: Different Output Languages,  Prev: Highlighting,  Up: Highlighting
138             
139             Different Output Languages
140             --------------------------
141             
142             
143             File: enscript.info,  Node: Advanced Usage,  Next: Configuration Files,  Prev: Basic Printing,  Up: Top
144             
145             Advanced Usage
146             **************
147             
148 rizwank 1.1 * Menu:
149             
150             * Selecting Pages::
151             * Escape Sequences::
152             * Input Filters::
153             * Slice Printing::
154             * PostScript Printer Controlling::
155             * Pass-Through Mode::
156             
157             
158             File: enscript.info,  Node: Selecting Pages,  Next: Escape Sequences,  Prev: Advanced Usage,  Up: Advanced Usage
159             
160             Selecting Pages
161             ===============
162             
163             
164             File: enscript.info,  Node: Escape Sequences,  Next: Input Filters,  Prev: Selecting Pages,  Up: Advanced Usage
165             
166             Escape Sequences
167             ================
168             
169 rizwank 1.1 
170             File: enscript.info,  Node: Input Filters,  Next: Slice Printing,  Prev: Escape Sequences,  Up: Advanced Usage
171             
172             Input Filters
173             =============
174             
175             
176             File: enscript.info,  Node: Slice Printing,  Next: PostScript Printer Controlling,  Prev: Input Filters,  Up: Advanced Usage
177             
178             Slice Printing
179             ==============
180             
181             
182             File: enscript.info,  Node: PostScript Printer Controlling,  Next: Pass-Through Mode,  Prev: Slice Printing,  Up: Advanced Usage
183             
184             PostScript Printer Controlling
185             ==============================
186             
187             
188             File: enscript.info,  Node: Pass-Through Mode,  Prev: PostScript Printer Controlling,  Up: Advanced Usage
189             
190 rizwank 1.1 Pass-Through Mode
191             =================
192             
193             
194             File: enscript.info,  Node: Configuration Files,  Next: Customization,  Prev: Advanced Usage,  Up: Top
195             
196             Configuration Files
197             *******************
198             
199             
200             File: enscript.info,  Node: Customization,  Next: The states Program,  Prev: Configuration Files,  Up: Top
201             
202             Customization
203             *************
204             
205             * Menu:
206             
207             * Output Media::
208             * User-Defined Fancy Headers::
209             
210             
211 rizwank 1.1 File: enscript.info,  Node: Output Media,  Next: User-Defined Fancy Headers,  Prev: Customization,  Up: Customization
212             
213             Output Media
214             ============
215             
216             
217             File: enscript.info,  Node: User-Defined Fancy Headers,  Prev: Output Media,  Up: Customization
218             
219             User-Defined Fancy Headers
220             ==========================
221             
222             
223             File: enscript.info,  Node: The states Program,  Next: Writing New Highlighting Definitions,  Prev: Customization,  Up: Top
224             
225             The `states' Program
226             ********************
227             
228             
229             File: enscript.info,  Node: Writing New Highlighting Definitions,  Next: Index,  Prev: The states Program,  Up: Top
230             
231             Writing New Highlighting Definitions
232 rizwank 1.1 ************************************
233             
234                The highlighting works in three separate phases.  First, the
235             "highlighing rules" process the input stream and parse it into logical
236             components.  The components are called "faces".  A face presents one
237             logical component of the input language, for example, a keyword, a
238             comment, etc..  The enscript's highlighting model defines the following
239             faces:
240             
241             bold
242             italic
243             bold_italic
244                  Hard-coded faces for the bold, italic, and bold-italice text types.
245                  These faces define the exact presentation of the face font, so the
246                  style files have very little power in customizing their outlook.
247                  These faces should be avoided as much as possible.
248             
249             comment
250                  A comment, normally in a programming language.
251             
252             function_name
253 rizwank 1.1      A function name.  The function names are normally recognized from
254                  function definitions, not from an use of the function.
255             
256             variable_name
257                  A variable name.  The variable names are normally recognized from
258                  function, type, and variable definitions.
259             
260             keyword
261                  A reserved keyword.  Normally, all occurrences of the keywords are
262                  recognized.
263             
264             reference
265                  A reference to another location in a file or to another file or
266                  resource.  For example, in the C-language, the goto targets are
267                  references.
268             
269             string
270                  A string literal.
271             
272             builtin
273                  A builtin function or property.  Normally, all occurrences of the
274 rizwank 1.1      builtins are recognized.
275             
276             type
277                  A type specifier.  The types are normally recognized from function,
278                  type, and variable definitions.
279             
280                As the second step, the "output style" specifies how the faces are
281             presented in the generated output.  Each face has the following
282             properties:
283             
284             fontname
285                  The PostScript font name of the the font that is used for the face.
286                  This property is used only for the PostScript outputs.
287             
288             boldp
289                  A boolean flag which tells whether the face should be printed in
290                  bold font.  This property is used for all output languages except
291                  for the PostScript which uses the fontname property.
292             
293             italicp
294                  A boolean flag which tells whether the face shuold be printed with
295 rizwank 1.1      italic font.  This property is used for all output languages
296                  except for the PostScript which uses the fontname property.
297             
298             fg_color
299                  The foreground color of the face.
300             
301             bg_color
302                  The background color of the face.  This property is not
303                  implemented on all output languages.
304             
305                Finally, the "output language" describes how the faces and other
306             text are presented in the output language.  The output language defines
307             a set of functions which are called to generate the output.
308             
309             * Menu:
310             
311             * Highlighting Rules::
312             * Styles::
313             * Output Languages::
314             
315             
316 rizwank 1.1 File: enscript.info,  Node: Highlighting Rules,  Next: Styles,  Prev: Writing New Highlighting Definitions,  Up: Writing New Highlighting Definitions
317             
318             Highlighting Rules
319             ==================
320             
321             
322             File: enscript.info,  Node: Styles,  Next: Output Languages,  Prev: Highlighting Rules,  Up: Writing New Highlighting Definitions
323             
324             Styles
325             ======
326             
327             
328             File: enscript.info,  Node: Output Languages,  Prev: Styles,  Up: Writing New Highlighting Definitions
329             
330             Output Languages
331             ================
332             
333              - Function: map_color (R, G, B)
334             
335              - Function: language_print (STRING)
336             
337 rizwank 1.1  - Function: language_symbol (SYMBOL)
338             
339              - Function: header ()
340             
341              - Function: trailer ()
342             
343              - Function: face_on (FACE)
344             
345              - Function: face_off (FACE)
346             
347              - Variable: LANGUAGE_SPECIALS
348             
349                The following example creates a new output language `simple_html'
350             that creates simple HTML outputs.  The output language is defined in a
351             file called `lang_simple_html.st'.  The file must define a state called
352             `lang_simple_html'.  The file can be located in any directory that is
353             in the load path of the states program.
354             
355                The output language definitions are defined in the `BEGIN' block of
356             the `lang_simple_html' state.  Please, note that the `BEGIN' block is
357             ended with a `return'-statement.  This statement will return the
358 rizwank 1.1 control to the calling state that is the start state of the enscript
359             highlight program.  If the `return'-statement was omitted, the states
360             would start processing the input with the `lang_simple_html' state
361             which is obviously a wrong choice.
362             
363                  state lang_simple_html
364                  {
365                    BEGIN {
366                      sub map_color (r, g, b)
367                      {
368                        return sprintf ("#%02X%02X%02X", r, g, b);
369                      }
370                  
371                      sub language_print (str)
372                      {
373                        str = regsuball (str, /\&/, "&");
374                        str = regsuball (str, /</, "&lt;");
375                        str = regsuball (str, />/, "&gt;");
376                        str = regsuball (str, /\"/, "&quot;");
377                        print (str);
378                      }
379 rizwank 1.1      
380                      sub language_symbol (symbol)
381                      {
382                        return false;
383                      }
384                  
385                      sub header ()
386                      {
387                        print ("<html>\n<head>\n<title>Simple HTML Output</title>\n");
388                        print ("</head>\n<body>\n");
389                      }
390                  
391                      sub trailer ()
392                      {
393                        print ("</body>\n</html>\n");
394                      }
395                  
396                      sub fase_on (face)
397                      {
398                        if (face(boldp])
399                          print ("<B>");
400 rizwank 1.1            if (face(italicp])
401                          print ("<I>");
402                        if (face[fg_color])
403                          print ("<FONT COLOR=\", face[fg_color], "\">");
404                      }
405                  
406                      sub face_off (face)
407                      {
408                        if (face[fg_color])
409                          print ("</FONT>");
410                        if (face[italicp])
411                          print ("</I>");
412                        if (face[boldp])
413                          print ("</B>");
414                      }
415                  
416                      LANGUAGE_SPECIALS = /[<>\&\"]/;
417                  
418                      return;
419                    }
420                  }
421 rizwank 1.1 
422             
423             File: enscript.info,  Node: Index,  Prev: Writing New Highlighting Definitions,  Up: Top
424             
425             Index
426             *****
427             
428             * Menu:
429             
430             * face_off:                              Output Languages.
431             * face_on:                               Output Languages.
432             * header:                                Output Languages.
433             * language_print:                        Output Languages.
434             * LANGUAGE_SPECIALS:                     Output Languages.
435             * language_symbol:                       Output Languages.
436             * map_color:                             Output Languages.
437             * trailer:                               Output Languages.
438             
439             
440             
441             Tag Table:
442 rizwank 1.1 Node: Top958
443             Node: Introduction1359
444             Node: Invoking Enscript1505
445             Node: Basic Printing1645
446             Node: Input Encodings1883
447             Node: Selecting Fonts2031
448             Node: Page Headers2177
449             Node: Page Handling2315
450             Node: Page Orientation2526
451             Node: N-up Printing2673
452             Node: Fitting Text to Page2821
453             Node: Highlighting2958
454             Node: Different Output Languages3113
455             Node: Advanced Usage3266
456             Node: Selecting Pages3549
457             Node: Escape Sequences3698
458             Node: Input Filters3848
459             Node: Slice Printing3991
460             Node: PostScript Printer Controlling4150
461             Node: Pass-Through Mode4345
462             Node: Configuration Files4491
463 rizwank 1.1 Node: Customization4638
464             Node: Output Media4835
465             Node: User-Defined Fancy Headers4983
466             Node: The states Program5137
467             Node: Writing New Highlighting Definitions5307
468             Node: Highlighting Rules8145
469             Node: Styles8337
470             Node: Output Languages8485
471             Node: Index11020
472             
473             End Tag Table

Rizwan Kassim
Powered by
ViewCVS 0.9.2