Hello Steve,

I still wander how exactly can be FSW used for searching and ordering signs.
Please can you show me?


On 29 June 2012 16:08, Steve Slevinski <[log in to unmask]> wrote:
Hi Honza,

FSW is a light markup that stands for Formal SignWriting which is used as the regular searching form.  It is documented in section 9 of the Modern SignWriting specifications. PDF link:

FSW is my preferred storage form because it is possible to quickly search for exact or approximate matches.  It contains the same information as the XML.  The string is predictable and easy to process with regular expressions or even basic string functions.

The first difference is the use of symbol keys rather than symbol IDs.  The conversion between these 2 standards can be accomplished with the ISWA 2010 database or one of 2 text files.

The verbose text file is just under 1 MB.  It contains an explicit list of symbol IDs to symbol keys, such as

The minimalistic text file is 11 KB.  It contains an explicit list for the symbol prefix (BaseSymbol part), but not the entire ID or key.  The conversion of the fills and rotations is trivial and handled by the code.

Let's consider the most basic example.

XML with symbol ID
<signbox max_x="8" max_y="15">
  <sym left="-7" top="-15">01-01-001-01-01-01</sym>

XML with symbol key
<signbox max_x="8" max_y="15">
  <sym left="-7" top="-15">S10000</sym>


The first thing to notice is that the coordinates of FSW are offset by 500 for each coordinate number.

The XML segment: (max_x="8" max_y="15") is equal to the FSW segment "508x515".

Each symbol has it's own coordinate placement.  So we can break up the FSW string as follows:
M 508x515 S10000 493x485

The M stands for the middle lane.  The other options are L for left, R for right, and B for signboxes used in horizontal writing.

For signs with that have a signspelling sequence, the signbox information described above is preceded by an A section as a list of symbol keys without coordinate information.

Here is a longer example:

It has 2 sections.  The first section is the signspelling sequence: A S10000 S10e00 S11e00

The second section is the signbox construction: M 547x516 S10000 454x486 S10e00 489x486 S11e00 524x485

Which can be understood as:
M 547x516 = middle lane with max coordinate of (47,16)
S10000 454x486 = symbol ID  01-01-001-01-01-01 at coordinate (-46,-14)
S10e00 489x486 = symbol ID  01-02-001-01-01-01 at coordinate (-11,-14)
S11e00 524x485 = symbol ID  01-03-001-01-01-01 at coordinate (24,-15)

If you've made it this far and you absolutely don't want to use FSW for the custom export, I should be able to add an XML sign data option for the custom export only, but the XML sign data option will not be available for the entire puddle exports.

Hope that helps,



Valerie Sutton SignWriting List moderator [log in to unmask]

Post Messages to the SignWriting List: [log in to unmask]

SignWriting List Archives & Home Page

Join, Leave or Change How You Receive SW List Messages