diff options
Diffstat (limited to '')
-rw-r--r-- | upstream/opensuse-tumbleweed/man1/pbmtext.1 | 538 |
1 files changed, 538 insertions, 0 deletions
diff --git a/upstream/opensuse-tumbleweed/man1/pbmtext.1 b/upstream/opensuse-tumbleweed/man1/pbmtext.1 new file mode 100644 index 00000000..762f5c7c --- /dev/null +++ b/upstream/opensuse-tumbleweed/man1/pbmtext.1 @@ -0,0 +1,538 @@ +\ +.\" This man page was generated by the Netpbm tool 'makeman' from HTML source. +.\" Do not hand-hack it! If you have bug fixes or improvements, please find +.\" the corresponding HTML page on the Netpbm website, generate a patch +.\" against that, and send it to the Netpbm maintainer. +.TH "Pbmtext User Manual" 0 "29 May 2020" "netpbm documentation" + +.SH NAME +pbmtext - render text into a PBM image + +.UN synopsis +.SH SYNOPSIS + +\fBpbmtext\fP +[\fB-wchar\fP] +[\fB-font\fP \fIfontfile\fP] +[\fB-builtin\fP \fIfontname\fP] +[\fB-space\fP \fIpixels\fP] +[\fB-lspace\fP \fIpixels\fP] +[\fB-nomargins\fP] +[\fB-width\fP \fIpixels\fP] +[\fB-load-entire-font\fP] +[\fB-verbose\fP] +[\fB-dry-run\fP] +[\fB-text-dump\fP] +[\fItext\fP] +.PP +Minimum unique abbreviation of option is acceptable. You may use double +hyphens instead of single hyphen to denote options. You may use white +space in place of the equals sign to separate an option name from its value. + + +.UN description +.SH DESCRIPTION +.PP +This program is part of +.BR "Netpbm" (1)\c +\&. +.PP +\fBpbmtext\fP takes the specified text, either a single line from +the command line or multiple lines from standard input, and renders it +into a PBM graphical image. +.PP +The text rendered is all the non-option command line arguments, separated +by spaces, except that if there are no non-option command line arguments, it +is Standard Input. + +.PP +In the image, each line of input is a line of output. Lines are + delimited by newline characters. +.PP +The program renders any character in an input line that is not in the font + as a space. Note that control characters usually aren't in the font, but + some fonts have glyphs for them. The newline characters that delimit lines + in of Standard Input are not in any line. +.PP +Tab characters are rendered as a number of spaces; any entry in the font + for the tab code point is irrelevant. The number of spaces is such as to + create tab stops every 8 characters. Note that this is not useful if the + font is proportional. + +.PP +The image is just wide enough for the longest line of text, plus +margins, and just high enough to contain the lines of text, plus +margins. +.PP +The left and right margins are twice the width of the widest +character in the font; the top and bottom margins are the height of +the tallest character in the font. But if the text is only one line, +all the margins are half of this. You can use the \fB-nomargins\fP option +to eliminate the margins. +.PP +\fBpbmtext\fP renders left to right. It cannot render vertically +or right to left. +.PP +\fBpbmtextps\fP does the same thing as \fBpbmtext\fP, but uses +Ghostscript to generate the characters, which means you can use +Postscript fonts. But it also means you have to have Ghostscript +installed and it isn't as fast. Also, \fBpbmtextps\fP generates only +one line of text, whereas \fBpbmtext\fP can create multiple lines. +.PP +\fBpbmtext\fP is meant for simple text. If you're working with +a \fIdocument\fP, you would be better off using a document formatting +program to "print" to a Postscript file, then feeding that Postscript +to \fBpstopnm\fP. + +.UN options +.SH OPTIONS +.PP +In addition to the options common to all programs based on libnetpbm +(most notably \fB-quiet\fP, see +.UR index.html#commonoptions + Common Options +.UE +\&), \fBpbmtext\fP recognizes the following +command line options: + + + +.TP +\fB-wchar\fP +.sp +By default, \fBpbmtext\fP takes a single-byte character stream as input. +When you specify \fB-wchar\fP, it treats input text as a multibyte character +stream encoded according to the current locale. Normally, the user would +supply a BDF font file encoded in ISO-10646-1 with a \fB-font\fP option. +.sp +With \fB-wchar\fP, you cannot supply the text on the command line; it must +be fed from standard input. +.sp +This option was new in Netpbm 10.82 (March 2018). + + +.TP +\fB-font\fP +.TP +\fB-builtin\fP +\fB-builtin\fP selects a font among those built into Netpbm. + +\fB-font\fP selects a font that you supply yourself either as an X Window +System BDF (Bitmap Distribution Format) file or as a PBM file in a special +form. +.sp +The default is the built in font "bdf." +.sp +"bdf" is Times-Roman 15 pixels high. (That's about 14 +point type printed at 75 dpi). +.sp +"fixed" is a built in fixed width font. +.sp +For information about other fonts, and how to make one of your own, +see +.UR #fonts +Fonts +.UE +\& below. + + +.TP +\fB-space\fP \fIpixels\fP + Add \fIpixels\fP pixels of space between characters. This is in +addition to whatever space surrounding characters is built into the +font, which is usually enough to produce a reasonable string of text. +.sp +\fIpixels\fP may be fractional, in which case the number of +pixels added varies so as to achieve the specified average. For +example \fB-space=1.5\fP causes half the spaces to be 1 pixel and +half to be 2 pixels. +.sp +\fIpixels\fP may be negative to crowd text together, but the +author has not put much thought or testing into how this works in +every possible case, so it might cause disastrous results. + +.TP +\fB-lspace\fP \fIpixels\fP + Add \fIpixels\fP pixels of space between lines. This is in +addition to whatever space above and below characters is built into +the font, which is usually enough to produce a reasonable line +spacing. +.sp +\fIpixels\fP must be a whole number. +.sp +\fIpixels\fP may be negative to crowd lines together, but the +author has not put much thought or testing into how this works in +every possible case, so it might cause disastrous results. + +.TP +\fB-nomargins\fP +By default, \fBpbmtext\fP adds margins all around the image as +described above. This option causes \fBpbmtext\fP not to add any +margins. +.sp +Note that there may still be space beyond the edges of the type +because a character itself may include space at its edges. To eliminate +all surrounding background, so the type touches all four edges of the +image, use \fBpnmcrop\fP. + +.TP +\fB-width\fP \fIpixels\fP +This specifies how much horizontal space the text is supposed to fit +into. +.sp +If the input is one line, \fBpbmtext\fP breaks it into multiple +lines as needed to fit the specified width. It breaks it between +characters, but does not pay attention to white space; it may break in +the middle of a word and a line may begin or end with white space. +.sp +If the input is multiple lines, \fBpbmtext\fP assumes you already +have line breaks where they make sense, and \fBpbmtext\fP simply +truncates each line as needed to fit the specified width. + +.TP +\fB-load-entire-font\fP + +When you use a BDF font, \fBpbmtext\fP will normally load from the font + only the characters needed for your text, not wasting time loading other + characters. With this option, \fBpbmtext\fP will instead read the entire + font. It won't make any difference in the rendered output, but it lets + you check the integrity of the font file. +.sp +This option was new in Netpbm 10.91 (June 2020). Before that, +\fBpbmtext\fP always reads the entire font. + +.TP +\fB-verbose\fP +This makes \fBpbmtext\fP issue informtional messages about its processing. + +.TP +\fB-dry-run\fP +.sp +With this option, instead of outputting an image of the text, +\fBpbmtext\fP just writes to Standard Output a message telling the dimensions +of the image it would have produced. +.sp +You can specify only one of \fB-dry-run\fP and \fB-text-dump\fP. +.sp +This option was new in Netpbm 10.75 (June 2016). + +.TP +\fB-text-dump\fP +This option causes \fBpbmtext\fP just to write to Standard Output the text in +ASCII that would be rendered. The output reflects any text formatting, +unprintable character substitution, tab expansion, etc. It is for diagnosing +problems. This option was new in Netpbm 10.82 (March 2018). +.sp +When \fB-wchar\fP is in effect, the output text will be in the encoding +specified by the current locale. +.sp +You can specify only one of \fB-dry-run\fP and \fB-text-dump\fP. +.sp +This option was new in Netpbm 10.82 (March 2018). + + + + +.UN usage +.SH USAGE +.PP +Often, you want to place text over another image. One way to do this is +with \fBppmlabel\fP. For more flexible (but complex) drawing of text on an +image, there is \fBppmdraw\fP. These do not give you the font options that +\fBpbmtext\fP does, though. +.PP +Another way is to use \fBpbmtext\fP to create an image containing +the text, then use \fBpamcomp\fP to overlay the text image onto your +base image. To make only the text (and not the entire rectangle +containing it) cover the base image, you will need to give +\fBpamcomp\fP a mask, via its \fB-alpha\fP option. You can just use +the text image itself as the mask, as long as you also specify the +\fB-invert\fP option to \fBpamcomp\fP. +.PP +If you want to overlay colored text instead of black, just use +\fBppmchange\fP to change all black pixels to the color of your +choice before overlaying the text image. But still use the original +black and white image for the transparency mask. +.PP +If you want the text at an angle, use \fBpnmrotate\fP on the text +image (and transparency mask) before overlaying. + +.UN fonts +.SH FONTS +.PP +There are three kinds of fonts you an use with \fBpbmtext\fP: + + +.IP \(bu +built in +.IP \(bu +BDF +.IP \(bu +PBM + + +.SS Built In Fonts +.PP +There are two built in fonts: \fBbdf\fP and \fBfixed\fP. You select +these fonts with a \fB-builtin\fP option. +.PP +\fBbdf\fP is the default when you specify no font information on the +command line. \fIThe naming reflects the fact that it shares many +characteristics of BDF style fonts. When this font was implemented, +\fBpbmtext\fP did not have the ability to read arbitrary BDF fonts +specified by the \fB-font\fP option. There is no external font file +involved.\fP +.PP +\fBbdf\fP is encoded in ISO 8859-1 (Latin 1, 8-bit). In addition to +English it can handle most West European languages (Spanish, French, German, +Swedish ...) This set lacks the Euro currency sign. +.PP +\fBfixed\fP is ASCII (7-bit) only. +.PP +While it is not an error to do so, you should not use the above built-in +fonts with \fB-wchar\fP. + + +.SS BDF Font +.PP +BDF is an ancient font format that at one time was standard for the +X Window System. Now, you don't see it very often, but you can find +some BDF fonts on the +.UR http://cvsweb.xfree86.org/cvsweb/xc/fonts/bdf/ +Xfree86 +.UE +\& +web site. +.PP +You can get the full package of the BDF fonts from XFree86 (see +above) from the +.UR http://netpbm.sourceforge.net/bdffont.tgz +Netpbm web site +.UE +\&. + +.SS PBM Font +.PP +To create a font as a PBM file (to use with the \fB-font\fP +option), you just create a PBM image of the text matrix below. +.PP +The first step is to display text matrix below on the screen, +e.g. in an X11 window. + +.nf + + M ",/^_[`jpqy| M + + / !"#$%&'()*+ / + < ,-./01234567 < + > 89:;<=>?@ABC > + @ DEFGHIJKLMNO @ + _ PQRSTUVWXYZ[ _ + { \e]^_`abcdefg { + } hijklmnopqrs } + ~ tuvwxyz{|}~ ~ + + M ",/^_[`jpqy| M + + +.fi +.PP +Make sure it's a fixed width font -- This should display as a +perfect rectangle. +.PP +Also, try to use a simple display program. Pbmtext divides this +into a matrix of cells, all the same size, each containing one +character, so it is important that whatever you use to display it +display with uniform horizontal and vertical spacing. Fancy word +processing programs sometimes stretch characters in both directions to +fit certain dimensions, and that won't work. Sometimes a display +program scales a font to show a character larger or smaller than its +natural size. That too won't often work because the rounding involved +in such scaling causes non-uniform distances between characters. +.PP +If you display the text matrix improperly, the usual symptom is +that when you try to use the font, \fBpbmtext\fP fails with an error +message telling you that the number of lines in the font isn't +divisible by 11, or it can't find the blank band around the inner +rectangle. Sometimes the symptom is that one of the characters +displays with a piece of the character that is next to it in the +matrix. For example, "l" might display with a little piece +of the "m" attached on its right. +.PP +Do a screen grab or window dump of that text, using for instance +\fBxwd\fP, \fBxgrabsc\fP, or \fBscreendump\fP. Convert the result into a +pbm file. If necessary, use \fBpamcut\fP to remove anything you grabbed in +addition to the text pictured above (or be a wimp and use a graphical editor +such as Gimp). Finally, run it through \fBpnmcrop\fP to make sure the edges +are right up against the text. \fBpbmtext\fP can figure out the sizes and +spacings from that. +.PP +There are some historical computer fonts, such as that used by the original +IBM PC, in the form that you can screen-grab and turn into a PBM font file +available from +.BR "Stewart +C Russell" (1)\c +\&. There are fonts with various duodecimal digit glyphs at +.UR http://treisaran.deviantart.com/gallery/38695571/NetPBM-Fonts + treisara.deviantart.com +.UE +\&. +.PP +PBM fonts cannot be used with \fB-wchar\fP. + + + +.UN multibyte +.SH MULTI-BYTE INPUT +.PP +In the past, English text was encoded in 7-bit ASCII. 8-bit and multibyte +encodings were needed only for non-English languages. This is not the case +today. As of this writing, 90% of all web pages are encoded in UTF-8. While +many of them are actually restricted to 7-bit ASCII, which is a subset of +UTF-8, English text encoded in UTF-8 commonly employs "66 99" style quotation +marks, which do not appear in ASCII. +.PP +If your input text is UTF-8, you should use \fB-wchar\fP. You may have to +tweak the locale setting. \fBpbmtext\fP recognizes code points up to 65535. +This is sufficient for the vast majority of text written in modern languages. +.PP +In the default single-byte (or "narrow") character +mode, \fBpbmtext\fP can handle 7-bit and 8-bit character sets. +Examples are ASCII, ISO 8859 family, koi8-r/u and VISCII. It is up to +the user to supply a BDF file covering the necessary glyphs with the +"-font" option. The font file must be in the right encoding. +.PP +\fBpbmtext\fP does not inspect the encoding of the font file. + + +.UN limitations +.SH LIMITATIONS +.PP +If the text is from Standard Input, no line may be longer than 4999 +characters. If one is, the program aborts with an appropriate error message. +.PP +If the text is from Standard Input and contains a null character, the +results are abnormal. Lines may be truncated, and a single line may be +considered multiple lines. Normal text does not contain null characters, so +this isn't a big problem. + + +.UN tips +.SH TIPS +.PP +If you get garbled output, check the input text encoding and font file +encoding. When using \fB-wchar\fP, also check the current locale. +.PP +To convert the encoding of a text file, use \fBiconv\fP or \fBluit\fP. +.PP +To check the encoding of a BDF file, examine the CHARSET_REGISTRY +line and the next line, which should be CHARSET_ENCODING: + +.nf +\f(CW + $ grep -A1 CHARSET_REGISTRY font-a.bdf + CHARSET_REGISTRY "ISO8859" + CHARSET_ENCODING "1" + + $ grep -A1 CHARSET_REGISTRY font-b.bdf + CHARSET_REGISTRY "ISO10646" + CHARSET_ENCODING "1" +\fP + +.fi +.PP +The latter is Unicode. BDF files coded in ISO 16046-1 usually work for +Western European languages, because ISO 16046-1 expands ISO 8859-1 (also +called "Latin-1") while maintaining the first 256 code points. ISO +8859-1 itself is a superset of ASCII. Run the above command and verify the +necessary glyphs are present. +.PP +\fBIMPORTANT:\fP For input text, a different rule applies. If +you feed ISO 8859-1 text to \fBpbmtext -wchar\fP set up for UTF-8, the output +will be garbled. Unicode provides several encoding schemes and different ones +are in effect for input text and font. \fIThe difference between Unicode +codepoint and the various encodings is a formidable stumbling block; beware of +web pages that get the concept wrong.\fP +.PP +75% of the BDF files in the font collection available from +.UR http://netpbm.sourceforge.net/bdffont.tgz +the Netpbm website +.UE +\& are +in ISO 10646-1. Many have the Euro sign, Greek letters, etc., but they are +placed at code points available to \fBpbmtext\fP only with \fB-wchar\fP. +.PP +Before \fBpbmtext\fP had the \fB-wchar\fP option, one often had to +produce a BDF file in an 8-bit encoding from a master BDF file encoded in ISO +10646-1. +.PP +There are several programs that perform BDF encoding conversion. If you +have the X Window System installed, first look for \fBucs2any\fP. If you +don't, you can download \fBucs2any.pl\fP from +.BR "Unicode fonts and tools +for X11" (1)\c +\&. This website has much useful information on fonts. +.PP +Another converter is \fBtrbdf\fP, included in the "trscripts" +package, available in some GNU/Linux distributions. +.PP +BDF files encoded in ISO 8859-2, ISO 8859-7, koi8-r, etc. are available +from +.BR "ISO 8859 Alphabet +Soup" (1)\c +\& and its sister page +.BR "The Cyrillic Charset +Soup" (1)\c +\&. Though the information is dated, these pages give a good overview +of 8-bit character sets. +.PP +To convert OTF or TTF font files to BDF, use +.UR http://www.math.nmsu.edu/~mleisher/Software/otf2bdf + \fBotf2bdf\fP by Mike Leisher +.UE +\&. + + +.UN seealso +.SH SEE ALSO +.BR "pbmtextps" (1)\c +\&, +.BR "pamcut" (1)\c +\&, +.BR "pnmcrop" (1)\c +\&, +.BR "pamcomp" (1)\c +\&, +.BR "ppmchange" (1)\c +\&, +.BR "pnmrotate" (1)\c +\&, +.BR "ppmlabel" (1)\c +\&, +.BR "ppmdraw" (1)\c +\&, +.BR "pstopnm" (1)\c +\&, +.BR "pbm" (5)\c +\&, +\fB +.UR http://www.pango.org +Pango +.UE +\&\fP, +\fB +.UR http://cairographics.org +Cairo +.UE +\&\fP + +.UN author +.SH AUTHOR + +Copyright (C) 1993 by Jef Poskanzer and George Phillips +.SH DOCUMENT SOURCE +This manual page was generated by the Netpbm tool 'makeman' from HTML +source. The master documentation is at +.IP +.B http://netpbm.sourceforge.net/doc/pbmtext.html +.PP
\ No newline at end of file |