[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] unicode output

From: daly
Subject: [Axiom-developer] unicode output
Date: Wed, 26 Dec 2007 15:57:43 -0600

The current firefox-based hyperdoc has the beginnings of a notebook-style
interface to Axiom, similar to Sage's idea, albeit still in primitive form.
More work needs to be done to allow history to appear on the page but all
of the basic machinery exists.

The Axiom fonts page (the last entry in the new hyperdoc) lists 
approximately 300 unicode characters that are used in the Axiom output,
including all the greek alphabet.

The issue seems to be specifying an input syntax that allows the user
to specify unicode characters while typing formulas.

It might be reasonable to modify the input syntax to accept unicode
characters as input, either as 'Unnnn or 'Usymbolname. These would be
converted to symbol on input as usual. Output forms could recognize
the syntax. Symbol could provide a 

 unicode: % -> hexcode as in

 unicode 'Ugamma   -> γ
 unicode 'U03B3    -> γ
 unicode 'Uγ -> γ

and unidecode: hexcode -> Symbol

 unidecode γ -> 'Ugamma
 unidecode 03B3   -> 'Ugamma

These could be inserted inline in mathml or html output streams.
Ascii streams could output the 'Ugamma form.

>From the notebook interface it is trivial to make these substitutions
for both input and output since the commands are read and written by
the mathml algebra functions. Thus in the notebook interface the 
echo'd form of the input expression would contain greek characters
and the result expression would contain the greek characters, as in:

 'Ugamma(n) == factorial(n-1)

would echo as

 (1) -> &#x03B3(n) == factorial (n-1)

     (1) &#x03B3

which the browser would display with greek symbols.

Since Uanything is already a valid symbol most of this could be done
"by convention" for the terminal interface and it would "just work"
in the firefox notebook interface. Thus, nothing about Axiom need change.

I'll try modifying the command line page to experiment with this.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]