idnits 2.17.1 draft-slevinski-formal-signwriting-08.txt: -(146): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There is 1 instance of lines with non-ascii characters in the document. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 38 instances of too long lines in the document, the longest one being 38 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (31 July 2021) is 1000 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'ABC' is mentioned on line 331, but not defined == Missing Reference: 'A-C' is mentioned on line 334, but not defined -- Looks like a reference, but probably isn't: '123' on line 1688 == Missing Reference: '0-9a-f' is mentioned on line 1688, but not defined == Missing Reference: '0-5' is mentioned on line 1721, but not defined == Missing Reference: '5-9' is mentioned on line 589, but not defined == Missing Reference: '0-9' is mentioned on line 1721, but not defined == Missing Reference: '3-6' is mentioned on line 589, but not defined == Missing Reference: '0-4' is mentioned on line 1721, but not defined == Missing Reference: 'LMR' is mentioned on line 677, but not defined == Missing Reference: '0-5u' is mentioned on line 1187, but not defined == Missing Reference: '0-9a-fu' is mentioned on line 1189, but not defined == Missing Reference: '2-9' is mentioned on line 1721, but not defined == Missing Reference: '3-9' is mentioned on line 1721, but not defined == Missing Reference: '2-3' is mentioned on line 1721, but not defined == Unused Reference: 'SLlegal' is defined on line 1882, but no explicit reference was found in the text == Unused Reference: 'SteveSlevinski' is defined on line 1941, but no explicit reference was found in the text == Unused Reference: 'SW2010' is defined on line 1945, but no explicit reference was found in the text == Unused Reference: 'SW2012' is defined on line 1948, but no explicit reference was found in the text == Unused Reference: 'SW2017' is defined on line 1951, but no explicit reference was found in the text == Unused Reference: 'SWbyHand' is defined on line 1954, but no explicit reference was found in the text == Unused Reference: 'SWScript' is defined on line 2006, but no explicit reference was found in the text == Unused Reference: 'TwoDFont' is defined on line 2017, but no explicit reference was found in the text == Unused Reference: 'TwoDFontProject' is defined on line 2021, but no explicit reference was found in the text == Unused Reference: 'Unicode' is defined on line 2026, but no explicit reference was found in the text == Unused Reference: 'UnicodeAnalysis' is defined on line 2060, but no explicit reference was found in the text == Unused Reference: 'UnicodeChinese' is defined on line 2067, but no explicit reference was found in the text == Unused Reference: 'UnicodeGraphite' is defined on line 2078, but no explicit reference was found in the text == Unused Reference: 'UnicodeIdeas' is defined on line 2084, but no explicit reference was found in the text == Unused Reference: 'UnicodePragmatic' is defined on line 2110, but no explicit reference was found in the text Summary: 3 errors (**), 0 flaws (~~), 31 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Sutton-Slevinski Collaboration S. Slevinski 3 Internet-Draft SignWriting.org 4 Intended status: Informational 31 July 2021 5 Expires: 1 February 2022 7 Formal SignWriting 8 draft-slevinski-formal-signwriting-08 10 Abstract 12 Sutton SignWriting is the universal and complete solution for written 13 sign language, ISO 15924 script code "Sgnw". It has been applied by 14 a wide and deep international community of sign language users. 15 Sutton SignWriting is an international standard for writing sign 16 languages by hand or with computers. From education to research, 17 from entertainment to religion, SignWriting has proven useful because 18 people are using it to write signed languages. 20 Formal SignWriting is one particular computerized design for Sutton 21 SignWriting that envisions a sign as a two part word. Each word is 22 written as a string of characters that can be recognized and 23 processed by regular expressions. The design has been optimized for 24 display, searching, sorting, text flow, and other character 25 processing. 27 Where as American Sign Language is a natural language, Formal 28 SignWriting is a formal language. A formal language uses words and 29 punctuation to form text. Each word is expressed as a string of 30 characters. Well-formed words are governed by the structural rules 31 of the grammar. A formal language is useful in mathematics, computer 32 science, and linguistics. 34 This memo defines a conceptual character encoding map for the 35 Internet community. It is published for reference, examination, 36 implementation, and evaluation. Distribution of this memo is 37 unlimited. 39 Status of This Memo 41 This Internet-Draft is submitted in full conformance with the 42 provisions of BCP 78 and BCP 79. 44 Internet-Drafts are working documents of the Internet Engineering 45 Task Force (IETF). Note that other groups may also distribute 46 working documents as Internet-Drafts. The list of current Internet- 47 Drafts is at https://datatracker.ietf.org/drafts/current/. 49 Internet-Drafts are draft documents valid for a maximum of six months 50 and may be updated, replaced, or obsoleted by other documents at any 51 time. It is inappropriate to use Internet-Drafts as reference 52 material or to cite them other than as "work in progress." 54 This Internet-Draft will expire on 1 February 2022. 56 Copyright Notice 58 Copyright (c) 2021 IETF Trust and the persons identified as the 59 document authors. All rights reserved. 61 This document is subject to BCP 78 and the IETF Trust's Legal 62 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 63 license-info) in effect on the date of publication of this document. 64 Please review these documents carefully, as they describe your rights 65 and restrictions with respect to this document. Code Components 66 extracted from this document must include Simplified BSD License text 67 as described in Section 4.e of the Trust Legal Provisions and are 68 provided without warranty as described in the Simplified BSD License. 70 Table of Contents 72 1. Sutton SignWriting . . . . . . . . . . . . . . . . . . . . . 3 73 1.1. Script . . . . . . . . . . . . . . . . . . . . . . . . . 4 74 1.2. Symbols . . . . . . . . . . . . . . . . . . . . . . . . . 5 75 2. Formal SignWriting . . . . . . . . . . . . . . . . . . . . . 5 76 2.1. Design Principles . . . . . . . . . . . . . . . . . . . . 5 77 2.1.1. Complete . . . . . . . . . . . . . . . . . . . . . . 5 78 2.1.2. Universal . . . . . . . . . . . . . . . . . . . . . . 6 79 2.1.3. Empowering . . . . . . . . . . . . . . . . . . . . . 6 80 2.1.4. Possible . . . . . . . . . . . . . . . . . . . . . . 6 81 2.2. Characters . . . . . . . . . . . . . . . . . . . . . . . 6 82 2.2.1. Formal SignWriting in ASCII (FSW) . . . . . . . . . . 7 83 2.2.2. SignWriting in Unicode (SWU) . . . . . . . . . . . . 7 84 2.3. Building Blocks . . . . . . . . . . . . . . . . . . . . . 7 85 2.3.1. Regular Expressions . . . . . . . . . . . . . . . . . 7 86 2.3.2. Token Patterns . . . . . . . . . . . . . . . . . . . 8 87 2.3.3. Symbols . . . . . . . . . . . . . . . . . . . . . . . 9 88 2.3.4. Numbers . . . . . . . . . . . . . . . . . . . . . . . 13 89 2.4. Two-Part Word . . . . . . . . . . . . . . . . . . . . . . 14 90 2.4.1. Spatial Signbox . . . . . . . . . . . . . . . . . . . 14 91 2.4.2. Temporal Prefix . . . . . . . . . . . . . . . . . . . 18 92 2.5. Styling String . . . . . . . . . . . . . . . . . . . . . 19 93 2.5.1. Entire Sign . . . . . . . . . . . . . . . . . . . . . 20 94 2.5.2. Individual Symbols . . . . . . . . . . . . . . . . . 22 95 2.5.3. SVG Class Names and ID . . . . . . . . . . . . . . . 23 96 2.6. Query Language . . . . . . . . . . . . . . . . . . . . . 24 97 2.6.1. Major Sections . . . . . . . . . . . . . . . . . . . 25 98 2.6.2. Common Elements . . . . . . . . . . . . . . . . . . . 25 99 2.6.3. Searching the Temporal Prefix . . . . . . . . . . . . 26 100 2.6.4. Searching the Spatial Signbox . . . . . . . . . . . . 27 101 2.6.5. Regular Expressions . . . . . . . . . . . . . . . . . 27 102 3. Technology Integration . . . . . . . . . . . . . . . . . . . 29 103 3.1. Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . 29 104 3.1.1. Windows, Linux, and Mac . . . . . . . . . . . . . . . 29 105 3.1.2. Mac and iOS . . . . . . . . . . . . . . . . . . . . . 30 106 3.1.3. Android . . . . . . . . . . . . . . . . . . . . . . . 30 107 3.2. Fonts and CSS . . . . . . . . . . . . . . . . . . . . . . 30 108 3.3. Scalar Vector Graphics . . . . . . . . . . . . . . . . . 31 109 3.3.1. Font Based SVG . . . . . . . . . . . . . . . . . . . 31 110 3.3.2. Stand Alone SVG . . . . . . . . . . . . . . . . . . . 33 111 3.4. HTML and CSS . . . . . . . . . . . . . . . . . . . . . . 33 112 3.4.1. Centering and Sizing . . . . . . . . . . . . . . . . 34 113 3.4.2. Coloring Symbols and Signs . . . . . . . . . . . . . 34 114 3.4.3. Other Effects . . . . . . . . . . . . . . . . . . . . 35 115 3.4.4. Sentences . . . . . . . . . . . . . . . . . . . . . . 35 116 3.5. JavaScript Packages . . . . . . . . . . . . . . . . . . . 36 117 3.5.1. @sutton-signwriting/core . . . . . . . . . . . . . . 36 118 3.5.2. @sutton-signwriting/font-ttf . . . . . . . . . . . . 36 119 3.5.3. @sutton-signwriting/font-db . . . . . . . . . . . . . 37 120 3.5.4. @sutton-signwriting/sgnw-components . . . . . . . . . 37 121 4. Transformations . . . . . . . . . . . . . . . . . . . . . . . 37 122 4.1. Formal SignWriting to Query String . . . . . . . . . . . 37 123 4.2. Query String to Regular Expression . . . . . . . . . . . 38 124 5. Unicode Considerations . . . . . . . . . . . . . . . . . . . 39 125 5.1. Unicode Technical Committee . . . . . . . . . . . . . . . 39 126 5.2. SignWriting in Unicode 8 . . . . . . . . . . . . . . . . 39 127 5.2.1. Official Characters . . . . . . . . . . . . . . . . . 40 128 5.2.2. 17 New Characters . . . . . . . . . . . . . . . . . . 41 129 5.3. SignWriting in Unicode (SWU) . . . . . . . . . . . . . . 42 130 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42 131 7. Security Considerations . . . . . . . . . . . . . . . . . . . 42 132 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 133 Appendix A. A brief history . . . . . . . . . . . . . . . . . . 47 134 A.1. SignWriting . . . . . . . . . . . . . . . . . . . . . . . 47 135 A.2. Steve Slevinski . . . . . . . . . . . . . . . . . . . . . 48 136 A.3. Financial Support . . . . . . . . . . . . . . . . . . . . 49 137 Appendix B. SignWriting General Interest . . . . . . . . . . . . 50 138 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 50 140 1. Sutton SignWriting 142 M548x535S10019452x474S10011476x465S2ea04481x501S2ea48459x509S29b0b514x500S15a0a515x473S1eb20524x489 143 U+1D803 U+1D936 U+1D929 U+4001A U+1D8D6 U+1D8EC U+40012 U+1D8EE 144 U+1D8E3 U+4B7C5 U+1D8F3 U+1D907 U+4B809 U+1D8DD U+1D90F U+49A2C 145 U+1D914 U+1D906 U+421CB U+1D915 U+1D8EB U+45841 U+1D91E U+1D8FB 146 ("𝠃𝤶𝤩񀀚𝣖𝣬񀀒𝣮𝣣񋟅𝣳𝤇񋠉𝣝𝤏񉨬𝤔𝤆񂇋𝤕𝣫񅡁𝤞𝣻") 148 Sutton SignWriting is the universal and complete solution for written 149 sign language. It has been applied by a wide and deep international 150 community of sign languages including: American Sign Language, 151 Arabian Sign Languages, Australian Sign Language, Bolivian Sign 152 Language, Brazilian Sign Language, British Sign Language, Catalan 153 Sign Language, Colombian Sign Language, Czech Sign Language, Danish 154 Sign Language, Dutch Sign Language, Ethiopian Sign Language, Finnish 155 Sign Language, Flemish Sign Language, French-Belgian Sign Language, 156 French Sign Language, German Sign Language, Greek Sign Language, 157 Irish Sign Language, Italian Sign Language, Japanese Sign Language, 158 Malawi Sign Language, Malaysian Sign Language, Maltese Sign Language, 159 Mexican Sign Language, Nepalese Sign Language, New Zealand Sign 160 Language, Nicaraguan Sign Language, Norwegian Sign Language, Peruvian 161 Sign Language, Philippines Sign Language, Polish Sign Language, 162 Portuguese Sign Language, Quebec Sign Language, South African Sign 163 Language, Spanish Sign Language, Swedish Sign Language, Swiss Sign 164 Language, Taiwanese Sign Language, and Tunisian Sign Language. 166 Sutton SignWriting is an international standard for writing sign 167 languages by hand or with computers. From education to research, 168 from entertainment to religion, SignWriting has proven useful because 169 people are using it to write signed languages. 171 1.1. Script 173 Sign language is vastly different than spoken language. Instead of 174 the sequential sounds of the voice, there is a 3-dimensional space 175 with simultaneous action. Sutton SignWriting creates 2-dimensional 176 writing that is visually iconic and full of featural information. 177 This is true on the symbol level and on the sign level. A symbol 178 represents phonemic information and is full of featural information 179 to better understand the phonemes of the symbols. A sign is a 180 2-dimensional arrangement of symbols and is full of featural 181 information to better understand the morphemes of the signs. 183 Punctuation is represented by a single symbol and separates a series 184 of signs into structured sentences. Line breaks should not occur 185 before punctuation. 187 When written vertically, SignWriting can use 3 different lanes: left, 188 middle, and right. The middle lane is the default lane and 189 punctuation is always used in the middle lane. No matter the lane, 190 the center of a sign is aligned with the center of the lane. The 191 left and right lanes are used to represent body weight shifts and are 192 represented by a horizontal offset from the middle lane. Body weight 193 shifts are important to the grammar of sign languages, used for two 194 different grammatical aspects: 1) role shifting during sign language 195 storytelling, and 2) spatial comparisons of two items under 196 discussion. One "role" or "item" is placed on the right side of the 197 body (right lane), and the other on the left side of the body (left 198 lane), and the weight shifts back and forth between the two, with the 199 narrator in the middle (middle lane). 201 1.2. Symbols 203 The Sutton SignWriting Symbols are the building blocks of Sutton 204 SignWriting. The symbols are arranged in 2 dimensions to create the 205 sign images. The symbols are organized with a 16-bit coded character 206 set and a layered hierarchy. The symbols are defined in the 207 International SignWriting Alphabet 2010 (ISWA 2010). The ISWA 2010 208 is a product of the Sutton-Slevinski collaboration. 210 2. Formal SignWriting 212 Formal SignWriting is one particular computerized encoding for Sutton 213 SignWriting. The design is based on character processing with 214 regular expressions. With Formal SignWriting, each sign is written 215 as a two-part word of time and space. 217 Where as American Sign Language is a natural language, Formal 218 SignWriting is a formal language. A formal language uses words and 219 punctuation to form text. Each word is expressed as a string of 220 characters. Well-formed words are governed by the structural rules 221 of the grammar. A formal language is useful in mathematics, computer 222 science, and linguistics. 224 2.1. Design Principles 226 Formal SignWriting was created using four design principles: 227 completeness, universality, empowerment, and possibility. 229 2.1.1. Complete 231 Sutton SignWriting is a complex script with unique requirements and 232 processing. Formal SignWriting supports all of the structures 233 inherent to the script. 235 2.1.2. Universal 237 Sutton SignWriting can be used to write any sign language, natural or 238 constructed. Formal SignWriting supports all sign languages without 239 requiring the addition of new characters or updated fonts. Whereas 240 chinese encoded text is an ever expanding set of ideographs which 241 require new fonts and possiblly new characters, SignWriting uses a 242 closed set for characters with completed fonts that do not need to be 243 updated. 245 2.1.3. Empowering 247 Sutton SignWriting is flexible enough to let each writer decide how 248 they want to write their signs. Formal SignWriting enable the 249 writers to decide for themselves the spelling of their respective 250 signs. 252 2.1.4. Possible 254 Sutton SignWriting is a practical script that makes it possible to 255 write sign language. Formal SignWriting is a practical encoding 256 because it works with existing font technologies across operating 257 systems. 259 2.2. Characters 261 Any sign can be written as a string of characters. Formal 262 SignWriting has two sets of characters that can be used: Formal 263 SignWriting in ASCII (FSW) and SignWriting in Unicode (SWU). These 264 sets are isomorphic with an easy bi-directional conversion between 265 the two sets. 267 +=================+==================+====================+ 268 | Description | FSW Characters | SWU Characters | 269 +=================+==================+====================+ 270 | Sequence Marker | A | U+1D800 | 271 +-----------------+------------------+--------------------+ 272 | Signbox Markers | B, L, M, R | U+1D801 to U+1D804 | 273 +-----------------+------------------+--------------------+ 274 | Numbers | 250 to 749 | U+1D80C to U+1D9FF | 275 +-----------------+------------------+--------------------+ 276 | Symbols | S10000 to S38b07 | U+40001 to U+4F428 | 277 +-----------------+------------------+--------------------+ 279 Table 1 281 2.2.1. Formal SignWriting in ASCII (FSW) 283 Formal SignWriting in ASCII (FSW) was released in January 2012 and 284 has been stable since. FSW only uses characters from the ASCII 285 subset of "ABLMRS0123456789xabcdef". 287 2.2.2. SignWriting in Unicode (SWU) 289 SignWriting in Unicode (SWU) was first published in October 2016 and 290 officially submitted to the Unicode Technical Committee in July 2017. 291 SWU is not part of the Unicode standard. 293 SignWriting in Unicode (SWU) is an experimental Unicode design that 294 is supported by the Sutton SignWriting resources. This alternate 295 encoding overwrites the Sutton SignWriting block in Unicode and uses 296 plane 4 for the SignWriting symbols. 298 2.3. Building Blocks 300 The mathematical words of Formal SignWriting are plain text strings 301 of characters from either character set: Formal SignWriting in ASCII 302 (FSW) or SignWriting in Unicode (SWU). 304 2.3.1. Regular Expressions 306 Regular Expressions define string matching criteria. Regular 307 Expressions offer fast processing and wide support on the various 308 platforms. 310 Formal SignWriting is defined with regular expressions. Formal 311 languages and regular expressions are used to solve fundamental 312 problems. 314 Regular Expression Basics 316 +============+======================+=====================+ 317 | Characters | Description | Example | 318 +============+======================+=====================+ 319 | * | Match a literal 0 or | ABC* matches AB, | 320 | | more times | ABC, ABCC, ... | 321 +------------+----------------------+---------------------+ 322 | + | Match a literal 1 or | ABC+ matches ABC, | 323 | | more times | ABCC, ABCCC, ... | 324 +------------+----------------------+---------------------+ 325 | ? | Match a literal 0 or | ABC? matches AB or | 326 | | 1 times | ABC | 327 +------------+----------------------+---------------------+ 328 | {#} | Match a literal "#" | AB{2} matches ABB | 329 | | times | | 330 +------------+----------------------+---------------------+ 331 | [ ] | Match any single | [ABC] matches A, B, | 332 | | literal from a list | or C | 333 +------------+----------------------+---------------------+ 334 | [ - ] | Match any single | [A-C] matches A, B, | 335 | | literal in a range | or C | 336 +------------+----------------------+---------------------+ 337 | ( ) | Creates a group for | A(BC)+ matches ABC, | 338 | | matching | ABCBC, ABCBCBC, ... | 339 +------------+----------------------+---------------------+ 340 | ( | ) | Matches one of | (AB|BC|CD) will | 341 | | several alternatives | match AB, BC, or CD | 342 +------------+----------------------+---------------------+ 343 | (?: ) | Creates a non- | A(?:BC) will match | 344 | | capturing group | ABC as one group | 345 +------------+----------------------+---------------------+ 347 Table 2 349 2.3.2. Token Patterns 351 The Formal SignWriting encoding model makes explicit those features 352 which can be effectively and efficiently processed. The mathematical 353 names are structured with 11 different tokens. They can be grouped 354 in 4 layers: the 5 structural makers (A, B, L, M, R), the 3 base 355 symbol ranges (w, s, P), the 2 modifier indexes (i, o), and the 356 numbers (n). 358 The Tokens of Formal SignWriting 360 +=======+===============================+ 361 | Token | Description | 362 +=======+===============================+ 363 | A | Sequence Marker | 364 +-------+-------------------------------+ 365 | B | Signbox Marker | 366 +-------+-------------------------------+ 367 | L | Left Lane Marker | 368 +-------+-------------------------------+ 369 | M | Middle Lane Marker | 370 +-------+-------------------------------+ 371 | R | Right Lane Marker | 372 +-------+-------------------------------+ 373 | w | Writing BaseSymbols | 374 +-------+-------------------------------+ 375 | s | Detailed Location BaseSymbols | 376 +-------+-------------------------------+ 377 | P | Punctuation BaseSymbols | 378 +-------+-------------------------------+ 379 | i | Fill Modifiers | 380 +-------+-------------------------------+ 381 | o | Rotation Modifiers | 382 +-------+-------------------------------+ 383 | n | Number from 250 to 749 | 384 +-------+-------------------------------+ 386 Table 3 388 These tokens are used in patterns to form written sign language. 390 2.3.3. Symbols 392 Symbols can be described with 3 tokens: base symbol, fill modifier, 393 and rotation modifier. 395 Symbol Tokens 397 +=========+========================================================+ 398 | Token | Description | 399 | Pattern | | 400 +=========+========================================================+ 401 | w | Writing BaseSymbols. | 402 +---------+--------------------------------------------------------+ 403 | s | Detailed Location BaseSymbols. | 404 +---------+--------------------------------------------------------+ 405 | P | Punctuation BaseSymbols. | 406 +---------+--------------------------------------------------------+ 407 | i | Fill Modifiers. | 408 +---------+--------------------------------------------------------+ 409 | o | Rotation Modifiers. | 410 +---------+--------------------------------------------------------+ 411 | wio | A writing symbol as 3 tokens of writing base, fill | 412 | | modifier and rotation modifier. Writing symbols can | 413 | | be used in the spatial signbox or the temporal prefix. | 414 +---------+--------------------------------------------------------+ 415 | [ws]io | A writing symbol or a detailed location symbol as 3 | 416 | | tokens of base, fill modifier, and rotation modifier. | 417 | | Writing symbols and detail location symbols can be | 418 | | used in the temporal prefix. | 419 +---------+--------------------------------------------------------+ 420 | Pio | A punctuation symbol as 3 tokens of punctuation base, | 421 | | fill modifier, and rotation modifier. Punctuation | 422 | | symbols divide signs into sentences. | 423 +---------+--------------------------------------------------------+ 425 Table 4 427 There are a variety of symbol types that are used for different 428 purposes. 430 Symbol Types and Descriptions 432 +=============+=============================================+ 433 | Type | Description | 434 +=============+=============================================+ 435 | all symbols | All symbols used in Formal SignWriting. | 436 +-------------+---------------------------------------------+ 437 | writing | Symbols that can be used in the spatial | 438 | | signbox or the temporal prefix. | 439 +-------------+---------------------------------------------+ 440 | hand | Various handshapes | 441 +-------------+---------------------------------------------+ 442 | movement | Contact symbols, small finger movements, | 443 | | straight arrows, curved arrows and circles. | 444 +-------------+---------------------------------------------+ 445 | dynamic | Dynamic symbols are used to give the | 446 | | "feeling" or "tempo" to movement. | 447 +-------------+---------------------------------------------+ 448 | head | Symbols for the head and face. | 449 +-------------+---------------------------------------------+ 450 | hcenter | Used to determine the horizontal center of | 451 | | a sign. Same as the head type. | 452 +-------------+---------------------------------------------+ 453 | vcenter | Use to determine the vertical center of a | 454 | | sign. Includes the head and trunk types. | 455 +-------------+---------------------------------------------+ 456 | trunk | Symbols for torso movement, shoulders, and | 457 | | hips. | 458 +-------------+---------------------------------------------+ 459 | limb | Symbols for limbs and fingers. | 460 +-------------+---------------------------------------------+ 461 | location | Detailed location symbols can only be used | 462 | | in the temporal prefix. | 463 +-------------+---------------------------------------------+ 464 | punctuation | Punctual symbols are used to divide signs | 465 | | into sentences. | 466 +-------------+---------------------------------------------+ 468 Table 5 470 Symbol types occur in specific ranges depending on the characters 471 involved. 473 Symbol Types and Ranges 475 +=============+=============+==================+ 476 | Type | FSW | SWU | 477 +=============+=============+==================+ 478 | all symbols | S100 - S38b | U+40001 -U+4F480 | 479 +-------------+-------------+------------------+ 480 | writing | S100 - S37e | U+40001 -U+4EFA0 | 481 +-------------+-------------+------------------+ 482 | hand | S100 - 204 | U+40001 -U+461E0 | 483 +-------------+-------------+------------------+ 484 | movement | S205 - S2f6 | U+461E1 -U+4BCA0 | 485 +-------------+-------------+------------------+ 486 | dynamic | S2f7 - S2fe | U+4BCA1 -U+4BFA0 | 487 +-------------+-------------+------------------+ 488 | head | S2ff - S36c | U+4BFA1 -U+4E8E0 | 489 +-------------+-------------+------------------+ 490 | hcenter | S2ff - S36c | U+4BFA1 -U+4E8E0 | 491 +-------------+-------------+------------------+ 492 | vcenter | S2ff - S375 | U+4BFA1 -U+4EC40 | 493 +-------------+-------------+------------------+ 494 | trunk | S36d - S375 | U+4E8E1 -U+4EC40 | 495 +-------------+-------------+------------------+ 496 | limb | S376 - S37e | U+4EC41 -U+4EFA0 | 497 +-------------+-------------+------------------+ 498 | location | S37f - S386 | U+4EFA1 -U+4F2A0 | 499 +-------------+-------------+------------------+ 500 | punctuation | S387 - S38b | U+4F2A1 -U+4F480 | 501 +-------------+-------------+------------------+ 503 Table 6 505 2.3.3.1. FSW Symbols 507 Symbol keys are 6 characters long. The first character of a symbol 508 key is always "S". The next 3 characters identify the symbol base. 509 The last two characters identify the fill and rotation modifiers 510 respectively. 512 Symbol Key Definition 514 +================================+=======================+ 515 | Regular Expression | Description | 516 +================================+=======================+ 517 | S | Start of symbol key | 518 +--------------------------------+-----------------------+ 519 | [123][0-9a-f]{2} | Symbol key base | 520 +--------------------------------+-----------------------+ 521 | [0-5] | Fill modifier | 522 +--------------------------------+-----------------------+ 523 | [0-9a-f] | Rotation modifier | 524 +--------------------------------+-----------------------+ 525 | S[123][0-9a-f]{2}[0-5][0-9a-f] | Symbol key definition | 526 +--------------------------------+-----------------------+ 528 Table 7 530 2.3.3.2. SWU Symbols 532 The 37,811 symbols of the International SignWriting Alphabet 2010 are 533 uniquely identified with Unicode characters in the range U+40001 to 534 U+4F428. 536 A simple formula transforms a symbol key into a codepoint. Given a 537 symbol key as variable "key", in JavaScript the function is defined 538 as: 540 var code = ((parseInt(key.slice(1,4),16) - 256) * 96) + 541 ((parseInt(key.slice(4,5),16))*16) + parseInt(key.slice(5,6),16) + 542 1; 544 2.3.4. Numbers 546 The numbers encode the ruler principle with characters. The ruler 547 principle is built in automatically for scripts written sequentially 548 in one dimension. The number characters are needed to specify the 549 spatial relationship between symbols. 551 Both FSW and SWU use a restricted range of 500 numbers between 250 552 and 749. 554 Cartesian Coordinates can be described with 2 tokens: number and 555 number. These numbers represent the X and Y coordinates 556 respectively. 558 Coordinate Tokens 560 +================+=============================================+ 561 | Token Patterns | Description | 562 +================+=============================================+ 563 | n | Number from 250 to 749 | 564 +----------------+---------------------------------------------+ 565 | nn | Coordinate with X and Y values as 2 numbers | 566 +----------------+---------------------------------------------+ 568 Table 8 570 2.3.4.1. FSW Numbers 572 Formal SignWriting in ASCII has two definitions for a number. The 573 more general definition simply defines 3 digits together with a 574 potential range of 1000. A more explicit definition correctly 575 restricts the numbers to 500 possibilities in the 250 to 749 range. 576 The general coordinate definition is adequate for processing. 578 An X,Y coordinate is created by using the letter "x" to join two FSW 579 numbers. 581 General 3 digit number definition: [0-9]{3} 583 General coordinate definition: [0-9]{3}x[0-9]{3} 585 Explicit number definition from 250 to 749: (2[5-9][0-9]|[3-6][0-9]{ 586 2}|7[0-4][0-9]) 588 Explicit coordinate definition: 589 (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} 590 |7[0-4][0-9]) 592 2.3.4.2. SWU Numbers 594 SignWriting in Unicode has a single definition for a number. Each 595 number is uniquely identified with Unicode characters in the range 596 U+1D80C to U+1D9FF. A coordinate is defined as 2 numbers together. 598 2.4. Two-Part Word 600 Formal SignWriting envisions a sign as a two-part word of time and 601 space. The two-dimensional appearance of a sign is written in the 602 spatial signbox as an objective arrangement. The one-dimensional 603 order of a sign is written in the temporal prefix as a subjective 604 analysis. 606 2.4.1. Spatial Signbox 608 The spatial signbox is a two-dimensional cluster of symbols. The 609 position of each symbol is determined by the writer and defined using 610 Cartesian Coordinates that represent the top-left of the symbol 611 image. Formal numbers range from 250 to 749. 613 2-dimensional space does not have a normative 1-dimensional order. 614 When symbols overlap, the relative order of the overlapping symbols 615 is important. Symbols written first appear underneath symbols that 616 are written later. Otherwise, the exact string order of the spatial 617 symbols is unpredictable. The spatial signbox is neither formatting 618 nor style and represents meaning that is beyond the temporal prefix. 620 Y Axis 621 | 250 622 | 623 | 624 | 625 | 626 | 627 X Axis | 628 -----------+------------ 629 250 | 749 630 | 631 | 632 | 633 | 634 | 635 | 749 637 The Spatial Signbox can be described with 8 tokens. 639 Spatial Signbox Tokens 641 +=================+==========================================+ 642 | Token Pattern | Description | 643 +=================+==========================================+ 644 | B | Signbox Marker | 645 +-----------------+------------------------------------------+ 646 | L | Left Lane Marker | 647 +-----------------+------------------------------------------+ 648 | M | Middle Lane Marker | 649 +-----------------+------------------------------------------+ 650 | R | Right Lane Marker | 651 +-----------------+------------------------------------------+ 652 | w | Writing BaseSymbols | 653 +-----------------+------------------------------------------+ 654 | i | Fill Modifiers | 655 +-----------------+------------------------------------------+ 656 | o | Rotation Modifiers | 657 +-----------------+------------------------------------------+ 658 | n | Number from 250 to 749 | 659 +-----------------+------------------------------------------+ 660 | wio | A writing symbol as 3 tokens of writing | 661 | | base, fill modifier and rotation | 662 | | modifier | 663 +-----------------+------------------------------------------+ 664 | nn | Coordinate with X and Y values as 2 | 665 | | numbers | 666 +-----------------+------------------------------------------+ 667 | wionn | A spatial symbol as 5 tokens, with 3 | 668 | | tokens for a writing symbol and 2 tokens | 669 | | for coordinates of top left placement | 670 +-----------------+------------------------------------------+ 671 | (wionn)* | Zero or more spatial symbols | 672 +-----------------+------------------------------------------+ 673 | Bnn(wionn)* | A Signbox with a preprocessed maximum | 674 | | coordinate and a list of spatial symbols | 675 | | used for horizontal writing | 676 +-----------------+------------------------------------------+ 677 | [LMR] | A lane marker: either left, middle or | 678 | | right. | 679 +-----------------+------------------------------------------+ 680 | [LMR]nn(wionn)* | A Signbox in either the left, middle, or | 681 | | right lane with a preprocessed maximum | 682 | | coordinate and a list of spatial symbols | 683 | | used for vertical writing | 684 +-----------------+------------------------------------------+ 686 Table 9 688 The spatial signbox is assigned to a lane, has a preprocessed maximum 689 coordinate and zero or more writing symbols with X and Y coordinates 690 for each symbol. 692 2.4.1.1. Bounding Box 694 The symbols do not have a consistent width or height. The center of 695 a symbol can be safely assumed to be at half-width and half-height. 696 A bounding box for a symbol is based on the symbol width and height. 697 Each symbol has a defined width and height [SWFontSource] in a text 698 file with 37,811 lines. Alternately, the symbol width and height can 699 be calculated by analyzing the glyphs in a TTF font file, using 700 JavaScript or other language. 702 The bounding box of a sign is a tight box around the symbols. The 703 bounding box is used to determine the width and height of a sign. 705 The bounding box of a sign consists of four values: Minimum X, 706 Minimum Y, Maximum X and Maximum Y. The values of the bounding box 707 is taken straight from the coordinates in a Formal SignWriting word. 709 2.4.1.2. Maximum Coordinate 711 The maximum coordinate for a Signbox is pre-calculated to simplify 712 layout for width, height, and center. For each symbol, the width of 713 height of that symbol is added to the coordinate position of that 714 symbol. These new coordinate values represent the bottom-right 715 coordinate of each symbol bounding box. The maximum X value is 716 joined with the maximum Y value to determine the maximum coordinate. 718 2.4.1.3. Centering a Sign 720 To simplify layout and improve 2-dimensional searching, every sign 721 has a normalized center based on symbol type, size, and mathematical 722 formula. The vertical center is based on the center of the bounding 723 box around the head symbols. The horizontal center is based on the 724 center of the bounding box around the head and trunk symbols. If a 725 sign doesn't contain head or trunk symbols, then the bounding box of 726 all symbols is used. For the symbol ranges see Table 6 728 Once the center of a sign has been determined, the symbols are moved 729 so that the center is coordinate 500,500. 731 2.4.2. Temporal Prefix 733 The temporal prefix is a one-dimensional list of symbols that is 734 written by an author. The arrangement of the symbols is based on a 735 particular theory of sorting. The order of the symbols in the 736 temporal prefix is significant because sorting is possible with a 737 binary string comparison. The temporal prefix is neither formatting 738 nor style and represents meaning not found in the spatial signbox. 740 Signs are written in 2-dimensional space which does not have a 741 normative 1-dimensional order. Any 1-dimensional order of 742 2-dimensional space is subjective. Some 1-dimensional orders may be 743 canonical according to a particular theory, but there are a variety 744 of theories on setting a 1-dimensional order. 746 The temporal prefix will use the same symbols that are used in the 747 spatial signbox, but it does not need to use all of them and it is 748 not limited to only those symbols. The temporal prefix is a list of 749 writing symbols and/or detailed location symbols that identify 750 temporal order and additional analysis. A valid sequence must 751 contain at least one symbol and can not contain punctuation. 753 The temporal prefix allows for sorting that is universally supported 754 through binary string comparison. 756 There are several theories on the best way to structure a temporal 757 prefix. The most productive is based on the SignSpelling Sequence 758 theory of Valerie Sutton. A temporal prefix is structured as a 759 series of beginning handshapes, followed by transitional movements 760 and dynamics that lead to the next set of handshapes. This pattern 761 continues until the end of the sign. The last section of the 762 temporal prefix should contain symbols of type "head", "trunk", and 763 "limb". 765 Detailed location symbols of type "location" can be used in a 766 temporal prefix, but are rarely (if ever) needed for general writing. 768 A temporal prefix can be described with 5 tokens. 770 Temporal Prefix Tokens 772 +================+===================================+ 773 | Token Patterns | Description | 774 +================+===================================+ 775 | A | Sequence Marker | 776 +----------------+-----------------------------------+ 777 | w | Writing BaseSymbols | 778 +----------------+-----------------------------------+ 779 | s | Detailed Location BaseSymbols | 780 +----------------+-----------------------------------+ 781 | i | Fill Modifiers | 782 +----------------+-----------------------------------+ 783 | o | Rotation Modifiers | 784 +----------------+-----------------------------------+ 785 | (A([ws]io)+)? | An optional temporal prefix to be | 786 | | used as a prefix for a Signbox | 787 +----------------+-----------------------------------+ 789 Table 10 791 The temporal prefix starts with a sequence marker and includes an 792 ordered list of writing symbols and detailed locations. 794 2.5. Styling String 796 The styling string of Formal SignWriting uses a lite markup to define 797 a variety of styling options. The styling string is the same for FSW 798 and SWU. The entire sign can be customized for padding, coloring, 799 and size. Individual symbols within a sign can be customized for 800 coloring and size. For SVG output, class names and IDs can be 801 defined. A styling string can be added to the end of any Formal 802 SignWriting string to style a particular sign. 804 Colors can be written as CSS color names or as color hex values. 806 CSS Color Names: [a-zA-Z]+ 808 Color Hex Values: [0-9a-fA-F]{3}([0-9a-fA-F]{3})? 810 The styling string is divided into 3 sections: one for the entire 811 sign, one for individual symbols, and one for SVG class names and ID. 812 The styling string starts with a single dash, after which is the 813 section about the entire sign. A second dash, if present, marks the 814 start of the section about the individual symbols. A third dash, if 815 present, marks the start of the section about the SVG class names and 816 ID. The order of the styling options is important. 818 Styling String: 819 -C?(P[0-9]{2})?(G_([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[a-zA- 820 Z]+)_)?(D_([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[a-zA-Z]+)(,([0-9a-fA- 821 F]{3}([0-9a-fA-F]{3})?|[a-zA- 822 Z]+))?_)?(Z([0-9]+(\.[0-9]+)?|x))?(-(D[0-9]{2}_([0-9a-fA-F]{3}([0- 823 9a-fA-F]{3})?|[a-zA-Z]+)(,([0-9a-fA-F]{3}([0-9a-fA-F]{3})?|[a-zA- 824 Z]+))?_)*(Z[0-9]{2},[0-9]+(\.[0-9]+)?(,[0-9]{3}x[0-9]{3})?)*)?(-- 825 ?[_a-zA-Z][_a-zA-Z0-9-]{0,100}( -?[_a-zA-Z][_a-zA- 826 Z0-9-]{0,100})*!([a-zA-Z][_a-zA-Z0-9-]{0,100}!)?)? 828 2.5.1. Entire Sign 830 There are several options for styling an entire sign. 832 C Colorize 834 P Padding 836 G Background 838 D Detail colors 840 Z Zoom level 842 2.5.1.1. Colorize 844 Colorizing a sign will set the color of each symbol based on its 845 classification. 847 Hand 0000CC 849 Movement CC0000 851 Dynamic FF0099 853 Head 006600 855 Body 000000 857 Detailed Location 884411 859 Punctuation FF9900 861 +================+==================================+ 862 | Styling String | Description | 863 +================+==================================+ 864 | -C | Colorize the symbols of the sign | 865 +----------------+----------------------------------+ 867 Table 11 869 2.5.1.2. Padding 871 Padding is applied around the entire sign. A two-digit number is 872 used to set the padding. 874 +================+================================+ 875 | Styling String | Description | 876 +================+================================+ 877 | -P01 | A padding of 1 around the sign | 878 +----------------+--------------------------------+ 880 Table 12 882 2.5.1.3. Background 884 By default, the background of a sign is transparent. The background 885 color can be set with a CSS color name or with a color hex value. 886 The color name or value must be surrounded by underscores. 888 +================+===================================+ 889 | Styling String | Description | 890 +================+===================================+ 891 | -G_lightblue_ | Background color of light blue. | 892 +----------------+-----------------------------------+ 893 | -G_f00_ | Background color as 3 hex values. | 894 +----------------+-----------------------------------+ 895 | -G_ff0000_ | Background color as 6 hex values. | 896 +----------------+-----------------------------------+ 898 Table 13 900 2.5.1.4. Detail Colors 902 By default, each symbol has a line color of black and a fill color of 903 white. The line color for all of the symbols can be set with a CSS 904 color name or with a color hex value. The color name or value must 905 be surrounded by underscores. Setting the fill color is optional. 906 To set the fill color, put a comma and the fill color after the line 907 color but before the closing underscore. 909 +================+================================================+ 910 | Styling String | Description | 911 +================+================================================+ 912 | -D_red_ | Line color of red. | 913 +----------------+------------------------------------------------+ 914 | -D_red,yellow_ | Line color of red with a fill color of yellow. | 915 +----------------+------------------------------------------------+ 917 Table 14 919 2.5.1.5. Zoom Level 921 By default, a sign is set to zoom level 1. The zoom level can be set 922 with an integer or a decimal number. 924 Alternatively, the zoom level can be set to lower-case 'x', for 925 extendable. The SVG created will not specify the width or height, so 926 that the sign image will fill whatever container it is placed inside. 928 +================+==========================+ 929 | Styling String | Description | 930 +================+==========================+ 931 | -Z2 | Zoom level of 2 | 932 +----------------+--------------------------+ 933 | -Z15.7 | Zoom level of 15.7 | 934 +----------------+--------------------------+ 935 | -Zx | Zoom level of extendable | 936 +----------------+--------------------------+ 938 Table 15 940 2.5.2. Individual Symbols 942 There are two options for styling individual symbols. Individual 943 symbols are identified by a two-digit number, which identifies the 944 order the symbol appears in the Signbox. 946 D Detail colors 948 Z Zoom level 950 2.5.2.1. Detail Colors 952 By default, each symbol has a line color of black and a fill color of 953 white. The line color for an individual symbol can be set with a CSS 954 color name or with a color hex value. The color name or value must 955 be surrounded by underscores. Setting the fill color is optional. 956 To set the fill color, put a comma and the fill color after the line 957 color but before the closing underscore. 959 +======================+====================================+ 960 | Styling String | Description | 961 +======================+====================================+ 962 | --D01_red_ | First symbol line color of red. | 963 +----------------------+------------------------------------+ 964 | --D01_red,yellow_ | First symbol line color of red | 965 | | with a fill color of yellow. | 966 +----------------------+------------------------------------+ 967 | --D01_red_D02_green_ | First symbol line color of red and | 968 | | second symbol line color of green. | 969 +----------------------+------------------------------------+ 971 Table 16 973 2.5.2.2. Zoom Level 975 By default, each symbol is set to zoom level 1. The zoom level of 976 individual symbols can be set with an integer or a decimal number. 978 Additionally, an offset coordinate can be specified with an 979 individual symbol's zoom level. The offset coordinate of 500x500 is 980 considered no offset for either the x or y value. 982 +===================+=======================================+ 983 | Styling String | Description | 984 +===================+=======================================+ 985 | --Z03,2 | Third symbol zoom level of 2 | 986 +-------------------+---------------------------------------+ 987 | --Z04,15.7 | Fourth symbol zoom level of 15.7 | 988 +-------------------+---------------------------------------+ 989 | --Z04,1.5,480x500 | Fourth symbol zoom level of 1.5 with | 990 | | a -20 offset applied to the X value | 991 | | of the symbol's placement coordinate. | 992 +-------------------+---------------------------------------+ 994 Table 17 996 2.5.3. SVG Class Names and ID 998 When using SVG, there are two additional styling options of class 999 names and ID. 1001 {class names}! SVG Class Names 1003 {ID}! SVG ID 1005 Both class names and ID use a restricted ASCII subset. 1007 class names -?[_a-zA-Z][_a-zA-Z0-9-]{0,100}( -?[_a-zA-Z][_a-zA- 1008 Z0-9-]{0,100})* 1010 ID [a-zA-Z][_a-zA-Z0-9-]{0,100} 1012 Each SVG can be created with a list of class names separated by 1013 spaces, ending in an exclamation (!) mark. After the class names 1014 exclamation mark, an ID can be written followed by another 1015 exclamation mark. 1017 +======================+==================================+ 1018 | Styling String | Description | 1019 +======================+==================================+ 1020 | ---glowing! | A class name of "glowing" | 1021 +----------------------+----------------------------------+ 1022 | ---flashing primary! | Two class names of "flashing" | 1023 | | and "primary". | 1024 +----------------------+----------------------------------+ 1025 | ---!cursor! | SVG created with an ID of | 1026 | | "cursor" | 1027 +----------------------+----------------------------------+ 1028 | ---flashing!cursor! | SVG created with a class name of | 1029 | | "flashing" and an ID of "cursor" | 1030 +----------------------+----------------------------------+ 1032 Table 18 1034 2.6. Query Language 1036 The query language of Formal SignWriting allows for precise searching 1037 of signs written in either FSW or SWU. A query string is a concise 1038 representation for a much larger and detailed set of regular 1039 expressions. The regular expressions can be used to quickly and 1040 accurately search large files and databases containing Formal 1041 SignWriting. 1043 A filter and repeat pattern of searching is used as a series of match 1044 criteria. A file, database, or text input is searched using a 1045 sequence of steps. Each step applies a single match criteria. 1046 Matching results are collated and the next search criteria is 1047 applied. The pattern of searching the previous results continues 1048 until all regular expressions have been used. 1050 The query language of Formal SignWriting is different for FSW and 1051 SWU, but allows for the same searching options. Query strings 1052 contain three major sections: prefix, signbox, and styling. The 1053 prefix section and the signbox section mostly use the same elements. 1055 2.6.1. Major Sections 1057 There are three major sections of the query string: the prefix, the 1058 signbox, and the styling string. 1060 Query Language Sections 1062 +=======+================+======================================+ 1063 | Token | Name | Description | 1064 +=======+================+======================================+ 1065 | Q | Query marker | The start of a query string | 1066 +-------+----------------+--------------------------------------+ 1067 | P | Prefix marker | The searching of the temporal prefix | 1068 +-------+----------------+--------------------------------------+ 1069 | X | Signbox marker | The searching of the spatial signbox | 1070 +-------+----------------+--------------------------------------+ 1071 | Y | Styling string | Include the styling string in search | 1072 | | marker | results | 1073 +-------+----------------+--------------------------------------+ 1075 Table 19 1077 A query string always starts with the query marker (Q), followed by 1078 an optional prefix marker (P), followed by an optional signbox marker 1079 (X), followed by an optional styling string marker. 1081 Full query string definition: QP?X?Y? 1083 2.6.2. Common Elements 1085 There are several common elements used for searching the prefix and 1086 the signbox. 1088 Query Common Elements 1090 +=======+====================+=================================+ 1091 | Token | Name | Description | 1092 +=======+====================+=================================+ 1093 | B | Symbol base marker | A symbol indicator that doesn't | 1094 | | | specify fill or rotation | 1095 +-------+--------------------+---------------------------------+ 1096 | f | Fill modifier | A modifier that specifies a | 1097 | | | symbol fill | 1098 +-------+--------------------+---------------------------------+ 1099 | r | Rotation modifier | A modifier that specifies a | 1100 | | | symbol rotation | 1101 +-------+--------------------+---------------------------------+ 1102 | S | Symbol marker | A marker that indicates a | 1103 | | | symbol | 1104 +-------+--------------------+---------------------------------+ 1105 | R | Range marker | A marker that starts a range | 1106 | | | definition | 1107 +-------+--------------------+---------------------------------+ 1108 | I | Item marker | An item can be either a symbol | 1109 | | | or a range definition | 1110 +-------+--------------------+---------------------------------+ 1111 | O | Or marker | A marker that connects a series | 1112 | | | of items | 1113 +-------+--------------------+---------------------------------+ 1114 | L | List marker | A marker that indicates a list | 1115 | | | of connected items | 1116 +-------+--------------------+---------------------------------+ 1118 Table 20 1120 Common definitions used in the temporal prefix and the spatial 1121 signbox. 1123 Symbol definition: S = Bfr 1125 Range definition: RBB 1127 Item definition: I = (S|RBB) 1129 List definition: L = I(OI)* 1131 2.6.3. Searching the Temporal Prefix 1133 Searching the temporal prefix requires two additional tokens. 1135 Prefix Elements 1137 +=======+=====================+=============================+ 1138 | Token | Name | Description | 1139 +=======+=====================+=============================+ 1140 | A | Prefix start marker | A marker that indicates the | 1141 | | | start of prefix searching | 1142 +-------+---------------------+-----------------------------+ 1143 | T | Prefix end marker | A marker that indications | 1144 | | | the enf of prefix searching | 1145 +-------+---------------------+-----------------------------+ 1147 Table 21 1149 Definition of temporal prefix searching. 1151 Prefix searching definition: P = ((AL+)?T)? 1153 2.6.4. Searching the Spatial Signbox 1155 Searching the spatial signbox requires two additional tokens. 1157 Signbox Elements 1159 +=======+===================+======================================+ 1160 | Token | Name | Description | 1161 +=======+===================+======================================+ 1162 | C | Coordinate marker | A marker that indicates a coordinate | 1163 +-------+-------------------+--------------------------------------+ 1164 | V | Variance marker | A marker that indicates a custom | 1165 | | | variance for location searching | 1166 +-------+-------------------+--------------------------------------+ 1168 Table 22 1170 Definition of spatial signbox searching. 1172 Signbox searching definition: X = (LC?)*V? 1174 2.6.5. Regular Expressions 1176 2.6.5.1. FSW Query Regular Expressions 1178 FSW Query Elements 1180 +=====+=========+===================================================+ 1181 |Token|Variable | Regular Expression | 1182 +=====+=========+===================================================+ 1183 |Q |Q | Q | 1184 +-----+---------+---------------------------------------------------+ 1185 |B |base | [123][0-9a-f]{2} | 1186 +-----+---------+---------------------------------------------------+ 1187 |f |fill | [0-5u] | 1188 +-----+---------+---------------------------------------------------+ 1189 |r |rotation | [0-9a-fu] | 1190 +-----+---------+---------------------------------------------------+ 1191 |S |symbol | S${base}${fill}${rotation} | 1192 +-----+---------+---------------------------------------------------+ 1193 |R |range | R${base}${base} | 1194 +-----+---------+---------------------------------------------------+ 1195 |I |item | (?:${symbol}|${range}) | 1196 +-----+---------+---------------------------------------------------+ 1197 |O |or | o | 1198 +-----+---------+---------------------------------------------------+ 1199 |L |list | ${item}(?:${or}${item})* | 1200 +-----+---------+---------------------------------------------------+ 1201 |A |A | A | 1202 +-----+---------+---------------------------------------------------+ 1203 |T |T | T | 1204 +-----+---------+---------------------------------------------------+ 1205 |P |prefix | (?:${A}(?:${list})+)?${T} | 1206 +-----+---------+---------------------------------------------------+ 1207 |C |coord | (?:[0-9]{3}x[0-9]{3})? | 1208 +-----+---------+---------------------------------------------------+ 1209 |X |signbox | (?:${list}${coord})* | 1210 +-----+---------+---------------------------------------------------+ 1211 |V |var | V[0-9]+ | 1212 +-----+---------+---------------------------------------------------+ 1213 |Y |style | - | 1214 +-----+---------+---------------------------------------------------+ 1215 |F |full | ${Q}(${prefix})?(${signbox})?(${var})?(${style}?) | 1216 +-----+---------+---------------------------------------------------+ 1218 Table 23 1220 2.6.5.2. SWU Query Regular Expressions 1222 SWU Query Elements 1224 +=====+========+==========================================================================================+ 1225 |Token|Variable|Regular Expression | 1226 +=====+========+==========================================================================================+ 1227 |Q |Q |Q | 1228 +-----+--------+------------------------------------------------------------------------------------------+ 1229 |B |base |(?:(?:\uD8C0[\uDC01-\uDFFF])|(?:[\uD8C1-\uD8FC][\uDC00-\uDFFF])|(?:\uD8FD[\uDC00-\uDC80]))| 1230 +-----+--------+------------------------------------------------------------------------------------------+ 1231 |f |fill |f? | 1232 +-----+--------+------------------------------------------------------------------------------------------+ 1233 |r |rotation|r? | 1234 +-----+--------+------------------------------------------------------------------------------------------+ 1235 |S |symbol |${base}${fill}${rotation} | 1236 +-----+--------+------------------------------------------------------------------------------------------+ 1237 |R |range |R${base}${base} | 1238 +-----+--------+------------------------------------------------------------------------------------------+ 1239 |I |item |(?:${symbol}|${range}) | 1240 +-----+--------+------------------------------------------------------------------------------------------+ 1241 |O |or |o | 1242 +-----+--------+------------------------------------------------------------------------------------------+ 1243 |L |list |${item}(?:${or}${item})* | 1244 +-----+--------+------------------------------------------------------------------------------------------+ 1245 |A |A |A | 1246 +-----+--------+------------------------------------------------------------------------------------------+ 1247 |T |T |T | 1248 +-----+--------+------------------------------------------------------------------------------------------+ 1249 |P |prefix |(?:${A}(?:${list})+)?${T} | 1250 +-----+--------+------------------------------------------------------------------------------------------+ 1251 |C |coord |(?:(?:\uD836[\uDC0C-\uDDFF]){2})? | 1252 +-----+--------+------------------------------------------------------------------------------------------+ 1253 |X |signbox |(?:${list}${coord})* | 1254 +-----+--------+------------------------------------------------------------------------------------------+ 1255 |V |var |V[0-9]+ | 1256 +-----+--------+------------------------------------------------------------------------------------------+ 1257 |Y |style |- | 1258 +-----+--------+------------------------------------------------------------------------------------------+ 1259 |F |full |${Q}(${prefix})?(${signbox})?(${var})?(${style}?) | 1260 +-----+--------+------------------------------------------------------------------------------------------+ 1262 Table 24 1264 3. Technology Integration 1266 Formal SignWriting has been specifically designed to integrate with 1267 standard technology on the phone, tablet, and desktop. 1269 3.1. Fonts 1271 The Sutton SignWriting Fonts are available as source SVG and as three 1272 TrueType Font files. 1274 Sutton SignWriting Fonts 1275 Copyright (c) 1974-2017, Center for Sutton Movement Writing, inc 1276 Licensed under the SIL Open Font License v1.1 1278 The Sutton SignWriting TrueType fonts are available for download and 1279 installation. 1281 Installing the fonts using the instructions below is not required, 1282 but it will improve the user experience. If the fonts are not 1283 installed on the system, CSS declarations will install the fonts in 1284 the browser cache. 1286 3.1.1. Windows, Linux, and Mac 1288 Installation is straight forward for Windows, Linux and Mac. Simply 1289 download the TrueType fonts and install as usual. 1291 Sutton SignWriting Line TrueType Font [SWFontLine] 1293 Sutton SignWriting Fill TrueType Font [SWFontFill] 1294 Sutton SignWriting One-D TrueType Font [SWFontOneD] 1296 3.1.2. Mac and iOS 1298 Installation is possible for Mac OS X and iOS with a configuration 1299 profile. The Sutton SignWriting Symbol configuration profile 1300 includes 2 fonts for SVG: SuttonSignWritingLine and 1301 SuttonSignWritingFill. The Sutton SignWriting One configuration 1302 profile includes the font SuttonSignWritingOneD. With the 1303 configuration profile installed, the SignWriting in Unicode (SWU) 1304 characters can be used throughout the operating system, even as file 1305 and folder names. 1307 Sutton SignWriting Symbol Configuration Profile [SWFontSymbol] 1309 Sutton SignWriting One Configuration Profile [SWFontOne] 1311 3.1.3. Android 1313 Android can not install the fonts directly onto the system. The CSS 1314 declarations below will install the fonts in the browser cache. 1316 3.2. Fonts and CSS 1318 The TrueType Fonts can be used without installing the fonts on any 1319 platform by defining two font-face statements. Simply include the 1320 following CSS in any HTML page to access the fonts. Make sure to 1321 replace the URLs with the fully qualified links for the fonts. 1323 @font-face { 1324 font-family: "SuttonSignWritingLine"; 1325 src: 1326 local('SuttonSignWritingLine'), 1327 url('https://.../SuttonSignWritingLine.ttf') format('truetype'); 1328 } 1329 @font-face { 1330 font-family: "SuttonSignWritingFill"; 1331 src: 1332 local('SuttonSignWritingFill'), 1333 url('https://.../SuttonSignWritingFill.ttf') format('truetype'); 1334 } 1335 @font-face { 1336 font-family: "SuttonSignWritingOneD"; 1337 src: 1338 local('SuttonSignWritingOneD'), 1339 url('https://.../SuttonSignWritingOneD.ttf') format('truetype'); 1340 } 1341 If the fonts are installed, then the system fonts will be used. If 1342 the fonts are not installed when a SignWriting Font page is opened, 1343 the CSS will cause the fonts to be automatically downloaded to the 1344 browser's cache on the first visit. Once the fonts are installed in 1345 the browser cache, they will remain there until the browser cache is 1346 emptied. Any webside that uses this CSS can access the browser 1347 installed font without requesting a new copy. The fonts are 18 MB, 1348 so the first page view make take a few seconds or longer depending on 1349 your download speed and processor. 1351 3.3. Scalar Vector Graphics 1353 Sutton SignWriting is a 2-dimensional script. The sign images are 1354 composed using Scalar Vector Graphic (SVG). 1356 3.3.1. Font Based SVG 1358 The conversion of Formal SignWriting to Scalar Vector Graphics 1359 requires three parts: header, text, and symbols. Consider the FSW 1360 string 1361 "M518x533S1870a489x515S18701482x490S20500508x496S2e734500x468". 1363 3.3.1.1. SVG Header 1365 The header section contains the SVG definition along with the width, 1366 height, and viewbox. The viewbox is a combination of the minimum X, 1367 minimum Y, width, and height. 1369 Minimum X: 482 1371 Maximum X: 518 1373 Width: 36 1375 Minimum Y: 468 1377 Maximum Y: 533 1379 Height: 65 1381 1384 If the width and height properties are not included, then the 1385 resulting SVG will automatically expand in size to fill the 1386 containing element on the screen. 1388 1391 3.3.1.2. SVG Text 1393 The SVG text section is included to make it possible to copy and 1394 paste Formal SignWriting strings. The font-size is set to zero to 1395 make the text invisible. 1397 1398 M518x533S1870a489x515S18701482x490S20500508x496S2e734500x468 1399 1401 3.3.1.3. SVG Symbols 1403 Each symbol in the Signbox is a combination of the symbol key and the 1404 positioning coordinate. 1406 Symbol 1: S1870a 489x515 1408 Symbol 2: S18701 482x490 1410 Symbol 3: S20500 508x496 1412 Symbol 4: S2e734 500x468 1414 Each spatial symbol is written as an SVG group and positioned by the 1415 transformation translate. 1417 ... 1418 ... 1419 ... 1420 ... 1422 Inside of each group, 2 text elements are written. The symbol fill 1423 is written first using the SuttonSignWritingFill font with a plane 16 1424 character. The symbol line is written second using the 1425 SuttonSignWritingLine font with a plane 15 character. See 1426 Section 2.3.3.2 for the formula to convert symbol keys to codepoints. 1428 1430 {plane 16 codepoint} 1431 1432 1434 {plane 15 codepoint} 1435 1436 3.3.2. Stand Alone SVG 1438 It is possible to request completed SVG images from SignPuddle 3. 1439 The SVG images created by the SignWriting Server are stand-alone 1440 graphics that do not use the TrueType Fonts. The SVG images use path 1441 elements to define the symbol lines and curves. 1443 The SVG header and SVG text for the server-side images are the same 1444 as the standard FSW to SVG transformation. See Section 3.3.1 1446 The SVG symbols section is structured differently. Multiple SVG 1447 elements are contained within each sign SVG image. Each sub-SVG 1448 element uses X and Y coordinates to place each symbol. Consider the 1449 FSW string 1450 "M518x533S1870a489x515S18701482x490S20500508x496S2e734500x468". 1452 Symbol 1: S1870a 489x515 1454 Symbol 2: S18701 482x490 1456 Symbol 3: S20500 508x496 1458 Symbol 4: S2e734 500x468 1460 ... 1461 ... 1462 ... 1463 ... 1465 Inside of each sub-SVG element is a group (g) element with one or two 1466 path elements. This inside information can only be requested from 1467 the SignWriting Server or some other source of the symbol image data. 1469 1470 1471 1472 1474 3.4. HTML and CSS 1476 Basic HTML structures and CSS rules can be used with Formal 1477 SignWriting for customization and layout. 1479 3.4.1. Centering and Sizing 1481 It is possible to center a symbol or sign within a div with a few CSS 1482 rules. The symbol or sign will automatically shrink in size if the 1483 containing div is smaller than the SVG image. Additionally, if the 1484 SVG is created with the zoom level of extendable (styling string 1485 "-Zx"), the symbol or sign will grow in size to fill as much of the 1486 containing div as possible. 1488
1489 1492 div.centered { 1493 position: relative; 1494 width: 10%; 1495 height: 10%; 1496 border: 1px solid black; 1497 } 1499 div.centered svg { 1500 position: absolute; 1501 display: block; 1502 top:2.5%; 1503 bottom: 2.5%; 1504 left: 2.5%; 1505 right: 2.5%; 1506 margin: auto; 1507 max-width: 95%; 1508 max-height: 95%; 1509 } 1511 3.4.2. Coloring Symbols and Signs 1513 Individual signs can be colored with CSS rules. The individual 1514 classes of 'sym-line' and 'sym-fill' can be used to isolate each part 1515 of a symbol, both positive and negative spaces, or the classes can be 1516 ignored to create the shadow of a symbol that includes both aspects 1517 of a symbol. 1519 1566 1567
1570 div.signtext { 1571 -webkit-writing-mode: vertical-lr; 1572 writing-mode: vertical-lr; 1573 font-size: 0%; 1574 border-left: 1px solid blue; 1575 height: 100%; 1576 } 1578 span.outside { border-left: 1px solid blue; vertical-align: top; } 1579 span.middle { vertical-align: bottom; } 1580 span.inside { border-left: 1px dashed red; } 1582 div.signtext div { 1583 writing-mode: horizontal-tb; 1584 display: inline-block; 1585 vertical-align: middle; 1586 padding: 20px; 1587 box-sizing: content-box; 1588 } 1590 3.5. JavaScript Packages 1592 For modern web and app development, several packages are available on 1593 Github and NPM. 1595 3.5.1. @sutton-signwriting/core 1597 a javascript package for node and browsers that supports general 1598 processing of the Sutton SignWriting script 1600 Source [SSWCoreSrc] 1602 Documentation [SSWCoreDoc] 1604 Distribution [SSWCoreDist] 1606 npm install @sutton-signwriting/core 1608 3.5.2. @sutton-signwriting/font-ttf 1610 a javascript package for the web components and browser that 1611 generates SVG and PNG images for individual symbols and complete 1612 signs 1614 Source [SSWTTFSrc] 1616 Documentation [SSWTTFDoc] 1617 Distribution [SSWTTFDist] 1619 npm install @sutton-signwriting/font-ttf 1621 3.5.3. @sutton-signwriting/font-db 1623 a javascript package for node that generates SVG and PNG images for 1624 individual symbols and complete signs 1626 Source [SSWFontDBSrc] 1628 Documentation [SSWFontDBDoc] 1630 Distribution [SSWFontDBDist] 1632 npm install @sutton-signwriting/font-db 1634 3.5.4. @sutton-signwriting/sgnw-components 1636 a javascript package of Web Components for use with the SignWriting 1637 script 1639 Source [SSWSgnwSrc] 1641 Documentation [SSWSgnwDoc] 1643 Distribution [SSWSgnwDist] 1645 npm install @sutton-signwriting/sgnw-components 1647 4. Transformations 1649 Formal SignWriting and the surrounding technologies have been created 1650 to facilitate easy transformations between the various forms. 1652 4.1. Formal SignWriting to Query String 1654 Formal SignWriting strings have several natural transformations to 1655 query string. The transformation can use the temporal prefix and/or 1656 the spatial signbox. For each symbol, the query can include the 1657 exact symbol key, or the query can use a general symbol key where the 1658 fill and rotation modifiers are not explicitly defined. Consider the 1659 Formal SignWriting string 1660 "AS14c20S27106M518x529S14c20481x471S27106503x489". 1662 Exact Temporal Prefix Symbols: QAS14c20S27106T 1664 General Temporal Prefix Symbols: QAS14cuuS271uuT 1665 Exact Spatial Signbox Symbols: QS14c20S27106 1667 General Spatial Signbox Symbols: QS14cuuS271uu 1669 Exact Spatial Signbox Symbols with Location: QS14c20481x471S27106503 1670 x489 1672 General Spatial Signbox Symbols with Location: QS14cuu481x471S271uu5 1673 03x489 1675 4.2. Query String to Regular Expression 1677 The transformation from query string to regular expressions has been 1678 fully implemented in the Sutton SignWriting JavaScript Library and 1679 the SignWriting Server. 1681 The query language to regular expressions generator uses the 1682 following regular expression structures as building blocks. 1684 Temporal Prefix Prefix: (A(S[123][0-9a-f]{2}[0-5][0-9a-f])+) 1686 Signbox Prefix: [BLMR]([0-9]{3}x[0-9]{3}) 1688 Spatial Symbols: (S[123][0-9a-f]{2}[0-5][0-9a-f][0-9]{3}x[0-9]{3})* 1690 The Temporal Prefix Prefix is a structural marker followed by one or 1691 more symbols. For the query string "QT", the prefix is required. 1692 For the general "Q", the prefix is optional so "?" is appended to the 1693 Temporal Prefix Prefix regular expression. 1695 The Signbox Prefix is a combination of structural marker and 1696 preprocessed maximum coordinate. Every constructed regular 1697 expression will include the Signbox Prefix. 1699 The Spatial Symbols is zero or more symbol definitions and associated 1700 coordinates. The Spatial Symbols regular expression is used for 1701 every search. For both "Q" and "QT", it is the only symbol matching 1702 used. When searching for specific symbols and ranges, the general 1703 Spatial Symbols definition will sandwich the specific search 1704 definitions. 1706 Searching for number ranges with regular expressions requires a 1707 unique technique. This technique requires five steps. 1709 Find a number between 122 and 455 1711 1) 10's don't match and the min 1's are not zero ( last number to 1712 9): Match 12[2-9] 1713 2) Bring up the 10's if hundreds are different: Match 1[3-9][0-9] 1715 3) Bring up the 100's if different: Match [2-3][0-9][0-9] 1717 4) Bring up the 10's: Match 4[0-4][0-9] 1719 5) Bring up the 1's: Match 45[0-5] 1721 Final Match (12[2-9]|1[3-9][0-9]|[2-3][0-9][0-9]|4[0-4][0-9]|45[0-5]) 1723 For the styling string regular expression, see Section 2.5. 1725 5. Unicode Considerations 1727 "The plan for encoding Sutton SignWriting in Unicode is for there to 1728 be two separate Unicode proposals. The first is for the symbol set 1729 covered by [the] ISWA 2010... The second is for an encoding that 1730 takes symbols and turns them into signs." -ScriptSource 1731 [UnicodeScript] 1733 5.1. Unicode Technical Committee 1735 In 2011, two documents were submitted: N4015 L2/11-101 [UnicodeN4015] 1736 and N4090 L2/11-217 [UnicodeN4090]. 1738 In 2012, one document was submitted: N4342 L2/12-321 [UnicodeN4342]. 1740 In 2015, the Sutton SignWriting Block was officially added to the 1741 Unicode standard. A documement was submitted: L2/15-194 1742 [Unicode15194]. In July, Steve Slevinski attended UTC #144. After 1743 the meeting, another document was submitted: L2/15-219 1744 [Unicode15219]. 1746 In 2016, one document was submitted: L2/16-225 [Unicode16225]. In 1747 August, Steve Slevinski attended UTC #148. 1749 In 2017, two documents were submitted: L2/17-220 [Unicode17220] and 1750 L2/17-282 [Unicode17282]. In August, Steve Slevinski attended UTC 1751 #152. 1753 Further discussions with the Unicode Technical Committee are 1754 dependent on the support of a voting member. 1756 5.2. SignWriting in Unicode 8 1758 The Sutton SignWriting symbol set based on the ISWA 2010 was encoded 1759 in the Unicode Standard version 8.0. 1761 This encoding is based on the Unicode proposal from section 5.1 of 1762 draft-slevinski-iswa-2010 [UnicodeProposal], first published in 1763 January 2011. 1765 The first draft officially submitted to the Unicode Technical 1766 Committee was N4015, a compromise with the Unicode committee that 1767 removed two-dimensional layout by dropping five structural markers 1768 and 500 number characters. 1770 The second draft N4090 was under protest because it broke sorting and 1771 introduced variable length symbol names. 1773 The third draft N4342 was rejected by the Center for Sutton Movement 1774 Writing. A new facial diacritic model was forced into the proposal 1775 that was neither defined nor tested. 1777 In 2020, Google released Noto Sans SignWriting [UnicodeGoogle], a 1778 font for Sutton SignWriting that fully implements the official 1779 Unicode 8 design with modifying characters and facial diacritics. 1780 The font can be used to view any symbol of the International 1781 SignWriting Alphabet 2010 (ISWA 2010) as well as create complex 1782 facial expressions with diacritics. General layout of SignWriting is 1783 not part of the Unicode 8 design. Outside of facial expressions, 1784 layout requires a higher level protocol such as SVG. 1786 5.2.1. Official Characters 1788 In 2015, the symbols of Sutton SignWriting (Section 1.2 and 1789 Section 2.3.3) were added to Unicode version 8. 1791 +============================+====================+ 1792 | Description | Unicode 8 Range | 1793 +============================+====================+ 1794 | Base Characters | U+1D800 to U+1DA8B | 1795 +----------------------------+--------------------+ 1796 | Fill Modifiers 2 to 6 | U+1DA9B to U+1DA9F | 1797 +----------------------------+--------------------+ 1798 | Rotation Modifiers 2 to 16 | U+1DAA1 to U+1DAAF | 1799 +----------------------------+--------------------+ 1801 Table 25 1803 Each symbol key can be rewritten using 1 to 3 Unicode characters of a 1804 base, optional fill, and optional rotation. Given a symbol key as 1805 variable "key", in JavaScript the 3 characters can be derived with 1806 simple formulas. Both Fill Modifier 1 (U+1DA9A) and Rotation 1807 Modifier 1 (U+1DAA0) are inherent characters and should be not be 1808 written in the character string. 1810 var base = parseInt(key.substr(1,3),16) + parseInt('1D700',16); 1812 var fill = parseInt(key.substr(4,1),16) + parseInt('1DA9A',16); 1814 var rotation = parseInt(key.substr(5,1),16) + 1815 parseInt('1DAA0',16); 1817 The Sutton SignWriting Resources do not support these characters as 1818 defined in the Unicode standard. The presentation Issues with 1819 SignWriting in Unicode 8 [Unicode8Issues] details why this encoding 1820 is incomplete, broken, and fictional. Alternatively, the Sutton 1821 SignWriting Resources support the character sets (Section 2.2) of 1822 Formal SignWriting in ASCII (FSW) and SignWriting in Unicode (SWU). 1824 5.2.2. 17 New Characters 1826 The addition of 17 Unicode characters to the official Unicode 1827 standard can complete the script encoding and cover 2-dimensional 1828 layout. 1830 +=====================+====================+====================+ 1831 | Description | Formal SignWriting | Proposed Unicode | 1832 +=====================+====================+====================+ 1833 | Fill Modifier 1 | 0 | U+1DA9A | 1834 +---------------------+--------------------+--------------------+ 1835 | Rotation Modifier 1 | 0 | U+1DAA0 | 1836 +---------------------+--------------------+--------------------+ 1837 | Numbers | 0 to 9 | U+1DAB0 to U+1DAB9 | 1838 +---------------------+--------------------+--------------------+ 1839 | Sequence Marker | A | U+1DABA | 1840 +---------------------+--------------------+--------------------+ 1841 | Signbox Markers | B | U+1DABB | 1842 +---------------------+--------------------+--------------------+ 1843 | Left Lane Markers | L | U+1DABC | 1844 +---------------------+--------------------+--------------------+ 1845 | Middle Lane Markers | M | U+1DABD | 1846 +---------------------+--------------------+--------------------+ 1847 | Right Lane Markers | R | U+1DABE | 1848 +---------------------+--------------------+--------------------+ 1850 Table 26 1852 Fill Modifier 1 and Rotation Modifier 1 are included to fix sorting 1853 and simplify processing. 1855 The 10 number characters express the concept of distance, important 1856 for use with 2-dimensional scripts. 1858 The 5 structural markers define cohesive units of the script. 1860 5.3. SignWriting in Unicode (SWU) 1862 Characters are used to name signs. Fonts are used to view signs. 1864 SignWriting in Unicode (SWU) was first published in October 2016 and 1865 officially submitted to the Unicode Technical Committee in July 2017. 1866 SWU is not part of the Unicode standard. SignWriting in Unicode is 1867 an experimental Unicode design that is supported by the Sutton 1868 SignWriting Resources. This alternate encoding overwrites the Sutton 1869 SignWriting block in Unicode and uses plane 4 for the SignWriting 1870 symbols. 1872 6. IANA Considerations 1874 None. 1876 7. Security Considerations 1878 None. 1880 8. References 1882 [SLlegal] "Legal Recognition of Sign Language", 1883 . 1886 [SSWCoreDist] 1887 Slevinski, S.S., "Sutton SignWriting Core Distribution", 1888 . 1890 [SSWCoreDoc] 1891 Slevinski, S.S., "Sutton SignWriting Core Documentation", 1892 . 1894 [SSWCoreSrc] 1895 Slevinski, S.S., "Sutton SignWriting Core Source", 1896 . 1898 [SSWFontDBDist] 1899 Slevinski, S.S., "Sutton SignWriting Font DB 1900 Distribution", 1901 . 1903 [SSWFontDBDoc] 1904 Slevinski, S.S., "Sutton SignWriting Font DB 1905 Documentation", 1906 . 1908 [SSWFontDBSrc] 1909 Slevinski, S.S., "Sutton SignWriting Font DB Source", 1910 . 1912 [SSWSgnwDist] 1913 Slevinski, S.S., "Sutton SignWriting Web Components 1914 Distribution", . 1917 [SSWSgnwDoc] 1918 Slevinski, S.S., "Sutton SignWriting Web Components 1919 Documentation", 1920 . 1922 [SSWSgnwSrc] 1923 Slevinski, S.S., "Sutton SignWriting Web Components 1924 Source", 1925 . 1927 [SSWTTFDist] 1928 Slevinski, S.S., "Sutton SignWriting Font TTF 1929 Distribution", 1930 . 1932 [SSWTTFDoc] 1933 Slevinski, S.S., "Sutton SignWriting Font TTF 1934 Documentation", 1935 . 1937 [SSWTTFSrc] 1938 Slevinski, S.S., "Sutton SignWriting Font TTF Source", 1939 . 1941 [SteveSlevinski] 1942 Slevinski, S.S., "Steve Slevinski's Homepage", 1943 . 1945 [SW2010] Slevinski, S.S., "Sutton SignWriting Standard of 2010", 1946 . 1948 [SW2012] Slevinski, S.S., "Sutton SignWriting Standard of 2012", 1949 . 1951 [SW2017] Slevinski, S.S., "Sutton SignWriting Standard of 2017", 1952 . 1954 [SWbyHand] Sutton, V.S., "Writing SignWriting by Hand", 1955 . 1957 [SWChat] "Sutton SignWriting Chat on Gitter", 1958 . 1960 [SWFacebook] 1961 "Sutton SignWriting Facebook Group", 1962 . 1964 [SWFontFill] 1965 Slevinski, S.S., "Sutton SignWriting Fill TypeType Font", 1966 . 1969 [SWFontLine] 1970 Slevinski, S.S., "Sutton SignWriting Line TypeType Font", 1971 . 1974 [SWFontOne] 1975 Slevinski, S.S., "Sutton SignWriting One Configuration 1976 Profile", . 1980 [SWFontOneD] 1981 Slevinski, S.S., "Sutton SignWriting One-D TypeType Font", 1982 . 1985 [SWFontSource] 1986 Slevinski, S.S., "Sutton SignWriting Font Source", 1987 . 1990 [SWFontSymbol] 1991 Slevinski, S.S., "Sutton SignWriting Symbol Configuration 1992 Profile", . 1996 [SWList] "SignWriting Email List", 1997 . 1999 [SWMobile] Gleaves, R.G., "SignWriting Mobile Site", 2000 . 2002 [SWPatrons] 2003 Slevinski, S.S., "Support SignWriting on Patreon", 2004 . 2006 [SWScript] Slevinski, S.S., "SignWriting Script: an ode to writing by 2007 hand", . 2010 [SWWeb] Sutton, V.S., "SignWriting Website", 2011 . 2013 [SWWikipedia] 2014 "SignWriting Wikipedia Page", 2015 . 2017 [TwoDFont] Slevinski, S.S., "Two-Dimensional Font Prototype", 2018 . 2021 [TwoDFontProject] 2022 Slevinski, S.S., "Two-Dimensional Font Project", 2023 . 2026 [Unicode] "The Unicode Standard: A Technical Introduction", 2027 . 2029 [Unicode15194] 2030 Slevinski, S.S., "Addressing SignWriting Collation in 2031 DUCET", . 2034 [Unicode15219] 2035 Anderson, D.A., Slevinski, S.S., and K.W. Whistler, 2036 "SignWriting Design, With Three Examples and Their 2037 Representation", . 2040 [Unicode16225] 2041 Slevinski, S.S., "SignWriting in Unicode Next", 2042 . 2045 [Unicode17220] 2046 Slevinski, S.S., "Design Options for Sutton SignWriting 2047 with examples and fonts", . 2050 [Unicode17282] 2051 Slevinski, S.S., "Design Options for Sutton SignWriting 2052 Auxiliary", . 2055 [Unicode8Issues] 2056 Slevinski, S.S., "Issues with SignWriting in Unicode 8", 2057 . 2060 [UnicodeAnalysis] 2061 Aznar, G.A., "Analysis of the different methods to encode 2062 SignWriting in Unicode", 2063 . 2067 [UnicodeChinese] 2068 Zhang, S.Z., "Chinese Characters Are Futuristic and the 2069 Alphabet Is Old News", 2070 . 2073 [UnicodeGoogle] 2074 Google, G., "Noto Sans SignWriting", 2075 . 2078 [UnicodeGraphite] 2079 Hosken, M.H., "New engine feature proposal", 2080 . 2084 [UnicodeIdeas] 2085 Hosken, M.H., "SignWriting Layout Discussion v2", 2086 . 2092 [UnicodeN4015] 2093 Everson, M.E., Slevinski, S.S., and V.S. Sutton, 2094 "Preliminary proposal for encoding the SignWriting script 2095 in the SMP of the UCS", . 2098 [UnicodeN4090] 2099 Everson, M.E., Slevinski, S.S., and V.S. Sutton, "Revised 2100 proposal for encoding the SignWriting script in the SMP of 2101 the UCS", . 2104 [UnicodeN4342] 2105 Everson, M.E., Hosken, M.H., Slevinski, S.S., and V.S. 2106 Sutton, "Proposal for encoding Sutton SignWriting in the 2107 UCS", . 2110 [UnicodePragmatic] 2111 Batchelder, N.B., "Pragmatic Unicode, or, How do I stop 2112 the pain?", . 2114 [UnicodeProposal] 2115 Slevinski, S.S., "Encoding the graphemes of the 2116 SignWriting Script with the x-ISWA-2010", 2117 . 2120 [UnicodeScript] 2121 "Unicode Status (SignWriting)", 2122 . 2125 Appendix A. A brief history 2127 A.1. SignWriting 2129 +=========+========================================================+ 2130 | Year(s) | Event(s) | 2131 +=========+========================================================+ 2132 | 1966 | Valerie Sutton invented DanceWriting | 2133 +---------+--------------------------------------------------------+ 2134 | 1974 | Valerie Sutton invented SignWriting | 2135 +---------+--------------------------------------------------------+ 2136 | 1974 to | SignWriting is written exclusively by hand | 2137 | 1986 | | 2138 +---------+--------------------------------------------------------+ 2139 | 1981 to | publishing efforts include stencils and wax transfers | 2140 | 1984 | | 2141 +---------+--------------------------------------------------------+ 2142 | 1986 to | SignWriting is successfully computer encoding with | 2143 | 1995 | keyboarding support | 2144 +---------+--------------------------------------------------------+ 2145 | 2002 | advanced sorting of SignWriting dictionaries is | 2146 | | available | 2147 +---------+--------------------------------------------------------+ 2148 | 2004 | a drag-and-drop interface is created for SignWriting | 2149 +---------+--------------------------------------------------------+ 2150 | 2006 | SignWriting received the ISO 15924 script code "Sgnw" | 2151 +---------+--------------------------------------------------------+ 2152 | 2010 | the International SignWriting Alphabet 2020 (ISWA | 2153 | | 2010) is released | 2154 +---------+--------------------------------------------------------+ 2155 | 2012 | the Formal SignWriting in ASCII (FSW) specification is | 2156 | | released | 2157 +---------+--------------------------------------------------------+ 2158 | 2015 | the Sutton SignWriting Block is added to the Unicode | 2159 | | Standard | 2160 +---------+--------------------------------------------------------+ 2161 | 2017 | the SignWriting in Unicode (SWU) specification is | 2162 | | released | 2163 +---------+--------------------------------------------------------+ 2164 | 2020 to | Steve Slevinski assumed full responsibility for | 2165 | present | administering and financially supporting the | 2166 | | SignWriting websites | 2167 +---------+--------------------------------------------------------+ 2168 | 2020 to | Valerie Sutton continues her personal support for | 2169 | present | SignWriting with plans for a new series of SignWriting | 2170 | | instruction books and a future SignWriting Trust for | 2171 | | the long-term support of SignWriting | 2172 +---------+--------------------------------------------------------+ 2173 | 2021 | SignWriting is expanding into the machine learning | 2174 | | space with a focus on video analysis and translation | 2175 +---------+--------------------------------------------------------+ 2177 Table 27 2179 A.2. Steve Slevinski 2181 +=========+=========================================================+ 2182 | Year(s) | Event(s) | 2183 +=========+=========================================================+ 2184 | 1994 | Steve graduated from Grove City College with a | 2185 | | Bachelor of Science in Mathematics, computer science | 2186 | | applied | 2187 +---------+---------------------------------------------------------+ 2188 | 1994 | Steve was hired by the New York State Education | 2189 | | Department as a Senior Computer Programmer / Analyst | 2190 +---------+---------------------------------------------------------+ 2191 | 1996 | Steve was hired by Danet Inc in telecommunications | 2192 | | for quality assurance and in 1998 he was promoted to | 2193 | | the maintainer of the internal business systems | 2194 +---------+---------------------------------------------------------+ 2195 | 1999 | Steve raised his first son with sign language, who | 2196 | | learned to use several dozen signs before he spoke | 2197 | | his first word | 2198 +---------+---------------------------------------------------------+ 2199 | 2004 | Steve raised his daughter with sign language, but she | 2200 | | only learned a few signs before she started talking | 2201 +---------+---------------------------------------------------------+ 2202 | 2002 | Steve became a friend of the deaf through his wife's | 2203 | | work in Pittsburgh and through connections at the | 2204 | | Western Pennsylvania School for the Deaf (WPSD) | 2205 +---------+---------------------------------------------------------+ 2206 | 2004 to | Steve has been actively working with Valerie Sutton | 2207 | present | on a weekly basis with Valerie sharing her invention | 2208 | | and Steve trying to make it a reality with technology | 2209 +---------+---------------------------------------------------------+ 2210 | 2004 to | Steve was a paid consultant to the Center for Sutton | 2211 | 2019 | Movement Writing non-profit | 2212 +---------+---------------------------------------------------------+ 2213 | 2020 to | Steve was hired by the University of Iowa as a data | 2214 | present | manager for psychiatry research and neuroimaging | 2215 +---------+---------------------------------------------------------+ 2216 | 2020 | Steve continues his work with SignWriting on the | 2217 | forward | weekends and early mornings | 2218 +---------+---------------------------------------------------------+ 2220 Table 28 2222 A.3. Financial Support 2224 +=========+===============================================+ 2225 | Year(s) | Event(s) | 2226 +=========+===============================================+ 2227 | 1974 to | SignWriting was financially supported and | 2228 | 2019 | promoted through the Center for Sutton | 2229 | | Movement Writing (CSMW) non-profit | 2230 +---------+-----------------------------------------------+ 2231 | 2018 | the Center for Sutton Movement Writing (CSMW) | 2232 | | lost a major funding source | 2233 +---------+-----------------------------------------------+ 2234 | 2019 | the Center for Sutton Movement Writing closed | 2235 | | the non-profit status of the organization due | 2236 | | to excessive government paperwork and a focus | 2237 | | on fundraising rather than productive work | 2238 +---------+-----------------------------------------------+ 2239 | 2019 | Steve Slevinski started a Patreon campaign | 2240 | | [SWPatrons] to support current and future | 2241 | | work with SignWriting | 2242 +---------+-----------------------------------------------+ 2244 Table 29 2246 Appendix B. SignWriting General Interest 2248 The Sutton SignWriting resources are free to use by anyone for any 2249 purpose. Sutton SignWriting supports free culture and the creation 2250 of free culture works. 2252 SignWriting Website [SWWeb] 2254 SignWriting Mobile Site [SWMobile] 2256 SignWriting Wikipedia Page [SWWikipedia] 2258 SignWriting Email List [SWList] 2260 SignWriting Group on Facebook [SWFacebook] 2262 SignWriting Online Chat [SWChat] 2264 Author's Address 2266 Steve Slevinski 2267 SignWriting.org 2269 Email: slevinski@signwriting.org