About Amaya
Download Amaya
Mailing lists
Documentation
Project Contributors
Amaya is mainly an authoring tool with browsing features. Link
management and remote publishing are key features in a hypertext editor, and
these features require seamless integration of editing and browsing
features.
You can download the Amaya distribution in various formats, and you
can use either ftp or http:
Yes dmg packages are now available
- amaya-macosx-Version.dmg for PowerPC - PowerBook
- amaya-macintel-9.55-2.dmg for Intel - MacBook
See the distribution page at http://www.w3.org/Amaya/User/BinDist.html
Yes, and you can even charge for it, provided the copyright is
preserved.
Yes, we encourage people to experiment with Amaya and to improve it. It
can even be used in commercial software. If you make changes for the better,
we encourage you to contact us. You may not make changes and
continue to call it by a trademarked term or misrepresent the origin,
capabilities, or liabilities associated with its use. You may make valid
assertions, such that it is based on the Amaya code, or that it is compliant
with a Recommended Specification of the W3C.
C has a number of advantages that fit well with our purposes. It's a very
portable and efficient language. Amaya is also based on a pre-existing
editing library, the Thotlib, which was itself written in C. It was natural
to continue to develop the Amaya code in C.
A large part of the User Interface is now written in C++.
Yes Amaya is Y2K compliant.
By default Amaya works with an English dialogue and comes with an English
in-line documentation. Other dialogues (French, German, Spanish, Portuguese,
Italian, Finnish, Russian) and other version of the in-line documentation
(French, German, Spanish, Russian) are also available provided the user
downloads the extra amayadoc file as explained in http://www.w3.org/Amaya/User/BinDist.html
The entry Dialogue language in the dialogue
Edit/Preferences/General specifies the language for all of Amaya's
menus and dialogue messages. The default language is American English (value
en).
At the present time only seven alternate languages are available: English
(en), French (fr), German (de), Italian (it), Spanish (es), Portuguese (pt),
and Finnish (fi). When launched, Amaya loads dialogue files according to the
current dialogue language: en-, fr-, or de-, it-, es-, pt-, or fi- files,
respectively. These dialogue files are located in the
Amaya/config directory.
The initial name of our editor/browser was Tamaya. A tamaya is a tree that
is represented on the logo. We chose that name because we had such a tree in
our office and we though that, with some imagination, it could style both the image of the Net and the structure of a Web
page. Unfortunately we were not allowed to continue to use the name Tamaya,
as it was trade marked and used by a French company. So we decided to drop
the first letter (T) and our editor/browser is now named Amaya.
The most common reason is that Amaya is not able to generate its temporary
working directory.
The following table shows the default position of this directory in
different architectures:
Architecture
|
AmayaHome Directory Location
|
Unix and Mac OSX
|
$HOME/.amaya
|
Windows 95/ Windows 98
|
AMAYA-INSTALL-DIR\users\username or,
if the user didn't login to Windows,
AMAYA-INSTALL-DIR\users\default
|
Windows NT/XP
|
$HOMEDRIVE:\$HOMEPATH\amaya
by default c:\Documents and Settings\$user_name\amaya
|
If this position is not available, you have to force another position with
the AMAYA_USER_HOME global variable.
This variable must point to an existing and allowed path directory under
which Amaya will generate its working files and sub-directories.
On Windows platforms, you should set that variable from
the System Properties (either accessible from the "System" Control Panel or
through My Computer -> Properties context menu) "Advanced" page -
Environment Variables. This way the setting will be in effect for every
process.
set AMAYA_USER_HOME=C:\Documents and Settings\XX\Amaya
Do not leave spaces around the variable name and the value, and don't use
quotes.
On Unix platforms
- If a GDK crash occurs, you can try to execute the command "xset
fp" then retry to launch amaya.
- If all dynamic libraries needed by the executable file amaya are there,
you can launch amaya with strace to see what is wrong
strace /usr/share/Amaya-R.V/wx/bin/amaya
AmayaWX uses OpenGL for page rendering. This allows a better support of
SVG and animations. The drawback is that Amaya is very dependent on video
card's drivers, if a driver is buggy, Amaya will probably crash...
On Unix platforms, Amaya comes with the Mesa library to implement OpenGL
primitives. Mesa is a software OpenGL implemetation so Amaya isn't dependent
on video card drivers on Unix. If Amaya doesn't start or is very slow on Unix
platforms it's something else.
On Windows platforms, Amaya uses hardware OpenGL implementation so Amaya
is very dependent on video card's drivers. When the application doesn't start
or is very very slow, we suggest that users check:
- Update of their video card driver, if there is an available. This
update can be found either on the MicroSoft site (see the driver section)
or on the site of the Video card provider.
- Our Windows version includes a patch that fixes the problem (in file
wxWidgets/src/msw/glcanvas.cpp
)
Yes, but the current implementation of MathML 2.0 in Amaya is not complete
yet. It does not implement the Content part of MathML 2.0. The documentation
clearly indicates what is available. See section "Known Issues With MathML".
Amaya has been built as a structured document editor. This approach allows
it to handle complex documents and highly structured objects such as tables,
structured graphics or mathematical expressions. While editing in the HTML or
the XHML mode, Amaya works on the document tree, not on its textual
representation, which is generated only at save time, in the syntax you
choose (plain text, HTML, XHML).
Amaya also allows you to open the source view of the document (entry
Views/Show source) and then to edit tags. This is done in a separate
but synchronized document. Amaya shows what part of the source document is
concerned by the current selection in the formatted document and conversely.
Both the source document and the formatted document can be edited. Changes
done in any of these two documents are reflected in the other by the
File/Synchronize command. Synchronization is also performed
automatically when the wiew selection changes.
With Amaya you can zoom in and zoom out, document window by document
window. So each document displayed in a zoomed window will be displayed
larger or smaller than its normal size according of the current zoom factor.
That zoom factor acts on all the displayed information (fonts, images, etc.).
Commands that chage the zoom factor are located in the menu Views.
The Edit/Preferences/General menu allows you to change the font
zoom factor permanently. By default that zoom factor is 100% (documents are
displayed with their own size). That zoom factor affects only font sizes but
not other elements (images, etc.).
In order to let you choose your fonts, Amaya works with a Font
Configuration file. By default that Font configuration file is located in the
directory Amaya/config/
:
- The file
"fonts.gl.mac
" is used by Mac OSX versions of
Amaya
- The file
"fonts.gl"
is used by Windows and Linux OpenGL
versions of Amaya
- The file
"fonts.gl.win"
is used by Windows versions of
Amaya
For more information about these configutation files, see http://www.w3.org/Amaya/User/FontConfig.html
Amaya WX versions
Amaya WX works only with TrueType fonts. Amaya distributions comes with
Esstix fonts (a large set of mathematical symbols) and a set of free TrueType
fonts. When launched, Amaya looks first for some System pre-installed fonts
and uses its own fonts if these pre-installed fonts are not available.
On Unix platforms, Amaya WX versions uses 3 configuration files to locate
needed fonts:Amaya/config/fonts.gl
, then
Amaya/config/fonts.gl.rd
, then
Amaya/config/fonts.gl.deb
.
On windows, Amaya WX versions uses one configuration file
Amaya/config/fonts.gl.win
.
Amaya GTK versions
Aamaya GTK works with the X Font Server (Xft). Some System distributions
come with pre-installed fonts or fonts packages that auto-install. Some
others must be installed by yourself.
If you must install fonts by yourself on a Linux platform, you
have to:
- Unzip and/or untar download fonts and install them into
/usr/local/share/fonts
or
/usr/X11R6/lib/X11/fonts
- Install them with the command like "
unzip
esstix.zip". We
recommand to install them in the directory
/usr/local/share/fonts/esstix
- Add this new font directory in the Xft configuration file:
/etc/X11/XftConfig
...
dir "/usr/local/share/fonts/XXX"
- Add this new font directory in the right position in the
catalogue
list of /etc/X11/fs/config
This is an example:
catalogue = /usr/local/share/fonts/truetype,
/usr/lib/X11/fonts/misc,
/usr/lib/X11/fonts/cyrillic,
/usr/lib/X11/fonts/75dpi/:unscaled,
/usr/lib/X11/fonts/100dpi/:unscaled,
/usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/lib/X11/fonts/URW,
/usr/lib/X11/fonts/Type1,
/usr/lib/X11/fonts/CID,
/usr/lib/X11/fonts/Speedo,
/usr/lib/X11/fonts/75dpi,
/usr/lib/X11/fonts/100dpi,
/usr/local/share/fonts/esstix,
/usr/local/share/fonts/japanese
- Then generate file descriptors:
fonts.scale
,
fonts.dir
and XftCache
has follows:
cd /usr/local/share/fonts/XXX
ttmkfdir -o fonts.scale
mkfontdir
xftcache
- Reboot or restart the font server.
Esstix Fonts
Esstix Fonts are available (we provide a esstix.tar.gz
file) at
ftp://ftp.elsevier.nl/pub/styles/esstix/esstix.zipesstix.tar.gz
.
- Get Esstix fonts esstix.tar.gz
file
- Install them with the command "
unzip
esstix.zip" or
"tar xzf
esstix.tar.gz". We recommand to install them in the
directory /usr/local/share/fonts/esstix
- Add this new font directory in the Xft configuration file:
/etc/X11/XftConfig
...
dir "/usr/local/share/fonts/esstix"
- Then generate file descriptors:
fonts.scale
,
fonts.dir
and XftCache
has follows:
cd /usr/local/share/fonts/esstix
ttmkfdir -c -m20 -o fonts.scale
mkfontdir
xftcache
- Reboot or restart the font server.
Amaya Win32 versions
Installation of Esstix fonts on a Windows platform
- Get Esstix fonts (we provide a ESSTIX.zip
file)
- Extract the content of this zip file
- Copy fonts included in the ESSTIX directory into the C:\WINDOWS\Fonts
directory.
Resize your window to the value you'd like, then use the
Edit/Preferences/Geometry menu to save the current geometry of the
displayed windows. Your modifications won't be lost the next time that Amaya
is updated.
You can also request to save automatically the geometry on exit in the
Edit/Preferences/General menu.
Amaya cannot be used to check validity of HTML pages. It accepts valid and
invalid HTML documents and tries to dynamically correct errors. For example
it's able to add missing end-tags and to move misplaced elements.
When parsing a XHTML document, Amaya checks it for well-formedness and
stops as soon as it encounters an error. In that case, Amaya displays an
alert box to indicate that the document is incomplete.
In both cases (HTML and XHTML documents) when Amaya finds tags and
attributes it does not know or any error, it generates a log file which can
be displayed by the command FileShow parsing errors.
Amaya has to cope with existing HTML pages, and very few of them validate
against the HTML DTD. When designing Amaya, we were faced with a difficult
choice:
- Adopt a strict position and reject all invalid pages. Most users would
be very disapointed not to be able to see many pages that other Web
clients can display;
- Accept invalid pages and let Amaya fix the most common bugs.
We chose the latter option and decided that Amaya should try to fix bugs,
but without losing information. If an element is not valid in a given
context, Amaya tries to change the structure locally to make that element
valid, but it doesn't delete the element or move it to a different place,
which could change the document meaning.
The issue is that a DTD only specifies the structure of a document class,
not its semantics. When you consider an invalid document, there are often
several ways to transform its structure to make it valid, but each
transformation may have a different impact on the document semantics. The DTD
does not allow you to choose the right transformation.
Another important design decision that has been made for Amaya is that,
even if it accepts invalid documents, the structure and markup that it
produces is always valid. Obviously, only elements created or changed by
Amaya itself are concerned here. Some invalid parts of the original document
may remain when the document is saved.
The above remarks only apply to HTML documents. For XHTML, Amaya has a
different, very strict behaviour: it stops parsing a
document when it encounters a well-formedness error. The motivation is to
help XHTML to deploy in a clean way. There are no legacy documents to
support.
The document title, like any other head element, can be edited in the
Structure view of the document. You can also use the dialogue entry
XHTML/Change Title.
When the cursor is at the end of a <pre>
formatted
element, hitting the Enter key creates a new line in the <pre>. To
create another element, say a paragraph, after the <pre>, you can use
the XHTML menu and select the type of the element you want to create.
Another way to achieve this result is to select the whole
<pre>
element with the ESC key (Linux) or the F2 key
(Windows) and to press Enter. This creates a new paragraph after the
<pre>
element.
This works also for a table: select the whole table and press Enter to
create a new paragraph after the table. You can also get out of a table by
pressing Enter until you are out of the table.
Frames cause lots of problems for the web model, e.g. standard URLs can
only point at a frameset or a frame. Links and/or the back button can
generate strange results. They also cause troubles to people with
disabilities and make editing more complex. Unfortunately frames are not
tagged deprecated and some people continue to use them. We recommend people
to not use them.
Due to a lack of manpower, we have no plan to implement them. These
features are more important for a browser than for an editor.
XHTML is a reformulation of HTML 4.0 in XML1.0. XHML documents must be
well formed which is not necessary the case of HTML documents. As soon as the
XML parser Expat used by Amaya detects an error in the XHTML code it reports
an error in the "Parsing Errors" file and stops parsing.
The most common errors are:
- The document declaration is not conform: the doctype or the namespace
is not recognized.
- A closing tag is missing or the starting tag of an empty element
doesn't include the final "/".
- An attribute value is not quoted.
- The document includes characters that don't match the document charset.
We recommend people to declare the charset of their documents. It
could be declared either in the xml declaration, or/and in the meta
element of XHTML documents (see an example below).
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
....
</head>
As the default charset is different for HTML documents and XHTML
documents, it often occurs that authors created ISO-latin-1 XHTML documents
which don't provide information about the charset. As soon as a character
analyzed by the XML parser doesn't match a valid UTF 8 character (it should
occur if the document is encoded in ISO-latin-1 but parsed as an UTF 8 file),
the document is considered as invalid: the parsing is stopped and an error
message is displayed.
In that specific case, you may try to reopen the document with a different
charset, ISO-8859-1 or a set of other charset with the menu entry
File>Force a Character Coding.
When the XHTML documents is not well formed, Amaya proposes to read the
document as a simple HTML file. After that, you will be able to resave it
back as an XHTML file with the Save As command.
The Unicode support is not completely finished yet. Depending on fonts
available on your computer, some characters may or may not be displayed. Not
available characters are displayed as small boxes.
Amaya supports cascading style sheets (CSS), but the implementation is not
complete yet. Many types of selectors and style properties are already
available. Each release brings new CSS features. Check the status of the CSS implementation for the current
release.
Amaya supports remote publishing using the HTTP PUT method. Amaya can't
upload today files using FTP. If you're using the Apache server, you can use the mod_put
module to make it support the PUT method.
With Apache 2, the mod_put module doesn't work, so you have to
install and activate WebDav module:
To enable mod_dav
, add the following
to a container in your httpd.conf
file:
<Directory />
Dav On
....
</Directory>
This enables the DAV file system provider, which is implemented by the
mod_dav_fs
module.
Therefore, that module must be compiled into the server or loaded at runtime
using the LoadModule
directive.
In addition, a location for the DAV lock database must be specified in the
global section of your httpd.conf
file using the DavLockDB
directive:
....
# This is the configuration we experimented to publish on a Web server
# you must take particular care to assure that your server is secure before enabling mod_dav.
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
DAVMinTimeout 600
</IfModule>
....
For more information, see your Apache documentation
(/var/www/manual/mod/mod_dav.html.en)
Amaya provides a $Date feature. When saving a file Amaya inserts the
current date wherever it encounters a text "date:" between
two '$' or special comments. The XHTML/Insert time stamp menu entry
allows you to generate this date at the current position in the document.
The format of the generated date depends on a Amaya configuration
variable.
ISO_DATE=Yes (default value) generates "YYYY-MM-DD"
YYYY = The year as a decimal number including the century.
MM = The month as a decimal number (range 01 to 12).
DD = The day of the month as a decimal number (range 01 to 31).
ISO_DATE=No generates "DD-MM-YYYY"
DD = The day of the month as a decimal number (range 01 to 31).
MM = The month as a decimal number (range 01 to 12).
YYYY = The year as a decimal number including the century.
Those who want to extend or change the Amaya application need to read the
following documentation:
This error occurs when one forgot to create the object subtree before
launching the configure process. As explained in the Autoconf page, you have
to create first a subtree (obj or any other name) for object code
and launch configure to create the Makefile(s):
cd Amaya
mkdir obj
cd obj
../configure
Thot compilers need a cpp preprocessor:
- If you use GNU tools, configure should invoke the gcc compiler with the
right options. You can check that file Options contains the
following definition:
CPP = gcc -E -x c
- In other cases you have to make sure that the cpp
preprocessor is in your PATH.
The latest versions of Amaya run fine with GTK, but like for the Motif
version you need to install some specific libraries to be able to compile
Amaya.
As it comes with the Gnome desktop environment, now widely distributed,
you'll surely have those libraries included in your distribution :
Library name |
Debian |
Mandrake, Redhat or Suse |
libglib1.2 |
libglib1.2_1.2.x_i386.deb |
glib-1.2.x-1.i386.rpm |
libgtk1.2 |
libgtk1.2_1.2.x-1_i386.deb |
gtk+-1.2.x-1.i386.rpm |
If you want to check if they're installed, try the followings shell
commands :
#locate libgtk
#locate libglib
Once you got the run needed librairies, you'll need the developpement
package that containts headers and static libs
Library name |
Debian |
Mandrake, Redhat or Suse |
libglib1.2-devel |
libglib1.2-devel.x_i386.deb |
glib-1.2-devel..x-1.i386.rpm |
libglib1.2-devel |
libgtk1.2-devel.x_i386.deb |
gtk+-1.2-devel..x-1.i386.rpm |
If you want to check if they're installed, try the followings shell
commands :
#locate gtk.h
#locate glib.h
Don't try to compile or run with the version 1.3 of GTK, it won't work
(unless you're trying to port Amya to GTK 2.0 ) the follow exactly the HowTo to build Amaya with the configure option
--with-gtk.
Where do I get those libraries?
Some platforms may have different versions of the autoconf and libtool
tools. If you get a message similar to:
libtool: ltconfig version '' does not match ltmain.sh version '1.3.4'
Fatal configuration error. See the libtool docs for more information.
Try running the following commands in both the Amaya
and the
libwww directory:
aclocal \
&& libtoolize --force --copy \
&& automake --foreign --force-missing --add-missing --copy \
&& autoconf
Thanks to Maxim Zakharov for this tip.
The default shell version that your make command is probably too old. Try
using bash instead by invoking the make command in your compilation directory
as follows:
make SHELL=/path/to/your/bash
Irčne Vatton
Date: 2008-03-03