vTEXT 1.0 JAVA APPLET
Copyright © 2000 Luis M. Pabón
All rights reserved


 CONTENTS


 OVERVIEW

Thank you for your interest in vText. Please read carefully the LICENSE agreement before using this software.

vText is a Java applet, that is, a component that runs inside a web browser. This program allows a controlled visualization of contents consisting of hypertext and images, so that they can be easily integrated into HTML documents. Actually, it is a kind of microbrowser that can be embedded into a web page, simplifying its design and elaboration, as well as increasing the visual posibilities.

Its small size, the high configurability and the great variety of different styles, make it a very flexible and compact component. It gathers (and improves) a lot of characteristics that could only be found on separate applets. Among its possible aplications we can mention these:
  • Precise text composing in web pages
  • Visualization of long contents is small areas
  • Vertical scrollers (with manual or automatic scroll)
  • News tickers with active links
  • Menus and content navigators
  • Image sliders and banners
  • Dinamic message boards
  • Many other special effects
If you want to get a real idea of what vText is able to do, don't forget to take a look at the EXAMPLES directory included in this package.
 FEATURES

vText gathers several and quite interesting features that may help and simplify the tasks of any web designer, and also can be useful for advanced users and webmasters who want to create more complex effects and behaviours. Next parragraphs summarize the main characteristics of the component:
  • Total appearance configuration. It is possible to control many parameters of the visual appearance, such as dimensions, colors, border, title, margins, scroll botons and sliders, popup messages, hyperlinks, etc. (up to almost 50 parameters).


  • Content representation. vText represents the content provided by commands or text files, which describe it using a small subset of the HTML language (with some variations and aditions). So, it is possible to specify the typography (font, size and style), the colors, the space between lines of text, the alignment (including full justified text as a beta feature), the appearance and behaviour of links, etc. (more than 40 recognized tags).


  • Background and foreground images. In adition to the images included in the body of the content, you can set a background and foreground images. In both cases, it is possible to configure the position, the repetition of a pattern, or their behaviour when the text scrolls. Playing with background images and transparencies of foreground images can produce very cool visual effects.


  • Internal/External hyperlinks and navigation. vText works as a microbrowser that can activate links to Internet pages and resources. The target can be any frame or window of the website, but it also can include references to new vText contents, loading and rendering them into the same applet. This second type of links is useful when showing several "pages" of content without the need of reloading the HTML page.


  • Vertical scroll. If the extension of the content exceeds the dimensions of the visible area, the program allows a smooth scroll to be done in several ways. The scroll mode can be locked (no movement), can be automatic, or can be controlled by scroll arrows, by keyboard, by mouse dragging, by a lateral slider or even by external scripts. It is possible to set the scroll speed and delays in most of the cases.


  • Dynamic contens and external control. The contents can be taken from a line parameter or from an external text file. In adition, it is possible to set requests to dynamic pages and resourses (such as CGI, ASP, PHP, etc.) so that they generate specific contents for vText. On the other way, the applet includes some externally accesible functions in order to reload the contents or to control the vertical scroll. This functions can be called from scripts (JavaScript, JScript o VBScript, for example).


  • Extra features. In spite of the small size of the component (aprox. 17 kb), there are several small details that were included in order to get a neat and refined utility. Some examples are the status and popup messages, the mouse pointer cursors, and many others. In addition, if you purchase a Developer or an ISP license, you receive complete tool to easily create vText components, and also the necessary files for vText integration with Macromedia Dreamweaver.


 SYSTEM REQUIREMENTS

vText just requires the use of a web browser that supports Java tecnology, such as the popular Microsoft Internet Explorer or Netscape Navigator. The program is compiled and compatible with the JDK 1.02 specifications, so it should run without problems even on some old versions of these browsers.

The only file which is strictly required is vText.class, or its packed version vText.jar (recommended). In adition to these files, all your content archives and images must be available from the web page through the specified paths and directories.

In order to get the best performance from the component, a 16 or 24 bit color resolution is recommended. Memory requirements strongly depend on the size and complexity of contents (see recomendations below).


 INSTALLATION

