SignWriting Image Server

Open Font and Rendering Software

Beta 4b



Copyright 2007,2008 Stephen E Slevinski Jr. Some Rights Reserved.
Except where otherwise noted, this work is licensed under
Creative Commons Attribution ShareAlike 3.0


Dedicated to my wife Sonia, to Valerie Sutton and to the entire SignWriting List:
their support and encouragement has always been there.
Dedicated to all lovers of the written word,
especially Mortimer J. Adler who taught me how to read a book.
There have been too many other teachers and friends to name them all.

Contents

Preface

Acknowledgments

1. SignWriting

2. Binary SignWriting

3. Glyph

4. Glyphogram

5. Image

6. SymbolPalette

7. SignMaker

8. Project Files

Release Candidate 1


Preface

The primary purpose of the SignWriting Image Server is to display SignWriting images fast with a simple installation. SWIS requires a web server with PHP and the GD graphics library.

The secondary purpose of the SignWriting Image Server is to provide tools to create SignWriting images. The SymbolPalette and SignMaker are currently available as part of SWIS. SignText is in development and will be available in Release Candidate 1.

This project is about open standards. We are using the GPL v3, the Open Font License, and Creative Commons (by-sa).

Acknowledgments

I undertook this project due to interest around the world, so that others can using the open SignWriting standards. These standards have evolved from the inspiration, dedication and hard work of Valerie Sutton, the Deaf Action Committee, and all of the various generations of sign writers, from 1974 till today.

1. SignWriting

SignWriting is a writing system for the world's sign languages. Learning the Art of SignWriting is beyond the scope of this guide. Please try SignWriting Home, SignWriting List, and SignPuddle Online

History

SignWriting was created by Valerie Sutton in 1974. Initially SignWriting was used to transcribe sign language. SignWriting evolved when the signers themselves started to write. Many changes were made to the script: the most notable are the switch from receptive to expressive, from horizontal to vertical, and the inclusion of lanes to account for body weight shift.

SignWriter DOS

From 1986 thru 1996, Richard Gleaves worked on SignWriter 1.0 thru 4.3. In 2000, Richard returned to complete SignWriter 4.4.

SignWriter was a breakthrough application for SignWriting because it not only made it possible to use SignWriting on computers, but it created a method for touch typing with sign language.

SignPuddle

Starting in 2004, I developed SignPuddle to bring SignWriting to the web. SignPuddle offered a new drag & drop method for SignWriting that quickly became popular. SignPuddle built on many of the ideas of SignWriter, utilizing the special commands for variations, fills, and rotations.

The International MovementWriting Alphabet (IMWA) was originally designed as a huge repository for the symbols of SignWriting and DanceWriting. SignPuddle offered unrestricted access to the entire IMWA. This made it possible to use a larger symbol set than was previously available.

Open Standards

SignWriting has been used in more than 40 countries around the world. When the standards were still evolving, tighter control was needed to guide the development. Now that the standards are stabilizing and can address most any issue for any sign language, we realize that we need to adopt open standards so that SignWriting can spread even farther.

In 2007, Valerie undertook a huge effort to revamp and restructure the IMWA so that it focused exclusively on SignWriting. The resulting International SignWriting Alphabet (ISWA) is the most extensive and well organized symbol set in the history of SignWriting.

The ISWA 2008 is available under the Open Font License. This SignWriting Image Server project is available under the GPL v3.


2. Binary SignWriting

Binary SignWriting is a character encoding model that uses a simple relationship between symbol id and character code to produce a double octet coded character set.

ISWA 2008

The ISWA 2008 is the abstract character set for Binary SignWriting. Each symbol of the ISWA 2008 has a unique symbol id, used as the character name. The symbol id is a 6 part number system. Example symbol id "01-01-001-01-01-01". This is a combination of "category" - "group" - "base" - "variation" - "fill" - "rotation". The meaning behind the symbol id is used to create the SymbolGroup data and the BaseSymbol data. This data enables 2 way encoding between symbol id and character code, validity checking of character code, and usability data for SignMaker and SignText.

The ISWA 2008 defines 30 SymbolGroups, 639 BaseSymbols, and 35023 symbols.

Character Encoding Model

The principles behind Binary SignWriting are simple. The coded character set is 7-bit ASCII compatible. The next 128 codes are reserved for special control codes which are not yet defined.

Therefore, the first BaseSymbol is assigned a character code of 256. Since each BaseSymbol can have a maximum of 96 symbols (6 fills and 16 rotations), the next BaseSymbol is assigned a character code of 256 + 96.

This encoding results in a starting code of 256 and a maximum code of 61599. A range of 61343 values for 35023 valid codes.

Code Pages

The coded character set is x-iswa-2008. You can view the code pages.

I plan on writing an Internet Draft for this set so that it becomes an official character set of the Internet.


3. Glyphs

The basic element of SignWriting is the symbol. Each symbol has a defined image called a glyph. The glyphs are accessed by character code. The glyphs default to a black line and a white fill.

Character Codes

