<IMG>
 
Ted, an easy rich text processor
 
Introduction
Features
Ted for Linux: copyright and disclaimer
How to invoke Ted
How to install Ted
Text and text attributes
Pictures
Including symbols and accented characters
Copy/Paste
Finding and Replacing Text
Spell checking
Hyperlinks and bookmarks
Paragraphs and the ruler
Paragraph borders and shading
Tables
Sections
Footnotes and Endnotes
Page Headers, Page Footers and Page Numbers
Page Size and Page Margins
Choosing colors
Printing from Ted, writing PostScript and Acrobat PDF
Saving documents to HTML and to plain text
Sending mail from Ted
How to use Ted as a mime handler or a Netscape helper application
Configuring Ted
How to use Ted in your language
Adding fonts to a Ted installation
Uploading fonts to a PostScript printer
RTF files from OpenOffice
Nuisances with Window Managers
Shell widget names
Remarks about X11 server configuration, accented characters and backspace
Compiling Ted from source
Making spelling dictionaries for Ted
Acknowledgments
Author
 
Introduction
Ted is a word processor running under X Windows on Unix/Linux systems. Ted was developed as a standard easy word processor, having the role of Wordpad on MS-Windows. Since then, Ted has evolved to a real word processor that still has the same easy appearance as the original. The possibility to type a letter, a note or a report on a Unix/Linux machine is clearly missing. Only too often, you have to turn to MS-Windows machine to write a letter or a document. Ted was made to make it possible to edit rich text documents on Unix/Linux in a wysiwyg way. Ted is a simple standalone program to edit RTF files. It is not part of an office suite that can do about anything. RTF files from Ted are fully compatible with MS-Word. Additionally, Ted also is an RTF to PostScript and an RTF to Acrobat PDF converter.
 
Compatibility with popular MS-Windows applications played an important role in the design of Ted. Every document produced by Ted fully compatible with MS-Word without any loss of formatting or information. Compatibility in the other direction is more difficult to achieve. Ted supports many of the formatting features of the Microsoft applications. Other formatting instructions and meta information are ignored.1 By ignoring unsupported formatting Ted tries to get the complete text of a document on screen or to the printer. Ted can be used to read formatted e-mail sent from a Windows machine to Unix, to print an RTF document, or to convert it to Acrobat PDF format. Below we explain how to configure Ted as an RTF viewer in Netscape and how to convert an RTF document to PDF with Ted and GhostScript.
 
I hope that you will find Ted useful. Please report the bugs you find, such that I can fix them.
 
 
Features
ˇWysiwyg rich text editing. You can use all fonts for which you have an .afm file and that are available as an X11 font. Ted is delivered with .afm files for the Adobe fonts that are available on Motif systems and in all postscript printers: Times, Helvetica, Courier and Symbol. Other fonts can be added with the normal X11 procedure. Font properties like bold and italic are supported; so is underlining and are subscripts and superscripts.
ˇTed uses Microsoft RTF as its native file format. Microsoft Word and Wordpad can read files produced by Ted. Usually Ted can read .rtf files from Microsoft Word and Wordpad. As Ted does not support all features of Word, some formatting information might be lost.
ˇIn line bitmap and windows metafile pictures.
ˇPostScript printing of the document and its illustrations. Saved PostScript files contain pdfmarks that are converted to hyperlinks when they are converted to Acrobat PDF.
ˇSpelling checking in twelve Latin languages.
ˇDirectly mailing documents from Ted. Mail in HTML format is a multipart message that contains all images hyperlinks and footnotes.
ˇCut/Copy/Paste, also with other applications.
ˇFind/Replace.
ˇRuler: Paragraph indentation, Indentation of first line, Tabs. Copy/Paste Ruler.
ˇPage breaks.
ˇPage headers and footers. Page numbers in page headers and page footers.
ˇTables: Insert Table, Row, Column. Changing the column width of tables with their ruler.
ˇSymbols and accented characters are fully supported.
ˇHyperlinks and bookmarks.
ˇFootnotes and endnotes.
ˇColored backgrounds and table borders.
ˇSaving a document in HTML format.
ˇProbably the best illustration of what you can do with Ted is its documentation that has been made with Ted.
 
This is the documentation for Ted 2.14. Release Notes with a change log are in a separate document.
 
Ted for Linux: copyright and disclaimer
Ted is free software. By making Ted freely available, I want to contribute to the propagation of Linux as a viable platform for technical computer enthusiasts. As Ted is free software, I assume no responsibility for the consequences of using it. It is up to you to decide whether Ted suits your purpose or not. Ted is distributed with absolutely no warranty under the terms of the GNU Public License. If you include Ted on a CD-ROM or any other medium, or publish Ted in any other way, it would be nice to tell me. Please send me a copy of your publication or a reference. I like to see what happens to Ted and to show off to my friends. You should not publish Ted or software that is based on Ted without mentioning me as the original author in all textual documents that accompany your software. If you publish Ted, or any piece of software that is based on Ted, you must include a copy of the original Ted documentation in your distribution. The Ted documentation is part of the source code that you have to make available to respect the GPL.
 
How to invoke Ted
Ted is an X11 program. To start it just invoke Ted & or /usr/local/bin/Ted &. To start Ted with a certain file invoke Ted something.rtf &. Several special purpose calls of Ted are documented below.
 
How to install Ted
The installation of Ted depends on the platform and on the kind of distribution. Binary distributions for Intel ix86 Linux are available from the download site ftp://ftp.nluug.nl/pub/editors/ted. The distribution comes in the form of compressed tar archives and as Red Hat package manager (RPM) packages. Binary distributions for other platforms might be available on CD. For more or more recent information refer to the Ted web site http://www.nllgg.nl/Ted.
 
To install Ted or one of the localization packages from an RPM package, log in as root, and give the command rpm -i <package-details>.rpm . To upgrade from a previous version of Ted give the command rpm -U <package-details>.rpm. The executable in the binary package is linked statically, so there are no dependencies on shared libraries. If you like shared libraries and their intricacies, you will have to compile Ted yourself.
 
Installation from compressed tar archives is best done in combination with the corresponding Linux Software Map (LSM) files and the installation script installTed.sh. Download the files to a scratch directory such as /tmp; log in as root; run sh installTed.sh from this directory. If you do not have the possibility to log in as root, you can run the command sh installTed.sh PRIVATE.After a private install the install script tells you what to include in your .Xdefaults or .Xresources file to make the installation work.
 
If you do not like easy installation, you can unpack the compressed tar archives manually. The software assumes that you do so in /usr/local. The Adobe font metric files are stored in /usr/local/afm and spell checking dictionaries in /usr/local/ind. This online document is installed as /usr/local/Ted/TedDocument-en_US.rtf. The example application resource file Ted.ad.sample is installed in /usr/local/Ted. If you decide to install Ted in a different location, you can change these locations by setting X11 resources, e.g. in your .Xdefaults or .Xresources file. Refer to the section on configuration below. Do not forget to call umask 0 before you unpack. Some of the localized packages contain translated documents that are installed as /usr/local/Ted/TedDocument-eg_ER.rtf. If you install by hand, the translated messages can be found in a /usr/local/Ted/ad/Ted_eg_ER.ad.tar with the app_defaults file for X11. The script and the rpm file install the app_defaults file automatically. Refer to the paragraphs on configuring and on translating Ted for more detailed information.
 
It is also possible to compile Ted from source. Refer to the compilation instructions at the end of this document.
 
Overview of the different packages:
 
Package
RPM package: file
Tar archive, LSM file
Basic binary package for Intel Linux. (Includes American spelling)
ted:
Install script for Tar archives and LSM files
 
Dutch spelling and messages
ted_nl_NL:
British spelling
ted_en_GB:
German spelling and messages.
ted_de_DE:
Spanish spelling
ted_es_ES:
Portuguese spelling
ted_pt_PT:
Brazilian Portuguese messages
ted_pt_BR:
French spelling and messages.
ted_fr_FR:
Italian spelling and messages
ted_it_IT:
Czech spelling and messages
ted_cs_CZ:
Danish spelling and messages
ted_da_DK:
Swedish spelling
ted_sv_SE:
Norwegian spelling
ted_no_NO:
Polish spelling and messages
ted_pl_PL:
Slovak spelling and messages
ted_sk_SK:
Hungarian messages
ted_hu_HU:
Malagasy messages and manual
ted_mg_MG:
Source2
ted:
Original Documentation and Release Notes
 
Translated Documentation
 
Spelling dictionary examples.3
 
rtf to pdf script
rtf to PostScript script
 
Translated resource files for translators and those that like to install them by hand.
 
 
For languages that use the Latin 2 character set, Latin 2 fonts are best. The ult1mo package is a useful collection of Latin 2 fonts. The current version does not give an ItalicAngle for the bold italic fonts. For the correct operation of Ted, a negative italic angle must be inserted manually.
 
A collection of Ted packages for the NetBSD operating system is available via ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/editors/ted/README.html.
A french translation of Ted by Jean Peyratout can be found on the page http://www.abul.org/education/ted.php3. Axel Schwarzer ported Ted to some Unix versions. His ports can be found via http://pweb.uunet.de/schwarzer.d/.
 
Text and text attributes
To enter text, just type. What you type is inserted in the text before the insertion point that is shown as a blinking vertical line. If a region of text is selected, the whole selection is replaced by what you type. Single letters can be deleted with the backspace key. It deletes the character before the insertion point. The Delete key deletes the character after the insertion point. If a region of text is selected, both the Backspace and Delete keys delete the selection. If the backspace key deletes the text after the insertion point, your X11 configuration wants it to be a Delete key. Refer to the section on X11 configuration below for details.
 
The insertion point can be moved with the arrow keys, or by clicking with the left mouse button in the desired position. The 'Home' key moves the insertion point to the beginning of the line. The 'End' key to the end of the line. Regions of text can be selected by dragging over the text with the left mouse key down. It is also possible to select regions of text with one of the keys that moves the insertion point: Press the key while the shift key is down. Ted shows you what is selected by drawing the background of the selected region in light blue. The same applies for mouse clicks with the shift key down: The selection is extended to the position of the click. In general, navigation commands with the shift key down extend the selection. Selections inside tables remain inside the contents of one table cell or select a rectangular range of complete cells.
 
To change the font of the selected region, activate the Font tool by clicking the 'Font Tool' option in the 'Font' menu. It shows you the font of the current selection. Choose the font you want to use for the selection in the Font Tool and push the 'Set' button. If you select a single font in the Font Tool, its name is shown in the selected font. The description of a multiple font selection is shown in one of the fonts selected. With the 'Revert' button, you can adapt the Font Tool to the fonts in the selected region again.
 
The 'Copy Font' and 'Paste Font' menu options make it easy to use the same text attributes in different parts of your text. Select a position with the font you want to use somewhere else and click the 'Copy Font' option. Then select a region of text and click the 'Paste Font' option. The selected region gets the text attributes that you have copied from the first position.
 
The collection of fonts that Ted can use is determined by the collection of something.afm files in /usr/local/afm. Only fonts that have a metrics file there can be used. Ted uses certain heuristics based on the name of the font family and the font attributes to find an X11 font with a postscript font. Refer to the section on adding fonts for a mechanism to explicitly associate X11 fonts with PostScript fonts. Only those fonts for which an X11 font can be found can be used from Ted. Note that for fonts in a character set different from the Latin 1 character set, the AFM file, the X11 font and the printer font should have the correct encoding. Ted reencodes fonts in the Adobe standard encoding to ISO latin 1 encoding. In general, Ted tries to find supported character sets in the afm file of a font and to use the font in a standard encoding. Fonts that do not have all characters of any of the character sets supported by Ted are ignored.
 