Uncompress the distribution package vText10.zip (if you haven't done it yet) with a decompression utility such as WinZIP or PKZip. Once you have done this, you will get, at least, the following files:

    vtext.class     Java class containing the applet
    vtext.jar     Packed version of the applet
    readme.htm     This document
    faq.htm     Document containing frequently asked questions about vText
    license.htm     License agreement for the current distribution
    register.htm     Information about vText licenses and how to purchase
    form.txt     Registration form to order new licenses via fax or postal mail
    /examples     Directory containing several examples of use
In addition, if you have purchased a Developer or ISP license, you will also see the next folders:
    /assistant     Directory containing the files and documents of the vText Assistant
    /dreamweaver     Directory containing files and instructions for Macromedia Dreamweaver integration
vText requires no other installation than just copying the .jar and .class files into the desired folders of your web project. Then you will be able to insert the applet into your HTML documents as explained in the next section.


 USING vTEXT

Once you have put the Java classes on the right place, the next step is to insert vText into a web page with an APPLET tag. Consult your HTML docummentation to get a full description of this HMTL element and its attributes. In general, you will type something like this:

<APPLET
  CODEBASE=".."
  ARCHIVE="vText.jar"
  CODE="vText.class"
  WIDTH="256"
  HEIGHT="384"
  HSPACE="0"
  VSPACE="0"
>
  <PARAM NAME="copyright"
         VALUE="Copyright (c) 2000 Luis M. Pabon - http://luis.pabon.com">
  <PARAM NAME="source"
         VALUE="@contenido.vtm">
  <PARAM NAME="bgcolor"
         VALUE="FFC000">
  <PARAM NAME="left"
         VALUE="16">
  <PARAM NAME="right"
         VALUE="16">
  <PARAM NAME="fontname"
         VALUE="Helvetica">
  <PARAM NAME="align"
         VALUE="justify">

... more parameters ...

</APPLET>

vText admits a lot of parameters to control its aspect and functionalities. They are described in a table below, but we will first take a look at two of them, which are specially important. The first one is the copyright parameter. This is a required parameter, and its value must be exactly the next character string:

Copyright (c) 2000 Luis M. Pabon - http://luis.pabon.com

Don't change this parameter, other way the applet will not work. The second important parameter is called source, and you can use it to provide the contents. It can directly privide the contents to vText with a string that follows the syntax described in the next section. An example of its value could be:

This is the message to be painted by <b>vText</b>

But this is not the most useful case. Usually you'll want vText to display longer and more complex contents, so it is better to describe them in a separate text file and set a link to it in the source parameter. This is done with the @ prefix:

@myfile.txt

This will cause vText to read the file and parse its contents. The file can have any name or extension. Even more, the source parameter can also contain links to other Internet resources such as CGI programs, or dynamic pages (ASP, PHP, ...) which generate the adequate contents for vText. The only limitation is that the file or resource must be located in the same host where the applet is (this is due to security limitations of Java applets).

The rest of the parameters are used to describe vText appereance and behaviour. Most of them are optional and can also be included inside the BODY tag of the content description. The next table shows an alphabetically sorted list of the 47 parameters recognized vy vText 1.0:

LIST OF vTEXT PARAMETERS
NAME DESCRIPTION DEFAULT VALUE
align Default text alignment for the paragraphs. Can take one of these four values: left, center, right o justify. It is overriden by the specific tags included in the contents. left
bgcolor Background color, in hexadecimal RGB format. If the applet has a background image, this value specifies the color that is used for text transparency. FFFFFF (White)
bgfixed When takes the value 1 the background image is fixed and does not move when the text scrolls. If it is 0, the background image moves with the text. 0
bgimage Background image. The exact path and filename of the image must be given (GIF o JPEG formats are allowed). none
bgpopup Background color of popup messages, in hexadecimal RGB format. FFFFC0 (Pale yellow)
bgposx Horizontal position of the background image (when it is not a repeated pattern), in pixels. 0
bgposy Vertical position of the background image (when it is not a repeated pattern), in pixels. 0
bgrepeat If it has the value 1, the background image is considered as a repeating pattern (wallpaper) so that all the visible area is filled with it. When the value is 0, the image is drawn only once. 1
bgtitle Background color of the title, in hexadecimal RGB format. 000000 (Black)
border Width of the applet border, in pixels. 0
bordercolor Color of the applet border, in hexadecimal RGB format. 000000 (Black)
bottom Margin at the bottom of the applet. It may be expanded to contain the scroll buttons when they are needed. 0
btnscalex Horizontal scale of the scroll arrows. 1
btnscaley Vertical scale of the scroll arrows. 1
copyright* Author and copyright information. This parameter must be always present and its value cannot be changed. Copyright (c) 2000
Luis M. Pabon -
http://luis.pabon.com
fgcolor Default color of the foreground text, in hexadecimal RGB format. It is overriden by the specific tags included in the contents. 000000 (Black)
fgfixed When takes the value 1 the foreground image is fixed and does not move when the text scrolls. If it is 0, the foreground image moves with the text. 1
fgimage Foreground image. The exact path and filename of the image must be given (GIF o JPEG formats are allowed). none
fgpopup Foreground color of popup messages, in hexadecimal RGB format. 000000 (Black)
fgposx Horizontal position of the foreground image (when it is not a repeated pattern), in pixels. 0
fgposy Vertical position of the foreground image (when it is not a repeated pattern), in pixels. 0
fgrepeat If it has the value 1, the foreground image is considered as a repeating pattern so that all the visible area is filled with it. When the value is 0, the image is drawn only once. 0
fgtitle Foreground color of the title, in hexadecimal RGB format. FFFFFF (White)
fontname Name of the default font. Valid values are: Helvetica, TimesRoman, Courier or Dialog. It is overriden by the specific tags included in the contents. TimesRoman
fontsize Size of the default font, in points. It is overriden by the specific tags included in the contents. 12
fontstyle Style of the default font (1=bold, 2=italic, 3=1+2=bold+italic). It is overriden by the specific tags included in the contents. 0
hover Color used for the hyperlink highlight, when the mouse cursor moves over them. This color is mixed with the background. In hexadecimal RGB format. FFFFFF
(White/Transparent)
left Margin at the left of the applet, in pixels. 0
linesp Space between lines of text, in pixels. 16
lnkcolor Default color for the hyperlinks, in hexadecimal RGB format. It is overriden by the specific tags included in the contents. 0000FF (Blue)
right Margin at the right of the applet, in pixels. It may be expanded to contain the lateral slider when needed. 0
scrcolor Color of scroll arrows, in hexadecimal RGB format. 808080 (Gray)
scrolldelay time delay between the steps of automatic scroll, in miliseconds. 20
scrollmode Vertical scroll mode (0=blocked, 1=by mouse drag and keyboard, 2=by scroll buttons, 4=by lateral slider, 8=automatic). The can be combined, for example: 3=1+2, 5=1+4 y 7=1+2+4, 11=1+2+8, etc. 3 (Mouse drag, keyboard and scroll arrows)
scrollstep Scroll increment for keyboard, buttons and automatic scroll modes, in pixels. Positive values for up scroll and negative values for down scroll. 1
sldcolor Color of the scroll slider, in hexadecimal RGB format. C0C0C0 (Light gray)
sldheight Height of the lateral scroll slide, in pixels. 12
sldwidth Width of the lateral scroll slider, in pixels. 12
source* Source of the contents to be rendered. It can contain a direct text or message or it can be a link to an external text file or dynamic resource which holds the information (in this case, it must contain the prefix @) none
status Text message that will be shown at the browser status bar (this option is disabled in shareware version). same as copyright
titalign Text alignment for the title. It can be left, center or right. left
titfont font tame for the title text. It can take the same values as fontname. same as fontname
titheight Height of title box, in pixels. If no value is specified, the height is computed automatically. auto
title Title text none
titsize Font size of the title text, in points. fontsize+2
titstyle font style of the title. It can take the same values as fontstyle. fontstyle+bold
top Margin at the top of the applet, in pixels. It may be extended to contain the scroll buttons when needed. 0

If you have purchased a Developer on an ISP License, your will find the vText Assistant in your distribution package. This program is a small wizard that will help you in the task of configuring all these parameters. Also, you may install the files for the integration of vText with Macromedia Dreamweaver. Look into their particular directories to get more details.


 CREATING CONTENTS

Now that we know how to use the applet in our web pages, let's see how to create contents for vText. The information (text, images, links, etc.) can be described with a small and particular subset of HTML tags. If you are used to the estándar HTML syntax (and even if you aren't), you will find that creating contents for vText is really easy.