The glyphs can be accessed using the glyph.php script.

Attributes

Glyphs always have a transparent background. It is possible to change the size of the glyph along with the color of the line or the fill.

Basic Example<img src="glyph.php?code=256">
Colorize<img src="glyph.php?code=256&colorize=1">
Line Color<img src="glyph.php?code=256&line=00ff00">
Fill Color<img src="glyph.php?code=256&fill=ff0000">
Size<img src="glyph.php?code=256&size=0.7">
Multiple<img src="glyph.php?code=256&size=0.7&line=00ff00&fill=ff0000">


4. Glyphogram

The SignWriting glyphs are used spatially, not sequentially. A simple X,Y coordinate system is used to arrange the glyphs in space. This results in a single image of spatially arranged glyphs called a glyphogram.

Build String

The build string is a series of repeating character codes and X,Y coordinates. Consider the following build string 13034,112,118,13025,105,96,24256,129,99,46720,121,76

Character CodeGlyphX,Y
13034112,118
13025105,96
24256129,99
46720121,76

Attributes

Basic Example<img src="glyphogram.php?build=13034,112,118,...">
Colorize<img src="glyphogram.php?build=13034,112,118,...&colorize=1">
Size<img src="glyphogram.php?build=13034,112,118,...&size=0.7">
Line Color<img src="glyphogram.php?build=13034,112,118,...&line=ff0000">
Fill Color<img src="glyphogram.php?build=13034,112,118,...&fill=ff0000">
Multiple<img src="glyphogram.php?build=13034,112,118,...&size=0.7&colorize=1">

5. Image

The image.php script is used for more advanced positioning and sizing. Unlike the glyph and glyphogram, an image has a defined width and height. It can be used for entire columns of sign text or for combining SignWriting with other images.

Build String

The build string for an image is a series of augemted glyphogram build string seperated by semi colons ";". The augmented glyphogram build string has the format "size,line color,x offset,y offset,glyphogram build string".

Consider the following build string .7,ff0000,10,10,256,25,25,256,33,33;1.3,00ff00,27,27,364,25,25,364,33,33

SizeLine ColorX,Y Offset Glyphogram
Build String
Glyphogram
.7ff000010,10256,25,25,256,33,33
1.300ff0027,27364,25,25,364,33,33

Attributes

Basic Example<img src="image.php?w=90&h=80&build=.7,ff0000,10,10,256,25,25...">
Fill<img src="image.php?w=90&h=80&build=.7,ff0000,10,10,256,25,25...&fill=0000ff">
Back<img src="image.php?w=90&h=80&build=.7,ff0000,10,10,256,25,25...&back=0000ff">

Images

Single Sign
Multiple Signs

6. SymbolPalette

Organization

The SymbolPalette is organized using a 6 by 16 grid. The top layer of the SymbolPalette displays the SymbolGroups. The middle layer displays the BaseSymbols of the selected SymbolGroup. The bottom layer displays the valid symbols of the selected BaseSymbol.

Function

The SymbolPalette has 2 functions: clicking and dragging. Clicking on a SymbolGroup will refresh the SymbolPalette to display the BaseSymbols for that SymbolGroup. Likewise, clicking on a BaseSymbol will display the symbols for the BaseSymbol.

Any symbol can be dragged from the SymbolPalette. The symbols can be dropped in a SignBox or a SymbolList, described below in the SignMaker section.

7. SignMaker

SignMaker contains 4 main parts: the SymbolPalette, the SignBox, the special commands, and the SignSpelling Sequence. The SymbolPalette is described above.

SignBox

The SignBox is the large empty square. Symbols from the SymbolPalette can be dropped in the SignBox. Selected symbols appear in blue. It is possible to select multiple symbols by clicking and dragging accross the SignBox, which will select all symbols between the start and end of the drag. Holding the shift key while clicking will also allow multiple selection of symbols.

Special Commands

The special commands are below the SignBox.

SignSpelling Sequence

The SignSpelling Sequence, hereafter called the sequence, is the top right square. The sequence is a sequential list of symbols used for sorting. Symbols can be dropped from the SymbolPalette or the SignBox. The symbols in the sequence can be rearranged by dragging them around. The symbols can be removed from the sequence by clicking. Blank symbol boxes in the sequence are ignored.

8. Project Files

Data Files

There are 2 data files: iswa/iswa.sgd for SymbolGroups and iswa/iswa.bsd for BaseSymbols. The basic use of these files can be found in spclasses.php.

SymbolGroup Data

BaseSymbol Data

Font Files

Valerie Sutton has created over 35k individual PNG images for the ISWA. Each symbol had a png file named after the symbol id. These images have been sorted by BaseSymbol character code, reformatted for standard color & reduced file size, and renamed to the character code. The files are in the iswa subdirectory.

License Files

In the root directory, the file COPYING.txt is the GPL v3 file.

In the iswa subdirectory, there are 2 files regarding the Open Font License: OFL.txt and OFL-FAQ.txt.


Release Candidate 1

Release Candidate 1 is expected in October 2008.
END