To change single text attributes such as 'Bold', 'Italic' and 'Underlined', you can also use the options in the 'Font' menu. Subscript and Superscript refer to the position of the 2 in x2 and H2O respectively. The strikethrough option is to draw a line over your text. The text color option can be used to insert text in different colors. The small caps toggle can be used to convert text to Small Capitals. The all caps toggle is to support the option of the rtf file format to render text in capitals and to make up an even number of toggles.
 
The following illustration shows the Font page of the Format Tool.
 
 
<IMG>
 
 
Pictures
You can include pictures in your texts. To do so select the Include Picture option in the Insert menu. A file chooser will allow you select a picture file to include in your text. The usual picture file formats such as tiff, bmp, xwd and jpeg are supported. It is also possible to paste pictures from other X11 applications. Unfortunately, only a limited number of X11 applications actually support Copy/Paste of pictures.
 
To resize a picture double click it with the left mouse button. Eight resize squares will appear. Dragging the squares on the bottom or on the right resizes the picture. The following is a picture during the resize process.
<IMG>
 
Including symbols and accented characters
To include special symbols into a text you can use the symbol picker tool. To activate it, choose 'Include Symbol' in the 'Insert' menu or in the 'Tools' menu. The symbol picker shows all characters available in the current font. You can either select a symbol, and then push the 'Insert' button, or double click the desired symbol. Symbols from different font families can be selected with the font chooser above the symbols.
 
<IMG>
 
Common accented characters can be typed directly. If your X11 server is correctly configured, the local input method that is compiled into the X11 libraries supports a compose key. The <compose> key allows you to insert accented characters by typing <Compose> <Letter> <Accent> or <Compose> <Accent> <Letter>. Where <Accent> is an ascii character that resembles the intended accent. E.G. <Compose> a ' results in á. Another example: <Compose> 1 2 results in ˝. On PC keyboards the 'Compose' key is often labeled 'Scroll Lock' for your amusement. Refer to the paragraph on X11 configuration for some further remarks.
 
Copy/Paste
Ted supports Copy/Paste with itself and with other X11 applications. With the 'Copy' menu option, you can remember a piece of text or a picture. The 'Paste' menu option allows you to paste the remembered text to a different location of the same document, or to a different document.
 
Copy/Paste of formatted text is only supported between Ted documents4. String text with elementary formatting such as tabs and newlines can be exchanged with most X11 applications.
Copy/Paste of pictures, retaining geometry information is supported between Ted windows.5 Copy/Paste is also possible with picture oriented X11 applications that support the exchange of PIXMAP selections. With these applications, such as xmag and xpaint, scaling information is lost.
 
A special hack exists in the code to cooperate with the Copy/Paste mechanism that John Bradley's xv implements itself with X11 window properties on the root window. X11 selections that conform to the conventions of the X11 Inter-Client Communications Conventions Manual (ICCCM) always have priority over those from xv. This is a peculiarity of the way xv implements its clipboard, not a bug in Ted. Because of this peculiarity, you must set the X resource Ted.supportXvCopyPaste=1 to enable copy/paste with xv.
 
Both the Netscape Composer and the Gimp handle Copy/Paste of anything but plain text inside the program. This makes Copy/Paste with programs like Ted that do Copy/Paste in the normal X11 way impossible.
 
Finding and Replacing Text
With the 'Find Tool' you can look for certain fragments of text. You can activate the 'Find Tool' by selecting 'Find' in the 'Tools' menu, or by typing Control-F. The Find tool has two frames. In the first frame, you can enter the pattern to look for. In the second frame you can enter a replacement. The 'Find' button looks for the next occurrence of your pattern in the document. The 'Previous' button searches backward in the document. When your pattern is found, you can enter a replacement and push the 'Replace' button to replace the pattern with the replacement. The 'Replace, Next' button is a shortcut for clicking 'Replace' and then 'Next'.
 
<IMG>
 
Depending on the value of the check box below the pattern, that Ted tries to find in your text is not simply a piece of text, but a regular expression. Regular expressions are a means to look for several different pieces of text at once. Normally, you will not be interested in using regular expressions at all. The advanced user can select the check box to look for a match of a regular expression.
 
The regular expression matching algorithm in Ted was borrowed from the regex library by Henry Spencer. For details refer to the acknowledgments. I quote from the original documentation by Henry Spencer: (Please realize that the casual user does not need to use or understand regular expressions.)
 
REGULAR EXPRESSION SYNTAX
A regular expression is zero or more branches, separated by `|'. It matches anything that matches one of the branches.
A branch is zero or more pieces, concatenated. It matches a match for the first, followed by a match for the second, etc.
A piece is an atom possibly followed by `*', `+', or `?'. An atom followed by `*' matches a sequence of 0 or more matches of the atom. An atom followed by `+' matches a sequence of 1 or more matches of the atom. An atom followed by `?' matches a match of the atom, or the null string.
An atom is a regular expression in parentheses (matching a match for the regular expression), a range (see below), `.' (matching any single character), `^' (matching the null string at the beginning of the input string), `$' (matching the null string at the end of the input string), a `\' followed by a single character (matching that character), or a single character with no other significance (matching that character).
A range is a sequence of characters enclosed in `[]'. It normally matches any single character from the sequence. If the sequence begins with `^', it matches any single character not from the rest of the sequence. If two characters in the sequence are separated by `-', this is shorthand for the full list of ASCII characters between them (e.g. `[0-9]' matches any decimal digit). To include a literal `]' in the sequence, make it the first character (following a possible `^'). To include a literal `-', make it the first or last character.
 
AMBIGUITY
If a regular expression could match two different parts of the input string, it will match the one which begins earliest. If both begin in the same place but match different lengths, or match the same length in different ways, life gets messier, as follows.
In general, the possibilities in a list of branches are considered in left-to-right order, the possibilities for `*', `+', and `?' are considered longest-first, nested constructs are considered from the outermost in, and concatenated constructs are considered leftmost-first. The match that will be chosen is the one that uses the earliest possibility in the first choice that has to be made. If there is more than one choice, the next will be made in the same manner (earliest possibility) subject to the decision on the first choice. And so forth.
For example, `(ab|a)b*c' could match `abc' in one of two ways. The first choice is between `ab' and `a'; since `ab' is earlier, and does lead to a successful overall match, it is chosen. Since the `b' is already spoken for, the `b*' must match its last possibility--the empty string--since it must respect the earlier choice.
In the particular case where no `|'s are present and there is only one `*', `+', or `?', the net effect is that the longest possible match will be chosen. So `ab*', presented with `xabbbby', will match `abbbb'. Note that if `ab*' is tried against `xabyabbbz', it will match `ab' just after `x', due to the begins-earliest rule. (In effect, the decision on where to start the match is the first choice to be made, hence subsequent choices must respect it even if this leads them to less-preferred alternatives.)
 
Spell checking
Use the spelling tool to check the spelling of your document. With the menu in the dictionary frame, you can select the language that you want to use for spell checking. All Language.ind files in /usr/local/ind 6 are listed in the dictionary menu.
 
The 'Learn' and 'Forget' buttons in the dictionary frame allow you to customize your dictionary. The word in the text field below the list of guesses can be included in the dictionary with the 'Learn' button, or removed from the dictionary with the 'Forget' button. For a description of the file that is used to store your modifications to dictionaries see below.
 
The 'Find Next' button looks for the next unknown word in the text. If one is found, Ted tries to find similar words in the dictionary and shows them in the list with guesses. Clicking on a word in the list of guesses stores the word in the text field under the list. A double click uses the selected word to correct the word in the text.
 
The 'Ignore' button ignores the unknown word. The word is not reported as misspelled any more until Ted is stopped. Ted looks for the next unknown word. The 'Find Next' button looks for the next unknown word. The 'Correct' button uses the word in the box below the list to correct the word in the text. The 'Guess' button looks in the dictionary for words similar to the word in the box below the list.
 
Below is an image of the spelling tool
<IMG>
 
System dictionaries are stored in an optimized read only binary format. For those with some technical curiosity: It is the memory image of a minimal finite automaton that recognizes all the words in the dictionary. The data structure is very similar to Donald Knuth's tries. Personal deviations from the read only system dictionaries are stored in <Language>.changes files in a users $HOME/.Dictionaries directory. Every time the user pushes the 'Learn' or 'Forget' button, a line is added to the changes file. The first character of the line is an 'F' or an 'L', the second character is a space, the rest of the line is the word or phrase that is added or removed. As the file is never reorganized, the order of the lines in the file is important. E.G. If a word is first added and then removed again.
 
Hyperlinks and bookmarks
To change a text region into a hyperlink, select the text, choose the 'Hyperlink..' option from the 'Insert' menu and enter the destination of the link in the 'Hyperlink..' dialog. The 'Hyperlink..' dialog can also be used to change, remove or follow links. Below is an image of the 'Hyperlink' dialog.
 
<IMG>
 
Enter the name of the document or web page you want to link to in the 'Document' box. If you leave the 'Document' box empty, the link is to a bookmark in the document itself.
Enter the name of a bookmark in the 'Bookmark' box. If you leave the 'Bookmark' box empty, the link is to the document as a whole. If no document is given in the 'Document' box, the link is to a bookmark in the document itself. You can select a bookmark from the list of bookmarks below the 'Bookmark' box.
Normally, the text you have selected is converted to a hyperlink. For new links to the document itself, three special kinds of link are available:
ˇLink as Page Number: The link is shown as the page number of the beginning of the bookmark. This is particularly useful in phrases like "Refer to the explanation on page 36". Ted will automatically update the page number when the bookmark moves or the layout of the document changes.
ˇLink as Bookmark Text: The link is shown as the text of the bookmark. This is particularly useful in phrases like "This is explained in the Average Yearly Temperature section." The advantage is that when the text of the bookmark changes, the text of the link is changed as well.
ˇLink as Bookmark Text and Page Number: The link is shown as the text of the bookmark, followed by a tab and the page number of the beginning of the bookmark. This is particularly useful when you want to build a table of contents.
The 'Set Link' button changes the destination of an existing hyperlink or makes a new link of the desired kind.
The 'Follow Link' button follows the link. If it is to a location inside the document itself, Ted will select this location. If it is to a document on the same computer, Ted tries to open it. If it is an internet link, Ted invokes Netscape to follow the link.
The 'Remove Link' button changes a hyperlink back to plain text.
The 'Cancel' button removes the hyperlink dialog from screen without doing anything.
 
Bookmarks are a way to give locations in your document a name. Once a location has a name, you can jump to it with a hyperlink or you can refer to it in the document indirectly. For example you can refer to the text inside a bookmark or to the number of the printed page that the bookmark appears on. To insert and inspect bookmarks, choose the 'Bookmark..' option from the 'Insert' menu. The 'Bookmark' dialog appears.
 
<IMG>
 
To add a bookmark, enter the name of the bookmark in the 'Bookmark..' dialog. Ted suggests a name for the bookmark based on the contents of the selected area in the document. To make a new bookmark or to change the name of an existing bookmark push the 'Set Bookmark' button. Push the 'Remove Bookmark' button to remove an existing bookmark. To jump to a bookmark type its name in the 'Bookmark' box and push the 'Go To Bookmark' button. In stead of typing the name of a bookmark, you can select it in the list of bookmarks below the text box.
 