As we have already seen, contents are passed to vText as a text string (source parameter) or in a plain text file (using the prefix @). Appearance of the text and special elements is specified with control tags, which are always delimited by the characters '<' and '>'. The general structure of the contents is as shown in the next box:

<TITLE parameters... >Title text</TITLE>
<BODY parameters... >
  ...Contents...
</BODY>

The TITLE tag is used to describe the title shown in the applet. It is an optional tag, but when is present, it must be the first one in the text. BODY delimites the contents to be shown by vText. This take takes almost the same parameters as the applet itself, so it is possible to set a different appearance for each content, without reloading the applet.

The next table shows these and other control tags that can be used to describe vText contents:

LIST OF vTEXT TAGS
NAME DESCRIPTION
<!--  --> Comments. In fact, any string located between the characters '<' and '>' which is not recognized as a valid tag, will be ignored by vText.
A Creates a link to a web page, an Internet resource (mail, ftp, news), a vText resource, or an anchor into a document.

Parameters:
  • target. Specifies the target for the link. It can be any window or HTML frame (such as "_blank", "_self", "_top", "_parent"). It also can take the value "_applet", in order to load the link into the applet itself, qhen it points to another vText resource. The default value is "_self".
  • href. The URL of the Internet resource. When a vText content is linked, it has the same behaviour as the source parameter for the applet, and it must have the prefix @ if it points to a file.
  • title. Descriptive text for the hyperlink. It will be shown in the browser status bar and also as a popup message.
  • name. Creates an anchor point into the current vText document.
  • color. Text color of the link, in hexadecimal RGB format.
  • bgcolor. Background color of the link, in hexadecimal RGB format.
  • plain. Disables the underline for this link.
