Internet DRAFT - draft-slevinski-formal-signwriting

draft-slevinski-formal-signwriting







Sutton-Slevinski Collaboration                              S. Slevinski
Internet-Draft                        Center for Sutton Movement Writing
Intended status: Informational                           August 30, 2019
Expires: March 2, 2020


                           Formal SignWriting
                 draft-slevinski-formal-signwriting-07

Abstract

   Sutton SignWriting is the universal and complete solution for written
   sign language, ISO 15924 script code "Sgnw".  It has been applied by
   a wide and deep international community of sign language users.
   Sutton SignWriting is an international standard for writing sign
   languages by hand or with computers.  From education to research,
   from entertainment to religion, SignWriting has proven useful because
   people are using it to write signed languages.

   Formal SignWriting is one particular computerized design for Sutton
   SignWriting that envisions a sign as a two part word.  Each word is
   written as a string of characters that can be recognized and
   processed by regular expressions.  The design has been optimized for
   display, searching, sorting, text flow, and other character
   processing.

   Where as American Sign Language is a natural language, Formal
   SignWriting is a formal language.  A formal language is useful in
   mathematics, computer science, and linguistics.

   This memo defines a conceptual character encoding map for the
   Internet community.  It is published for reference, examination,
   implementation, and evaluation.  Distribution of this memo is
   unlimited.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any




Slevinski                 Expires March 2, 2020                 [Page 1]

Internet-Draft                     FSW                       August 2019


   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on March 2, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Sutton SignWriting  . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Script  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.2.  Symbols . . . . . . . . . . . . . . . . . . . . . . . . .   5
   2.  Formal SignWriting  . . . . . . . . . . . . . . . . . . . . .   5
     2.1.  Design Principles . . . . . . . . . . . . . . . . . . . .   5
       2.1.1.  Complete  . . . . . . . . . . . . . . . . . . . . . .   5
       2.1.2.  Universal . . . . . . . . . . . . . . . . . . . . . .   5
       2.1.3.  Empowering  . . . . . . . . . . . . . . . . . . . . .   6
       2.1.4.  Possible  . . . . . . . . . . . . . . . . . . . . . .   6
     2.2.  Characters  . . . . . . . . . . . . . . . . . . . . . . .   6
       2.2.1.  Formal SignWriting in ASCII (FSW) . . . . . . . . . .   6
       2.2.2.  SignWriting in Unicode (SWU)  . . . . . . . . . . . .   6
     2.3.  Building Blocks . . . . . . . . . . . . . . . . . . . . .   7
       2.3.1.  Regular Expressions . . . . . . . . . . . . . . . . .   7
       2.3.2.  Token Patterns  . . . . . . . . . . . . . . . . . . .   8
       2.3.3.  Symbols . . . . . . . . . . . . . . . . . . . . . . .   9
       2.3.4.  Numbers . . . . . . . . . . . . . . . . . . . . . . .  13
     2.4.  Two-Part Word . . . . . . . . . . . . . . . . . . . . . .  14
       2.4.1.  Spatial Signbox . . . . . . . . . . . . . . . . . . .  15
       2.4.2.  Temporal Prefix . . . . . . . . . . . . . . . . . . .  17
     2.5.  Styling String  . . . . . . . . . . . . . . . . . . . . .  19
       2.5.1.  Entire Sign . . . . . . . . . . . . . . . . . . . . .  20
       2.5.2.  Individual Symbols  . . . . . . . . . . . . . . . . .  22
       2.5.3.  SVG Class Names and ID  . . . . . . . . . . . . . . .  23
     2.6.  Query Language  . . . . . . . . . . . . . . . . . . . . .  24
       2.6.1.  Searching the Spatial Signbox . . . . . . . . . . . .  26



Slevinski                 Expires March 2, 2020                 [Page 2]

Internet-Draft                     FSW                       August 2019


       2.6.2.  Searching the Temporal Prefix . . . . . . . . . . . .  27
       2.6.3.  Including the Styling String  . . . . . . . . . . . .  28
   3.  Technology Integration  . . . . . . . . . . . . . . . . . . .  29
     3.1.  Fonts . . . . . . . . . . . . . . . . . . . . . . . . . .  29
       3.1.1.  Windows, Linux, and Mac . . . . . . . . . . . . . . .  29
       3.1.2.  Mac and iOS . . . . . . . . . . . . . . . . . . . . .  29
       3.1.3.  Android . . . . . . . . . . . . . . . . . . . . . . .  30
     3.2.  Fonts and CSS . . . . . . . . . . . . . . . . . . . . . .  30
     3.3.  Scalar Vector Graphics  . . . . . . . . . . . . . . . . .  30
       3.3.1.  Font Based SVG  . . . . . . . . . . . . . . . . . . .  31
       3.3.2.  Stand Alone SVG . . . . . . . . . . . . . . . . . . .  32
     3.4.  HTML and CSS  . . . . . . . . . . . . . . . . . . . . . .  33
       3.4.1.  Centering and Sizing  . . . . . . . . . . . . . . . .  33
       3.4.2.  Coloring Symbols and Signs  . . . . . . . . . . . . .  34
       3.4.3.  Other Effects . . . . . . . . . . . . . . . . . . . .  35
       3.4.4.  Sentences . . . . . . . . . . . . . . . . . . . . . .  35
   4.  Transformations . . . . . . . . . . . . . . . . . . . . . . .  36
     4.1.  Formal SignWriting to Query String  . . . . . . . . . . .  36
     4.2.  Query String to Regular Expression  . . . . . . . . . . .  37
   5.  Unicode Considerations  . . . . . . . . . . . . . . . . . . .  38
     5.1.  Unicode Technical Committee . . . . . . . . . . . . . . .  38
     5.2.  SignWriting in Unicode 8  . . . . . . . . . . . . . . . .  38
       5.2.1.  Official Characters . . . . . . . . . . . . . . . . .  39
       5.2.2.  17 New Characters . . . . . . . . . . . . . . . . . .  40
     5.3.  SignWriting in Unicode (SWU)  . . . . . . . . . . . . . .  40
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  41
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  41
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  41
   Appendix A.  SignWriting 2020 . . . . . . . . . . . . . . . . . .  46
     A.1.  Showcase  . . . . . . . . . . . . . . . . . . . . . . . .  46
       A.1.1.  SignPuddle 2  . . . . . . . . . . . . . . . . . . . .  46
       A.1.2.  SignMaker 2017  . . . . . . . . . . . . . . . . . . .  46
       A.1.3.  SignPuddle 3 Beta . . . . . . . . . . . . . . . . . .  47
       A.1.4.  Sutton SignWriting Project  . . . . . . . . . . . . .  47
     A.2.  Work Projects . . . . . . . . . . . . . . . . . . . . . .  47
       A.2.1.  Steve Slevinski . . . . . . . . . . . . . . . . . . .  47
       A.2.2.  Individuals and Groups  . . . . . . . . . . . . . . .  49
     A.3.  Collaborations  . . . . . . . . . . . . . . . . . . . . .  50
       A.3.1.  SignWriting Communities . . . . . . . . . . . . . . .  50
       A.3.2.  Steve Slevinski . . . . . . . . . . . . . . . . . . .  51
     A.4.  Challenges  . . . . . . . . . . . . . . . . . . . . . . .  53
       A.4.1.  Unicode Integration . . . . . . . . . . . . . . . . .  53
       A.4.2.  Script Encoding . . . . . . . . . . . . . . . . . . .  54
       A.4.3.  Font Design . . . . . . . . . . . . . . . . . . . . .  54
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  54






Slevinski                 Expires March 2, 2020                 [Page 3]

Internet-Draft                     FSW                       August 2019


1.  Sutton SignWriting

   Sutton SignWriting is the universal and complete solution for written
   sign language.  It has been applied by a wide and deep international
   community of sign languages including: American Sign Language,
   Arabian Sign Languages, Australian Sign Language, Bolivian Sign
   Language, Brazilian Sign Language, British Sign Language, Catalan
   Sign Language, Colombian Sign Language, Czech Sign Language, Danish
   Sign Language, Dutch Sign Language, Ethiopian Sign Language, Finnish
   Sign Language, Flemish Sign Language, French-Belgian Sign Language,
   French Sign Language, German Sign Language, Greek Sign Language,
   Irish Sign Language, Italian Sign Language, Japanese Sign Language,
   Malawi Sign Language, Malaysian Sign Language, Maltese Sign Language,
   Mexican Sign Language, Nepalese Sign Language, New Zealand Sign
   Language, Nicaraguan Sign Language, Norwegian Sign Language, Peruvian
   Sign Language, Philippines Sign Language, Polish Sign Language,
   Portuguese Sign Language, Quebec Sign Language, South African Sign
   Language, Spanish Sign Language, Swedish Sign Language, Swiss Sign
   Language, Taiwanese Sign Language, and Tunisian Sign Language.

   Sutton SignWriting is an international standard for writing sign
   languages by hand or with computers.  From education to research,
   from entertainment to religion, SignWriting has proven useful because
   people are using it to write signed languages.

1.1.  Script

   Sign language is vastly different than spoken language.  Instead of
   the sequential sounds of the voice, there is a 3 dimensional space
   with simultaneous action.  Sutton SignWriting creates 2-dimensional
   writing that is visually icon and full of featural information.  This
   is true on the symbol level and on the sign level.  A symbol
   represents phonemic information and is full of featural information
   to better understand the phonemes of the symbols.  A sign is a
   2-dimensional arrangement of symbols and is full of featural
   information to better understand the morphemes of the signs.

   Punctuation is represented by a single symbol and separates a series
   of signs into structured sentences.  Line breaks should not occur
   before punctuation.

   When written vertically, SignWriting can use 3 different lanes: left,
   middle, and right.  The middle lane is the default lane and
   punctuation is always used in the middle lane.  No matter the lane,
   the center of a sign is aligned with the center of the lane.  The
   left and right lanes are used to represent body weight shifts and are
   represented by a horizontal offset from the middle lane.  Body weight
   shifts are important to the grammar of sign languages, used for two



Slevinski                 Expires March 2, 2020                 [Page 4]

Internet-Draft                     FSW                       August 2019


   different grammatical aspects: 1) role shifting during sign language
   storytelling, and 2) spatial comparisons of two items under
   discussion.  One "role" or "item" is placed on the right side of the
   body (right lane), and the other on the left side of the body (left
   lane), and the weight shifts back and forth between the two, with the
   narrator in the middle (middle lane).

1.2.  Symbols

   The Sutton SignWriting Symbols are the building blocks of Sutton
   SignWriting.  The symbols are arranged in 2 dimensions to create the
   sign images.  The symbols are organized with a 16-bit coded character
   set and a layered hierarchy.  The symbols are defined in the
   International SignWriting Alphabet 2010 (ISWA 2010).  The ISWA 2010
   is a product of the Sutton-Slevinski collaboration.

2.  Formal SignWriting

   Formal SignWriting is one particular computerized encoding for Sutton
   SignWriting.  The design is based on character processing with
   regular expressions.  With Formal SignWriting, each sign is written
   as a two-part word of time and space.

   Where as American Sign Language is a natural language, Formal
   SignWriting is a formal language.  A formal language is useful in
   mathematics, computer science, and linguistics.

2.1.  Design Principles

   Formal SignWriting was created using four design principles:
   completeness, universality, empowerment, and possibility.

2.1.1.  Complete

   Sutton SignWriting is a complex script with unique requirements and
   processing.  Formal SignWriting supports all of the structures
   inherent to the script.

2.1.2.  Universal

   Sutton SignWriting can be used to write any sign language, natural or
   constructed.  Formal SignWriting supports all sign languages without
   requiring the addition of new characters or updated fonts.








Slevinski                 Expires March 2, 2020                 [Page 5]

Internet-Draft                     FSW                       August 2019


2.1.3.  Empowering

   Sutton SignWriting is flexible enough to let each writer decide how
   they want to write their signs.  Formal SignWriting enable the
   writers to decide for themselves the spelling of their respective
   signs.

2.1.4.  Possible

   Sutton SignWriting is a practical script that makes it possible to
   write sign language.  Formal SignWriting is a practical encoding
   because it works with existing font technologies across operating
   systems.