Use the 'Copy Bookmark' frame to copy a reference to a bookmark to the clipboard. Push the 'Copy' button to copy the bookmark to the clipboard. Pasting the clipboard to a different location in the document or to a different document will insert a hyperlink that refers to the bookmark. A bookmark can be copied in four different formats that determine what kind of hyperlink will be inserted when the copied bookmark is pasted.
ˇAs a hyperlink with constant text.
ˇAs a reference to the bookmark that is shown as its page number.
ˇAs a reference to the bookmark that copies the current text of the bookmark every time it is printed.
ˇAs a copied reference to the bookmark that copies the text and one that shows the page number, separated by a tab. This can be used to make a simple table of contents.
The last three kinds of hyperlinks only make sense when they are contained in the same document as the bookmark that they refer to.
 
Hyperlinks and bookmarks are particularly interesting when the text is saved to HTML or Acrobat PDF format and as a simple way to make a table of contents.
 
With the introduction of text colors between Ted 2.11 and Ted 2.12, hyperlinks are no longer automatically drawn in blue because they are a hyperlink. New hyperlinks are blue, but hyperlinks from older versions are no longer blue, nor are they underlined. To change the hyperlinks as saved by older versions of Ted to blue and underlined once run the command "TED_HYPERLINKS_BLUE=1 Ted old.rtf" and save the document. As the effect of the environment variable is a little drastic, do not set it by default but only use it for conversions.
 
Paragraphs and the ruler
A paragraph is a piece of text that is folded between the margins of the page. Usually a paragraph just begins on a new line. With the Start on New Page switch on the format tool, paragraphs can be made to start on a new page. Usually the division of a document in pieces that start on a new page is achieved by dividing the document in sections, not by explicitly making paragraphs begin on a new page as a property of the paragraph.
 
Every paragraph in a text has a ruler. The ruler determines how the text of the paragraph is folded between the margins of the page, or those of the table cell that contains the paragraph. The ruler is shown at the top of the text window. It defines some properties of a paragraph.
<IMG> The left indentation of the first line of the paragraph: The place to the right of the left margin of the page where the first line of the paragraph begins. The indentation of the first line is shown by the button above the white band of the ruler.
<IMG> The left indentation of the rest of the paragraph: the place to the right of the left margin of the page where the other lines of the paragraph begin. The left indentation of the paragraph is shown by a button below the white band of the ruler.
<IMG> The right indentation of the paragraph: The width of the band to the left of the right margin of the page, that shall not be used by the paragraph. The right indentation of the paragraph is shown by a button below the white band of the ruler.
<IMG> A series of tab stops. Tab stops are shown as little brackets in the white band of the ruler. If there is no tab stop to the right of a certain position, Ted uses left aligned tab stops at multiples of a half inch from the left margin. In many cases tables are a better way to format text in columns than tab stops.
 
The position of the different indentations and the tabs can be changed by dragging the controls on the ruler that represent them. Tab stops can be set by clicking on the white band of the ruler. Tab stops can be removed by dragging them from the white band. The little button in the upper left corner of the ruler determines what kind of tab stops are inserted when you click in the white band of the ruler:
<IMG> Inserts a left tab stop: The text after the tab stop is left aligned to the tab stop.
<IMG> Inserts a right tab stop: The text after the tab stop is right aligned to the tab stop. Effectively the text appears before the tab stop.
<IMG> Inserts a centered tab stop: The text after the tab stop is centered around the tab stop. After formatting the tab stop is exactly in the middle of the text.
<IMG> Inserts a decimal tab stop. The text after the tab stop is centered around the tab stop. After formatting the tab stop is at the position of the decimal point in the text (If there is one).
In many cases tables are more convenient to align text in columns. Use paragraph alignment inside the cells of the table to align the text in columns in stead of tab stops.
 
Rulers can be remembered with the 'Copy Ruler' menu option. It remembers the ruler of the paragraph that contains the insertion point in the text. Use the menu option to remember the ruler of the paragraph where the selection begins. Remembered rulers can be applied to other paragraphs. The 'Paste Ruler' Menu option sets the remembered ruler for the paragraph that contains the insertion point. If a region of text is selected, the remembered ruler is set for all paragraphs that contain part of the selection.
 
Use the 'Make One Paragraph' option to merge the paragraphs in the selection into one paragraph. This is particularly useful in documents that originate from a file that has been made with a plain text editor like vi or emacs.
 
Ted supports some additional paragraph formatting properties. The controls on the 'Paragraph Formatting' page of the Format tool allow you to change the properties of a paragraph. Note that although all sizes are displayed in points, that you can enter sizes in different units. When you push the 'Enter' key, the size is translated to points.
 
The following illustration shows a paragraph and its ruler.
 
<IMG>
 
Use the Paragraph Formatting page on the Format Tool to change formatting properties of the current paragraph manually. Use the Tabs page on the Format Tool to manage tab settings in more detail than with the ruler.
 
<IMG>
<IMG>
 
Paragraph properties on the Paragraph Formatting page of the Format Tool:
 
Property
Explanation
First Line Indent
Is the distance of the first letter on the first line of the paragraph from the page (or table cell) left margin.
Left Indent
Is the distance of the first letter of the second and subsequent lines in the paragraph from the page (or table cell) left margin.
Right Indent
Is the distance of the last letter of the lines in the paragraph from the page (or table cell) right margin.
Alignment
Determines how the contents of the lines of the paragraph are aligned relative to the page or to the table cell that contains the paragraph.
Spacing
Normally, the distance between the lines in a paragraph is determined by the biggest font or in-line image in the paragraph. The 'Spacing' menu allows you to influence the distance between the lines. The possibility to apply the line spacing to the last line of the paragraph is not yet supported in the Ted 2.14 format tool.
Space Above
Allows you to give the height of the white strip of paper above the first line of the paragraph.
Space Below
Allows you to give the height of the white strip of paper below the last line of the paragraph.
Start on New Page
Check this box to make Ted skip to a new page when it formats this paragraph. This property does not apply to paragraphs inside tables.
Keep on One Page
Do not divide this paragraph between pages, except when it contains explicit page breaks. If the paragraph is longer than a page, this property is ignored.
Widow/Orphan control
If this paragraph divided over pages, it is done in such a way that the first and the second line of the paragraph are on the same page. The same applies for the last two lines of the paragraph.
Keep with Next
The text is divided over pages in such a way that this paragraph appears on the same page as the next one. Typically because it is the heading of the next paragraph.
 
Document properties and tab settings on the Tabs page of the Format Tool.
 
Property
Explanation
Default Tab Stops
If the ruler contains no tab stops, or right of the rightmost tab stop, Ted uses default left aligned tab stops at a regular interval. With the Default Tab Stops frame you can set this interval for the whole document.
Tab Stop
With the controls in the Tab Stop frame and the list of tab stops above it, you can manage the tabs on the ruler of the current paragraph in detail. Select a tab stop in the list to change its properties, or enter a new position to add a new tab stop.
Position
The position from the left margin of the document for the tab stop. The default unit for the position is the typographic point. It is however possible to enter values like '13mm' or '1/2"'. Ted will convert them to points for you.
Alignment
The alignment of the text to the tab stop. The following values are supported:
LeftThe text following the tab stop, upto the end of the paragraph, or upto the next tab stop will be placed at the right of the tab stop position. So the left of texts placed after the tab stop on different text lines aligns.
RightThe text following the tab stop, upto the end of the paragraph, or upto the next tab stop will be placed at the left of the tab stop position. So the right of texts placed after the tab stop on different text lines aligns.
CenterThe center of the text following the tab stop, upto the end of the paragraph, or upto the next tab stop will be placed at the the tab stop position. So the centers of texts placed after the tab stop on different text lines align.
DecimalThe decimal point of the text following the tab stop, upto the end of the paragraph, or upto the next tab stop will be placed at the the tab stop position. So the decimal points of texts placed after the tab stop on different text lines align.
Leader
To place text at a tab position, Ted inserts white space between the text before the tab stop and the text after it. In some cases it is desirable to insert something different. E.G. in a table of contents. Ted supports the following possibilities:
NoneInsert white space.
DotsDraw dots between the text before the tab stop and that after it.
LineDraw a solid line between the text before the tab stop and that after it.
DashesDraw dashes between the text before the tab stop and that after it.
 
Paragraph borders and shading
Use the Paragraph borders and shading page of the format tool to set paragraph borders and to change the background for the text of the paragraph. Ted 2.14 only allows you to give paragraphs a top border and a bottom borders. It only supports solid backgrounds and solid borders. Below is an image of the Paragraph Borders and Shading tool.
 
<IMG>
 
 
Property
Explanation
Top Border
When on, the paragraph has a top border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm) Though the RTF file format supports many different styles for borders, Ted only supports solid borders.
Bottom Border
When on, the paragraph has a bottom border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm) Though the RTF file format supports many different styles for borders, Ted only supports solid borders.
Color
Makes it possible to select a color for the borders. Refer to the explanation of the color choosers for details.
Background
You can give the paragraph a solid background color. Though the rtf file format supports many shading styles, Ted 2.14 only supports solid backgrounds.
 
Tables
To insert a table into a document, select 'Insert Table' in the 'Table' menu. By default, tables are just a formatting means. The borders of the table cells are not visible. Ted visualizes the structure of tables with light gray borders for the cells. If you find this annoying, use the 'Draw Table Grid' menu option to hide them. To add borders to the rows and columns of a table, use the Row, Column and Cell pages of the format tool.
 
If the selection is inside a table, the document window gets a special ruler. It allows you to move the borders of a table by dragging them to the left and to the right. The illustration below shows the process. Selections inside tables remain inside the contents of one cell or select a rectangular range of complete cells. So when one end of the selection leaves the current cell, the whole cell is selected.
 
<IMG>
 
The table related pages of the format tool permit you to do more complicated things to the formatting of tables, such as giving the cells in the table borders and changing the internal margins of the cells. It also allows you to delete rows or columns, to insert rows or columns before the selection, as opposed to the menu options, that only allow you to add them after the selection. Below we first describe the Table page and the Row page, then the Column page and Cell page of the format tool. Note that although all sizes are displayed in points, you can enter sizes in different units. When you push the 'Enter' key, the size is translated to points.
 
<IMG>
<IMG>
 
 
Property
Explanation
Left Margin
Is the distance of the left margin of the table from the left margin of the page. Negative values mean that the left border of the table is left of the left margin of the page. If the value is the negative of that of Cell Margin, the left margins of the text inside and outside the table align. This property is separately stored for every row in the table. Usually it is not a good idea to change the value for individual rows.
Cell Margin
Is the distance of the text to the left or right margin of the cells in the table. This property is separately stored for every row in the table. Usually it is not a good idea to change the value for individual rows.
Top Border
When on, the row gets a top border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm.) Ted 2.14 only supports solid borders.
Bottom Border
When on, the row gets a bottom border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm) Ted 2.14 only supports solid borders.
Color
Makes it possible to select a color for the borders. Refer to the explanation of the color choosers for details.
Keep on One Page
When the Keep on One Page toggle is on, the row is not divided over pages. If it does not fit as a whole on a page, it is moved to the next page in order not to be divided over more than one page.
Is Table Header
Tables in the body if a document can span more than one page. Make the first row of the table a table header to tell Ted to repeat the first row at the top of every page where the table is continued.
Height Free
The height of the row is that of its highest cell.
Height at Least
The height of the row is at least the number in the text widget. If a cell in the row is higher, the height of the row is adapted to the cell.
Height Exactly
The height of the row is the number in the text widget, even if the contents of the cells do not fit.
 