Examples:
    <A HREF="index.htm" TITLE="Main page">This is my link</A>
    <A HREF="@pag2.txt" TARGET="_applet" COLOR="#FFC000">My link</A>
    <A HREF="#chap2" TARGET="_applet">My link</A>
    <A HREF="index.htm#anchor" TARGET="myframe">My link</A>
    <A HREF="@pag2.txt#chap3" TARGET="_applet" PLAIN>My link</A>
ADDRESS Logical style for addresses and contact informations. (same as italic)
B Physical style for bold text.
BIG Increases text size. This tag can be nested.
BODY This control tag defines the body of the contents to be shown by vText. If present, it must be located just after the TITLE tags, if they exist, or in the first place if there is no title description. Any content located after the closing BODY tag, is ignored.

Parameters: All of the applet parameters except source, copyright, and those relative to the title of the window (which are described in the TITLE tag.)

Examples:
    <BODY BGIMAGE="backg.jpg" SCROLLMODE="4" LINESP="20"> ...contents... </BODY>
    <BODY LEFT="16" RIGHT="16" BORDER="2" BORDERCOLOR="#FF0000"> ...contents... </BODY>
    <BODY STATUS="New Page" ALIGN="justify" FONTNAME="Helvetica"> ...contents... </BODY>
BR Breaks (ends) the current line of text.
CENTER Sets centered text alignment mode.
CITE Logical style for cites (same as italic).
CODE Logical style for code fragments (same as courier).
DEL Logical style for strike-through text (same as strike).
DFN Logical style for definitions (same as italic).
EM Logical style for emphasis (same as italic).
FONT The FONT element changes the font face, size and color for text in its contents. This tag can be nested and, in case of contradictions the inner tag values are taken.

Parameters:
  • face. Name of the font to be used. Valid names are "TimesRoman", "Helvetica", "Courier" and "Dialog".
  • size. Size of the font, in points. If it is prefixed with a plus (+) or minus (-) sign, the value is considered as an increment to the current one.
  • color. Text color, in hexadecimal RGB format.
  • bgcolor. Text box color, in hexadecimal RGB format.
Examples:
    <FONT FACE="Helvetica" SIZE="12" COLOR="#00FF00">This is my text</FONT>
    <FONT FACE="TimesRoman" SIZE="+4" BGCOLOR="#C0FFC0">This is my bigger text</FONT>
H1 ... H6 Heading elements. There are six levels of headings, with H1 as the most important and H6 as the least.

Examples:
    <H1>Main title</H1><BR>
    <H3>Secondary title</H3><BR>
    Normal text
HR Adds an horizontal ruler or paragraph separator.

Parameters:
  • width. Width of the ruler, in pixels or percent (% sufix).
  • size. Height of the ruler, in pixels.
  • color. Color of the ruler, in hexadecimal RGB format.
  • align. Alignment mode (left, center, or right).
Examples:
    <HR WIDTH="50%" SIZE="2" COLOR="#40FFC0">
    <HR WIDTH="128" SIZE="1" ALIGN="right">
