Sandy in UK: Flexible computer programming

Sandy Fleming sandy at SCOTSTEXT.ORG
Sat May 26 08:28:50 UTC 2007

On Tue, 2007-05-22 at 19:24 -0600, Jonathan wrote:
> possible Hi Sandy,
>     I tried out your program some time ago and noticed that the
> rotation and the fills are much more adjustable then what the IMWA
> allows for.  I was wondering if you had thought about how you were
> planning to store this "extra" information.  Are you going to use the
> same fill and rotation numbers currently used in the IMWA and extend
> them by using decimals or use another strategy all together?  Are you
> anticipating that your program will be compatible with the SignPuddles
> even with these extra features?


It will be compatible in the sense that I'll provide features that make
it possible to store and read those other formats, and to convert
between my formats and those.

I've tried very hard to use the numbers in the Sutton Symbol Sequence
when storing the signs, but have given up on it. If you want to program
with complete freedom and to be able to store the orientations and so on
with precision, then you need to take an engineering approach, not the
SSS integer approach.

What I do use, however, are the symbol _names_ in the SSS. These are
perfect for labelling symbols from within the program (whether you use
strings or variable names) and don't have the fill or rotation, which we
want to express in engineering terms rather than as a proprietary (and
chunky!) system of numbers.

So instead of:


I use:


to label the symbol, plus variables holding the rotation, fill,
position, and symbol category.

Rotation is in degrees from vertically upwards (because I always start
off by thinking of handshapes symbols with their fingers vertically
upwards): normally anticlockwise, but for the left hand, clockwise.

Fill is a decimal number between 0 and 1 inclusive.

Position is expressed as the (x, y) distance from the origin. It's
important that the units used relate to the distances within the sign
and not something that can change such as the size at the screen. So I
use a handsbreadth as the unit of distance (the length of a side of the
fist symbol or, equivalently, the diameter of the circle handshape).

The category number is useful to store so that the program can use it to
know how to treat different symbols (head symbols behave differently
from hand symbols, which behave differently from movement symbols and so
on) although I have to adjust it for some things. For example, I treat
the features of the head (eye, mouth, nose, head circle etc) as symbols
in their own right, I don't try to use entire facial expressions as
separate symbols, because this causes a combinatorial explosion.

>     The program I am working on is staying more conservative in using
> strictly the IMWA.  I think that it will use the next version of the
> ISWA once it is ready.  I was asking the above questions because I am
> thinking about how my program could exchange information with other
> SignWriting programs and thought that it would be insightful as to how
> others plan on changing some of the technical details of computer
> SignWriting for even better options and how this will impact sharing
> documents between programs.

Since my program stores more detailed information than other programs, I
have no problem writing something to store my data in other formats: the
other programs will lose some of the information, but that's OK since
they don't use it. Conversely, when reading a different format such as
SWML I can supply the missing information as defaults or calculations
within my program.

Of course none of this allows me to store the sorting sequence within my
program, but that's no problem, I'll just make up a table to map between
the SSS numbers and SSS naming system. We'll need to try to share stuff
like this!


More information about the Sw-l mailing list