<IMG>
<IMG>
 
 
Property
Explanation
(Column) Width
The width of the selected column. The table tool tries to prevent you from changing a column width to a value that makes the table wider than the page.
Rows Occupied
The number of rows that is spanned by this cell. A number bigger than 1 tells Ted to claim space in subsequent rows of the table for the contents of this cell. This property sets the rtf equivalent of the HTML rowspan property.
Cells Occupied
The number of columns that is spanned by this cell. A number bigger than 1 tells Ted to claim space in subsequent columns of the table for the contents of this cell. This property sets the rtf equivalent of the HTML colspan property.
Left Border
When on, the column/cell gets a left border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm)
Right Border
When on, the column/cell gets a right border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm)
Top Border
When on, the cell gets a top border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm.) Ted 2.14 only supports solid borders.
Bottom Border
When on, the cell gets a bottom border. You can enter the width of the border in the text box right of the toggle button. The maximum is 3.75 points. (About 1.25 mm) Ted 2.14 only supports solid borders.
Color
Makes it possible to select a color for the borders. Refer to the explanation of the color choosers for details.
Background
You can give the cell a solid background color. Though the rtf file format supports many shading styles, Ted 2.14 only supports solid backgrounds.
 
Though the RTF file format supports many more kinds of borders, Ted only uses and manipulates the borders of the individual cells. In the RTF format borders can have many different styles. Ted only supports solid borders. The controls on the Row and Column pages of the Format Tool change the border for all cells in the row or column.
 
Sections
 
Longer documents can be divided in sections. Sections can be compared to the chapters of a book. By default Ted starts sections on a new page. Different sections can have different ways to number the pages and different page headers and footers. Different sections can even use a different page layout. Use the 'Headers and Footers' page of the format tool to change the headers and footers of the section. Use the 'Page Layout' page of the format tool to change the page layout for a section.
<IMG>
Section properties on the Section page of the Format Tool:
Property
Explanation
Begins
Tells Ted where to start this section. By default new sections start on a new page. Possibilities are:
ˇBelow Previous: The transition from the previous section to this one does not cause Ted to start a new page.
ˇIn Next Column: If the section has multiple newspaper style columns, the formatter starts a new column for this section. As Ted 2.14 does not implement multi column sections, it begins the section on the next page.
ˇOn New Page: Ted starts the section on a new page.
ˇOn Even Page: Ted starts the section on an even numbered page. If the next page has an odd number, a blank page is inserted.
ˇOn Odd Page: Ted starts the section on an odd numbered page. If the next page has an even number, a blank page is inserted.
Page Number Style
The kind of page numbers that are used in the headers and/or footers on pages belonging to this section. Numbers with the same style are used in references to pages in this section.
Start with Page
Normally the pages of a document number from one at the beginning of the document. With the 'Start with Page' toggle you can give the section its own page numbers. With the text box on the right you can even give the number that is used for the first page of the section.
Columns
The number of newspaper style columns that is used to format this section. Newspaper style columns are not implemented in Ted 2.14.
Column Spacing
The spacing between the newspaper style columns that are used to format this section. Newspaper style columns are not implemented in Ted 2.14.
Column Width
The width of the newspaper style columns that are used to format this section. Newspaper style columns are not implemented in Ted 2.14.
 
Footnotes and Endnotes
To insert a footnote or endnote use the Insert Footnote option in the Insert menu. Normally footnotes are placed at the bottom of the page, and each note has a different number. To get different kinds of notes, or to change the way notes are handled in the document use the Notes page of the Format Tool.
 
<IMG>
The Notes tool has three frames. The top frame manages the properties of the current footnote or endnote.
 
Property
Explanation
Footnote
Make the current note a footnote.
Endnote
Make the current note an endnote.
Find Note
From inside the note, jump to the reference in the text.
Edit Note
From the reference to the note, jump to the text of the note.
Revert
Display the properties of the note again.
Apply to Note
Change the properties of the note. E.G. convert a footnote to an endnote or the other way round.
 
The Footnotes and Endnotes frames manage the properties of all footnotes or endnotes in the document.
 
Property
Explanation
Position
The position of the notes in the document.
Page Bottom Place footnotes at the bottom of the page.
Below TextPlace footnotes immediately below the text on the page that refers to them.
End of Section Place endnotes at the end of the section that refers to them.
End of Document Place endnotes at the end of the document.
Numbering
ContinuousAll footnotes or endnotes respectively have a unique number in the document.
Per section All footnotes or endnotes respectively have a unique number in the section that refers to them. The numbers restart for every section.
Per PageThe numbers of the footnotes restart on every page.
Number Format
Select a format for the number of the footnotes or endnotes.
First Number
With continuous numbering this is the number of the first footnote or endnote.
Revert
Display the settings in the document relating to notes again.
Apply to Document
Change the settings in the document relating to notes.
 
Between the text and the notes Ted inserts a separator. In a sense it is a special kind of note. Potentially a document can have four different separators: Between text and footnotes, Between text and endnotes, Between text and continued footnotes and between text and continued endnotes. Ted 2.14 does not support continued notes. By default the separator just consists of a two inch long horizontal line. The option in the insert menu to insert this kind of line in the text is only enabled when you are editing one of the separators.
 
Page Headers, Page Footers and Page Numbers
Every section of the document has its own headers and footers. The headers and footers are printed in the top and bottom margins of the page. The exact location is controlled by the 'Page Layout' page of the format tool. To make a header or footer, use the 'Edit Header' or 'Edit Footer' buttons on the 'Headers and Footers' page of the format tool.
 
<IMG>
What headers and footers are used for a section is depends on two things: Whether the section uses different headers and footers for its first page or not, and whether the document uses different headers and footers for odd and even pages. Use the toggles to change these properties.
Select the kind of pages you want to influence in the menu and push the 'Edit Header/Footer' or 'Delete Header/Footer' buttons to delete or edit a header or a footer. If the section does not have a header or footer for a certain kind of pages, it is made when you push the 'Edit Header/Footer' button. To use all relevant kinds of headers and footers, a section needs to have at least three pages. (First,Even,Odd.) As you edit headers and footers in place, it is not possible to edit the headers and footers for the pages that the section does not use. This means that you might have to temporarily insert a page break in the text to make a particular header or footer accessible. On the other hand the document does not use the header or footer anyway.
 
To insert a page number in a header or a footer, use the 'Insert Page Number' menu option. You can only insert page numbers in headers or footers.
 
Page Size and Page Margins
 
The page size and the margins of a fresh document are determined by some resources as discussed in the configurable resources paragraph. The page size, the page orientation and the margins of a document can be changed with the 'Page Layout' page of the format tool. For the format of the values that can be entered in the text widgets, please refer to the syntax of the resources. Pressing the 'Enter' key in the text widgets refreshes the drawing on the Page Layout tool to give you an impression of what you have selected. The RTF file format stores page layout information in two places. For the document as a whole and for the individual sections in the document. Although a different page layout for different sections in a document might not be particularly useful, Ted allows you to only change the page layout of the selected sections in the document. Ted 2.14 only partially supports different page layouts for different sections. Switching between portrait and landscape is only supported when printing. On screen the sections with a layout that is different from that of the document as a whole are not always rendered correctly. The illustration below shows the page layout page of the format tool.
 
 
<IMG>
 
Choosing colors
Various pages on the format tool allow you to select colors. The color choosers on the page itself offer a limited subset of the palette of the document. Choosers for backgrounds give the possibility to choose for no background color at all. Choosers for foregrounds give the possibility to select an automatic foreground color. Automatic foreground colors depend on the background color. In Ted 2.14 the automatic foreground color is always rendered in black. If you want to use a color that is not shown on the color chooser use the 'More Colors' item. It displays the full color chooser page where you can select any RGB color.
 
Just enter the Red, Green and blue values in the textboxes or click on the color that you want in the RGB cube. The RGB cube contains all 216 colors of the so called web safe palette. Use the toggles in front of the color names to open the RGB cube and to choose a color inside. Click on the outside of the RGB cube to open it at a different slice. Click on the gray background to rotate the RGB cube.
 
<IMG>
 
<IMG>
<IMG>
 
Printing from Ted, writing PostScript and Acrobat PDF
To print from Ted, select the 'Print...' option in the 'File' menu. The print dialog appears. The print dialog contains a menu with the printers that are available on your computer. In addition to the printers, the menu contains an option to print to file. If you have configured a fax command in your application resources, the menu will also contain a fax option. The list of printers is determined by calling the operating system printer management command. The following commands are tried in the order given. The first command that returns any printers determines the list of available printers and the print command that is used. (lp or lpr.)
 
ˇlpc status (Use lpr to print)
ˇ/usr/sbin/lpc status (Use lpr to print)
ˇenq -As (An AIX command, use lp to print)
ˇlpstat -a (Use lp to print)
 
Note that Ted only prints to PostScript. The printer must support all fonts that Ted uses in a particular document. Refer to the section on adding fonts for instructions on how to upload extra fonts to your postscript printer. Those that do not have a postscript printer can use the excellent postscript emulation package GhostScript. It is available from ftp.cs.wisc.edu in the directory ghost. Both Aladdin GhostScript and GNU GhostScript offer good postscript emulation on a wide variety of printers. Besides it can be used as an alternative to the Acrobat distiller to convert PostScript files to Acrobat PDF format. Example script that use Ted and GhostScript to convert rtf files to PostScript and to PDF are included in the Ted distribution. Refer to the GhostScript documentation for instructions on how to add fonts to GhostScript. To support as many different types of printers as possible, Ted does not use advanced PostScript features. To reduce the volume of the printout of images you can activate the use of PostScript compression filters and/or indexed color images. Refer to the usePostScriptFilters and usePostScriptIndexedImages resources in the section on configurable resources.
 
Like the Fax option in the printer selection menu, the text widget to enter a fax number is only enabled when a fax command has been configured. Only when the fax has been selected as a printer, you can enter a fax number in it. For all other printers it is off. The illustrations below show the print dialog with the different options. By default Ted prints one page per sheet of paper. It is possible to print two or four pages of the document per sheet of paper. For this purpose, the output is scaled to fit on the sheet. Normally, Ted prints all the pages in the document. With the menu on the bottom of the Print.. dialog, printing can be limited to a range of pages. The two switches in the Placement frame can be practical when you want to print on small sheets of paper or on postcards. The first one tells Ted to rotate the pages on the paper, such that it can enter the printer with the short side first. The second one can be used with printers that center small sheets in the paper tray. The arrows near the page diagram on the print dialog show the orientation of the print-out as the paper passes through the printer.
 
<IMG>
<IMG>
 
<IMG>
 
<IMG>
 
 
Ted uses the Ted.paper resource to decide what the size of the paper in the printers is. This resource is also used to determine the page size of a fresh document. The PostScript that is sent to the printer assumes this paper size to be loaded in the printer. If you temporarily have a different size of paper in your printer, you can select a different paper size. Note that the paper size selected on the print dialog does not influence the formatting of the printout but only the placement of the formatted text on the page. To format a document for a different paper size use the page layout tool. The paper size selected on the print dialog only influences the placement of the formatted text on the paper, not the formatting itself. This is visualized by the diagram on the dialog. The same applies for the paper size arguments to the command line invocations. You can print more than one document page on a sheet of paper.
 