I Physical style for italic text.
IMG Creates an image in a new paragraph.

Parameters:
  • src. Source of the image. Path and name of the file containing the image (GIF or JPEG).
  • border. Width of the border line, in pixels.
  • bordercolor. Color of the border line, in hexadecimal RGB format.
  • align. Alignment mode (left, center, or right).
Examples:
    <IMG SRC="images/fig1.gif" BORDER="2" BORDERCOLOR="#A0C0FF">
    <IMG SRC="photo.jpg" ALIGN="left">
INS Logical style for inserted text (same as underline).
JUSTIFY Sets justified text alignment mode. This is a beta feature, however it works quite well in most of the cases.
KBD Logical style for keyboard references (same as courier).
LEFT Sets the alignment mode to Left.
P Paragraph marker.
PAUSE Sets a point in the content where automatic scroll should stop or make a pause

Parameters:
  • time. Pause duration, in miliseconds. If this argument is not specified, the scroll stops until the user press a key or a mouse button.
Examples:
    <PAUSE TIME="5000"> Five second pause.
    <PAUSE> Undefined pause.
PRE The PRE element tells vText that the enclosed text is "preformatted", so it must treat it as follows: leave white space intact, render text with a fixed-pitch font and disable automatic word wrap.
RIGHT Sets the alignment mode to Right.
S Physical style for strike-through text (same as strike).
SAMP Logical style for code samples, program outputs, etc. (same as courier).
SMALL Decreases text size. This tag can be nested.
STRIKE Logical style for strike-through text.
STRONG Logical style for strong text (same as bold).
SUB Mark for subscripts. For example: H<SUB>2</SUB>O.
SUP Mark for superscripts. For example: E=mc<SUP>2</SUP>.
TITLE Sets the window title and its appearance. When present, it must be the first tag in the content. Only one line of text is rendered.

Parameters:
  • align. Text alignment for the title (left, center or right).
  • bgcolor. Background color for the title bar, in hexadecimal RGB format.
  • fgcolor. Text color of the title, in hexadecimal RGB format.
  • fontname. Name of the font to be used. Valid names are "TimesRoman", "Helvetica", "Courier" and "Dialog".
  • fontsize. Size of the font, in points.
  • fontstyle. Style of the font (0=normal, 1=bold, 2=italic, 3=bold+italic).
  • height. Minimum height of the title bar, in pixels.
Examples:
    <TITLE>This is the text of the title<TITLE>
    <TITLE ALIGN="center" FONTNAME="Courier" FONTSIZE="18">My title<TITLE>
    <TITLE BGCOLOR="008000" FGCOLOR="FFFFC0">My title<TITLE>
TT Logical style for teletype tex (same as courier).
U Physical style for underlined text.
VAR Logical style for variable names (same as italic).

Although some of these tags are synonymous commands and produce the same result, they were included in order to get a better compatibility when writing vText contents with a traditional HTML notepad or editor. In addition, vText is able to recognize special characters described in the HTML way:

&name; Special characters in their HTML abbreviated form, for example: &pound; &copy; &amp; etc.
&#dd; Special characters by their decimal Unicode numbers (dd). Examples: &#137; &#33; etc.
&#Xhh; Special characters by their hexadecimal Unicode numbers (hh). Examples: &#XF0; &#xA7; etc.

The best way to learn how vText works is practice. You can start taking a look at the EXAMPLES directory included in this package, where you will find a practical explanation of most of these tags and parameters.


 EXTERNAL CONTROL FUNCTIONS

Note: this can be considered a subject for advanced users. You don't need to read this section in order to get vText working. Well, in fact, this matter is not complex at all, but you should better understand all the previous concepts rather than starting from here.

vText has two public functions that can be accessed from external elements such as scripts (Javascript, VBScript), other Java applets, Flash movies, etc. These functions are called scroll and reload, and they are used to control the vertical scroll and the contents of the applet.

the scroll function takes a character string as an argument. The text of the string specifies the scroll command to apply. Valid commands are:

  • scroll("Up"). Starts unitary scroll up.
  • scroll("Down"). Starts unitary scroll down.
  • scroll("Stop"). Stops the scroll.
  • scroll("PgUp"). One page up.
  • scroll("PgDown"). One page down.
  • scroll("Home"). Goes to the top of the content.
  • scroll("End"). Goes to the bottom of the content.
