Hi Alan,

I updated the ISWA 2010 conversion for the BSW 3 strings you are using.
Use Online:

The conversion package requires a PHP configured web server.

I was able to convert and verify the test string you sent.

On 5/3/11 3:57 PM, Alan Post wrote:
[log in to unmask]" type="cite">0fb15a38d39a47a4c71c538c3934854b920638c3924884d30fd1c538c39315a38d39a20638c392

To convert the BSW 3 string to the ASCII Markup of Formal SignWriting, use the following page:

The conversion page will output the ASCII markup.  You can verify the markup with the import page of SignPuddle 1.6 beta.

If the import process was successful, press the Data Format button for the preliminary Unicode and visualization.

The rest of this email steps through the conversion.

Here's the technical details of how the conversion works for your string, using groups of 3 digits.

Your string contains 2 parts.  A spatial arrangement:
0fb 15a38d39a 47a4c7 1c538c393 4854b9 20638c392 4884d3

Second part is a temporal order.
0fd 1c538c393 15a38d39a 20638c392

In Formal SignWriting, the temporal order comes first.  Instead of using a character code, the temporal prefix uses the ASCII letter "A".  A temporal order is just a list of ordered symbols.

In Formal SignWriting, symbols are refered to with symbol keys in the form of "S" followed by 3 digits for the base character and 2 digits for the position.  The first digit of the position represents the fill and the second digit of the position represents the rotation.

Your string identifies 3 symbols.  Each symbol is identified with 9 digits.

The string 1c538c393 becomes key S1c501.
The string 15a38d39a becomes key S15a18.
The string 20638c392 becomes key 20600.

Considering the symbol key "S15a18", the base in hexadecimal is "15a".

The position is "18" in hex.  The position, fill, and rotation all start from 1, so remember to add 1 to the hexadecimal to decimal conversion.

The position is 25, the fill is 2 and the rotation is 9.

If we look again at the temporal order in the new ASCII markup, we have:
A S1c501 S15a18 S20600

Preliminary Unicode uses 3 characters to identify a symbol.
A 𝣅𝪚𝪡 𝡚𝪛𝪨 𝤆𝪚𝪠

If a font was working, these character sequences would be replaced with the appropriate symbol image.
A [log in to unmask]" alt=""> [log in to unmask]" alt=""> [log in to unmask]" alt="">

This is the visualization for the temporal order to your sign.  We call it the SignSpelling Sequence.  It is used for sorting.

Just as we replace the sequence character with "A", we also replace the sign box lane markers with ASCII characters "L, M, R" for left lane, middle lane, and right lane.

If we return to the spatial arrangement of your string with updated lane marker and symbol keys:
M S15a18 47a4c7 S1c501 4854b9 S20600 4884d3

One of the last parts to convert are the coordinates.  Your string has the following coordinates:

These coordinates use 3 hexadecimal digits per number.  In your string, each number starts with a 4.  The first coordinate in your string is ( "47a","4c7") which is the top-left of the symbol.  When recentered for zero, the coordinate resolves to (-18,-5).

Formal SignWriting does not use coordinate characters, but a string representation.  Negative numbers use the letter "n" as a prefix.  Numbers are combined with the letter "x". The coordinates (-18,-5) would use the string "n18xn5".

If we put it all together, the Formal SignWriting string for your sign is:

With Preliminary Unicode, the string becomes:

Once a font is installed, the data can be seen as:
A [log in to unmask]" alt=""> [log in to unmask]" alt=""> [log in to unmask]" alt=""> M18x18 [log in to unmask]" alt=""> n18xn5 [log in to unmask]" alt=""> n7xn19 [log in to unmask]" alt=""> n4x7

It's still complicated, but much easier to explain.  The temporal sequence starts the string.  This optional prefix sorts the signs.

The sign is in the middle lane.  The first coordinate of "18x18" is the new maximum coordinate for the sign - a preprocessed value based on (0,0) as the center of the sign.  This new coordinate makes layout easy and fast.  Using the "padding-left" attribute of CSS, sign layout is as simple as addition and subtraction.