2.2.  Characters

   Any sign can be written as a string of characters.  Formal
   SignWriting has two sets of characters that can be used: Formal
   SignWriting in ASCII (FSW) and SignWriting in Unicode (SWU).  These
   sets are isomorphic with an easy bi-directional conversion between
   the two sets.

   +-----------------+------------------+--------------------+
   | Description     | FSW Characters   | SWU Characters     |
   +-----------------+------------------+--------------------+
   | Sequence Marker | A                | U+1D800            |
   +-----------------+------------------+--------------------+
   | Signbox Markers | B, L, M, R       | U+1D801 to U+1D804 |
   +-----------------+------------------+--------------------+
   | Numbers         | 250 to 749       | U+1D80C to U+1D9FF |
   +-----------------+------------------+--------------------+
   | Symbols         | S10000 to S38b07 | U+40001 to U+4F428 |
   +-----------------+------------------+--------------------+

                                  Table 1

2.2.1.  Formal SignWriting in ASCII (FSW)

   Formal SignWriting in ASCII (FSW) was released in January 2012 and
   has been stable since.  FSW only uses characters from the ASCII
   subset of "ABLMRS0123456789xabcdef".

2.2.2.  SignWriting in Unicode (SWU)

   SignWriting in Unicode (SWU) was first published in October 2016 and
   officially submitted to the Unicode Technical Committee in July 2017.
   SWU is not part of the Unicode standard.




Slevinski                 Expires March 2, 2020                 [Page 6]

Internet-Draft                     FSW                       August 2019


   SignWriting in Unicode is an experimental Unicode design that is
   promoted by the Center for Sutton Movement Writing.  This alternate
   encoding overwrites the Sutton SignWriting block in Unicode and uses
   plane 4 for the SignWriting symbols.

2.3.  Building Blocks

   The mathematical words of Formal SignWriting are plain text strings
   of characters.

2.3.1.  Regular Expressions

   Regular Expressions define string matching criteria.  Regular
   Expressions offer fast processing and wide support on the various
   platforms.

   Formal SignWriting is defined with regular expressions.  Formal
   languages and regular expressions are used to solve fundamental
   problems.
































Slevinski                 Expires March 2, 2020                 [Page 7]