Value
Explanation
1 Page/Sheet
Print one page of the document per sheet of paper. Rotate if necessary to make it it fit on the sheet. But do not scale.
1 Page/Sheet Scale to Fit
Print one page of the document per sheet of paper. Rotate and/or scale if necessary to make it it fit on the sheet.
2 Pages/Sheet Vertical
Print two pages of the document per sheet of paper. Place them in two rows of one column. Rotate and/or scale if necessary to make them it fit on their half of the sheet.
2 Pages/Sheet Horizontal
Print two pages of the document per sheet of paper. Place them in one row of two columns. Rotate and/or scale if necessary to make it them fit on their half of the sheet.
4 Pages/Sheet Horizontal
Print four pages of the document per sheet of paper. Place them in two rows of two columns. Page 2 is in the same row as page 1. Rotate and/or scale if necessary to make them it fit on a quarter of the sheet.
4 Pages/Sheet Vertical
Print four pages of the document per sheet of paper. Place them in two rows of two columns. Page 2 is in the same column as page 1. Rotate and/or scale if necessary to make them it fit on a quarter of the sheet.
 
To print from the command line use the call Ted ++print something.rtf. Below is a list of all possible kinds of non interactive Ted print commands. Only those starting with ++ are listed. For the ++ commands, the X11 environment is only used to resolve configurable resources for these calls but it is still needed. This is a known deficiency of Ted. Alternative calls starting with -- in stead of ++ exist. They do not use the X11 environment and can only be used with the default settings that are compiled into Ted in stead of the configurable default settings from the configuration files. Some of the calls use paper formats as arguments. Refer to the documentation of the Ted.paper resource for a list of paper formats.
 
Ted ++print some.rtf
Print some.rtf on the default printer. (Usually called lp.)
Ted ++printToPrinter some.rtf myprinter
Print some.rtf on the printer called myprinter.
Ted ++printPaper some.rtf a4
Print some.rtf on the default printer, assuming there is a4 paper in the printer.
Ted ++printPaper some.rtf letter
Print some.rtf on the default printer, assuming there is letter format paper in the printer.
Ted ++printPaper some.rtf 8.5x12inch
Print some.rtf on the default printer, assuming the paper in the printer is 8.5 inch wide and 12 inch high.
Ted ++printPaper some.rtf 100x141mm
Print some.rtf on the default printer, assuming the paper in the printer is 100mm wide and 141mm high. (Size of a6 postcards)
Ted ++printToPrinterPaper some.rtf myprinter letter
Print some.rtf on the printer called myprinter, assuming there is letter format paper in the myprinter printer.
Ted ++printToFile this.rtf that.ps
Convert this.rtf to a PostScript file called that.ps. The PostScript is meant for a printer loaded with the paper format given by the Ted.paper resource.
Ted ++printToFilePaper this.rtf that.ps legal
Convert this.rtf to a PostScript file called that.ps. The PostScript is meant for a printer loaded with legal format paper.
 
Ted includes so called pdfmarks in the postscript it writes. This allows the Adobe Acrobat distiller, or GhostScript to make pdf files that contain the same hyperlinks and bookmarks as the original rtf file. The GhostScript command to convert a postscript file to pdf is the following:
gs -q-dNOPAUSE -sDEVICE=pdfwrite -sPAPERSIZE=a4 \ -sOutputFile=that.pdf this.ps -c quit
 
Together with GhostScript, Ted can be used to make high quality PostScript and Acrobat pdf files from your rtf files, even in a scripted way. Refer to the rtf2ps.sh and rtf2pdf.sh scripts in /usr/local/Ted for a complete example. The rtf2pdf script calls the GhostScript to pdf converter without any configuration arguments. For a list of possible parameters and some explanation refer to the GhostScript documentation: /usr/share/ghostscript/version/doc/Ps2pdf. For some explanation of the parameters refer to Adobe technical note #5151: Acobat Distiller Parameters. It is available in pdf format from the Adobe web site.
 
Probably you use a special command to print to a PostScript printer. You can print to a custom printer by setting two resources in the resource file. The resource Ted.customPrintCommand is the command to print to the custom printer. Ted.customPrinterName is the name of the custom printer. If both resources are set, Ted inserts an extra option in the printer selection menu to print through the given command. Because the custom printing command is something special, Ted makes it the default printer. The value of customPrinterName is a short string that is used in the menu to select the custom printer. The value of customPrintCommand is an arbitrary shell command to print to the custom printer. If customPrintCommand contains the pattern %f the pattern is replaced with the name of a temporary file to print. Otherwise the PostScript to print is piped into the custom print command. If you use %f in customPrintCommand , it is the responsibility of customPrintCommand to delete te temporary file.
 
E.g. the following resource settings in your .Xdefaults or .Xresources file use ghostview as a print previewer:
Ted.customPrintCommand: ( ghostview '%f'; rm '%f' ) &
Ted.customPrinterName: Preview
 
The APP_FAX_TO environment variable is to use Ted with Martin Vermeers FaxView package. If a fax command for Ted is given and APP_FAX_TO is set, Ted will select the fax as its default printer and enter the value in the fax number text box.
 
Saving documents to HTML and to plain text
You can save your documents in HTML format. As Ted cannot read HTML, this should be done with the 'Save To' menu option. If a document that contains bitmap images is saved to the file something.html, the images are saved to graphics files in the directory something.img. Images with few colors are saved to gif files. Images with many colors are saved to JPEG files with a .jpg extension. The names of the image files in the something.img directory are absolutely arbitrary but Ted tries to use the same name for the same image every time the document is saved to HTML.
 
As RTF and HTML differ a lot, both in the approach to document structure and in the formatting possibilities, I had to find a compromise between generating HTML that is as elegant as possible, and HTML that looks as much like the original RTF document as possible. I know that I am using too many <FONT> tags, but I could not find an acceptable alternative. If you are reading this document in HTML form, you can decide for yourself whether the result is ugly or not.
 
Hyperlinks are translated to <A HREF= "something" >. Bookmarks to <A NAME= "something">. Both footnotes and endnotes are converted to endnotes at the end of the document. Ted converts the note numbers to hyperlinks and bookmarks referring to each other.
 
The command Ted ++saveTo this.rtf that.html converts an rtf format document to HTML as a command line call. The X11 environment is only used to resolve configurable resources for this call but it is still needed. This is a known deficiency of Ted. An alternative call starting with -- in stead of ++ exists. It does not use the X11 environment and can only be used with the default settings that are compiled into Ted.
 
The 'Save As' and 'Save To' menu options allow you to save your document to plain text. Ted has two ways to save documents to plain text. The first one folds the text in the paragraphs in such a way that it can easily be used with character terminal style plain text editors such as vi and emacs. The second one saves each paragraph as one line of plain text. This is not very practical with plain text editors or when the text is to be printed, on the other hand, the paragraph structure of the original document is retained. The conversion call Ted ++saveTo this.rtf that.txt converts to the folded plain text format. When you open the that.txt file in Ted again, use the Make one paragraph option to reassemble the lines of a paragraph again..
 
Sending mail from Ted
You can mail the text that you are typing directly from Ted. Choose Mail.. in the File menu to use the mail dialog.
 
<IMG>
 
Enter a subject and the various kinds of recipients in the text fields7. Enter your mail address in the 'From' text field, or refer to the paragraph on configurable resources to find out how to set a default value for From. If you retrieve your mail via an internet provider, enter the mail address that you have with the provider here. not the address that you have on your own computer.
Choose a content type. Do realize that only Microsoft users and people with Ted on their machine will be able to read mail in RTF format. Do realize that only people that read their mail with web browsers and HTML supporting mail readers are able to read mail in HTML format. So if you do not know your recipient, it is best to send your mail in plain text format. Refer to the paragraph on configurable resources if you want to configure a default content type for your mail.
 
Note that Ted was never intended as a mailer application. The mail option is there as a shortcut for the cumbersome process of saving a text and then importing it into a mailer application. Obvious things like an address book or the possibility to read mail are missing.
 
Ted can send mail in three formats:
ˇtext/plain: The message is the document without any formatting. Just the text remains. All images and structuring is removed from the document.
ˇapplication/rtf: The document is sent as an attachment in exactly the same format as it would have been saved to a file.
ˇtext/html: The text of the document is sent in HTML format. Actually the contents are not just the HTML that would have been saved to disk. The HTML and the included images are combined into a multipart/related mime message conforming to rfc 2557. (HTML mail)
 
How to use Ted as a mime handler or a Netscape helper application
In Netscape 4.0 choose Edit, Preferences.., Navigator, Applications. Click on 'Rich Text Format', then on the 'Edit' Button. In the 'Application:' Edit box enter Ted '%s'
 
The result is a line application/rtf;/Ted '%s' in your $HOME/.mailcap file. Mail readers use the mailcap file to determine what program can be used to display mail enclosures of a certain type. You could as well have included this line in the mailcap file with a text editor like vi or emacs. The /etc/mailcap file has the same role as a private .mailcap file. The settings apply for all users of the computer. To make an association between the application/rtf mime-type and the rtf file extension enter a line application/rtf rtf in either $HOME/.mime.types or /etc/mime.types.
<IMG>
 
 
Configuring Ted
In general, it is not necessary to configure or customize Ted. All texts and default settings of Ted are however configurable through the usual X11 application resources mechanism. Ted does not use documented widget names, so no widget resources can be set using the standard X11 widget resources mechanism8. Refer to the file /usr/local/Ted/Ted.ad.sample for a commented example resource file. To overrule the default values of the resources that are compiled into Ted, install the lines you change in this file as a $HOME/Ted file. If you do not want a visible file in your home directory include the changed lines in $HOME/.Xdefaults or $HOME/.Xresources. For every property called someprop, insert a line of the form Ted.someprop: somevalue in the resource file. Note that the default values for file locations mentioned below relate to the Ted distribution packages. If Ted is part of a Linux distribution, the file system hierarchy standards apply, and system independent files should be installed in /usr/share/Ted in stead of /usr/local. An explanation of the standard X11 resource mechanism is beyond the scope of the user manual of a word processor. Refer to the comments in the sample resource file for some more explanation. The X11 documentation is the ultimate source of information. The standard X11 command line arguments to override a resource value for a single invocation work as well. E.G: the command 'Ted -xrm Ted.usePostScriptFilters:1 -xrm Ted.usePostScriptIndexedImages:1 ++printToFile x.rtf y.ps' uses the special PostScript settings for this invocation only. For more information read the X manual page.
 
Most settings relate to the texts of the different controls on the windows. These are not covered in this introductory manual. If you want to change the texts, for example to make localized Ted installations, refer to the Ted.ad.sample file for an example and an explanation. As the sample file contains all the defaults that are compiled into Ted, only what you change is relevant. The example resource file is extensively documented.
 
The following properties influence Teds functionality:
 