Let's see an example of how this works. Supose we have included a vText applet in our web page with this HTML code:

<APPLET NAME="MyApplet" ARCHIVE="vText.jar" CODE="vText.class" WIDTH="256" HEIGHT="384">
  ... etc. ...
</APPLET>

It is very important the value of the NAME argument in the APPLET tag, because we will use this name when referencing the applet. Now, somewhere in the same HTML code (or in other frames), we could control the scroll with Javascript calls like these:

<INPUT TYPE="button" VALUE="Go up"
  ONMOUSEDOWN="javascript:document.MyApplet.scroll('up');"
  ONMOUSEUP="javascript:document.MyApplet.scroll('stop');">
<INPUT TYPE="button" VALUE="Go down"
  ONMOUSEDOWN="javascript:document.MyApplet.scroll('down');"
  ONMOUSEUP="javascript:document.MyApplet.scroll('stop');">
<INPUT TYPE="button" VALUE="Page up"
  ONMOUSEDOWN="javascript:document.MyApplet.scroll('pgup');">
<INPUT TYPE="button" VALUE="Page down"
  ONMOUSEDOWN="javascript:document.MyApplet.scroll('pgdown');">
<INPUT TYPE="button" VALUE="Go home"
  ONMOUSEDOWN="javascript:document.MyApplet.scroll('home');">
<INPUT TYPE="button" VALUE="Go end"
  ONMOUSEDOWN="javascript:document.MyApplet.scroll('end');">

The other public function is scroll. Its purpose is to dynamically change the source of the contents displayed by vText. It also takes a string as a parameter, with the same meaning as the source parameter in the applet. Here are some examples of how it is used:

<A HREF="javascript:document.MyApplet.reload('Hello world!');">Message</A>
<A HREF="javascript:document.MyApplet.reload('#anchor');">Anchor</A>
<A HREF="javascript:document.MyApplet.reload('@page2.txt');">Other page</A>
<A HREF="javascript:document.MyApplet.reload('@doc3.txt#anc5');">Anywhere</A>

If you are used to write your own javascript applets, surely you imagine how useful can be these two functions to create dynamic behaviours. You can even link two or more vText applets in different HTML frames.


 RECOMMENDATIONS

Of course, vText has some performance tricks or limitations. Knowing them can help you to use the applet in good conditions, and design your web applications in order to get the best performance.
  • Color modes. As mentioned before, vText works best in 16 and 24 bit color modes which are, by far, the most frequently used by computer users. Other color resolutions should work reasonably well, but may produce some color errors when background images are used.


  • Large contents. vText was designed to render small and medium sized contents. It is focused on getting a neat and clean display (justified text, smooth scroll, customization, etc.) rather than on mere capacity (after all, it does not intend to replace the Internet browser). So, very large and complex contents may require too much memory and/or processing time. It is better to divide large contents onto several "pages", and use vText reloading abilities.


  • Images. We all know the bandwidth problem when browsing Internet contents, so it is not a good idea to abuse of large images or big amounts of them. Actually this is a general consideration for any kind of web design, so also applies to vText contents. There are also some other considerations about images in vText. Background images can slow down the rendering process. Don't use very small images as repeated patterns in the background. you can use animated GIFs in background and foreground images, but paragraph images are always shows as static.


  • Printing and copying. Text and images displayed by vText can not be directly printed with the browser printing commands. This can be very useful when you want to prevent (or difficult) users from copying the text and images of your web pages. It also can be considered as a limitation if you want your pages to be printed or copyied by visitors. In this case, an usual (and recommendable) technique is to have alternative pages that show the same contents but in a format which is very adequate for printing.


  • Verifications. In order to get a fast donwloadable web component, vText was designed to be as small as possible. It was not suitable to include exhaustive verifications for all posible situations, and they were deliberately left out. For example, the program doesn't check if dimmensions, margins and sizes produce a coherent area, so it is your responsability to test the values you set are correct. This is not a problem because a glance at the visual results is usually the only test needed.

 CONTACT INFORMATION

In order to obtain the latest version of vText, ask any question about the software or receive technical support (only for registered users), you can follow these links:
Additional information about the license of use of this concrete distribution and how to purchase can be found in the LICENSE and REGISTER files.
    vText 1.0 Java Applet
    Copyright © 2000 Luis M. Pabón
    All rights reserved