Internet-Draft                     FSW                       August 2019


   Regular Expression Basics

   +------------+--------------------------+---------------------------+
   | Characters | Description              | Example                   |
   +------------+--------------------------+---------------------------+
   | *          | Match a literal 0 or     | ABC* matches AB, ABC,     |
   |            | more times               | ABCC, ...                 |
   +------------+--------------------------+---------------------------+
   | +          | Match a literal 1 or     | ABC+ matches ABC, ABCC,   |
   |            | more times               | ABCCC, ...                |
   +------------+--------------------------+---------------------------+
   | ?          | Match a literal 0 or 1   | ABC? matches AB or ABC    |
   |            | times                    |                           |
   +------------+--------------------------+---------------------------+
   | {#}        | Match a literal "#"      | AB{2} matches ABB         |
   |            | times                    |                           |
   +------------+--------------------------+---------------------------+
   | [ ]        | Match any single literal | [ABC] matches A, B, or C  |
   |            | from a list              |                           |
   +------------+--------------------------+---------------------------+
   | [ - ]      | Match any single literal | [A-C] matches A, B, or C  |
   |            | in a range               |                           |
   +------------+--------------------------+---------------------------+
   | ( )        | Creates a group for      | A(BC)+ matches ABC,       |
   |            | matching                 | ABCBC, ABCBCBC, ...       |
   +------------+--------------------------+---------------------------+
   | ( | )      | Matches one of several   | (AB|BC|CD) will match AB, |
   |            | alternatives             | BC, or CD                 |
   +------------+--------------------------+---------------------------+

                                  Table 2

2.3.2.  Token Patterns

   The Formal SignWriting encoding model makes explicit those features
   which can be effectively and efficiently processed.  The mathematical
   names are structured with 11 different tokens.  They can be grouped
   in 4 layers: the 5 structural makers (A, B, L, M, R), the 3 base
   symbol ranges (w, s, P), the 2 modifier indexes (i, o), and the
   numbers (n).











Slevinski                 Expires March 2, 2020                 [Page 8]

Internet-Draft                     FSW                       August 2019


   The Tokens of Formal SignWriting

   +-------+-------------------------------+
   | Token | Description                   |
   +-------+-------------------------------+
   | A     | Sequence Marker               |
   +-------+-------------------------------+
   | B     | Signbox Marker                |
   +-------+-------------------------------+
   | L     | Left Lane Marker              |
   +-------+-------------------------------+
   | M     | Middle Lane Marker            |
   +-------+-------------------------------+
   | R     | Right Lane Marker             |
   +-------+-------------------------------+
   | w     | Writing BaseSymbols           |
   +-------+-------------------------------+
   | s     | Detailed Location BaseSymbols |
   +-------+-------------------------------+
   | P     | Punctuation BaseSymbols       |
   +-------+-------------------------------+
   | i     | Fill Modifiers                |
   +-------+-------------------------------+
   | o     | Rotation Modifiers            |
   +-------+-------------------------------+
   | n     | Number from 250 to 749        |
   +-------+-------------------------------+

                                  Table 3

   These tokens are used in patterns to form written sign language.

2.3.3.  Symbols

   Symbols can be described with 3 tokens: base symbol, fill modifier,
   and rotation modifier.















Slevinski                 Expires March 2, 2020                 [Page 9]

Internet-Draft                     FSW                       August 2019


   Symbol Tokens

   +---------+---------------------------------------------------------+
   | Token   | Description                                             |
   | Pattern |                                                         |
   +---------+---------------------------------------------------------+
   | w       | Writing BaseSymbols.                                    |
   +---------+---------------------------------------------------------+
   | s       | Detailed Location BaseSymbols.                          |
   +---------+---------------------------------------------------------+
   | P       | Punctuation BaseSymbols.                                |
   +---------+---------------------------------------------------------+
   | i       | Fill Modifiers.                                         |
   +---------+---------------------------------------------------------+
   | o       | Rotation Modifiers.                                     |
   +---------+---------------------------------------------------------+
   | wio     | A writing symbol as 3 tokens of writing base, fill      |
   |         | modifier and rotation modifier.  Writing symbols can be |
   |         | used in the spatial signbox or the temporal prefix.     |
   +---------+---------------------------------------------------------+
   | [ws]io  | A writing symbol or a detailed location symbol as 3     |
   |         | tokens of base, fill modifier, and rotation modifier.   |
   |         | Writing symbols and detail location symbols can be used |
   |         | in the temporal prefix.                                 |
   +---------+---------------------------------------------------------+
   | Pio     | A punctuation symbol as 3 tokens of punctuation base,   |
   |         | fill modifier, and rotation modifier.  Punctuation      |
   |         | symbols divide signs into sentences.                    |
   +---------+---------------------------------------------------------+

                                  Table 4

   There are a variety of symbol types that are used for different
   purposes.

















Slevinski                 Expires March 2, 2020                [Page 10]

Internet-Draft                     FSW                       August 2019


   Symbol Types and Descriptions

   +-------------+-----------------------------------------------------+
   | Type        | Description                                         |
   +-------------+-----------------------------------------------------+
   | all symbols | All symbols used in Formal SignWriting.             |
   +-------------+-----------------------------------------------------+
   | writing     | Symbols that can be used in the spatial signbox or  |
   |             | the temporal prefix.                                |
   +-------------+-----------------------------------------------------+
   | hand        | Various handshapes                                  |
   +-------------+-----------------------------------------------------+
   | movement    | Contact symbols, small finger movements, straight   |
   |             | arrows, curved arrows and circles.                  |
   +-------------+-----------------------------------------------------+
   | dynamic     | Dynamic symbols are used to give the "feeling" or   |
   |             | "tempo" to movement.                                |
   +-------------+-----------------------------------------------------+
   | head        | Symbols for the head and face.                      |
   +-------------+-----------------------------------------------------+
   | hcenter     | Used to determine the horizontal center of a sign.  |
   |             | Same as the head type.                              |
   +-------------+-----------------------------------------------------+
   | vcenter     | Use to determine the vertical center of a sign.     |
   |             | Includes the head and trunk types.                  |
   +-------------+-----------------------------------------------------+
   | trunk       | Symbols for torso movement, shoulders, and hips.    |
   +-------------+-----------------------------------------------------+
   | limb        | Symbols for limbs and fingers.                      |
   +-------------+-----------------------------------------------------+
   | location    | Detailed location symbols can only be used in the   |
   |             | temporal prefix.                                    |
   +-------------+-----------------------------------------------------+
   | punctuation | Punctual symbols are used to divide signs into      |
   |             | sentences.                                          |
   +-------------+-----------------------------------------------------+

                                  Table 5

   Symbol types occur in specific ranges depending on the characters
   involved.










Slevinski                 Expires March 2, 2020                [Page 11]

Internet-Draft                     FSW                       August 2019


   Symbol Types and Ranges

   +-------------+-------------+------------------+
   | Type        | FSW         | SWU              |
   +-------------+-------------+------------------+
   | all symbols | S100 - S38b | U+40001 -U+4F480 |
   +-------------+-------------+------------------+
   | writing     | S100 - S37e | U+40001 -U+4EFA0 |
   +-------------+-------------+------------------+
   | hand        | S100 - 204  | U+40001 -U+461E0 |
   +-------------+-------------+------------------+
   | movement    | S205 - S2f6 | U+461E1 -U+4BCA0 |
   +-------------+-------------+------------------+
   | dynamic     | S2f7 - S2fe | U+4BCA1 -U+4BFA0 |
   +-------------+-------------+------------------+
   | head        | S2ff - S36c | U+4BFA1 -U+4E8E0 |
   +-------------+-------------+------------------+
   | hcenter     | S2ff - S36c | U+4BFA1 -U+4E8E0 |
   +-------------+-------------+------------------+
   | vcenter     | S2ff - S375 | U+4BFA1 -U+4EC40 |
   +-------------+-------------+------------------+
   | trunk       | S36d - S375 | U+4E8E1 -U+4EC40 |
   +-------------+-------------+------------------+
   | limb        | S376 - S37e | U+4EC41 -U+4EFA0 |
   +-------------+-------------+------------------+
   | location    | S37f - S386 | U+4EFA1 -U+4F2A0 |
   +-------------+-------------+------------------+
   | punctuation | S387 - S38b | U+4F2A1 -U+4F480 |
   +-------------+-------------+------------------+

                                  Table 6

2.3.3.1.  FSW Symbols

   Symbol keys are 6 characters long.  The first character of a symbol
   key is always "S".  The next 3 characters identify the symbol base.
   The last two characters identify the fill and rotation modifiers
   respectively.













Slevinski                 Expires March 2, 2020                [Page 12]

Internet-Draft                     FSW                       August 2019


   Symbol Key Definition

   +--------------------------------+-----------------------+
   | Regular Expression             | Description           |
   +--------------------------------+-----------------------+
   | S                              | Start of symbol key   |
   +--------------------------------+-----------------------+
   | [123][0-9a-f]{2}               | Symbol key base       |
   +--------------------------------+-----------------------+
   | [0-5]                          | Fill modifier         |
   +--------------------------------+-----------------------+
   | [0-9a-f]                       | Rotation modifier     |
   +--------------------------------+-----------------------+
   | S[123][0-9a-f]{2}[0-5][0-9a-f] | Symbol key definition |
   +--------------------------------+-----------------------+

                                  Table 7

2.3.3.2.  SWU Symbols

   The 37,811 symbols of the International SignWriting Alphabet 2010 are
   uniquely identified with Unicode characters in the range U+40001 to
   U+4F428.

   A simple formula transforms a symbol key into a codepoint.  Given a
   symbol key as variable "key", in JavaScript the function is defined
   as:

      var code = ((parseInt(key.slice(1,4),16) - 256) * 96) +
      ((parseInt(key.slice(4,5),16))*16) + parseInt(key.slice(5,6),16) +
      1;

2.3.4.  Numbers

   The numbers encode the ruler principle with characters.  The ruler
   principle is built in automatically for scripts written sequentially
   in one dimension.  The number characters are needed to specify the
   spatial relationship between symbols.

   Both FSW and SWU use a restricted range of 500 numbers between 250
   and 749.

   Cartesian Coordinates can be described with 2 tokens: number and
   number.  These numbers represent the X and Y coordinates
   respectively.






Slevinski                 Expires March 2, 2020                [Page 13]

Internet-Draft                     FSW                       August 2019


   Coordinate Tokens

   +----------------+---------------------------------------------+
   | Token Patterns | Description                                 |
   +----------------+---------------------------------------------+
   | n              | Number from 250 to 749                      |
   +----------------+---------------------------------------------+
   | nn             | Coordinate with X and Y values as 2 numbers |
   +----------------+---------------------------------------------+

                                  Table 8

2.3.4.1.  FSW Numbers

   Formal SignWriting in ASCII has two definitions for a number.  The
   more general definition simply defines 3 digits together with a
   potential range of 1000.  A more explicit definition correctly
   restricts the numbers to 500 possibilities in the 250 to 749 range.
   The general coordinate definition is adequate for processing.

   An X,Y coordinate is created by using the letter "x" to join two FSW
   numbers.

   General 3 digit number definition:  [0-9]{3}

   General coordinate definition:  [0-9]{3}x[0-9]{3}

   Explicit number definition from 250 to 749:
      (2[5-9][0-9]|[3-6][0-9]{2}|7[0-4][0-9])

   Explicit coordinate definition:  (2[5-9][0-9]|[3-6][0-9]{2}|7[0-4][0-
      9])x(2[5-9][0-9]|[3-6][0-9]{2}|7[0-4][0-9])

2.3.4.2.  SWU Numbers

   SignWriting in Unicode has a single definition for a number.  Each
   number is uniquely identified with Unicode characters in the range
   U+1D80C to U+1D9FF.  A coordinate is defined as 2 numbers together.

2.4.  Two-Part Word

   Formal SignWriting envisions a sign as a two-part word of time and
   space.  The two-dimensional appearance of a sign is written in the
   spatial signbox as an objective arrangement.  The one-dimensional
   order of a sign is written in the temporal prefix as a subjective
   analysis.





Slevinski                 Expires March 2, 2020                [Page 14]

Internet-Draft                     FSW                       August 2019


2.4.1.  Spatial Signbox

   The spatial signbox is a two-dimensional cluster of symbols.  The
   position of each symbol is determined by the writer and defined using
   Cartesian Coordinates that represent the top-left of the symbol
   image.  Formal numbers range from 250 to 749.

   2-dimensional space does not have a normative 1-dimensional order.
   When symbols overlap, the relative order of the overlapping symbols
   is important.  Symbols written first appear underneath symbols that
   are written later.  Otherwise, the exact string order of the spatial
   symbols is unpredictable.  The spatial signbox is neither formatting
   nor style and represents meaning that is beyond the temporal prefix.

              Y Axis
                | 250
                |
                |
                |
                |
                |
   X Axis       |
     -----------+------------
     250        |         749
                |
                |
                |
                |
                |
                | 749

   The Spatial Signbox can be described with 8 tokens.



















Slevinski                 Expires March 2, 2020                [Page 15]

Internet-Draft                     FSW                       August 2019


   Spatial Signbox Tokens

   +-----------------+-------------------------------------------------+
   | Token Pattern   | Description                                     |
   +-----------------+-------------------------------------------------+
   | B               | Signbox Marker                                  |
   +-----------------+-------------------------------------------------+
   | L               | Left Lane Marker                                |
   +-----------------+-------------------------------------------------+
   | M               | Middle Lane Marker                              |
   +-----------------+-------------------------------------------------+
   | R               | Right Lane Marker                               |
   +-----------------+-------------------------------------------------+
   | w               | Writing BaseSymbols                             |
   +-----------------+-------------------------------------------------+
   | i               | Fill Modifiers                                  |
   +-----------------+-------------------------------------------------+
   | o               | Rotation Modifiers                              |
   +-----------------+-------------------------------------------------+
   | n               | Number from 250 to 749                          |
   +-----------------+-------------------------------------------------+
   | wio             | A writing symbol as 3 tokens of writing base,   |
   |                 | fill modifier and rotation modifier             |
   +-----------------+-------------------------------------------------+
   | nn              | Coordinate with X and Y values as 2 numbers     |
   +-----------------+-------------------------------------------------+
   | wionn           | A spatial symbol as 5 tokens, with 3 tokens for |
   |                 | a writing symbol and 2 tokens for coordinates   |
   |                 | of top left placement                           |
   +-----------------+-------------------------------------------------+
   | (wionn)*        | Zero or more spatial symbols                    |
   +-----------------+-------------------------------------------------+
   | Bnn(wionn)*     | A Signbox with a preprocessed maximum           |
   |                 | coordinate and a list of spatial symbols used   |
   |                 | for horizontal writing                          |
   +-----------------+-------------------------------------------------+
   | [LMR]           | A lane marker: either left, middle or right.    |
   +-----------------+-------------------------------------------------+
   | [LMR]nn(wionn)* | A Signbox in either the left, middle, or right  |
   |                 | lane with a preprocessed maximum coordinate and |
   |                 | a list of spatial symbols used for vertical     |
   |                 | writing                                         |
   +-----------------+-------------------------------------------------+

                                  Table 9






Slevinski                 Expires March 2, 2020                [Page 16]

Internet-Draft                     FSW                       August 2019


   The spatial signbox is assigned to a lane, has a preprocessed maximum
   coordinate and zero or more writing symbols with X and Y coordinates
   for each symbol.

2.4.1.1.  Bounding Box

   The symbols do not have a consistent width or height.  The center of
   a symbol can be safely assumed to be at half-width and half-height.
   A bounding box for a symbol is based on the symbol width and height.
   Each symbol has a defined width and height [SSWFontSource] in a text
   file with 37,811 lines.  Alternately, the symbol width and height can
   be calculated by analyzing the glyphs in a TTF font file, using
   JavaScript or other language.

   The bounding box of a sign is a tight box around the symbols.  The
   bounding box is used to determine the width and height of a sign.

   The bounding box of a sign consists of four values: Minimum X,
   Minimum Y, Maximum X and Maximum Y.  The values of the bounding box
   is taken straight from the coordinates in a Formal SignWriting word.

2.4.1.2.  Maximum Coordinate

   The maximum coordinate for a Signbox is pre-calculated to simplify
   layout for width, height, and center.  For each symbol, the width of
   height of that symbol is added to the coordinate position of that
   symbol.  These new coordinate values represent the bottom-right
   coordinate of each symbol bounding box.  The maximum X value is
   joined with the maximum Y value to determine the maximum coordinate.

2.4.1.3.  Centering a Sign

   To simplify layout and improve 2-dimensional searching, every sign
   has a normalized center based on symbol type, size, and mathematical
   formula.  The vertical center is based on the center of the bounding
   box around the head symbols.  The horizontal center is based on the
   center of the bounding box around the head and trunk symbols.  If a
   sign doesn't contain head or trunk symbols, then the bounding box of
   all symbols is used.  For the symbol ranges see Table 6

   Once the center of a sign has been determined, the symbols are moved
   so that the center is coordinate 500,500.

2.4.2.  Temporal Prefix

   The temporal prefix is a one-dimensional list of symbols that is
   written by an author.  The arrangement of the symbols is based on a
   particular theory of sorting.  The order of the symbols in the



Slevinski                 Expires March 2, 2020                [Page 17]

Internet-Draft                     FSW                       August 2019


   temporal prefix is significant because sorting is possible with a
   binary string comparison.  The temporal prefix is neither formatting
   nor style and represents meaning not found in the spatial signbox.

   Signs are written in 2-dimensional space which does not have a
   normative 1-dimensional order.  Any 1-dimensional order of
   2-dimensional space is subjective.  Some 1-dimensional orders may be
   canonical according to a particular theory, but there are a variety
   of theories on setting a 1-dimensional order.

   The temporal prefix will use the same symbols that are used in the
   spatial signbox, but it does not need to use all of them and it is
   not limited to only those symbols.  The temporal prefix is a list of
   writing symbols and/or detailed location symbols that identify
   temporal order and additional analysis.  A valid sequence must
   contain at least one symbol and can not contain punctuation.

   The temporal prefix allows for sorting that is universally supported
   through binary string comparison.

   There are several theories on the best way to structure a temporal
   prefix.  The most productive is based on the SignSpelling Sequence
   theory of Valerie Sutton.  A temporal prefix is structured as a
   series of beginning handshapes, followed by transitional movements
   and dynamics that lead to the next set of handshapes.  This pattern
   continues until the end of the sign.  The last section of the
   temporal prefix should contain symbols of of type "head", "trunk",
   and "limb".

   Detailed location symbols of type "location" can be used in a
   temporal prefix, but are rarely (if ever) needed for general writing.

   A temporal prefix can be described with 5 tokens.


















Slevinski                 Expires March 2, 2020                [Page 18]

Internet-Draft                     FSW                       August 2019


   Temporal Prefix Tokens

   +---------------+---------------------------------------------------+
   | Token         | Description                                       |
   | Patterns      |                                                   |
   +---------------+---------------------------------------------------+
   | A             | Sequence Marker                                   |
   +---------------+---------------------------------------------------+
   | w             | Writing BaseSymbols                               |
   +---------------+---------------------------------------------------+
   | s             | Detailed Location BaseSymbols                     |
   +---------------+---------------------------------------------------+
   | i             | Fill Modifiers                                    |
   +---------------+---------------------------------------------------+
   | o             | Rotation Modifiers                                |
   +---------------+---------------------------------------------------+
   | (A([ws]io)+)? | An optional temporal prefix to be used as a       |
   |               | prefix for a Signbox                              |
   +---------------+---------------------------------------------------+

                                 Table 10

   The temporal prefix starts with a sequence marker and includes an
   ordered list of writing symbols and detailed locations.

2.5.  Styling String

   The styling string of Formal SignWriting uses a lite markup to define
   a variety of styling options.  The styling string is the same for FSW
   and SWU.  The entire sign can be customized for padding, coloring,
   and size.  Individual symbols within a sign can be customized for
   coloring and size.  For SVG output, class names and IDs can be
   defined.  A styling string can be added to the end of any Formal
   SignWriting string to style a particular sign.

   Colors can be written as CSS color names or as color hex values.

   CSS Color Names:  [a-zA-Z]+

   Color Hex Values:  [0-9a-fA-F]{3}([0-9a-fA-F]{3})?

   The styling string is divided into 3 sections: one for the entire
   sign, one for individual symbols, and one for SVG class names and ID.
   The styling string starts with a single dash, after which is the
   section about the entire sign.  A second dash, if present, marks the
   start of the section about the individual symbols.  A third dash, if
   present, marks the start of the section about the SVG class names and
   ID.  The order of the styling options is important.



Slevinski                 Expires March 2, 2020                [Page 19]

Internet-Draft                     FSW                       August 2019


   Styling String:  -C?(P[0-9]{2})?(G_([0-9a-fA-F]{3}([0-9a-fA-
      F]{3})?|[a-zA-Z]+)_)?(D_([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[a-zA-
      Z]+)(,([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[a-zA-
      Z]+))?_)?(Z([0-9]+(\.[0-9]+)?|x))?(-(D[0-9]{2}_([0-9a-fA-F]{3}([0-
      9a-fA-F]{3})?|[a-zA-Z]+)(,([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[a-zA-
      Z]+))?_)*(Z[0-9]{2},[0-9]+(\.[0-9]+)?(,[0-9]{3}x[0-9]{3})?)*)?(--
      ?[_a-zA-Z][_a-zA-Z0-9-]{0,100}( -?[_a-zA-Z][_a-zA-
      Z0-9-]{0,100})*!([a-zA-Z][_a-zA-Z0-9-]{0,100}!)?)?

2.5.1.  Entire Sign

   There are several options for styling an entire sign.

   C  Colorize

   P  Padding

   G  Background

   D  Detail colors

   Z  Zoom level

2.5.1.1.  Colorize

   Colorizing a sign will set the color of each symbol based on its
   classification.

   Hand  0000CC

   Movement  CC0000

   Dynamic  FF0099

   Head  006600

   Body  000000

   Detailed Location  884411

   Punctuation  FF9900










Slevinski                 Expires March 2, 2020                [Page 20]

Internet-Draft                     FSW                       August 2019


   +----------------+----------------------------------+
   | Styling String | Description                      |
   +----------------+----------------------------------+
   | -C             | Colorize the symbols of the sign |
   +----------------+----------------------------------+

                                 Table 11

2.5.1.2.  Padding

   Padding is applied around the entire sign.  A two-digit number is
   used to set the padding.

   +----------------+--------------------------------+
   | Styling String | Description                    |
   +----------------+--------------------------------+
   | -P01           | A padding of 1 around the sign |
   +----------------+--------------------------------+

                                 Table 12

2.5.1.3.  Background

   By default, the background of a sign is transparent.  The background
   color can be set with a CSS color name or with a color hex value.
   The color name or value must be surrounded by underscores.

   +----------------+-----------------------------------+
   | Styling String | Description                       |
   +----------------+-----------------------------------+
   | -G_lightblue_  | Background color of light blue.   |
   +----------------+-----------------------------------+
   | -G_f00_        | Background color as 3 hex values. |
   +----------------+-----------------------------------+
   | -G_ff0000_     | Background color as 6 hex values. |
   +----------------+-----------------------------------+

                                 Table 13

2.5.1.4.  Detail Colors

   By default, each symbol has a line color of black and a fill color of
   white.  The line color for all of the symbols can be set with a CSS
   color name or with a color hex value.  The color name or value must
   be surrounded by underscores.  Setting the fill color is optional.
   To set the fill color, put a comma and the fill color after the line
   color but before the closing underscore.




Slevinski                 Expires March 2, 2020                [Page 21]

Internet-Draft                     FSW                       August 2019


   +----------------+------------------------------------------------+
   | Styling String | Description                                    |
   +----------------+------------------------------------------------+
   | -D_red_        | Line color of red.                             |
   +----------------+------------------------------------------------+
   | -D_red,yellow_ | Line color of red with a fill color of yellow. |
   +----------------+------------------------------------------------+

                                 Table 14

2.5.1.5.  Zoom Level

   By default, a sign is set to zoom level 1.  The zoom level can be set
   with an integer or a decimal number.

   Alternatively, the zoom level can be set to lower-case 'x', for
   extendable.  The SVG created will not specify the width or height, so
   that the sign image will fill whatever container it is placed inside.

   +----------------+--------------------------+
   | Styling String | Description              |
   +----------------+--------------------------+
   | -Z2            | Zoom level of 2          |
   +----------------+--------------------------+
   | -Z15.7         | Zoom level of 15.7       |
   +----------------+--------------------------+
   | -Zx            | Zoom level of extendable |
   +----------------+--------------------------+

                                 Table 15

2.5.2.  Individual Symbols

   There are two options for styling individual symbols.  Individual
   symbols are identified by a two-digit number, which identifies the
   order the symbol appears in the Signbox.

   D  Detail colors

   Z  Zoom level

2.5.2.1.  Detail Colors

   By default, each symbol has a line color of black and a fill color of
   white.  The line color for an individual symbol can be set with a CSS
   color name or with a color hex value.  The color name or value must
   be surrounded by underscores.  Setting the fill color is optional.




Slevinski                 Expires March 2, 2020                [Page 22]

Internet-Draft                     FSW                       August 2019


   To set the fill color, put a comma and the fill color after the line
   color but before the closing underscore.

   +----------------------+--------------------------------------------+
   | Styling String       | Description                                |
   +----------------------+--------------------------------------------+
   | --D01_red_           | First symbol line color of red.            |
   +----------------------+--------------------------------------------+
   | --D01_red,yellow_    | First symbol line color of red with a fill |
   |                      | color of yellow.                           |
   +----------------------+--------------------------------------------+
   | --D01_red_D02_green_ | First symbol line color of red and second  |
   |                      | symbol line color of green.                |
   +----------------------+--------------------------------------------+

                                 Table 16

2.5.2.2.  Zoom Level

   By default, each symbol is set to zoom level 1.  The zoom level of
   individual symbols can be set with an integer or a decimal number.

   Additionally, an offset coordinate can be specified with an
   individual symbol's zoom level.  The offset coordinate of 500x500 is
   considered no offset for either the x or y value.

   +-------------------+-----------------------------------------------+
   | Styling String    | Description                                   |
   +-------------------+-----------------------------------------------+
   | --Z03,2           | Third symbol zoom level of 2                  |
   +-------------------+-----------------------------------------------+
   | --Z04,15.7        | Fourth symbol zoom level of 15.7              |
   +-------------------+-----------------------------------------------+
   | --Z04,1.5,480x500 | Fourth symbol zoom level of 1.5 with a -20    |
   |                   | offset applied to the X value of the symbol's |
   |                   | placement coordinate.                         |
   +-------------------+-----------------------------------------------+

                                 Table 17

2.5.3.  SVG Class Names and ID

   When using SVG, there are two additional styling options of class
   names and ID.

   {class names}!  SVG Class Names

   {ID}!  SVG ID



Slevinski                 Expires March 2, 2020                [Page 23]

Internet-Draft                     FSW                       August 2019


   Both class names and ID use a restricted ASCII subset.

   class names  -?[_a-zA-Z][_a-zA-Z0-9-]{0,100}( -?[_a-zA-Z][_a-zA-
      Z0-9-]{0,100})*

   ID [a-zA-Z][_a-zA-Z0-9-]{0,100}

   Each SVG can be created with a list of class names separated by
   spaces, ending in an exclamation (!) mark.  After the class names
   exclamation mark, an ID can be written followed by another
   exclamation mark.

   +---------------------+---------------------------------------------+
   | Styling String      | Description                                 |
   +---------------------+---------------------------------------------+
   | ---glowing!         | A class name of "glowing"                   |
   +---------------------+---------------------------------------------+
   | ---flashing         | Two class names of "flashing" and           |
   | primary!            | "primary".                                  |
   +---------------------+---------------------------------------------+
   | ---!cursor!         | SVG created with an ID of "cursor"          |
   +---------------------+---------------------------------------------+
   | ---flashing!cursor! | SVG created with a class name of "flashing" |
   |                     | and an ID of "cursor"                       |
   +---------------------+---------------------------------------------+

                                 Table 18

2.6.  Query Language

   The query language of Formal SignWriting allows for precise searching
   of signs written in either FSW or SWU.  A query string is a concise
   representation for a much larger and detailed set of regular
   expressions.  The regular expressions can be used to quickly and
   accurately search large files and databases containing Formal
   SignWriting.

   A filter and repeat pattern of searching is used as a series of match
   criteria.  A file, database, or text input is searched using a
   sequence of steps.  Each step applies a single match criteria.
   Matching results are collated and the next search criteria is
   applied.  The pattern of searching the previous results continues
   until all regular expressions have been used.

   The query language of Formal SignWriting is different for FSW and
   SWU, but allows for the same searching strategies.  Any FSW string
   and SWU string can easily be converted into several different query
   string, depending on the search parameters.



Slevinski                 Expires March 2, 2020                [Page 24]

Internet-Draft                     FSW                       August 2019


   There are two main sections of a query string.  The first searches
   the spatial signbox.  The second searches the temporal prefix.  Both
   sections use the same definition for a symbol or a range.

   The symbol search can match an exact symbol, or a set of symbols with
   an unspecified fill or rotation.

   With FSW, the fill and rotation modifiers of a symbol key can be
   replaced with the "u" character as a wildcard.  The "u" stands for
   unknown and will match all values rather than a specific character.

   With SWU, the letters "f' or "r" can be written after a symbol to
   indicate an unspecified fill or rotation respectively.

   The range search can match a range of base symbols.  The base symbol
   range consists of 2 values: the starting base symbol and the ending
   base symbol.  Every symbol between these 2 base symbols will be
   matched.

   Symbol Search in FSW:  S[123][0-9a-f]{2}[0-5u][0-9a-fu]

   Symbol Search in SWU (UTF-16):  ((\uD8C0[\uDC01-\uDFFF])|([\uD8C1-\uD
      8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-\uDC80]))f?r?

   Range Search in FSW:  R[123][0-9a-f]{2}t[123][0-9a-f]{2}

   Symbol Search in SWU (UTF-16):  R((\uD8C0[\uDC01-\uDFFF])|([\uD8C1-\u
      D8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-\uDC80]))((\uD8C0[\uDC01-\uDF
      FF])|([\uD8C1-\uD8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-\uDC80]))

   At the end of the query string is an optional styling string flag
   represented by a dash (-).  If present, the Formal SignWriting
   strings will include any styling strings.  If the styling string flag
   isn't included, the query string will only find plain text Formal
   SignWriting strings without the styling string.

   The full query string definition allows for the possibility of
   searching the temporal prefix and the spatial signbox at the same
   time.

   Query String in FSW:  Q((A(S[123][0-9a-f]{2}[0-5u][0-9a-fu]|R[123][0-
      9a-f]{2}t[123][0-9a-f]{2})+)?T)?(S[123][0-9a-f]{2}[0-5u][0-9a-
      fu]([0-9]{3}x[0-9]{3})?|R[123][0-9a-f]{2}t[123][0-9a-
      f]{2}([0-9]{3}x[0-9]{3})?)*(V[0-9]+)?-?

   Query String in SWU (UTF-16):  Q((A(((\uD8C0[\uDC01-\uDFFF])|([\uD8C1
      -\uD8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-\uDC80]))f?r?|R((\uD8C0[\u
      DC01-\uDFFF])|([\uD8C1-\uD8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-\uDC



Slevinski                 Expires March 2, 2020                [Page 25]

Internet-Draft                     FSW                       August 2019


      80]))f?r?((\uD8C0[\uDC01-\uDFFF])|([\uD8C1-\uD8FC][\uDC00-\uDFFF])
      |(\uD8FD[\uDC00-\uDC80]))f?r?)+)?T)?((R((\uD8C0[\uDC01-\uDFFF])|([
      \uD8C1-\uD8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-\uDC80]))f?r?((\uD8C
      0[\uDC01-\uDFFF])|([\uD8C1-\uD8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC00-
      \uDC80]))f?r?(\uD836[\uDC0C-\uDDFF]\uD836[\uDC0C-\uDDFF])?)|(((\uD
      8C0[\uDC01-\uDFFF])|([\uD8C1-\uD8FC][\uDC00-\uDFFF])|(\uD8FD[\uDC0
      0-\uDC80]))f?r?(\uD836[\uDC0C-\uDDFF]\uD836[\uDC0C-\uDDFF])?))*(V[
      0-9]+)?-?

2.6.1.  Searching the Spatial Signbox

   The spatial signbox is a list of symbols with 2-dimensional
   placement.  The query "Q" will find all signs regardless of the
   symbols used or their placement.

   It is possible to specify one or more symbols (or ranges of symbols)
   that must be included in the Signbox to indicate a match.  The order
   of the symbols is not important.  Each symbol (or range) can include
   an optional coordinate.  The coordinate is a restriction on the
   match, such that a symbol must be used within a certain variance of
   the coordinate to qualify as a match.

   The variance is a number value, 0 or greater with a default value of
   20.  A variance of 0 will only find symbols used at an exact
   coordinate.  A variance of 5 will match the symbols used at a
   coordinate, plus or minus 5 for both X and Y numbers.

   Symbol Search with Optional Coordinate:  S[123][0-9a-f]{2}[0-5u][0-
      9a-fu]([0-9]{3}x[0-9]{3})?

   Range Search with Optional Coordinate:  R[123][0-9a-f]{2}t[123][0-9a-
      f]{2}([0-9]{3}x[0-9]{3})?

   Variance:  (V[0-9]+)?

   Spatial Signbox Search Query:  Q(S[123][0-9a-f]{2}[0-5u][0-9a-
      fu]([0-9]{3}x[0-9]{3})?|R[123][0-9a-f]{2}t[123][0-9a-
      f]{2}([0-9]{3}x[0-9]{3})?)*(V[0-9]+)?













Slevinski                 Expires March 2, 2020                [Page 26]

Internet-Draft                     FSW                       August 2019


   Spatial Signbox Query Examples

   +------------------+------------------------------------------------+
   | Query            | Description                                    |
   +------------------+------------------------------------------------+
   | Q                | All signs                                      |
   +------------------+------------------------------------------------+
   | QS100uu          | Signs with the index handshape in the spatial  |
   |                  | signbox                                        |
   +------------------+------------------------------------------------+
   | QS100uu480x480   | Signs with the index handshape in the spatial  |
   |                  | signbox used near coordinate (480,480)         |
   +------------------+------------------------------------------------+
   | QS100uu480x480V0 | Signs with the index handshape in the spatial  |
   |                  | signbox used at the exact coordinate (480,480) |
   +------------------+------------------------------------------------+
   | QS100uuR2fft36c  | Signs with the index handshape and a symbol    |
   |                  | from the head & face range                     |
   +------------------+------------------------------------------------+

                                 Table 19

2.6.2.  Searching the Temporal Prefix

   The temporal prefix is a list of symbol keys.  The query "QT" will
   find all signs that include a temporal prefix.

   It is possible to specify the start of the temporal prefix by
   identifying a series of symbols and/or ranges.  The query will start
   with an "QA" and end with a "T", such as "QA...T".  Between the "QA"
   and "T", a series of symbol searches and/or range searches will
   specify the desired start of the temporal prefix.  The order of the
   symbols and ranges is important.

   Temporal Prefix Search Query:  Q((A(S[123][0-9a-f]{2}[0-5u][0-9a-
      fu]|R[123][0-9a-f]{2}t[123][0-9a-f]{2})+)?T)?















Slevinski                 Expires March 2, 2020                [Page 27]

Internet-Draft                     FSW                       August 2019


   Temporal Prefix Query Examples

   +-------------------------+-----------------------------------------+
   | Query                   | Description                             |
   +-------------------------+-----------------------------------------+
   | QT                      | All signs that include the temporal     |
   |                         | prefix                                  |
   +-------------------------+-----------------------------------------+
   | QAS100uuT               | Signs with a temporal prefix that       |
   |                         | starts with the index handshape         |
   +-------------------------+-----------------------------------------+
   | QAS100uuR100t204S20500T | Signs with a temporal prefix that       |
   |                         | starts with the index handshape,        |
   |                         | followed by any handshape, followed by  |
   |                         | the single contact                      |
   +-------------------------+-----------------------------------------+

                                 Table 20

2.6.3.  Including the Styling String

   At the end of the query string is an optional styling string flag
   represented by a dash (-).  If present, the Formal SignWriting
   strings will include any styling strings.  If the styling string flag
   isn't included, the query string will only find plain text Formal
   SignWriting strings without the styling string.

   Styling String Search Query:  Q-

   Styling String Search Only:  -

   Styling String Query Examples

   +-------+-----------------------------------------------------------+
   | Query | Description                                               |
   +-------+-----------------------------------------------------------+
   | Q-    | All signs including the styling strings when present      |
   +-------+-----------------------------------------------------------+
   | -     | Only find styling string without including the Formal     |
   |       | SignWriting                                               |
   +-------+-----------------------------------------------------------+

                                 Table 21








Slevinski                 Expires March 2, 2020                [Page 28]

Internet-Draft                     FSW                       August 2019


3.  Technology Integration

   Formal SignWriting has been specifically designed to integrate with
   standard technology on the phone, tablet, and desktop.

3.1.  Fonts

   The Sutton SignWriting Fonts are available as source SVG and as three
   TrueType Font files.

        Sutton SignWriting Fonts
        Copyright (c) 1974-2017, Center for Sutton Movement Writing, inc
        Licensed under the SIL Open Font License v1.1

   The Sutton SignWriting TrueType fonts are available for download and
   installation.

   Installing the fonts using the instructions below is not required,
   but it will improve the user experience.  If the fonts are not
   installed on the system, CSS declarations will install the fonts in
   the browser cache.

3.1.1.  Windows, Linux, and Mac

   Installation is straight forward for Windows, Linux and Mac. Simply
   download the TrueType fonts and install as usual.

      Sutton SignWriting Line TrueType Font [SSWFontLine]

      Sutton SignWriting Fill TrueType Font [SSWFontFill]

      Sutton SignWriting One-D TrueType Font [SSWFontOneD]

3.1.2.  Mac and iOS

   Installation is possible for Mac OS X and iOS with a configuration
   profile.  The Sutton SignWriting Symbol configuration profile
   includes 2 fonts for SVG: SuttonSignWritingLine and
   SuttonSignWritingFill.  The Sutton SignWriting One configuration
   profile includes the font SuttonSignWritingOneD.  With the
   configuration profile installed, the SignWriting in Unicode (SWU)
   characters can be used throughout the operating system, even as file
   and folder names.

      Sutton SignWriting Symbol Configuration Profile [SSWFontSymbol]

      Sutton SignWriting One Configuration Profile [SSWFontOne]




Slevinski                 Expires March 2, 2020                [Page 29]

Internet-Draft                     FSW                       August 2019


3.1.3.  Android

   Android can not install the fonts directly onto the system.  The CSS
   declarations below will install the fonts in the browser cache.

3.2.  Fonts and CSS

   The TrueType Fonts can be used without installing the fonts on any
   platform by defining two font-face statements.  Simply include the
   following CSS in any HTML page to access the fonts.  Make sure to
   replace the URLs with the fully qualified links for the fonts.

   @font-face {
     font-family: "SuttonSignWritingLine";
     src:
       local('SuttonSignWritingLine'),
       url('https://.../SuttonSignWritingLine.ttf') format('truetype');
   }
   @font-face {
     font-family: "SuttonSignWritingFill";
     src:
       local('SuttonSignWritingFill'),
       url('https://.../SuttonSignWritingFill.ttf') format('truetype');
   }
   @font-face {
     font-family: "SuttonSignWritingOneD";
     src:
       local('SuttonSignWritingOneD'),
       url('https://.../SuttonSignWritingOneD.ttf') format('truetype');
   }

   If the fonts are installed, then the system fonts will be used.  If
   the fonts are not installed when a SignWriting Font page is opened,
   the CSS will cause the fonts to be automatically downloaded to the
   browser's cache on the first visit.  Once the fonts are installed in
   the browser cache, they will remain there until the browser cache is
   emptied.  Any webside that uses this CSS can access the browser
   installed font without requesting a new copy.  The fonts are 18 MB,
   so the first page view make take a few seconds or longer depending on
   your download speed and processor.

3.3.  Scalar Vector Graphics

   Sutton SignWriting is a 2-dimensional script.  The sign images are
   composed using Scalar Vector Graphic (SVG).






Slevinski                 Expires March 2, 2020                [Page 30]

Internet-Draft                     FSW                       August 2019


3.3.1.  Font Based SVG

   The conversion of Formal SignWriting to Scalar Vector Graphics
   requires three parts: header, text, and symbols.  Consider the FSW
   string
   "M518x533S1870a489x515S18701482x490S20500508x496S2e734500x468".

3.3.1.1.  SVG Header

   The header section contains the SVG definition along with the width,
   height, and viewbox.  The viewbox is a combination of the minimum X,
   minimum Y, width, and height.

   Minimum X:  482

   Maximum X:  518

   Width:  36

   Minimum Y:  468

   Maximum Y:  533

   Height:  65

   <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
     width="36" height="65" viewBox="482 468 36 65">

   If the width and height properties are not included, then the
   resulting SVG will automatically expand in size to fill the
   containing element on the screen.

   <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
     viewBox="482 468 36 65">

3.3.1.2.  SVG Text

   The SVG text section is included to make it possible to copy and
   paste Formal SignWriting strings.  The font-size is set to zero to
   make the text invisible.

   <text style="font-size:0%;">
   M518x533S1870a489x515S18701482x490S20500508x496S2e734500x468
   </text>







Slevinski                 Expires March 2, 2020                [Page 31]

Internet-Draft                     FSW                       August 2019


3.3.1.3.  SVG Symbols

   Each symbol in the Signbox is a combination of the symbol key and the
   positioning coordinate.

   Symbol 1:  S1870a 489x515

   Symbol 2:  S18701 482x490

   Symbol 3:  S20500 508x496

   Symbol 4:  S2e734 500x468

   Each spatial symbol is written as an SVG group and positioned by the
   transformation translate.

     <g transform="translate(489,515)">...</g>
     <g transform="translate(482,490)">...</g>
     <g transform="translate(508,496)">...</g>
     <g transform="translate(500,468)">...</g>

   Inside of each group, 2 text elements are written.  The symbol fill
   is written first using the SuttonSignWritingFill font with a plane 16
   character.  The symbol line is written second using the
   SuttonSignWritingLine font with a plane 15 character.  See
   Section 2.3.3.2 for the formula to convert symbol keys to codepoints.

<text class="sym-fill"
 style="font-family:'SuttonSignWritingFill';font-size:30px;fill:white;">
 {plane 16 codepoint}
</text>
<text class="sym-line"
 style="font-family:'SuttonSignWritingLine';font-size:30px;fill:black;">
 {plane 15 codepoint}
</text>

3.3.2.  Stand Alone SVG

   It is possible to request completed SVG images from SignPuddle 3.
   The SVG images created by the SignWriting Server are stand-alone
   graphics that do not use the TrueType Fonts.  The SVG images use path
   elements to define the symbol lines and curves.

   The SVG header and SVG text for the server-side images are the same
   as the standard FSW to SVG transformation.  See Section 3.3.1

   The SVG symbols section is structured differently.  Multiple SVG
   elements are contained within each sign SVG image.  Each sub-SVG



Slevinski                 Expires March 2, 2020                [Page 32]

Internet-Draft                     FSW                       August 2019


   element uses X and Y coordinates to place each symbol.  Consider the
   FSW string
   "M518x533S1870a489x515S18701482x490S20500508x496S2e734500x468".

   Symbol 1:  S1870a 489x515

   Symbol 2:  S18701 482x490

   Symbol 3:  S20500 508x496

   Symbol 4:  S2e734 500x468

   <svg x="489" y="515">...</svg>
   <svg x="482" y="490">...</svg>
   <svg x="508" y="496">...</svg>
   <svg x="500" y="468">...</svg>

   Inside of each sub-SVG element is a group (g) element with one or two
   path elements.  This inside information can only be requested from
   the SignWriting Server or some other source of the symbol image data.

     <g transform="translate(0.146473559361,17.7697467366) ... ">
       <path class="sym-fill" fill="white" d="M700 1493 ... "/>
       <path class="sym-line" fill="black" d="M1826 1480 ... "/>
     </g>

3.4.  HTML and CSS

   Basic HTML structures and CSS rules can be used with Formal
   SignWriting for customization and layout.

3.4.1.  Centering and Sizing

   It is possible to center a symbol or sign within a div with a few CSS
   rules.  The symbol or sign will automatically shrink in size if the
   containing div is smaller than the SVG image.  Additionally, if the
   SVG is created with the zoom level of extendable (styling string
   "-Zx"), the symbol or sign will grow in size to fill as much of the
   containing div as possible.

   <div class="centered">
     <svg version="1.1" xmlns="http://www.w3.org/2000/svg" ...
   </div>








Slevinski                 Expires March 2, 2020                [Page 33]

Internet-Draft                     FSW                       August 2019


   div.centered {
     position: relative;
     width: 10%;
     height: 10%;
     border: 1px solid black;
   }

   div.centered svg {
     position: absolute;
     display: block;
     top:2.5%;
     bottom: 2.5%;
     left: 2.5%;
     right: 2.5%;
     margin: auto;
     max-width: 95%;
     max-height: 95%;
   }

3.4.2.  Coloring Symbols and Signs

   Individual signs can be colored with CSS rules.  The individual
   classes of 'sym-line' and 'sym-fill' can be used to isolate each part
   of a symbol, both positive and negative spaces, or the classes can be
   ignored to create the shadow of a symbol that includes both aspects
   of a symbol.

   <svg class="primary" ...
   <svg class="success" ...
   <svg class="info" ...
   <svg class="warning" ...
   <svg class="danger" ...
   <svg class="shadow" ...
   <svg class="inverse" ...

   svg.primary g text.sym-line { fill: #337ab7 !important; }
   svg.success g text.sym-line { fill: #5cb85c !important; }
   svg.info g text.sym-line { fill: #5bc0de !important; }
   svg.warning g text.sym-line { fill: #f0ad4e !important; }
   svg.danger g text.sym-line { fill: #d9534f !important; }
   svg.shadow g text { fill: grey !important; }
   svg.inverse g text.sym-line { fill: white !important; }
   svg.inverse g text.sym-fill { fill: black !important; }








Slevinski                 Expires March 2, 2020                [Page 34]

Internet-Draft                     FSW                       August 2019


3.4.3.  Other Effects

   Other CSS rules can be used for other effect.  Please note that
   transform property does not effect the document flow and should not
   be used for general layout.

   svg.shadowed {
     text-shadow: -1px -1px 1px #fff, 1px 1px 1px #000;
   }
   svg.rotate {
     transform: rotate(0.5turn);
   }
   svg.bigger {
     transform: scale(2);
   }
   svg.skewed {
     transform: skewX(30deg);
   }

3.4.4.  Sentences

   SignWriting is written vertically using the vertical writing mode of
   CSS.  To create the center lane and to visually divide the columns of
   text, several span elements are used.  Each sign is contained in a
   div with a width and height that matches the enclosed sign.  To
   properly align each sign with the center of its lane, the containing
   div will either use "margin-right" or "border-left".  With "border-
   left", the rule must include "solid transparent" after the size.

<div class="signtext">
 <span class="outside"><span class="middle"><span class="inside">
  <div style="width:42px;height:77px;margin-right:2px;"><svg ...
  <div style="width:38px;height:48px;margin-right:2px;"><svg ...
  <div style="width:25px;height:9px;border-left:7px solid transparent;">

















Slevinski                 Expires March 2, 2020                [Page 35]

Internet-Draft                     FSW                       August 2019


   div.signtext {
     -webkit-writing-mode: vertical-lr;
     writing-mode: vertical-lr;
     font-size: 0%;
     border-left: 1px solid blue;
     height: 100%;
   }

   span.outside { border-left: 1px solid blue; vertical-align: top; }
   span.middle { vertical-align: bottom; }
   span.inside { border-left: 1px dashed red; }

   div.signtext div {
     writing-mode: horizontal-tb;
     display: inline-block;
     vertical-align: middle;
     padding: 20px;
     box-sizing: content-box;
   }

4.  Transformations

   Formal SignWriting and the surrounding technologies have been created
   to facilitate easy transformations between the various forms.

4.1.  Formal SignWriting to Query String

   Formal SignWriting strings have several natural transformations to
   query string.  The transformation can use the temporal prefix and/or
   the spatial signbox.  For each symbol, the query can include the
   exact symbol key, or the query can use a general symbol key where the
   fill and rotation modifiers are not explicitly defined.  Consider the
   Formal SignWriting string
   "AS14c20S27106M518x529S14c20481x471S27106503x489".

   Exact Temporal Prefix Symbols:  QAS14c20S27106T

   General Temporal Prefix Symbols:  QAS14cuuS271uuT

   Exact Spatial Signbox Symbols:  QS14c20S27106

   General Spatial Signbox Symbols:  QS14cuuS271uu

   Exact Spatial Signbox Symbols with Location:
      QS14c20481x471S27106503x489

   General Spatial Signbox Symbols with Location:
      QS14cuu481x471S271uu503x489



Slevinski                 Expires March 2, 2020                [Page 36]

Internet-Draft                     FSW                       August 2019


4.2.  Query String to Regular Expression

   The transformation from query string to regular expressions has been
   fully implemented in the Sutton SignWriting JavaScript Library and
   the SignWriting Server.

   The query language to regular expressions generator uses the
   following regular expression structures as building blocks.

   Temporal Prefix Prefix:  (A(S[123][0-9a-f]{2}[0-5][0-9a-f])+)

   Signbox Prefix:  [BLMR]([0-9]{3}x[0-9]{3})

   Spatial Symbols:  (S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})*

   The Temporal Prefix Prefix is a structural marker followed by one or
   more symbols.  For the query string "QT", the prefix is required.
   For the general "Q", the prefix is optional so "?" is appended to the
   Temporal Prefix Prefix regular expression.

   The Signbox Prefix is a combination of structural marker and
   preprocessed maximum coordinate.  Every constructed regular
   expression will include the Signbox Prefix.

   The Spatial Symbols is zero or more symbol definitions and associated
   coordinates.  The Spatial Symbols regular expression is used for
   every search.  For both "Q" and "QT", it is the only symbol matching
   used.  When searching for specific symbols and ranges, the general
   Spatial Symbols definition will sandwich the specific search
   definitions.

   Searching for number ranges with regular expressions requires a
   unique technique.  This technique requires five steps.

   Find a number between 122 and 455

   1) 10's don't match and the min 1's are not zero ( last number to 9):

      Match 12[2-9]

   2) Bring up the 10's if hundreds are different:  Match 1[3-9][0-9]

   3) Bring up the 100's if different:  Match [2-3][0-9][0-9]

   4) Bring up the 10's:  Match 4[0-4][0-9]

   5) Bring up the 1's:  Match 45[0-5]




Slevinski                 Expires March 2, 2020                [Page 37]

Internet-Draft                     FSW                       August 2019


   Final Match (12[2-9]|1[3-9][0-9]|[2-3][0-9][0-9]|4[0-4][0-9]|45[0-5])

   For the styling string regular expression, see Section 2.5.

5.  Unicode Considerations

   "The plan for encoding Sutton SignWriting in Unicode is for there to
   be two separate Unicode proposals.  The first is for the symbol set
   covered by [the] ISWA 2010...  The second is for an encoding that
   takes symbols and turns them into signs." -ScriptSource
   [UnicodeScript]

5.1.  Unicode Technical Committee

   In 2011, two documents were submitted: N4015 L2/11-101 [UnicodeN4015]
   and N4090 L2/11-217 [UnicodeN4090].

   In 2012, one document was submitted: N4342 L2/12-321 [UnicodeN4342].

   In 2015, the Sutton SignWriting Block was officially added to the
   Unicode standard.  A documement was submitted: L2/15-194
   [Unicode15194].  In July, Steve Slevinski attended UTC #144.  After
   the meeting, another document was submitted: L2/15-219
   [Unicode15219].

   In 2016, one document was submitted: L2/16-225 [Unicode16225].  In
   August, Steve Slevinski attended UTC #148.

   In 2017, two documents were submitted: L2/17-220 [Unicode17220] and
   L2/17-282 [Unicode17282].  In August, Steve Slevinski attended UTC
   #152.

5.2.  SignWriting in Unicode 8

   The Sutton SignWriting symbol set based on the ISWA 2010 was encoded
   in the Unicode Standard version 8.0.

   This encoding is based on the Unicode proposal from section 5.1 of
   draft-slevinski-iswa-2010 [UnicodeProposal], first published in
   January 2011.

   The first draft officially submitted to the Unicode Technical
   Committee was N4015, a compromise with the Unicode committee that
   removed two-dimensional layout by dropping five structural markers
   and 500 number characters.

   The second draft N4090 was under protest because it broke sorting and
   introduced variable length symbol names.



Slevinski                 Expires March 2, 2020                [Page 38]

Internet-Draft                     FSW                       August 2019


   The third draft N4342 was rejected by the Center for Sutton Movement
   Writing.  A new facial diacritic model was forced into the proposal
   that was neither defined nor tested.

   Further discussions with the Unicode Technical Committee are
   dependent on the support of a voting member, or on a redesign of the
   characters and fonts used today.

5.2.1.  Official Characters

   In 2015, the symbols of Sutton SignWriting (Section 1.2 and
   Section 2.3.3) were added to Unicode version 8.

   +----------------------------+--------------------+
   | Description                | Unicode 8 Range    |
   +----------------------------+--------------------+
   | Base Characters            | U+1D800 to U+1DA8B |
   +----------------------------+--------------------+
   | Fill Modifiers 2 to 6      | U+1DA9B to U+1DA9F |
   +----------------------------+--------------------+
   | Rotation Modifiers 2 to 16 | U+1DAA1 to U+1DAAF |
   +----------------------------+--------------------+

                                 Table 22

   Each symbol key can be rewritten using 1 to 3 Unicode characters of a
   base, optional fill, and optional rotation.  Given a symbol key as
   variable "key", in JavaScript the 3 characters can be derived with
   simple formulas.  Both Fill Modifier 1 (U+1DA9A) and Rotation
   Modifier 1 (U+1DAA0) are inherent characters and should be not be
   written in the character string.

      var base = parseInt(key.substr(1,3),16) + parseInt('1D700',16);

      var fill = parseInt(key.substr(4,1),16) + parseInt('1DA9A',16);

      var rotation = parseInt(key.substr(5,1),16) +
      parseInt('1DAA0',16);

   The Center for Sutton Movement Writing discourages the use of these
   characters as defined in the Unicode standard.  The presentation
   Issues with SignWriting in Unicode 8 [Unicode8Issues] details why
   this encoding is incomplete, broken, and fictional.  Alternatively,
   the Center for Sutton Movement Writing encourages the character sets
   (Section 2.2) of Formal SignWriting in ASCII (FSW) or SignWriting in
   Unicode (SWU).





Slevinski                 Expires March 2, 2020                [Page 39]

Internet-Draft                     FSW                       August 2019


5.2.2.  17 New Characters

   The addition of 17 Unicode characters to the official Unicode
   standard can complete the script encoding and cover 2-dimensional
   layout.

   +---------------------+--------------------+--------------------+
   | Description         | Formal SignWriting | Proposed Unicode   |
   +---------------------+--------------------+--------------------+
   | Fill Modifier 1     | 0                  | U+1DA9A            |
   +---------------------+--------------------+--------------------+
   | Rotation Modifier 1 | 0                  | U+1DAA0            |
   +---------------------+--------------------+--------------------+
   | Numbers             | 0 to 9             | U+1DAB0 to U+1DAB9 |
   +---------------------+--------------------+--------------------+
   | Sequence Marker     | A                  | U+1DABA            |
   +---------------------+--------------------+--------------------+
   | Signbox Markers     | B                  | U+1DABB            |
   +---------------------+--------------------+--------------------+
   | Left Lane Markers   | L                  | U+1DABC            |
   +---------------------+--------------------+--------------------+
   | Middle Lane Markers | M                  | U+1DABD            |
   +---------------------+--------------------+--------------------+
   | Right Lane Markers  | R                  | U+1DABE            |
   +---------------------+--------------------+--------------------+

                                 Table 23

   Fill Modifier 1 and Rotation Modifier 1 are included to fix sorting
   and simplify processing.

   The 10 number characters express the concept of distance, important
   for use with 2-dimensional scripts.

   The 5 structural markers define cohesive units of the script.

5.3.  SignWriting in Unicode (SWU)

   Characters are used to name signs.  Fonts are used to view signs.

   SignWriting in Unicode (SWU) was first published in October 2016 and
   officially submitted to the Unicode Technical Committee in July 2017.
   SWU is not part of the Unicode standard.  SignWriting in Unicode
   (SWU) is an experimental Unicode design that is promoted by the
   Center for Sutton Movement Writing.  This alternate encoding
   overwrites the Sutton SignWriting block in Unicode and uses plane 4
   for the SignWriting symbols.




Slevinski                 Expires March 2, 2020                [Page 40]

Internet-Draft                     FSW                       August 2019


6.  IANA Considerations

   None.

7.  Security Considerations

   None.

8.  References

   [CSMW]     Sutton, V., "Center for Sutton Movement Writing",
              <http://www.movementwriting.org/csmw/>.

   [PDFprint]
              Slevinski, S., "PDF Printing with SignWriting and Images",
              <http://www.signwriting.org/symposium/
              presentation0073.html>.

   [SLlegal]  Sutton, V., "Legal Recognition of Sign Language",
              <https://en.wikipedia.org/wiki/
              Legal_recognition_of_sign_languages>.

   [SM17Code]
              Slevinski, S., "SignMaker 2017 Code",
              <https://github.com/Slevinski/signmaker>.

   [SM17Download]
              Slevinski, S., "SignMaker 2017 Download",
              <https://github.com/Slevinski/signmaker/archive/
              gh-pages.zip>.

   [SM17Online]
              Slevinski, S., "SignMaker 2017 Online",
              <https://signbank.org/signmaker.html>.

   [SP2]      Slevinski, S., "SignPuddle 2",
              <https://signbank.org/signpuddle>.

   [SP3]      Slevinski, S., "SignPuddle 3",
              <https://signpuddle.com/client>.

   [SP3Code]  Slevinski, S., "SignPuddle 3 Source Code on GitHub",
              <https://github.com/slevinski/apitxt>.

   [SP3Doc]   Slevinski, S., "SignPuddle 3 API Document",
              <https://signpuddle.com/client/doc/index.htm>.





Slevinski                 Expires March 2, 2020                [Page 41]

Internet-Draft                     FSW                       August 2019


   [SP3Home]  Slevinski, S., "SignPuddle 3 Homepage",
              <https://signpuddle.com>.

   [SP3Live]  Slevinski, S., "SignPuddle 3 API Live",
              <https://signpuddle.com/client/api/index.html>.

   [SP3Server]
              Slevinski, S., "SignPuddle 3 Server",
              <https://signpuddle.com/server>.

   [SP3System]
              Slevinski, S., "SignPuddle 3 System Documentation",
              <https://signpuddle.com/system/>.

   [SSW]      Slevinski, S., "Sutton SignWriting Project",
              <https://slevinski.github.io/SuttonSignWriting/>.

   [SSW2010]  Slevinski, S., "Sutton SignWriting Standard of 2010",
              <https://steveslevinski.me/#standard2010>.

   [SSW2012]  Slevinski, S., "Sutton SignWriting Standard of 2012",
              <https://steveslevinski.me/#standard2012>.

   [SSW2017]  Slevinski, S., "Sutton SignWriting Standard of 2017",
              <https://steveslevinski.me/#standard2017>.

   [SSWCode]  Slevinski, S., "Sutton SignWriting Project Source Code",
              <https://github.com/Slevinski/SuttonSignWriting>.

   [SSWDownload]
              Slevinski, S., "Sutton SignWriting Project Download",
              <https://github.com/Slevinski/SuttonSignWriting/archive/
              master.zip>.

   [SSWFontFill]
              Slevinski, S., "Sutton SignWriting Fill TypeType Font", <h
              ttps://cdn.rawgit.com/Slevinski/SuttonSignWriting/master/
              assets/SuttonSignWritingFill.ttf>.

   [SSWFontLine]
              Slevinski, S., "Sutton SignWriting Line TypeType Font", <h
              ttps://cdn.rawgit.com/Slevinski/SuttonSignWriting/master/
              assets/SuttonSignWritingLine.ttf>.

   [SSWFontOne]
              Slevinski, S., "Sutton SignWriting One Configuration
              Profile", <https://cdn.rawgit.com/Slevinski/SuttonSignWrit
              ing/master/assets/SuttonSignWritingOne.mobileconfig>.



Slevinski                 Expires March 2, 2020                [Page 42]

Internet-Draft                     FSW                       August 2019


   [SSWFontOneD]
              Slevinski, S., "Sutton SignWriting One-D TypeType Font", <
              https://cdn.rawgit.com/Slevinski/SuttonSignWriting/master/
              assets/SuttonSignWritingOneD.ttf>.

   [SSWFontSource]
              Slevinski, S., "Sutton SignWriting Font Source",
              <https://github.com/Slevinski/signwriting_2010_fonts/tree/
              master/source>.

   [SSWFontSymbol]
              Slevinski, S., "Sutton SignWriting Symbol Configuration
              Profile", <https://cdn.rawgit.com/Slevinski/SuttonSignWrit
              ing/master/assets/SuttonSignWritingSymbol.mobileconfig>.

   [SteveSlevinski]
              Slevinski, S., "Steve Slevinski's Homepage",
              <https://SteveSlevinski.me>.

   [SW]       Sutton, V., "SignWriting Homepage",
              <https://signwriting.org>.

   [SWbyHand]
              Sutton, V., "Writing SignWriting by Hand",
              <https://www.signwriting.org/lessons/cursive>.

   [SWFacebook]
              "Sutton SignWriting Facebook Group",
              <https://www.facebook.com/groups/SuttonSignWriting/>.

   [SWList]   "SignWriting Email List",
              <http://www.signwriting.org/forums/swlist/>.

   [SWPatrons]
              Slevinski, S., "Support SignWriting on Patreon",
              <https://patreon.com/signwriting>.

   [SWScript]
              Slevinski, S., "SignWriting Script: an ode to writing by
              hand", <https://www.signpuddle.net/wiki/index.php/
              SignWriting_Script/>.

   [SWWikimedia]
              Slevinski, S., "SignWriting and Wikimedia Projects",
              <https://meta.wikimedia.org/wiki/Grants:IdeaLab/
              The_SignWriting_Team_and_Written_Sign_Language_Projects>.





Slevinski                 Expires March 2, 2020                [Page 43]

Internet-Draft                     FSW                       August 2019


   [TwoDFont]
              Slevinski, S., "Two-Dimensional Font Prototype",
              <https://www.signwriting.org/symposium/
              presentation0019.html>.

   [TwoDFontProject]
              Slevinski, S., "Two-Dimensional Font Project",
              <https://meta.wikimedia.org/wiki/Grants:Project/slevinski/
              ASL_Wikipedia_2-D_Font_Development_for_SignWriting>.

   [Unicode]  "The Unicode Standard: A Technical Introduction",
              <http://unicode.org/standard/principles.html>.

   [Unicode15194]
              Slevinski, S., "Addressing SignWriting Collation in
              DUCET", <https://www.unicode.org/L2/
              L2015/15194-signwriting-response.pdf>.

   [Unicode15219]
              Anderson, D., Slevinski, S., and K. Whistler, "SignWriting
              Design, With Three Examples and Their Representation",
              <https://www.unicode.org/L2/
              L2015/15219-signwriting-design.pdf>.

   [Unicode16225]
              Slevinski, S., "SignWriting in Unicode Next",
              <http://www.unicode.org/cgi-bin/
              GetMatchingDocs.pl?L2/16-225>.

   [Unicode17220]
              Slevinski, S., "Design Options for Sutton SignWriting with
              examples and fonts", <https://www.unicode.org/L2/
              L2017/17220-signwriting-design-opt.pdf>.

   [Unicode17282]
              Slevinski, S., "Design Options for Sutton SignWriting
              Auxiliary", <https://www.unicode.org/L2/
              L2017/17282-signwriting-design-aux.pdf>.

   [Unicode8Issues]
              Slevinski, S., "Issues with SignWriting in Unicode 8",
              <https://www.slideshare.net/StephenSlevinski/
              sign-writing-in-unicode-8-issues>.








Slevinski                 Expires March 2, 2020                [Page 44]

Internet-Draft                     FSW                       August 2019


   [UnicodeAnalysis]
              Aznar, G., "Analysis of the different methods to encode
              SignWriting in Unicode",
              <https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid
              =A5A55FFC4B59332074F2B0670B758D4F?doi=10.1.1.188.7470&rep=
              rep1&type=pdf>.

   [UnicodeChinese]
              Zhang, S., "Chinese Characters Are Futuristic and the
              Alphabet Is Old News",
              <https://www.theatlantic.com/technology/archive/2016/11/
              chinese-computers/504851/>.

   [UnicodeGraphite]
              Hosken, M., "New engine feature proposal",
              <https://sourceforge.net/p/silgraphite/mailman/
              silgraphite-devel/
              thread/20121120152328.5984b784%40sil-mh6/#msg30121143>.

   [UnicodeIdeas]
              Hosken, M., "SignWriting Layout Discussion v2",
              <https://scriptsource.org/cms/scripts/render_download.php?
              format=file&media_id=..%2Fsites%2Fs%2Fmedia%2Fdatabase%2Fs
              sproto%2Fentries%2Fjt%2F4f%2Fjt4fblkvhu_Signwriting_layout
              _discuss_v2.pdf&filename=Signwriting_layout_discuss_v2.pdf
              >.

   [UnicodeN4015]
              Everson, M., Slevinski, S., and V. Sutton, "Preliminary
              proposal for encoding the SignWriting script in the SMP of
              the UCS", <http://www.unicode.org/L2/
              L2011/11101-n4015-signwriting.pdf>.

   [UnicodeN4090]
              Everson, M., Slevinski, S., and V. Sutton, "Revised
              proposal for encoding the SignWriting script in the SMP of
              the UCS", <https://www.unicode.org/L2/
              L2011/11217-n4090-signwriting.pdf>.

   [UnicodeN4342]
              Everson, M., Hosken, M., Slevinski, S., and V. Sutton,
              "Proposal for encoding Sutton SignWriting in the UCS",
              <https://www.unicode.org/L2/
              L2012/12321-n4342-signwriting.pdf>.

   [UnicodePragmatic]
              Batchelder, N., "Pragmatic Unicode, or, How do I stop the
              pain?", <https://www.youtube.com/watch?v=sgHbC6udIqc>.



Slevinski                 Expires March 2, 2020                [Page 45]

Internet-Draft                     FSW                       August 2019


   [UnicodeProposal]
              Slevinski, S., "Encoding the graphemes of the SignWriting
              Script with the x-ISWA-2010",
              <https://tools.ietf.org/html/
              draft-slevinski-iswa-2010-00#section-5.1>.

   [UnicodeScript]
              "Unicode Status (SignWriting)",
              <https://scriptsource.org/cms/scripts/
              page.php?item_id=entry_detail&uid=jt4fblkvhu>.

Appendix A.  SignWriting 2020

   SignWriting 2020 is an international call to action to create,
   organize, fund, and standardize.  The showcase highlights the
   achievements and current tools.  The work projects detail the current
   and future efforts to be completed by 2020.  The collaborations show
   where to connect with the SignWriting community and Steve Slevinski.
   The challenges outline the issues of standardization, exploration,
   and debate.

A.1.  Showcase

A.1.1.  SignPuddle 2

   SignPuddle 2 [SP2] is the current home of the international community
   of online writers of the SignWriting Script.  Online tools make it
   possible to create SignWriting dictionaries and documents directly on
   the web.  Each collection is freely available as a small XML file
   with the signs encoded with Formal SignWriting in ASCII (FSW).  Sixty
   different sign languages from around the world are represented.  Each
   language can have several collections of SignWriting.

A.1.2.  SignMaker 2017

   SignMaker is a standards based editor, utilizing HTML, CSS,
   JavaScript, SVG, TrueType Fonts, and PNG images.

   SignMaker is browser based without the need for a server connection.
   It can be used online or it can be downloaded [SM17Download] and run
   directly from the user's computer.  The source code is available on
   GitHub [SM17Code].

   The primary online website [SM17Online] can be used to create a
   private dictionary in the browser's LocalStorage or view dozens of
   sign language dictionaries from around the world.





Slevinski                 Expires March 2, 2020                [Page 46]

Internet-Draft                     FSW                       August 2019


A.1.3.  SignPuddle 3 Beta

   SignPuddle 3 is currently in beta release.  We are actively testing
   the dictionary and interface sections.  Join us on the SignWriting
   Email List [SWList] or the public Sutton SignWriting Facebook Group
   [SWFacebook] for general discussion.  Visit the SignPuddle 3 GitHub
   repository [SP3Code] for source code and technical issues.

A.1.4.  Sutton SignWriting Project

   The Sutton SignWriting project is designed for the internet community
   and includes TrueType Fonts, Scalar Vector Graphics, HTML, CSS, and
   JavaScript Functions.  The Formal SignWriting specification is a
   faithful encoding of Sutton SignWriting that is documented in an
   Internet Draft submitted to the IETF.

   It can be used online or it can be downloaded [SSWDownload] and run
   directly from the user's computer.  The source code is available on
   GitHub [SSWCode].

A.2.  Work Projects

   The work projects of SignWriting 2020 detail the work that needs to
   be done.  Individuals and organizations are encouraged to fund,
   create, or join any of the work projects.

A.2.1.  Steve Slevinski

   The following work projects have Steve Slevinski as lead developer.
   Others are welcome to join any of the following projects or start
   their own SignWriting work.

A.2.1.1.  Two-Dimensional Font

   A two-dimensional font prototype [TwoDFont] has been available since
   2014.  A production ready two-dimensional font [TwoDFontProject] is
   planned that leverages the 2017 standard of SignWriting in Unicode
   (SWU).

A.2.1.2.  SignPuddle 3 Network

   SignPuddle 3 is currently in beta release.  Most of the work is
   completed for the dictionary section.  Additional development is
   required for sign texts, fingerspelling, literature, alphabetic
   subsets, and more.  The source code is available on GitHub [SP3Code].






Slevinski                 Expires March 2, 2020                [Page 47]

Internet-Draft                     FSW                       August 2019


   SignPuddle 3 comes in two parts: a front-end user interface [SP3] for
   the browser and a back-end server [SP3Server] with databases for
   developers.

   App developers are provided with a direct connection to the
   SignPuddle 3 API.  Extensive documentation is available with stand
   alone documents [SP3Doc] and interactive live pages [SP3Live].  The
   tools and data are free to use.  Consider becoming a SignWriting
   Partner (Appendix A.3.2.3) for an open dialog and technical support.

   Server administrators are able to run their own SignPuddle 3 server
   and host it on a public or private network.  Extensive documentation
   [SP3System] is available for the server setup and configuration.  The
   tools and data are free to use.  Consider becoming a SignWriting
   Partner (Appendix A.3.2.3) or SignWriting Representative
   (Appendix A.3.2.4) for an open dialog and technical support.

A.2.1.3.  Additional Handshapes

   The International SignWriting Alphabet 2010 (ISWA 2010) includes 251
   different handshapes.  Each handshape is explicitly named and
   numbered.  The list is not exhaustive.  New handshapes must be
   constructed from pieces of the ISWA 2010.

   There are several sign languages that require handshapes outside of
   the ISWA 2010.  These handshapes should be recorded in a separate
   SignPuddle 3 dictionary for each sign language.  For Brazil, the
   resource would be named "bzs-BR-dictionary-handshapes".  Creating
   this file is a special request and not yet available through the
   website.

   Any individual or organization can start a work project for their
   sign language.  The tools and data are free to use.  Consider
   becoming a SignWriting Partner (Appendix A.3.2.3) for an open dialog
   and technical support.

   Adding an extension to the ISWA 2010 is possible, but it raises the
   complexity of the code and is not backwards compatible.  With the
   handshapes documented, we can decide the best course of action.  The
   data from the additional handshapes dictionaries can be incorporated
   into programs like SignMaker and SignText.

A.2.1.4.  Printing HTML and PDF

   SignPuddle 3 currently supports direct PDF printing [PDFprint] of
   lists with individual signs and images.  This feature needs to be
   expanded to include additional HTML templates and extended sign
   texts.



Slevinski                 Expires March 2, 2020                [Page 48]

Internet-Draft                     FSW                       August 2019


A.2.2.  Individuals and Groups

   The following work projects will need to be carried out by
   individuals and groups within the various language communities,
   nation states, and international organizations.

A.2.2.1.  Dictionary Cleanup

   The dictionary section of SignPuddle 3 is ready to use.  Over sixty
   sign language dictionaries are available, preloaded from SignPuddle
   2.

   These public dictionaries need to be cleaned up for a variety of
   reasons.  Each dictionary has various rights for who can view the
   data, who can add the data, who can edit the data, and who can manage
   the users.

   Any individual or organization can start a work project for their
   sign language.  The tools and data are free to use.  Consider
   becoming a SignWriting Partner or Representative for an open dialog
   and technical support.

   Management of the public sign language dictionaries is volunteer or
   based on the membership of SignWriting Team, Partners,
   Representatives, and Founders.  For any conflicts between editors,
   new dictionaries projects can be created blank or as a copy of an
   existing dictionary.

   One group has started cleaning up the American Sign Language
   dictionary.  Other individuals and groups are invited to start their
   own work.

A.2.2.2.  Handwriting Practice

   Handwriting is personal.  Most often learned in school.  No matter
   the age or education, everyone should develop a quick and natural
   writing style.  Writing SignWriting by hand [SWbyHand] is an
   important skill to learn, with several styles of SignWriting
   [SWScript] to choose from including printing, cursive, and short-
   hand.  The only way for you to develop your handwriting skill is to
   practice.

A.2.2.3.  International Awareness

   Around the world, sign languages should be recognized and supported
   as the communication medium of language communities.  Babies as young
   as six months can start to understand and express with sign language.
   The legal recognition of sign language [SLlegal] varies by country.



Slevinski                 Expires March 2, 2020                [Page 49]

Internet-Draft                     FSW                       August 2019


   The SignWriting Script is a tool for education with sign language.
   It is used throughout the international communities of sign language
   users.  It is required in many Brazilian public schools and Federal
   Universities.

A.2.2.4.  Fund Raising

   SignWriting is free to use.  SignWriting is promoted by the Center
   for Sutton Movement Writing, a 501c3 educational non-profit
   (95-3068257).  We've been successful with developing and spreading
   SignWriting, but we haven't been successful with fundraising.  The
   non-profit has been drastically underfunded since the beginning of
   2019.

   If you have any resources or ideas, we would appreciate the direction
   or partnership.

   Sign languages are human languages.  Around the world, over 140 sign
   languages have been identified.  Of those recognized sign languages,
   we have created and collected digital SignWriting for 60 of those
   sign languages.

   We have a great deal of work that needs to be done.  If you are
   financially able, please consider a donation to the Center for Sutton
   Movement Writing [CSMW] or join with the financial supporters on
   Patreon [SWPatrons].  We have websites to administer, books to print,
   packages to ship, apps to build, and other worthwhile activities that
   are constrained by finances.

A.3.  Collaborations

A.3.1.  SignWriting Communities

   Collaborations with SignWriting happen on a daily basis.  A wide
   variety of topics related to SignWriting are discussed and shared.

A.3.1.1.  Facebook Group

   The Sutton SignWriting Facebook group [SWFacebook] is open to the
   public.  Discuss the SignWriting script and the latest developments.

A.3.1.2.  SignWriting List

   The SignWriting List [SWList] is an email forum.  Discuss the
   SignWriting script and the latest developments.






Slevinski                 Expires March 2, 2020                [Page 50]

Internet-Draft                     FSW                       August 2019


A.3.1.3.  Center for Sutton Movement Writing

   The Center for Sutton Movement Writing [CSMW] is a 501c3 educational
   non-profit, tax-exempt for California and for US Federal.

A.3.1.4.  Wikimedia Sign Language Projects

   Ideas to support SignWriting in general and the Wikimedia projects
   [SWWikimedia] specifically.  Meeting our goals will benefit Wikimedia
   projects, deaf communities, and the SignWriting script.

A.3.2.  Steve Slevinski

   Steve Slevinski is the developer of SignPuddle software and the
   encoder of the Sutton SignWriting standards of 2010, 2012, and 2017.
   Steve is the server administrator for SignPuddle, SignWriting,
   SignBank, and other related sites.

   Steve has created free fonts, documented standards, open source
   projects, and two script encodings for SignWriting.  His work has
   been used to document 60 different sign languages with dictionaries
   and extended texts.  His software and encoding made it possible to
   create four sign language Wikipedias available on the Wikimedia
   Incubator.

   Steve has collaborated with Valerie Sutton since 2004.  From 2004
   till 2018, Steve was employed full-time through the Center for Sutton
   Movement Writing.  Starting in 2019, Steve switched to part-time due
   to the loss of a long-time donor to the non-profit.

   Steve is available for a wide variety of projects related to
   SignWriting.  For tax-exempt projects, he is available through the
   Center for Sutton Movement Writing.  For other projects, Steve uses
   Patreon to support and continue his work.  He currently has the
   financial support of one team member, three partners, and one
   representative.

A.3.2.1.  SignWriting Free

   The SignWriting Script is free to use for any purpose.

   The Sutton SignWriting Standards of the International SignWriting
   Alphabet (ISWA) 2010, Formal SignWriting in ASCII (FSW) 2012, and
   SignWriting in Unicode (SWU) 2017 make it possible to write
   SignWriting as computer encoded text.  These standards encode the
   Block Printing style of SignWriting.  For creation and long term
   storage of sign language written with SignWriting, these standards
   are available to use.



Slevinski                 Expires March 2, 2020                [Page 51]

Internet-Draft                     FSW                       August 2019


   The websites, fonts, software, and data sets are free as well.  We
   believe in SignWriting and its benefits for individuals and language
   communities.  We enjoy helping people with SignWriting and watching
   the growth.

A.3.2.2.  SignWriting Team

   $1 per month

   If you appreciate the work that we have done, consider joining the
   SignWriting Team.  With a large enough team, we can continue our work
   and build a larger platform for SignWriting.  The larger the team,
   the faster and more fully the developments can be realized.

   Each team member shows real world support for SignWriting.  This
   support matters.  It demonstrates a desire to use SignWriting and a
   hope for a future.  Together we will create a world with more
   possibilities and better tools.

A.3.2.3.  SignWriting Partner

   $10 per month

   If you benefit from the standards, resources, and tools we offer,
   consider becoming a SignWriting Partner.  For writers, app
   developers, and server administrators, a SignWriting Partner is
   offered technical support, special requests, and an open dialog.

A.3.2.4.  SignWriting Representative

   $100 per month

   If you promote the Sutton SignWriting standards and you are an
   authority for your sign language, consider becoming a SignWriting
   Representative.  Open to individuals, groups, businesses, schools,
   universities, and government agencies.  A SignWriting Representative
   is given greater power, authority, and recognition.  SignWriting
   Representatives help spread and shape the writing of their sign
   language.

A.3.2.5.  SignWriting Founder

   $1,000 per month

   If you believe in the future of Sutton SignWriting and want to see us
   succeed, consider becoming a SignWriting Founder.  Ensure the future
   of SignWriting with Valerie Sutton and Steve Slevinski.  SignWriting
   Founders are given the greatest amount of access and influence.



Slevinski                 Expires March 2, 2020                [Page 52]

Internet-Draft                     FSW                       August 2019


   SignWriting Founders make a serious statement that sign languages are
   written languages and that SignWriting will endure.

A.4.  Challenges

   The challenges of SignWriting 2020 highlight the issues around
   standardization, exploration, and debate.

   Sutton SignWriting is the universal and complete solution for written
   sign language, ISO 15924 script code "Sgnw".  It has been applied by
   a wide and deep international community of sign language users.
   Sutton SignWriting is an international standard for writing sign
   languages by hand or with computers.  From education to research,
   from entertainment to religion, SignWriting has proven useful because
   people are using it to write signed languages.

   The Sutton SignWriting Standards of 2010, 2012, and 2017 are a
   practical set of components that developed over time during
   SignWriting's forty-plus years of existence.  80% of financial
   supporters on Patreon rate the standards as great. 20% rate the
   standards as almost good enough.  The Internet Draft specification
   has been reviewed and rated a 9/10.

   These standards are presented for SignWriting 2020 as the long term
   storage encoding for Sutton SignWriting.  This work is provided for
   review and consideration.

   Alternatively, there is the potential for a different solution to
   SignWriting.  The solution could extend our current standards, or the
   solutions could radically change aspects of the specification.

   Individuals or groups are invited to pick a challenge and see where
   it goes.  We prefer working solutions, but we are willing to consider
   a partial or alternative idea.  Participants should contribute to the
   SignWriting Symposium 2020 with either an update or a full
   presentation.

A.4.1.  Unicode Integration

   Unicode is a worldwide character standard which only addresses the
   encoding and semantics of text.

   The Unicode Standard [Unicode] is based on eight principles:
   Universal repertoire, Logical order, Efficiency, Unification,
   Characters not glyphs, Dynamic composition, Semantics, Stability,
   Plain Text, Convertibility.





Slevinski                 Expires March 2, 2020                [Page 53]

Internet-Draft                     FSW                       August 2019


   Ideally, SignWriting would be fully integrated into the Unicode
   Standard.  In reality, the process has stalled.  We are looking for
   ideas to restart and reinvigorate the process.

   For additional reading, consider "Pragmatic Unicode, or, How do I
   stop the pain?"  [UnicodePragmatic], "Chinese Characters Are
   Futuristic and the Alphabet Is Old News" [UnicodeChinese], "Analysis
   of the different methods to encode SignWriting in Unicode"
   [UnicodeAnalysis], "SignWriting Layout Discussion v2" [UnicodeIdeas],
   and "New engine feature proposal" [UnicodeGraphite].

A.4.2.  Script Encoding

   Sutton SignWriting is a different class of script than other scripts.
   It uses two-dimensional arrangements of symbols to create signs.

   A viable script encoding for Sutton SignWriting must be able to write
   any sign using a character string.  We are looking for ideas and
   alternate script encodings which can fully define a sign and a
   sentence.

A.4.3.  Font Design

   A font design must transform characters into individual symbols or
   complete signs.

   A usable font must work across operating systems and with the various
   text rendering systems.  For maximum coverage, the Universal Shaping
   Engine offers the best hope.

   We are looking for ideas and alternate font designs which can
   faithfully produce symbol or sign images.

Author's Address

   Steve Slevinski
   Center for Sutton Movement Writing

   Email: slevinski@signwriting.org












Slevinski                 Expires March 2, 2020                [Page 54]