defaultFont: Used as the font of new documents. The format of the string is: <Family>,<Weight>,<Slant>,<Size>,<Underline>. E.G. "Helvetica,,,10" or "Times,Bold,Slanted,14,Underlined". Do not put the value in the resource file in quotes.
magnification: Magnification for drawing documents on the screen. The default value is 1.2 for 120%.
unit:The unit that is used by default. This resource influences the appearance of the ruler and the interpretation of numbers entered in the format tool. Possible values are: inch, ", cm, mm, points, pt, picas, pi.
paper: The format of the paper in the printer. The paper format is used as the default page size for new documents. If a smaller page size is used for a document, Ted uses the Ted.paper resource to print in the upper left corner of the paper. Possible values are: a4,a5,letter,legal,executive and strings in the form <Width> x <Height> or <Width> x <Height> <Unit> where <Width> and <Height> are numbers. Values for units are given above. If <Unit> is omitted, the value of the 'unit' resource is assumed. Plain text files do not store a paper size for the file inside the file. The Ted.paper resource is used for the page layout of every plain text file that Ted opens.
defaultPrinter: If you want to use a different printer than the system default printer as the default printer from Ted, you can set this resource to select that printer the first time you use the Print Dialog. The value is the name of a printer. Use the same names that you use in the lp -d somePrinter, or the lpr -P somePrinter commands.
leftMargin: The width of the left margin of a new document. The value must be a valid dimension. The format of a dimension is <Number> or <Number> <Unit>. Values for units are given above. If <Unit> is omitted, the value of the 'unit' resource is assumed.
rightMargin: The width of the right margin of a new document. The value must be a valid dimension.
topMargin:The height of the top margin of a new document. The value must be a valid dimension.
bottomMargin: The height of the bottom margin of a new document. The value must be a valid dimension.
mailContent: The default content type for mail messages. The default is text/plain. Possible values are the resource names for the menu options. I.E. mailPlain,mailRtf,mailHtml.
mailFrom: The default sender of the mail messages. No default value exists. If none is given, the mailing software attempts to compose a name like 'Your Name <login@host.domain>'. If you retrieve your mail via an internet provider, give the mail address that you have with the provider here. not the address that you have on your own computer.
mailHost:The SMTP relay that is used to transmit your mail. The default is 'localhost'.
mailPort:The TCP/IP port number that is used to reach the mail server. The value of mailPort defaults to "smtp" which in its turn maps to the default value 25. Only in very rare cases it is desirable to override these defaults. The resource was added to make it possible to work around bugs in certain versions of the resolver libraries.
afmDirectory The directory where Ted looks for font metric files. Only fonts that have a metric file in this directory can be used by Ted. In a default installation, metric files are expected in /usr/local/afm. This resource is particularly useful when you cannot install Ted as root, and hence you have to store the metric files in some private directory.
spellToolSystemDicts: The directory where Ted looks for spelling dictionaries. In a default installation, spelling dictionaries are expected in /usr/local/ind. This resource is particularly useful when you cannot install Ted as root, and hence you have to store the dictionaries in some private directory.
documentFileName: The name of this online document file. In a default installation this is /usr/local/Ted/TedDocument-en_US.rtf.
faxCommand: The command that Ted uses to send the current document as a fax. In the command %f is replaced by a temporary file name, %n by the fax number and %t by the title of the document window. The fax command is assumed to accept PostScript as input. If the command contains occurrences of %f, a temporary file is written with PostScript, otherwise PostScript is piped into the command. To avoid strange situations, commands without the '%n' pattern are refused. For the excellent efax package by Ed Casas, the following are working:
a)Simply send the fax and wait for it...
Ted.faxCommand: ( ( fax send '%n' '%f'; rm '%f' ) )
b)Send the fax, do not wait but mail a report to the sender...
Ted.faxCommand: ( ( fax send '%n' '%f' 2>&1; rm '%f' 2>&1 ) | mail -s 'Fax %t' mark@localhost ) >/dev/null 2>&1 &
The environment variable APP_FAX_TO also relates to faxing. Refer to the section on printing.
customPrintCommand: A command to print through a custom printer command. Refer to the paragraph on printing for details.
customPrinterName: The name that is used to designate the custom printer command on the Print Dialog. Refer to the paragraph on printing for details.
printDialogShowPlacementDrawing: Some laptops have microscopic screens. Setting this resource to 0 hides the diagram that shows the placement of the document pages on the sheets of paper. This is to make the dialog a lot lower and to fit on the screen of this kind of computer.
defaultAnsicpg: The number of the codepage that is assumed when a document does not contain an 'ansicpg' rtf tag. It is also used when new documents are made. In general it is not desirable to set this resource without installing appropriate fonts. Only a few codepages are really supported. If you want me to support your codepage. I need your active help to provide me with example documents and to test my progress.
showTableGrid: By default, Ted draws a grid to show the structure of tables without borders. If you set this resource to 0 no grid will be drawn.
ghostscriptFontmap: The name of the file in which GhostScript keeps its fontmap. It is used to derive the X11 font name from the PostScript one when all other ways fail.
ghostscriptFontToXmapping: The name of the Type1 to X11 font map in the GhostScript font directory. It is used to derive the X11 font name from the PostScript one when all other ways fail.
supportXvCopyPaste: Set this resource to 1 to enable copy/paste with John Bradley's xv program.
usePostScriptFilters: PostScript levels 2 and 3 support the concept of filters. Filters make it possible to code the images in a PostScript file much more efficiently. You can activate this option when you have a printer that supports level 2 filters and the /FlateDecode filter. Recent versions of GhostScript support both. If you doubt, just activate the option and see whether you can still print images. To activate set the value to 1.
usePostScriptIndexedImages: PostScript level 2 has a variant of the image operator that makes it possible to include images with a color indirection via a palette in the PostScript file. As many if the images included in rtf documents are of this kind, setting this resource can help you to reduce the volume of the PostScript that is sent to the printer. All level 2 implementations, including GhostScript support indexed images. If you doubt, just activate the the option and see whether you can still print images. To activate set the value to 1.
 
How to use Ted in your language
This section describes how you can translate the texts on the Ted windows and where you can install translations. Ted uses the X11 resources mechanism both for its configuration and for translated messages. The details of the X11 resources mechanism are a tedious subject. Fortunately most details are irrelevant if you just want to translate the Ted messages to your language. If you want to install translated Ted messages for yourself or for all users of your computer you do not need to know the details either. In the section on configuring Ted I give some additional details. The comments in the example Ted configuration file are yet a little more elaborate. The X11 documentation and books on Unix/Linux system management remain the ultimate source of information.9
 
Suppose you want to use Ted in the Erewhonian language. The first step is to obtain translated messages. Inspect the value of the LANG environment variable and check the Ted download site for an Erewhonian resource file. Let us assume that LANG=eg_ER. If an rpm package is available, just install it and all files end up in the correct location. If they are installed with the installTed.sh script, the same applies for the language specific Ted_eg_ER.tar.gz packages. After a manual installation of one of the Ted_eg_ER.tar.gz packages, you will find a file /usr/local/Ted/ad/Ted_eg_ER.ad.tar on your computer. Unpack the file with tar in the / directory. Whatever you have done to install a standard Ted language package, you should now have a file /usr/lib/X11/eg_ER/app-defaults/Ted on the computer. Users with the correct LANG=eg_ER should now see Ted in Erewhonian. Evidently installing an Erewonian resource file Ted_eg_ER.ad file as /usr/lib/X11/eg_ER/app-defaults/Ted would have done the same thing.
 
Now suppose Ted is not as popular in your country Zembla as it is in Erewhon. This means that you have to make a translation yourself. Check the value of the LANG environment variable. On correctly configured Zemblan Unix/Linux systems LANG=zz_ZZ. The Ted distribution contains an example resource file /usr/local/Ted/Ted.ad.sample. It is an X11 resource file that contains all resource values that are compiled into Ted as defaults. Copy the file to some private directory. Call it Ted_zz_ZZ.ad. Ted_zz_ZZ.ad is the starting point of your translation of the Ted windows to Zemblan. Open the file in a plain text editor like vi or emacs. Change all values you want to change. As you intend to translate the file to Zemblan you only change the texts that Ted shows on its windows. You leave the other values alone. Probably it is even better to delete the lines that do not give user interface texts. The Ted program uses suitable default values for all values that are not given in the resource file. In addition to the window texts please enter following values to identify the translator:
Ted.localeTranslatedTo: zz_ZZ
Ted.localeTranslatorName: Charles Kinbote
Ted.localeTranslatorEmail: V.Botkin@wordsmith.edu
As Zembla is a civilized country that uses the Metric System and ISO A4 size paper also override the American defaults that are compiled into Ted:
Ted.unit: cm
Ted.paper: a4
Please leave configuration settings alone. Remember that you are translating the window texts. You are not trying to impose your personal taste upon others. Just delete the lines with configuration settings from the file. As your translated texts have an influence on the size of the Ted windows, try to be concise. The Microsoft Word at a Glance booklets are translated to almost any language. They are not only a good reference to Word but also an excellent source of phrases and window texts.
 
To test your file while you work on your translation use the command xrdb -merge < Ted_zz_ZZ.ad. The next time that you start Ted the windows will be in Zemblan independently of the LANG setting. Once you are ready you can install the translated Ted_zz_ZZ.ad file as /usr/lib/X11/zz_ZZ/app-defaults/Ted. I would be delighted to get a copy of your Ted_zz_ZZ.ad file for the Ted distribution.
 
Now that you have started to translate Ted related texts, you could as well translate the full manual: Copy /usr/local/Ted/TedDocument-en_US.rtf to /usr/local/Ted/TedDocument-zz_ZZ.rtf and translate the file. When you have finished the translation tell Ted to use the Zemblan translation for Zemblan users. Insert the value
Ted.documentFileName: /usr/local/Ted/TedDocument-zz_ZZ.rtf
in the Ted_zz_ZZ.ad file and deploy it again. You can imagine that the translated manual is as welcome in the Ted distribution as the translated window texts.
 
Adding fonts to a Ted installation
It is possible to use more fonts than just Times, Symbol and Courier from Ted. Ted can use any font that has an .afm file in /usr/local/afm for which a corresponding X11 font can be found. Below I will tell you how to extend this set of fonts to the Adobe base35 collection that is present in most printers and in GhostScript.
 
I will assume the following:
ˇThat you downloaded the relevant AFM files from the directory /pub/adobe/type/win/all/afmfiles/base35 on ftp://ftp.adobe.com. That is all the files in the directory minus the Helvetica Condensed ones.
ˇThat you removed the carriage return characters at the end of the lines of the something.afm files, and you removed the final Control-Z character from the files.
ˇThat you obtained the collection of postscript type1 fonts that the German company URW++ contributed to GhostScript. E.G. by extracting them from de CD-Rom that accompanies the book: Merz, Thomas, "Postscript & Acrobat/PDF", Springer-Verlag, Berlin &c, 1996, ISBN 3-540-60854-0.
 
You proceed as follows:
ˇYou copy the afm files to /usr/local/afm. Either you remove the Files Ted installed there, or you do not install the .afm files for the fonts that already have an .afm file from Ted. Remember the remark about the carriage returns and the control-z characters.
ˇYou install the URW++ fonts in a directory. If you just install in the X11 Type1 directory, you adapt the fonts.dir and fonts.scale files there. If you install in a separate directory, add the directory to the font path of the X11 server. E.G. by inserting a line like xset fp+ /home/gaai/mark/URW-Fonts/ in your $(HOME)/.xinitrc. The lines that for the different fonts are to be inserted in fonts.dir and fonts.scale are given below. The first line in the files is the number of fonts. For your convenience, all other lines are included in the example.
ˇYou install a mapping from the standard PostScript printer font name to the X11 font that is to be used on the screen. In my example I use the URW++ fonts that were installed in the previous step. For your convenience, all lines are included in the example. Note that the font file name is replaced with the postscript font name, and all zeros with an asterisk. I deleted the lines for the normal fonts, as ordinary X11 fonts look better than scalable ones. Only if the mapping from the PostScript names of the fonts to the X11 names is straight forward, this step is superfluous. The standard heuristics to find an X11 font with a PostScript one will do the same as you tell Ted in the file.
 
