December 6, 2012
Congratulations on this accomplishment… I was so happy to read this message yesterday. I know Steve has answered you in more detail, about font work done by another programmer in Honduras, Jonathan Duncan, who is the developer of SignWriter Studio:
and that maybe working together this will come to fruition even faster -
Thank you for working on this!
I will follow your links at the bottom of this message now, to see what I see -
> From: Eduardo Trápani <[log in to unmask]>
> Subject: [SW-L] Smart font for ISWA 2010
> Date: December 5, 2012 7:11:58 AM PST
> To: [log in to unmask]
> Reply-To: "SignWriting List: Read and Write Sign Languages" <[log in to unmask]>
> I've got some good news! I finally got graphite to render the binary
> signwriting string, meaning that we will be able in the future to work
> with signwriting as text rather than as images.
> You can check it out here. You should look at that page with
> Firefox, having enabled graphite first (it is just a simple
> configuration change).
> It's pretty exciting, I can now even copy/paste SW from Firefox to
> LibreOffice! The partial font for that page can be downloaded from here.
> There are some issues pending, I'll try to list them all here. It might
> get a bit long and technical, but I'd rather document it.
> Graphite is a "smart font" system developed specifically to handle the
> complexities of lesser-known languages of the world. It allows us to
> attach a small "program" to the font. That program can then choose the
> right set of glyphs according to the input text, considering context,
> ligatures, etc. It does reordering, substitution, insertion and
> Internals overview
> A SW unicode string is be something like:
> The graphite program (made of a set of rules) substitutes the structural
> marker with a space. That space character will be used as the canvas of
> the new sign.
> Since we cannot do math on glyph or unicode numbers inside the rules, a
> workaround is to "fold" fill and rotation into another set of
> characters. To do that all combinations have to be spelled out, but
> it's only 96 of them, so that's not a big deal.
> Then, using fr1/fr2/... as indexes, and listing all variants for each
> symbol, we can finally see the right symbol, rotated and filled.
> Positioning means some more glyph classes and the need to translate
> coordinates. And then we have the actual sign writing with the [space]
> as the base character and [symbol1] and [symbol2]... correctly positioned.
> * There seems to be a maximum number of glyphs for a font inside Firefox
> (I've only tested Linux). For me it was around 32500, and that is not
> enought for a full ISWA graphite font. I haven't had time to debug that
> yet. So, building a full ISWA font is possible, but it wouldn't work
> right now. Also, adding more symbols means adding more classes to the
> graphite program, but that seems to be less of a problem.
> * Graphite internally only deals with glyphs, so for SW we need a glyph
> for each one of the symbols and their alternate forms (fill and
> rotation) *and* for things like numbers, rotations, fills and the like.
> Sharing glyphs should work and would save some space but Graphite does
> not deal with those shared glyphs consistently, so, for now I've decided
> to create a new glyph for each unicode point that needs to be dealt with.
> That's why I have a program that reads a document, lists the SW unicode
> characters and then builds a partial font just for those base symbols,
> although it does include all numbers, fills and rotations characters and
> the full set of variations for those symbols.
> * Firefox uses the Graphite engine and shows the text right, but it has
> problems with the height. You can see at the example page that the
> text overflows the container. But the problem is more serious when
> looking at the ASL Wikipedia main page (an almost identical version
> with images is here). It might be solvable from Graphite ... I don't
> know yet. I'm just using positioning, maybe "kerning" the character
> will help.
> * Fonts and fillings. I asked about the white fillings and I understand
> they are necessary. As of now Graphite seems to only work on TTF and
> that means that I cannot import the white fillings. A Postscript Type3
> font can be created with the right fills, but I'm not sure which
> application would actually benefit from it right now.
> * Structural markers. The program does the same for the three lanes or
> sequence. And it is not using the maximum box precomputed size. With
> some examples on how multiple-lane sw text should look like I can give
> it a try. For the moment it is as if only one lane was present. And
> the maximum number of components in a sign is seven (that can be easily
> changed with little impact).
> * It's so much fun! I had my first contact with Graphite, FontForge and
> font creation and design. And I had to finally learn some python. The
> program that creates the font and the graphite source program can be
> downloaded from here. I'm a beginner in these areas, please let me
> know about improvements and fixes. Let's say the code works but I'm not
> specially proud of it ;).
> I'd like to specially thank Steve for the code that helped me start this
> and for always being there for all the technical questions on SW. And I
> just don't know how to thank Valerie for everything ...
> Seeing the first sign drawn in Firefox from SW text was a magical
> moment. I hope we can do a lot more from here. It feels great to be
> able to do something for SW!
> Friendly, Eduardo.