diff options
author | 2022-03-29 10:27:10 +0100 | |
---|---|---|
committer | 2022-04-17 12:53:05 +0100 | |
commit | 085bde903b9e684c3c1160e4df912bea9a660997 (patch) | |
tree | c4f5e6e9f2422e869ca5bc0b944520d451001282 /doc/Lib.htm | |
parent | Import Ghostscript 9.55 (diff) | |
download | ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.tar.gz ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.tar.bz2 ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.zip |
Import Ghostscript 9.56.0ghostscript-9.56
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'doc/Lib.htm')
-rw-r--r-- | doc/Lib.htm | 440 |
1 files changed, 193 insertions, 247 deletions
diff --git a/doc/Lib.htm b/doc/Lib.htm index bd986be5..10ce8ec4 100644 --- a/doc/Lib.htm +++ b/doc/Lib.htm @@ -1,69 +1,38 @@ <!doctype html> -<html> +<html lang="en"> <head> -<meta charset="UTF-8"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro" rel="stylesheet"> -<link rel="shortcut icon" type="image/png" href="../../images/favicon.png"> -<title>The Ghostscript Library</title> - <!-- Originally: lib.txt --> -<link href="style.css" rel="stylesheet" type="text/css"> -<link href="gs-style.css" rel="stylesheet" type="text/css"> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <meta name="viewport" content="user-scalable=yes, initial-scale=1, width=device-width"> + <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i" rel="stylesheet"> + <link rel="shortcut icon" href="images/favicon.svg"> + <title>The Ghostscript Library</title> + <link href="default.css" rel="stylesheet" type="text/css"> </head> <body> + <header><div class="title"><a href="index.html"><h1 aria-label="title">Ghostscript documentation</h1><h2 aria-label="version"></h2></a></div><a href="Search.htm" aria-label="Search" id="searchSite"><div class="search"></div></a></header> + <main> + <article> + <div class="outer"> - <div class="header"> - <div class="row"> - <div class="col-lt-6 logo"><a href="https://www.ghostscript.com/"><img src="images/ghostscript_logo.png" width="108" height="119" alt=""></a></div> - <div class="col-6"><div class="row"><div class="artifexlogo"><a href="https://artifex.com" target="_blank"><img src="images/Artifex_logo.png" width="194" height="40" alt=""></a></div> - <div class="col-12"><div class="button button1"><a href="https://artifex.com/contact-us/" title="Contact Us" target="_blank">Contact Us</a></div> - <div class="button button2 hidden-xs"><a href="https://www.ghostscript.com/download.html" title="Download">Download</a></div></div></div> - </div> - </div> - </div> - - <div class="banner"> - <div class="row"> - <div class="col-12">The Ghostscript Library</div> - </div> - </div> - - <div class="main"> - <div class="row"> - <div id="sidebar"> - <div class="sidebar-item"></div> - <div class="col-2 leftnav"> -<ul> - <li><a href="https://www.ghostscript.com/">Home</a></li> - <li><a href="https://www.ghostscript.com/license.html">Licensing</a></li> - <li><a href="https://www.ghostscript.com/releases.html">Releases</a></li> - <li><a href="https://www.ghostscript.com/documentation.html" title="Documentation">Documentation</a></li> - <li><a href="https://www.ghostscript.com/download.html" title="Download">Download</a></li> - <li><a href="https://www.ghostscript.com/performance.html" title="Performance">Performance</a></li> - <li><a href="http://jbig2dec.com/" title="jbig2dec">jbig2dec</a></li> - <li><a href="http://git.ghostscript.com/?p=ghostpdl.git;a=summary">Source</a></li> - <li><a href="http://bugs.ghostscript.com/">Bugs</a></li> - <li><a href="https://www.ghostscript.com/faq.html" title="FAQ">FAQ</a></li> - </ul> - </div> - </div> - <div class="col-10 page"> - + <div class="inner"> <!--START EDITING HERE--> -<h2>Table of contents</h2> +<h1>The Ghostscript Library</h1> -<blockquote><ul> -<li><a href="#GS_library">The Ghostscript library</a> -<li><a href="#PS_operator_API">PostScript operator API</a> -<ul> -<li><a href="#Patterns">Patterns</a> -<li><a href="#Lower_level_API">Lower-level API</a> +<h2><a name="toc"></a>Table of contents</h2> +<ul class="toc"> + <li><a href="#GS_library">The Ghostscript library</a> + <li><a href="#PS_operator_API">PostScript operator API</a> + <li> + <ul> + <li><a href="#Patterns">Patterns</a> + <li><a href="#Lower_level_API">Lower-level API</a> + </ul> + </li> + <li><a href="#Visual_trace">Visual Trace instructions</a> + <li><a href="#Full_example">A full example</a> </ul> -<li><a href="#Visual_trace">Visual Trace instructions</a> -<li><a href="#Full_example">A full example</a> -</ul></blockquote> <!-- [1.2 end table of contents] =========================================== --> @@ -144,65 +113,65 @@ inverted control structure. <blockquote><table> <tr> <th align="left">Section<br>(operators)</th> - <th> </th> + <th align="left">Headers</th> - <th> </th> + <th align="left">Omissions</th> </tr> <tr> <td>Graphics state – device-independent</td> - <td> </td> + <td><code>gscolor.h</code>(<code>gsstate.h</code>)<br><code>gscolor1.h</code><br><code>gscolor2.h</code><br><code>gscspace.h</code><br><code>gshsb.h</code><br><code>gsline.h</code>(<code>gsstate.h</code>)<br><code>gsstate.h</code></td> - <td> </td> + <td> </td> </tr> <tr> <td>Graphics state – device-dependent</td> - <td> </td> + <td><code>gscolor.h</code>(<code>gsstate.h</code>)<br><code>gscolor1.h</code><br><code>gscolor2.h</code><br><code>gsht.h</code>(<code>gsht1.h</code>,<code>gsstate.h</code>)<br><code>gsht1.h</code><br><code>gsline.h</code>(<code>gsstate.h</code>)</td> - <td> </td> + <td> </td> </tr> <tr> <td>Coordinate system and matrix</td> - <td> </td> + <td><code>gscoord.h</code><br><code>gsmatrix.h</code></td> - <td> </td> + <td><code>*matrix</code>, <code>*identmatrix</code>, <code>*concatmatrix</code>, <code>*invertmatrix</code></td> </tr> <tr> <td>Path construction</td> - <td> </td> + <td><code>gspath.h</code><br><code>gspath2.h</code></td> - <td> </td> + <td><code>*arct</code>, <code>*pathforall</code>, <code>ustrokepath</code>, <code>uappend</code>, <code>upath</code>, <code>ucache</code></td> </tr> <tr> <td>Painting</td> - <td> </td> + <td><code>gsimage.h</code><br><code>gspaint.h</code><br><code>gspath2.h</code></td> - <td> </td> + <td><code>*image</code>, <code>*colorimage</code>, <code>*imagemask</code>, <code>ufill</code>, <code>ueofill</code>, <code>ustroke</code></td> </tr> <tr> <td>Form and pattern</td> - <td> </td> + <td><code>gscolor2.h</code></td> - <td> </td> + <td><code>execform</code></td> </tr> <tr> <td>Device setup and output</td> - <td> </td> + <td><code>gsdevice.h</code></td> - <td> </td> + <td><code>*showpage</code>, <code>*set</code>/<code>currentpagedevice</code></td> </tr> <tr> <td>Character and font</td> - <td> </td> + <td><code>gschar.h</code><br><code>gsfont.h</code></td> - <td> </td> + <td>*(all the <code>show</code> operators), <code>definefont</code>, <code>undefinefont</code>, <code>findfont</code>, <code>*scalefont</code>, <code>*makefont</code>, <code>selectfont</code>, <code>[Global]FontDirectory</code>, <code>Standard</code>/<code>ISOLatin1Encoding</code>, <code>findencoding</code></td> </tr> </table></blockquote> @@ -286,23 +255,23 @@ sections of the Manual: <blockquote><table> <tr> <th align="left">Section<br>(operators)</th> - <th> </th> + <th align="left">Headers</th> - <th> </th> + <th align="left">Operators</th> </tr> <tr> <td>Interpreter parameter</td> - <td> </td> + <td><code>gsfont.h</code></td> - <td> </td> + <td><code>cachestatus</code>, <code>setcachelimit</code>, <code>*set/currentcacheparams</code></td> </tr> <tr> <td>Display PostScript</td> - <td> </td> + <td><code>gsstate.h</code></td> - <td> </td> + <td><code>set/currenthalftonephase</code></td> </tr> </table></blockquote> @@ -341,27 +310,27 @@ using the color are two separate operations. <blockquote><table> <tr> <td><code>gs_client_color *</code></td> - <td> </td> + <td>The resulting <code>Pattern</code> color is stored here. This is different from PostScript, which has no color objects <em>per se</em>, and hence returns a modified copy of the dictionary.</td> </tr> <tr> <td><code>const gs_client_pattern *</code></td> - <td> </td> + <td>The analogue of the original <code>Pattern</code> dictionary, described in detail just below.</td> </tr> <tr> <td><code>const gs_matrix *</code></td> - <td> </td> + <td>Corresponds to the matrix argument of the <code>makepattern</code> operator.</td> </tr> <tr> <td><code>gs_state *</code></td> - <td> </td> + <td>The current graphics state.</td> </tr> <tr> <td><code>gs_memory_t *</code></td> - <td> </td> + <td>The allocator to use for allocating the saved data for the <code>Pattern</code> color. If this is <code>NULL</code>, <code>gs_makepattern</code> uses the @@ -468,271 +437,272 @@ The following table explains the semantics of Visual Trace instructions. <table> <tr> - <th colspan="5">Visual Trace instructions</th> + <th colspan="3">Visual Trace instructions</th> </tr> <tr> <th align="left">Instruction</th> - <th> </th> + <th align="left">Function</th> - <th> </th> + <th align="left">Parameters</th> </tr> <tr> <td><code>vd_get_dc</code></td> - <td> </td> + <td>Obtain drawing context</td> - <td> </td> + <td><code>-T</code> option flag value, for which the subsequent output is enabled.</td> </tr> <tr> <td><code>vd_release_dc</code></td> - <td> </td> + <td>Release drawing context</td> - <td> </td> + <td> </td> </tr> <tr> <td><code>vd_enabled</code></td> - <td> </td> + <td>Is trace currently enabled ?</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_get_size_unscaled_x</code></td> - <td> </td> + <td>Get the horizontal size of the output window in pixels.</td> - <td> </td> + <td></td> </tr> - <tr> <td><code>vd_get_size_unscaled_y</code></td> - <td> </td> + <tr><td><code>vd_get_size_unscaled_y</code></td> + <td>Get the vertical size of the output window in pixels.</td> - <td> </td> + <td></td></tr> <tr> <td><code>vd_get_size_caled_x</code></td> - <td> </td> + <td>Get the horizontal size of the output window in debuggee coordinate units.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_get_size_caled_y</code></td> - <td> </td> + <td>Get the vertical size of the output window in debuggee coordinate units.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_get_scale_x</code></td> - <td> </td> + <td>Get the horizontal scale.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_get_scale_y</code></td> - <td> </td> + <td>Get the vertical scale.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_get_origin_x</code></td> - <td> </td> + <td>Get the horizontal position of the draft origin in debuggee coordinate space.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_get_origin_y</code></td> - <td> </td> + <td>Get the vertical position of the draft origin in debuggee coordinate space.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_set_scale(s)</code></td> - <td> </td> + <td>Set isotripic scale.</td> - <td> </td> + <td>Debugee space to window space mapping scale, same for both dimentions.</td> </tr> <tr> <td><code>vd_set_scaleXY(sx,sy)</code></td> - <td> </td> + <td>Set anisotripic scale.</td> - <td> </td> + <td>Debugee space to window space mapping scale, one for each dimention.</td> </tr> <tr> <td><code>vd_set_origin(x,y)</code></td> - <td> </td> + <td>Set the draft origin.</td> - <td> </td> + <td>Origin of the draft in debugee space.</td> </tr> <tr> <td><code>vd_set_shift(x,y)</code></td> - <td> </td> + <td>Set the draft position.</td> - <td> </td> + <td>Position of the draft origin in window space (in pixels).</td> </tr> -<tr> <td><code>vd_set_central_shift</code></td> - <td> </td> +<tr><td><code>vd_set_central_shift</code></td> + <td>Set the draft position to window center.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_erase(c)</code></td> - <td> </td> + <td>Fill entire window.</td> - <td> </td> + <td>Color to fill.</td> </tr> <tr> <td><code>vd_beg_path</code></td> - <td> </td> + <td>Begin path construction.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_end_path</code></td> - <td> </td> + <td>End path construction.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_moveto(x,y)</code></td> - <td> </td> + <td>Path construction : Set the draft current point.</td> - <td> </td> + <td>Debugee coordinates.</td> </tr> <tr> <td><code>vd_lineto(x,y)</code></td> - <td> </td> + <td>Path construction : Line from current point to specified point.</td> - <td> </td> + <td>Debugee coordinates.</td> </tr> <tr> <td><code>vd_lineto_mupti(p,n)</code></td> - <td> </td> + <td>Path construction : Poliline from current point to specified points.</td> - <td> </td> + <td>Array of points and its size, debugee coordinates.</td> </tr> <tr> <td><code>vd_curveto(x0,y0,x1,y1,x2,y2)</code></td> - <td> </td> + <td>Path construction : Curve (3rd-order Bezier) from current point to specified point, with specified poles.</td> - <td> </td> + <td>2 poles and the curve ending point, debuggee coordinates.</td> </tr> <tr> <td><code>vd_closepath</code></td> - <td> </td> + <td>Path construction : Close the path (is necessary for filling an area).</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_bar(x0,y0,x1,y1,w,c)</code></td> - <td> </td> + <td>Bar from point to point.</td> - <td> </td> + <td>2 points (debugee coordinates), width (in pixels) and color.</td> </tr> <tr> <td><code>vd_square(x0,y0,w,c)</code></td> - <td> </td> + <td>Square with specified center and size.</td> - <td> </td> + <td>The center (debugee coordinates), size (in pixels) and color.</td> </tr> <tr> <td><code>vd_rect(x0,y0,x1,y1,w,c)</code></td> - <td> </td> + <td>Canonic rectangle with specified coordinites.</td> - <td> </td> + <td>Coordinates of boundaries (debugee coordinates), line width (in pixels) and color.</td> </tr> <tr> <td><code>vd_quad(x0,y0,x1,y1,x2,y2,x3,y3,w,c)</code></td> - <td> </td> + <td>Quadrangle with specified coordinites.</td> - <td> </td> + <td>Coordinates of vertices (debugee coordinates), line width (in pixels) and color.</td> </tr> <tr> <td><code>vd_curve(x0,y0,x1,y1,x2,y2,x3,y3,c,w)</code></td> - <td> </td> + <td>Curve with width.</td> - <td> </td> + <td>4 curve poles (debugee coordinates), color, and width (in pixels).</td> </tr> -<tr> <td><code>vd_circle(x,y,r,c)</code></td> - <td> </td> +<tr> + <td><code>vd_circle(x,y,r,c)</code></td> + <td>Circle.</td> - <td> </td> + <td>Center (debugee coordinates), radius (in pixels) and color.</td> </tr> <tr> <td><code>vd_round(x,y,r,c)</code></td> - <td> </td> + <td>Filled circle.</td> - <td> </td> + <td>Center (debugee coordinates), radius (in pixels) and color.</td> </tr> <tr> <td><code>vd_stroke</code></td> - <td> </td> + <td>Stroke a path constructed with vd_beg_path, vd_moveto, vd_lineto, vd_curveto, vd_closepath, vd_end_path.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_fill</code></td> - <td> </td> + <td>Fill a path constructed with vd_beg_path, vd_moveto, vd_lineto, vd_curveto, vd_closepath, vd_end_path.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>vd_setcolor(c)</code></td> - <td> </td> + <td>Set a color.</td> - <td> </td> + <td>Color (an integer consisting of red, green, blue bytes).</td> </tr> <tr> <td><code>vd_setlinewidth(w)</code></td> - <td> </td> + <td>Set line width.</td> - <td> </td> + <td>Width (in pixels).</td> </tr> <tr> <td><code>vd_text(x,y,s,c)</code></td> - <td> </td> + <td>Paint a text.</td> - <td> </td> + <td>Origin point (debugee coordinates), a string, and a color.</td> </tr> <tr> <td><code>vd_wait</code></td> - <td> </td> + <td>Delay execution until a resuming command is entered through user interface.</td> - <td> </td> + <td></td> </tr> </table> @@ -749,177 +719,177 @@ the structure <code>vd_trace_interface</code>, explained in the table below. <table> <tr> - <th colspan="5">vd_trace_interface structure</th> + <th colspan="3">vd_trace_interface structure</th> </tr> <tr> <th align="left">Field</th> - <th> </th> + <th align="left">Purpose</th> - <th> </th> + <th align="left">Parameters</th> </tr> <tr> <td><code>host</code></td> - <td> </td> + <td>A pointer to the rasterizer control block - to be provided by client application. The type of the fild is client dependent.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>scale_x, scale_y</code></td> - <td> </td> + <td>Scale of debugee coordinate to window coordinate mapping - internal work data, don't change.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>orig_x, orig_y</code></td> - <td> </td> + <td>Draft origin in debugee coordinates - internal work data, don't change.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>shift_x, shift_y</code></td> - <td> </td> + <td>Draft shift in window coordinates - internal work data, don't change.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>get_size_x(I)</code></td> - <td> </td> + <td>Get window width in pixels.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>get_size_y(I)</code></td> - <td> </td> + <td>Get window height in pixels.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>get_dc(I,I1)</code></td> - <td> </td> + <td>Obtain drawing context.</td> - <td> </td> + <td>Pointer to interface block, and pointer to copy of the pointer. Implementation must set *I1 if it succeeds to get a drawing context.</td> </tr> <tr> <td><code>release_dc(I,I1)</code></td> - <td> </td> + <td>Release drawing context.</td> - <td> </td> + <td>Pointer to interface block, and pointer to copy of the pointer. Implementation must reset *I1 if it succeeds to release the drawing context.</td> </tr> <tr> <td><code>erase(I,c)</code></td> - <td> </td> + <td>Erase entire window.</td> - <td> </td> + <td>Background color.</td> </tr> <tr> <td><code>beg_path(I)</code></td> - <td> </td> + <td>Begin path construction.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>end_path(I)</code></td> - <td> </td> + <td>End path construction.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>moveto(I,x,y)</code></td> - <td> </td> + <td>Set current point.</td> - <td> </td> + <td>A point in window coordinates.</td> </tr> <tr> <td><code>lineto(I,x,y)</code></td> - <td> </td> + <td>Line from current point to specified point.</td> - <td> </td> + <td>A point in window coordinates.</td> </tr> <tr> <td><code>curveto(I,x0,y0,x1,y1,x2,y2)</code></td> - <td> </td> + <td>Curve from current point with specified poles to specified point.</td> - <td> </td> + <td>3 points in window coordinates.</td> </tr> <tr> <td><code>closepath(I)</code></td> - <td> </td> + <td>Close the path.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>circle(I,x,y,r)</code></td> - <td> </td> + <td>Circle.</td> - <td> </td> + <td>Center and radius, window coordinates.</td> </tr> <tr> <td><code>round(I,x,y,r)</code></td> - <td> </td> + <td>Filled circle.</td> - <td> </td> + <td>Center and radius, window coordinates.</td> </tr> <tr> <td><code>fill(I)</code></td> - <td> </td> + <td>Fill the path.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>stroke(I)</code></td> - <td> </td> + <td>Stroke the path.</td> - <td> </td> + <td></td> </tr> <tr> <td><code>setcolor(I,c)</code></td> - <td> </td> - <td>Set color.</td> - <td> </td> + + <td>Set color.</td> + <td>An integer, consisting of red, green, blue bytes.</td> </tr> <tr> <td><code>setlinewidth(I,w)</code></td> - <td> </td> + <td>Set line width.</td> - <td> </td> + <td>Line width in pixels.</td> </tr> <tr> <td><code>text(I,x,y,s)</code></td> - <td> </td> + <td>Draw a text.</td> - <td> </td> + <td>Coodrinates in pixels, and a string.</td> </tr> <tr> <td><code>wait(I)</code></td> - <td> </td> + <td>Delay execution untill resume command is inputted from user.</td> - <td> </td> + <td></td> </tr> </table> @@ -1024,7 +994,7 @@ is finished, it should execute: <hr> <p> -<small>Copyright © 2000-2021 Artifex Software, Inc. All rights reserved.</small> +<small>Copyright © 2000-2022 Artifex Software, Inc. All rights reserved.</small> <p> This software is provided AS-IS with no warranty, either express or @@ -1037,41 +1007,17 @@ or contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, CA 94945, U.S.A., +1(415)492-9861, for further information. <p> -<small>Ghostscript version 9.55.0, 27 September 2021 +<small>Ghostscript version 9.56.0, 29 March 2022 <!-- [3.0 end visible trailer] ============================================= --> -<!--FINISH EDITING HERE--> - - </div> - </div> - </div> - <div class="footer"> - <div class="row"> - <div class="col-7 footleft"> - <ul> - <li><a href="https://artifex.com/contact-us/" target="blank">CONTACT US</a></li> - <li><a href="https://artifex.com/about-us/" target="blank">ABOUT</a></li> - <li><a href="https://ghostscript.com/security.html">SECURITY</a></li> - </ul> - </div> - <div class="col-1 footcenter"> - <ul> - <li><a href="https://artifex.com/support/" target="blank">SUPPORT</a></li> - <li><a href="https://artifex.com/blog/artifex/" target="blank">BLOG</a></li> - <li><a href="https://artifex.com/privacy-policy/" target="blank">PRIVACY</a></li> - </ul> - </div> - <div class="col-ft-3 footright"><img src="images/Artifex_logo.png" width="194" height="40" alt=""/> <br> - © Copyright 2019-2021 Artifex Software, Inc. <br> - All rights reserved. - </div> - </div> - </div> - - <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> - <script src="index.js"></script> +<!--FINISH EDITING HERE--> + </div><!-- close inner --> + </div><!-- close outer --> + </article> + </main> + <script src="site.js"></script> </body> </html> |