The line that are inserted in the fonts.dir and fonts.scale files for the different URW++ fonts are the following:
a010013l.pfb -urwpp-urw gothic l-book-r-normal--0-0-0-0-p-0-iso8859-1
a010015l.pfb -urwpp-urw gothic l-demi-r-normal--0-0-0-0-p-0-iso8859-1
a010033l.pfb -urwpp-urw gothic l-book-i-normal--0-0-0-0-p-0-iso8859-1
a010035l.pfb -urwpp-urw gothic l-demi-i-normal--0-0-0-0-p-0-iso8859-1
b018012l.pfb -urwpp-urw bookman l-regular-r-normal--0-0-0-0-p-0-iso8859-1
b018015l.pfb -urwpp-urw bookman l-bold-r-normal--0-0-0-0-p-0-iso8859-1
b018032l.pfb -urwpp-urw bookman l-regular-i-normal--0-0-0-0-p-0-iso8859-1
b018035l.pfb -urwpp-urw bookman l-bold-i-normal--0-0-0-0-p-0-iso8859-1
c059013l.pfb -urwpp-century schoolbook l-roman-r-normal--0-0-0-0-p-0-iso8859-1
c059016l.pfb -urwpp-century schoolbook l-bold-r-normal--0-0-0-0-p-0-iso8859-1
c059033l.pfb -urwpp-century schoolbook l-regular-i-normal--0-0-0-0-p-0-iso8859-1
c059036l.pfb -urwpp-century schoolbook l-bold-i-normal--0-0-0-0-p-0-iso8859-1
d050000l.pfb -urwpp-dingbats-regular-r-normal--0-0-0-0-p-0-adobe-fontspecific
n019003l.pfb -urwpp-nimbus sans l-regular-r-normal--0-0-0-0-p-0-iso8859-1
n019004l.pfb -urwpp-nimbus sans l-bold-r-normal--0-0-0-0-p-0-iso8859-1
n019023l.pfb -urwpp-nimbus sans l-regular-i-normal--0-0-0-0-p-0-iso8859-1
n019024l.pfb -urwpp-nimbus sans l-bold-i-normal--0-0-0-0-p-0-iso8859-1
n019043l.pfb -urwpp-nimbus sans l-regular-r-narrow--0-0-0-0-p-0-iso8859-1
n019044l.pfb -urwpp-nimbus sans l-bold-r-narrow--0-0-0-0-p-0-iso8859-1
n019063l.pfb -urwpp-nimbus sans l-regular-i-narrow--0-0-0-0-p-0-iso8859-1
n019064l.pfb -urwpp-nimbus sans l-bold-i-narrow--0-0-0-0-p-0-iso8859-1
n021003l.pfb -urwpp-nimbus roman no9 l-regular-r-normal--0-0-0-0-p-0-iso8859-1
n021004l.pfb -urwpp-nimbus roman no9 l-bold-r-normal--0-0-0-0-p-0-iso8859-1
n021023l.pfb -urwpp-nimbus roman no9 l-regular-i-normal--0-0-0-0-p-0-iso8859-1
n021024l.pfb -urwpp-nimbus roman no9 l-bold-i-normal--0-0-0-0-p-0-iso8859-1
n022003l.pfb -urwpp-nimbus mono l-regular-r-normal--0-0-0-0-m-0-iso8859-1
n022004l.pfb -urwpp-nimbus mono l-bold-r-normal--0-0-0-0-m-0-iso8859-1
n022023l.pfb -urwpp-nimbus mono l-regular-i-normal--0-0-0-0-m-0-iso8859-1
n022024l.pfb -urwpp-nimbus mono l-bold-i-normal--0-0-0-0-m-0-iso8859-1
p052003l.pfb -urwpp-urw palladio l-roman-r-normal--0-0-0-0-p-0-iso8859-1
p052004l.pfb -urwpp-urw palladio l-bold-r-normal--0-0-0-0-p-0-iso8859-1
p052023l.pfb -urwpp-urw palladio l-regular-i-normal--0-0-0-0-p-0-iso8859-1
p052024l.pfb -urwpp-urw palladio l-bold-i-normal--0-0-0-0-p-0-iso8859-1
s050000l.pfb -urwpp-standard symbols l-regular-r-normal--0-0-0-0-p-0-adobe-fontspecific
z003034l.pfb -urwpp-urw chancery l-medium-i-normal--0-0-0-0-p-0-iso8859-1
 
The translation from the PostScript names of the additional fonts to x font names in /usr/local/afm/xfonts.dir is given in the following lines:
AvantGarde-Book -urwpp-urw gothic l-book-r-normal--*-*-*-*-p-*-iso8859-1
AvantGarde-Demi -urwpp-urw gothic l-demi-r-normal--*-*-*-*-p-*-iso8859-1
AvantGarde-BookOblique -urwpp-urw gothic l-book-i-normal--*-*-*-*-p-*-iso8859-1
AvantGarde-DemiOblique -urwpp-urw gothic l-demi-i-normal--*-*-*-*-p-*-iso8859-1
Bookman-Light -urwpp-urw bookman l-regular-r-normal--*-*-*-*-p-*-iso8859-1
Bookman-Demi -urwpp-urw bookman l-bold-r-normal--*-*-*-*-p-*-iso8859-1
Bookman-LightItalic -urwpp-urw bookman l-regular-i-normal--*-*-*-*-p-*-iso8859-1
Bookman-DemiItalic -urwpp-urw bookman l-bold-i-normal--*-*-*-*-p-*-iso8859-1
NewCenturySchlbk-Roman -urwpp-century schoolbook l-roman-r-normal--*-*-*-*-p-*-iso8859-1
NewCenturySchlbk-Bold -urwpp-century schoolbook l-bold-r-normal--*-*-*-*-p-*-iso8859-1
NewCenturySchlbk-Italic -urwpp-century schoolbook l-regular-i-normal--*-*-*-*-p-*-iso8859-1
NewCenturySchlbk-BoldItalic -urwpp-century schoolbook l-bold-i-normal--*-*-*-*-p-*-iso8859-1
ZapfDingbats -urwpp-dingbats-regular-r-normal--*-*-*-*-p-*-adobe-fontspecific
Helvetica-Narrow -urwpp-nimbus sans l-regular-r-narrow--*-*-*-*-p-*-iso8859-1
Helvetica-Narrow-Bold -urwpp-nimbus sans l-bold-r-narrow--*-*-*-*-p-*-iso8859-1
Helvetica-Narrow-Oblique -urwpp-nimbus sans l-regular-i-narrow--*-*-*-*-p-*-iso8859-1
Helvetica-Narrow-BoldOblique -urwpp-nimbus sans l-bold-i-narrow--*-*-*-*-p-*-iso8859-1
Palatino-Roman -urwpp-urw palladio l-roman-r-normal--*-*-*-*-p-*-iso8859-1
Palatino-Bold -urwpp-urw palladio l-bold-r-normal--*-*-*-*-p-*-iso8859-1
Palatino-Italic -urwpp-urw palladio l-regular-i-normal--*-*-*-*-p-*-iso8859-1
Palatino-BoldItalic -urwpp-urw palladio l-bold-i-normal--*-*-*-*-p-*-iso8859-1
ZapfChancery-MediumItalic -urwpp-urw chancery l-medium-i-normal--*-*-*-*-p-*-iso8859-1
 
Uploading fonts to a PostScript printer
After you have extended the collection of fonts that can be used on your computer, you might want to print documents that use the extra fonts as well. It is really easy to upload a collection of fonts to your printer. In a directory that contains the fonts you want to upload in either something.pfa format or in something.pfb format give the following shell command:
 
(
echo serverdict begin 0 exitserver
cat *.pfa *.pfb
) | lpr
 
Until the printer is turned off it will support the fonts from your font files.
 
RTF files from OpenOffice
RTF files from open office do not always precisely follow the rtf documentation. The script below corrects some of the peculiarities.
 
IN=sample.rtf
OUT=ss.rtf
 
sed -e 's/^{\\headerf/\\titlepg{\\headerf/' \
-e 's/^{\\headerl/\\facingp{\\headerl/' \
-e 's/^{\\headerr/\\facingp{\\headerr/' \
-e 's/^{\\footerf/\\titlepg{\\footerf/' \
-e 's/^{\\footerl/\\facingp{\\footerl/' \
-e 's/^{\\footerr/\\facingp{\\footerr/' \
-e 's/\\nobrdr/\\brdrnone/g' $IN > $OUT
 
Nuisances with Window Managers
Ted was originally developed as a Motif application. Most of the testing has been done with the Motif Window Manager mwm and with Gnome and KDE. If you use an experimental or a primitive window manager, please note the following:
ˇWindow managers like fvwm do brute things like killing an X11 application. Ted is not immune to physical violence.
ˇWindow managers that require you to interactively place windows can be a nuisance. It might be necessary to give Geometry resources that give the windows a fixed position and a fixed size. Specifying Ted*Geometry applies to all windows. Use the names below to give the geometry of the different windows.
 
Upto a certain point, Ted can support session managers like those of KDE or CDE. When the session manager tells Ted to save its state and it allows Ted to interact with the user, Ted ask the user whether she wants to save her work just as when she wants to quit the application and Ted retires from the session. If no interaction is allowed, Ted saves unsaved documents to the directory $HOME/.Ted and tells the session manager to restart it with special command line options to reload the unsaved documents.
 
Shell widget names
With primitive window managers, it might be necessary to set Geometry resources for Shell windows to avoid the interactive placement of the different Ted windows. Shell names are given below.
 
Ted makes two kinds of Shell windows:
ˇSome windows are modal dialogs: Until you dismiss them, you can only input data into the dialog. All dialog windows have 'Ok' and 'Cancel' buttons that dismiss them.
ˇSome windows are tools: They are on the screen and adapt themselves to to the current situation all the time. It is up to you to decide to use them or not. Tool windows disappear behind windows that you raise after you used the tool. (Usually behind a document window.) So there is no need to explicitly dismiss a tool. It depends on the window manager whether you can dismiss a tool window or not.
 
Windows and tools: To avoid offensive behavior of primitive window managers, it might be necessary to set Geometry resources for them.
Application window Ted
Document window tedDocument
Find TooltedFindTool
Spell TooltedSpellTool
Insert Symbol Tool tedSymbolPicker
Format Tool tedFormatTool
Modal Dialogs: Even with primitive window managers, no Geometry resources should be necessary.
Hyperlink Dialog tedHyperlink
Bookmark Dialog tedBookmark
Print Dialog tedPrintDialog
Mail Dialog tedMailDialog
Property Dialog tedPropertyDialog
Message Dialog tedMessageDialog
 
So including the line 'tedDocument*geometry: 600x800' in $HOME/.Xdefaults or $HOME/Ted will limit the initial size of document windows to 600 pixels wide and 800 pixels high.
 
Remarks about X11 server configuration, accented characters and backspace
The local input method that is compiled into the X11 libraries supports a compose key. Sometimes it is not configured; sometimes you have to try many keys before you find it. In older versions of Xfree386, the compose (Multi_key) is the one labeled ScrollLock on American keyboards. In newer versions, it is not always configured. By inserting a line like xmodmap -e 'keycode 78 = Multi_key' in your private .xinitrc file, you can configure a compose key.
 
Sometimes, no BackSpace key is configured in X11. All keys that backspace are configured as Delete keys. If pushing the backspace key deletes the character after the I-Bar, configure a BackSpace key. In Xfree386 this can be done with the command xmodmap -e 'keycode 22 = BackSpace'
 
