faxcover.1
上传用户:weiyuanprp
上传日期:2020-05-20
资源大小:1169k
文件大小:9k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. ." $Id: faxcover.1,v 1.2 2007/10/23 17:45:14 faxguy Exp $
  2. ."
  3. ." HylaFAX Facsimile Software
  4. ."
  5. ." Copyright (c) 1990-1996 Sam Leffler
  6. ." Copyright (c) 1991-1996 Silicon Graphics, Inc.
  7. ." HylaFAX is a trademark of Silicon Graphics
  8. ." 
  9. ." Permission to use, copy, modify, distribute, and sell this software and 
  10. ." its documentation for any purpose is hereby granted without fee, provided
  11. ." that (i) the above copyright notices and this permission notice appear in
  12. ." all copies of the software and related documentation, and (ii) the names of
  13. ." Sam Leffler and Silicon Graphics may not be used in any advertising or
  14. ." publicity relating to the software without the specific, prior written
  15. ." permission of Sam Leffler and Silicon Graphics.
  16. ." 
  17. ." THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  18. ." EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  19. ." WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  20. ." 
  21. ." IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  22. ." ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  23. ." OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  24. ." WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  25. ." LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  26. ." OF THIS SOFTWARE.
  27. ."
  28. .if n .po 0
  29. .ds Fx fIHylas-1FAXs+1fP
  30. .ds Ps Ps-2OSTs+2Ss-2CRIPTs+2
  31. .TH FAXCOVER 1 "January 06, 2001"
  32. .SH NAME
  33. faxcover - generate a *(Ps cover page for an outgoing facsimile
  34. .SH SYNOPSIS
  35. .B faxcover
  36. [
  37. .I options
  38. ]
  39. .B -f
  40. .IR from-name
  41. .B -n
  42. .I fax-number
  43. .SH DESCRIPTION
  44. .I faxcover
  45. generates a *(Ps(rg cover page document on the standard output.
  46. The cover page fills the entire area of a default page and
  47. is created according to the information supplied
  48. on the command line and a 
  49. .I "cover sheet template"
  50. file.
  51. .PP
  52. .I faxcover
  53. is normally invoked by the
  54. .IR sendfax (1)
  55. program to generate a cover page for each outgoing facsmile.
  56. .PP
  57. .I faxcover
  58. works by creating a *(Ps dictionary
  59. that contains definitions for the variable information
  60. that is to be placed on the facsimile cover page.
  61. Specifically, a dictionary with the following
  62. symbols are defined:
  63. .sp .5
  64. .nf
  65. .ta w'fIto-voice-number    'u +w'destination geographic location    'u +w'from-voice-number    'u
  66. fBSymbol Description Symbol DescriptionfP
  67. fItofP destination person fIfromfP fIsendingfP person
  68. fIto-companyfP destination company fIfrom-companyfP sender's company
  69. fIto-locationfP destination geographic location fIfrom-locationfP sender geographic location
  70. fIto-voice-numberfP person's voice phone number fIfrom-voice-numberfP sender's voice phone number
  71. fIto-fax-numberfP destination fax phone number fIfrom-fax-numberfP sender's fax phone number
  72. fIfP fIfrom-mail-addressfP sender's e-mail address
  73. fIcommentsfP unbroken comment string fIcommentsXfP fIs-1Xs+1fP'th line of comments
  74. fIregardingfP Re: subject fICommentXfP similar to fIcommentsXfP
  75. fIpageWidthfP page width in millimeters fIpage-countfP # pages other than cover page
  76. fIpageLengthfP page length in millimeters fItodays-datefP current date and time
  77. .fi
  78. .PP
  79. If the
  80. .I comments
  81. string is longer than
  82. .I maxlencomments
  83. characters, it is broken, on word boundaries or instances of ``\n'', into multiple *(Ps strings
  84. .I commentss-1Xs+1
  85. where
  86. .I s-1Xs+1
  87. is the line number; e.g.
  88. .I comments2
  89. for the second line of comments.
  90. Long substrings without whitespace which exceed
  91. .I maxlencomments
  92. are also broken. By default
  93. .I faxcover
  94. will generate 20
  95. .I commentss-1Xs+1
  96. strings, emitting null string values for empty lines.
  97. This number can be changed with the
  98. .B -m
  99. option; see below.
  100. .I maxlencomments
  101. is changed with the
  102. .B -z
  103. option; see below.
  104. .PP
  105. Note that use of
  106. .I commentsX
  107. with non-fixed-width fonts can lead to spatial problems where characters
  108. run off the edge of the generated cover page.  In such cases, use of
  109. .I BreakIntoLines
  110. (see below) may be a more suitable approach.
  111. .PP
  112. .I CommentX
  113. is similar to
  114. .I commentsX
  115. except that its values are created only by breaking
  116. .I comments
  117. on instances of ``\n'' and not otherwise.
  118. .I maxlines
  119. does not affect
  120. .I CommentX
  121. .PP
  122. .I faxcover
  123. also emits a *(Ps procedure for breaking comment strings into
  124. multiple lines using the *(Ps font metric information.
  125. This procedure is named
  126. .I BreakIntoLines
  127. and has the following usage convention:
  128. %<line-width> <line-height> <x> <y> <string> BreakIntoLines -
  129. eg
  130. .sp .5
  131. .RS
  132. .nf
  133. fC/rule (_____________________________________________) def
  134. /lw rule stringwidth pop def /lh 30 def
  135. /y 191.4 def /x 0 def
  136. y -30 0 { x exch moveto rule show } for
  137. lw lh x y comments BreakIntoLinesfP
  138. .fi
  139. .RE
  140. .sp .5
  141. where the width of the rule controls the length of each line
  142. of comments (note that it is made slightly shorter here for
  143. the purpose of presentation),
  144. .I x
  145. and
  146. .I y
  147. are initialized to coordinate locations on the page where the
  148. comment string should be imaged, and the number 30 is the
  149. inter-line spacing appropriate for the font used to image the
  150. comment lines.
  151. .PP
  152. If information is unavailable for an item, the associated
  153. *(Ps symbol is defined to be a null string.
  154. .PP
  155. Following the definition prologue,
  156. a cover sheet template file is copied.
  157. This file is expected to be a *(Ps program
  158. that uses the generated strings to create a cover page.
  159. The template must include a
  160. .B showpage
  161. operator to cause the page to be imaged.
  162. The above symbols will be defined in the
  163. .IR "current dictionary" .
  164. A trailing
  165. .B end
  166. operator is supplied by
  167. .IR faxcover ,
  168. so any manipulation of the dictionary stack should
  169. leave the current dictionary on the top of the
  170. stack on completion.
  171. .SH OPTIONS
  172. .TP 12
  173. .BI -c " comments"
  174. Use
  175. .I comments
  176. for the comment string. You may use '\n' to break it into several lines
  177. on generated the cover page.
  178. .TP 12
  179. .BI -C " file"
  180. Use
  181. .I file
  182. as the template file.
  183. The default template file is named
  184. .IR faxcover.ps .
  185. The template file can also be specified by setting the
  186. .SM FAXCOVER
  187. environment variable.
  188. If the template filename is not an absolute pathname, then
  189. .I faxcover
  190. looks first for this file in the home directory
  191. of the sender.
  192. If no such file is present, then it looks in the
  193. library directory where the *(Fx
  194. client application data are installed.
  195. If no template file is located,
  196. .I faxcover
  197. will terminate without generating a cover page.
  198. .TP 12
  199. .BI -D " format"
  200. Use
  201. .I format
  202. as the formatting specification passed to
  203. .IR strftime (3)
  204. when generating the time and date placed on the cover page.
  205. .TP 12
  206. .BI -f " name"
  207. Use
  208. .I name
  209. for the sender's identity.
  210. .TP 12
  211. .BI -l " location"
  212. Use
  213. .I location
  214. for the geographic location of the destination company.
  215. .TP 12
  216. .BI -L " location"
  217. Use
  218. .I location
  219. for the geographic location of the sender's company.
  220. .TP 12
  221. .BI -m " maxlines"
  222. indicates the maximum number of
  223. .I commentsX
  224. lines to generate.
  225. .TP 12
  226. .BI -M " address"
  227. Use
  228. .I address
  229. for the sender's e-mail address.
  230. .TP 12
  231. .BI -n " number"
  232. Use
  233. .I number
  234. for the destination fax machine number.
  235. .TP 12
  236. .BI -N " number"
  237. Use
  238. .I number
  239. for the sender's fax machine number.
  240. .TP 12
  241. .BI -p " count"
  242. Use
  243. .I count
  244. for the count of pages to follow the cover page.
  245. .TP 12
  246. .BI -r " regarding"
  247. Use
  248. .I regarding
  249. for the ``Re:'' field.
  250. .TP 12
  251. .BI -s " size"
  252. Set the page size to use for the transmitted facsimile.
  253. Facsimile are normally imaged with a system-default page size
  254. (usually letter-size pages, 8.5" by 11", for sites in North America).
  255. Alternate page sizes are specified symbolically using either
  256. the name or abbreviation of an entry in the
  257. .IR pagesizes (${MANNUM4_5})
  258. database; e.g.
  259. .I a3
  260. (ISO A3),
  261. .I a4
  262. (ISO A4),
  263. .I a5
  264. (ISO A5),
  265. .I a6
  266. (ISO A6),
  267. .I b4
  268. (ISO B4),
  269. .I na-let
  270. (North American Letter),
  271. .I us-leg
  272. (American Legal),
  273. .I us-led
  274. (American Ledger),
  275. .I us-exe
  276. (American Executive),
  277. .I jp-let
  278. (Japanese Letter),
  279. and
  280. .I jp-leg
  281. (Japanese Legal).
  282. Comparisons are case-insensitive and any match of a
  283. substring of the full page-size name is sufficient; e.g. ``legal'' would
  284. match ``American Legal''.
  285. .IP
  286. Note that it may not be permissible to image into the
  287. full page area; the guaranteed reproducible area for a page is 
  288. typically inset.
  289. Also, note that while arbitrary page sizes can be specified through
  290. the page size database,
  291. only a limited set of page dimensions are supported by the
  292. Group 3 facsimile protocol.
  293. Thus if an odd-size facsimile is submitted for transmission
  294. it may not be possible to determine if it can be sent
  295. until the fax server establishes communication
  296. with the remote facsimile machine.
  297. .TP 12
  298. .BI -t " name"
  299. Use
  300. .I name
  301. for the receiver's identity.
  302. .TP 12
  303. .BI -v " number"
  304. Use
  305. .I number
  306. for the receiver's voice phone number.
  307. .TP 12
  308. .BI -V " number"
  309. Use
  310. .I number
  311. for the sender's voice phone number.
  312. .TP 12
  313. .BI -x " company"
  314. Use
  315. .I company
  316. for the destination company name.
  317. .TP 12
  318. .BI -X " company"
  319. Use
  320. .I company
  321. for the sender's company name.
  322. .TP 12
  323. .BI -z " maxlencomments"
  324. indicates the maximum length in number of characters allowed in a
  325. .I commentsX
  326. string.
  327. .SH DIAGNOSTICS
  328. Complaints about not being able to locate a template file.
  329. .SH FILES
  330. .ta w'${LIBDATA}/faxcover.ps    'u
  331. ~/.faxdb personal fax number database
  332. .br
  333. ~/.hylarc per-user configuration file
  334. .br
  335. ${LIBDATA}/hyla.conf system-wide configuration file
  336. .br
  337. ${LIBDATA}/faxcover.ps default cover page template
  338. .br
  339. ${LIBDATA}/pagesizes page size database
  340. .SH BUGS
  341. .I faxcover
  342. should be able to determine the appropriate length of
  343. .I commentsX
  344. strings by using font metric information.
  345. .SH "SEE ALSO"
  346. .IR hylafax-client (1),
  347. .IR sendfax (1)
  348. .IR edit-faxcover (1)