The vertical scrollbar of a document window can be controlled with the mouse wheel as it can be configured in XFree86. Include the line ZAxisMapping 4 5 in the pointer section of a version 3.x XF86Config file, or the line Option "ZAxisMapping" "4 5" in the InputDevice section of a 4.x XF86Config file. Both have been tested with IMPS/2 protocol mice.
 
Similar remarks apply for other X11 versions.
 
Compiling Ted from source
To compile and link Ted, get the source code from the download site ftp://ftp.nluug.nl/pub/editors/ted. Unpack the archive and follow the instructions below. If you use other Unix versions than Linux, realize that the construction of a distribution package uses the gzip compression utility and the chown root:root syntax. Although statically linked executables of Ted run on any X Windows system, to compile and link, you need a motif development environment. If you do not have one you can use LessTif, a free motif implementation. Ted has been tested with LessTif, and though there are a few peculiarities, the combination of Ted and LessTif works quite well. LessTif is available from http://www.lesstif.org. Alternatively you can use the Open Motif distribution by the open group refer to http://www.opengroup.org/openmotif.
Ted 2.14 can be compiled with the GTK+ 1.2.10 toolkit or a later version. The GTK version is not complete and should be seen as step in the right direction. Not as a finished piece of software. Jouk Jansen made fixes to the Ted source to compile on Compaq OpenVMS. Additional files, including an explanatory notice by Jouk can be found in the vms_files.tar archive that is part of the source.
 
Apart from a motif development environment, you might need one or more of the public image libraries that Ted uses.
ˇLibtiff by Sam Leffler. If you do not have it, download it.
ˇLibjpeg by the independent JPEG group. If you do not have it, download it. Version 6 is required. If the link stage complains about undefined symbols like jpeg_std_error, you are using version 5.
ˇLibpng by the PNG group. If you do not have it, download it. You will also need zlib by Jean-loup Gailly and Mark Adler. If you do not have it, download it.
ˇLibXpm by Arnaud Le Hors of Groupe Bull. If you do not have it, download it.
 
I want to express my gratitude to the authors of all the free software libraries I have used for Ted. Without them, a project like Ted would have been impossible.
 
Unpacking the source archive results in a Ted-2.14 directory. The compilation procedure has some support for graphics libraries that are not preinstalled on the system. It assumes that they are installed in the Ted-2.14 directory, that a link from a generic name to a version dependent one exists, and that the library has been successfully compiled. Compiling the executable is simply done with the command make in the Ted-2.14 directory. There is no need to call configure as this is done by make. You can change some compilation options by editing the top level makefile. Refer to the comments in the top of the file. When make is successful, there is a Ted executable in the Ted directory. To make an installation package, call make package. This must be done as root. The installation package tedPackage/Ted_<platform>.tar.gz is now ready. To install it on your machine, call make install. Installation must be done as root. Those that cannot perform the last steps as root can call make private to get a private installation. The make private call will suggest the necessary modifications to your .Xdefaults or .Xresources file to run from a private installation. The ultimate possibility is to copy the Ted executable to a suitable location and to unpack the relevant files from the tedPackage/TedBindist.tar archive. Refer to the sections on installation and configuration for details.
 
On some platforms, in particular Sun Solaris, no static Motif and X libraries are available. For those platforms, and for shared library zealots, the alternative make targets compile.shared, package.shared and install.shared are available. The Ted executables made in this way use shared libraries.
 
Making spelling dictionaries for Ted
 
On the Ted web site, or in the source directory of the CD you can find two example programs that build a spelling dictionary for Ted. On the basis of these examples, it should not be too difficult to build a Language.ind file. If you install this file in your private dictionaries directory, or in the system wide one, 'Language' will appear in the spelling tool and you can check spelling in that Language. For the locations to install Language.ind files, see the section on configurable resources.
 
To use the examples, you will need
ˇThe example source code.
ˇThe ispell material is used in the example on how to make a checker from an affix file and dictionaries. It can be found on ftp.cs.ucla.edu.
ˇThe French épelle material is used in the example on how to make a checker from a flat list of words. The French spelling material can be obtained from ftp://ftp.inria.fr.
For a list of ispell dictionaries that might be converted, and the original ispell material refer to the ispell site.
 
Acknowledgments
 
Apart from the French and the Dutch material, the spelling dictionaries are derived from ispell dictionaries. I only use the dictionary and the affix files. My checker is based on finite automata, rather than on on hashing. The author of the original ispell program and the source of the idea of affix files was Geoff Kuenning. ispell is available from GNU and from ftp.cs.ucla.edu (131.179.128.34). The US and British dictionaries stem from the ispell material. Geoff Kuenning was so kind to allow me to use the ispell dictionaries.
ˇThe German ispell material is that of Björn Jacke. It is available from http://www.suse.de/~bjacke/igerman98. It is an adaptation of the material by Heinz Knutzen to the new German orthography rules. The material of Heinz Knutzen is available as ftp://ftp.informatik.uni-kiel.de/pub/kiel/dicts/hk-deutsch.tar.gz. Heinz Knutzen was so kind to allow me to use his ispell dictionary.
ˇThe Spanish ispell material is that of Santiago Rodríguez and Jesús Carretero, Universidad Politecnica de Madrid. It is available as ftp://ftp.fi.upm.es/pub/unix/espa~nol.tar.gz.
ˇThe Portuguese ispell material is that of Ulisses Pinto & José Joăo Almeida, Universidade do Minho. It is available as ftp://http://www.di.uminho.pt/~jj/pln/UMportugues.tgz. José Joăo Almeida was so kind to allow me to use his ispell dictionary.
ˇThe French material is that from Paul Zimmermann, Inria Lorraine. It is available by ftp from ftp://ftp.inria.fr. Paul Zimmermann was so kind to allow me to use his dictionary in free copies of Ted.
ˇThe Dutch spelling material was derived from that of Jan van Bakel, Dick Grune and Patrick Groeneveld. I added many words and adapted the material to the new orthography rules. The original material is available as ftp://donau.et.tudelft/pub/words/groen.
ˇThe Italian spelling material is based on the dictionary and affix file by Marco Roveri available from the directory ftp://ftp.mrg.dist.unige.it /pub/mrg-usr/marco/ispell.
ˇThe Czech spelling material is based on the dictionary and affix file by Petr Kolar available from the directory ftp://ftp.vslib.cz/pub/unix/ispell.
ˇThe Danish spelling material is based on the dictionary and affix file by Göran Andersson and the Skĺne/Sjćlland Linux User Group available via http://www.sslug.dk/ispell/idanish/danish.html.
ˇThe Swedish spelling material is based on the dictionary and affix file by Göran Andersson and the Skĺne/Sjćlland Linux User Group available via http://www.sslug.dk/ispell/iswedish/swedish.html.
ˇThe Norwegian spelling material is based on the dictionary and affix file by Rune Kleveland available via http://www.uio.no/~runekl/dictionary.html.
ˇThe Polish spelling material is based on the dictionary and affix file by Piotr Gackiewicz and others available from ftp://ftp.ds14.agh.edu.pl/pub/ispell/.
ˇThe Slovak spelling material is based on the dictionary and affix file by Pavel Chalmovianský available from http://www.uniba.sk/~chalmo.
ˇSearching for regular expressions is done with an adapted version of the regex library by Henry Spencer, University of Toronto. Most of the adaptations were more about C programming than about the functionality. I added routines for reverse searching. (Find Previous). The original source is available as ftp://ftp.cs.toronto.edu/pub/regex.shar.Z.
ˇThe perfect hash generator and the hash functions that it uses are borrowed from public domain software by Bob Jenkins: http://burtleburtle.net/bob/hash/perfect.html.
ˇThe possibility to directly send mail from Ted is based on code by my friend and ex colleague Rob Vonk.
ˇJean Peyratout translated the resource file to French. The first French translation was by Odile Bénassy of the TINY Linux project.
ˇPeter Ivanyi translated the resource file to Slovak.
ˇKenneth Bernholm translated the resource file to Danish.
ˇKristof Petr not only translated the resource file to Czech but also contributed a lot to the support of Latin 2 alphabets in Ted.
ˇEric Lecluse and Hans Harder translated the resource file to Dutch.
ˇAxel Schwarzer translated the resource file to German, then translated the manual and found and reported more bugs than I ever expected in Ted.
ˇDina Ratsimbazafy translated the resource file and the manual to Malagasy.
ˇPeter Feher translated the resource file to Hungarian.
ˇJakub Bogusz translated the resource file to Polish.
ˇCárlisson Galdino translated the resource file to Brazilian Portuguese.
ˇJouk Jansen Ported Ted to OpenVMS and contributed the fixes he had to make.
ˇJeffrey Boser patiently tested many Ted versions and reported many bugs.
 
For some types of picture files, public source code was used.
ˇSupport for TIFF pictures is implemented with Sam Leffler's libtiff that is available from ftp://ftp.uu.net/graphics/tiff.
ˇSupport for PNG pictures is implemented with the PNG groups libpng. Source is available on ftp.uu.net in the directory /graphics/png. libpng in its turn uses zlib by Jean-loup Gailly and Mark Adler for the compression of the data. The official zlib ftp site is ftp://ftp.uu.net/pub/archiving/zip/zlib/.
ˇSupport for JPEG pictures is implemented with the Independent JPEG groups libjpeg. It is available from ftp.uu.net in the directory graphics/jpeg.
ˇSupport for XPM pictures uses libXpm by Arnaud Le Hors of Groupe Bull. Source is available from ftp://ftp.x.org/contrib.
ˇSupport for GIF pictures was borrowed from libgif by Gershon Elber and Eric S. Raymond. For more information refer to the giflib home page: http://prtr-13.ucsc.edu/~badger/software/giflib.shtml.
 
The picture of a writing schoolboy on the application window is the lower right corner of a woodcut by Albrecht Dürer dated 1510. It represents a schoolmaster teaching a class of children. Its motto is: Wer recht bescheyden wol werden, Der pit got trum bye auff erden.
 
Author
 
Mark de Does
http://www.mdedoes.com
<IMG>
April 6, 2003
More or more recent information on Ted might be available from the Ted web site http://www.nllgg.nl/Ted. The latest versions and the source code from ftp://ftp.nluug.nl/pub/editors/ted.
P.S.Please do not use my mail address when you refer to me or to Ted. I already receive enough unsollicited email. You can either refer to the web page or use an image.

1Some of the ignored information is not saved either when you modify and then save an RTF document with Ted.
2Please read the compilation instructions at the end of this document before you start compiling Ted. They are short and easy.
3Please refer to the explanation at the end of this document.
4Theoretically other applications might support it: selection=PRIMARY, target=application/rtf; the contents of the window property that is exchanged is a complete rtf document.
5Theoretically other applications might support it: selection=PRIMARY, target=image/png; the contents of the window property that is exchanged is a complete png picture.
6This is the default location. To use a different location, refer to the Ted.spellToolSystemDicts resource.
7The mail is addressed to the To recipient and evidently she gets it. Cc (Carbon Copy) recipients will get the mail, and they will be mentioned in the headers of the mail message. I.E. all the recipients can see that the mail was sent to the Cc recipients. Bcc (Blank Carbon Copy) recipients will also get the mail, but they will not be mentioned in the headers of the mail message so others cannot see that the message was sent to the Bcc recipients.
8Exceptions are made for the Shell widgets. With primitive window managers, it might be necessary to set Geometry resources for them. The names of the Shell widgets are given below.
9 Short of an alternative even GTK versions of Ted use the X11 resources mechanism. As for the GTK version I had to reimplement it with low level X11 calls, some of the less common steps in the search path for resources are not implemented in GTK versions of Ted.