Smart font for ISWA 2010
Valerie Sutton
sutton at SIGNWRITING.ORG
Fri Dec 14 15:28:58 UTC 2012
SignWriting List
December 14, 2012
Hello Eduardo, Jonathan, Steve and everyone -
Thank you, Jonathan, for clarifying this for me, and thank you Eduardo and all of you, for working on this -
If Jonathan's suggestions help, that is great because it would be good to have one ISWA 2010 font instead of different ones for each sign language…
But if you need it, Eduardo, I can provide you with a smaller symbol set just for American Sign Language - I believe Steve has already shown you the Symbol Frequency searches we can do in SignPuddle, that shows us symbols that are not used within one SignPuddle file, such as the American Sign Language files in SignPuddle - I could look at what was NOT used, plus look at what writers DID use, that were not necessary to use, and provide you with a smaller symbol set just for ASL…Something similar to the old symbol set in SignWriter DOS with some additions...
It would be better if we can find a solution for one font for the whole ISWA 2010, since pasting files between languages might be useful from time to time…but if that is not possible we will survive (smile) since that happens rarely…
So tell me, Eduardo, would you like me to pin down the symbols really needed to write only ASL? I will ask the SW List for feedback once I develop the listing...
Val ;-)
-----
On Dec 13, 2012, at 8:29 PM, Jonathan Duncan wrote:
>
>
> On 12/12/2012 1:44 PM, Eduardo Trápani wrote:
>>> That is why I was hopeful that Jonathan's compressed font development
>>> might work better instead providing us with one two-colored font for the
>>> entire ISWA, rather than separate fonts for each sign language? Or have
>>> I completely misunderstood what is happening?
> Val,
> I believe that Eduardo's problem is different than mine. His limiting factor isn't the size in MB of the font but rather how many items (glyphs) he can name. He says that he has a limit of around 32500. And he needs one per symbol and there are 37811 symbols in ISWA 2010. But I do have a wild idea for Eduardo, who knows... See below.
>> The compressed font would not work with Graphite. It's hard enough to
>> map all fill/rotations, if we had to somehow include the building
>> information ... no, I don't think that would work (I'd be really glad to
>> be proven wrong).
> Eduardo you previously wrote:
> * 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.
>
>
> Eduardo,
> I am wondering if there is any way you can display symbols that have a regular change by the rotation without creating glyph for each one, you could probably keep it below 32500. Such symbols are nearly all of the hand symbols. You would need to be able to do a rotation, mirror (negative scale) and translate for each of the base and fill combinations. The rotation and mirror are quite consistent but for the translate you would need a lookup table as it is different for each symbol.
>
>
>
> The transform attribute of the first g tag in the SVG Refinement font can give you the information you need.
>
>
> 1 <g>
> 2 <g transform="scale(0.913 0.938) translate(-9 10.667) rotate(315)">
> 3 <g transform="translate(0 15) rotate(270)">
> 4 <g transform="scale(0.938 0.913) translate(10.667 32) rotate(225)">
> 5 <g transform="translate(15 30) rotate(180)">
> 6 <g transform="scale(0.913 0.938) translate(32 21.333) rotate(135)">
> 7 <g transform="translate(30 0) rotate(90)">
> 8 <g transform="scale(0.938 0.913) translate(21.333 -9) rotate(45)">
> 9 <g transform="translate(15 0) scale(-1,1)">
> 10 <g transform="scale(0.913 0.938) translate(32 10.667) rotate(45) scale(-1,1)">
> 11 <g transform="translate(30 15) rotate(90) scale(-1,1)">
> 12 <g transform="scale(0.938 0.913) translate(21.333 32) rotate(135) scale(-1,1)">
> 13 <g transform="translate(0 30) rotate(180) scale(-1,1)">
> 14 <g transform="scale(0.913 0.938) translate(-9 21.333) rotate(225) scale(-1,1)">
> 15 <g transform="rotate(270) scale(-1,1)">
> 16 <g transform="scale(0.938 0.913) translate(10.667 -9) rotate(315) scale(-1,1)">
> 17 <g>
> 18 <g transform="scale(0.913 0.938) translate(-9 10.667) rotate(315)">
> 19 <g transform="translate(0 15) rotate(270)">
> 20 <g transform="scale(0.938 0.913) translate(10.667 32) rotate(225)">
> 21 <g transform="translate(15 30) rotate(180)">
> 22 <g transform="scale(0.913 0.938) translate(32 21.333) rotate(135)">
> 23 <g transform="translate(30 0) rotate(90)">
> 24 <g transform="scale(0.938 0.913) translate(21.333 -9) rotate(45)">
> 25 <g transform="translate(15 0) scale(-1,1)">
> 26 <g transform="scale(0.913 0.938) translate(32 10.667) rotate(45) scale(-1,1)">
> 27 <g transform="translate(30 15) rotate(90) scale(-1,1)">
> 28 <g transform="scale(0.938 0.913) translate(21.333 32) rotate(135) scale(-1,1)">
> 29 <g transform="translate(0 30) rotate(180) scale(-1,1)">
> 30 <g transform="scale(0.913 0.938) translate(-9 21.333) rotate(225) scale(-1,1)">
> 31 <g transform="rotate(270) scale(-1,1)">
> 32 <g transform="scale(0.938 0.913) translate(10.667 -9) rotate(315) scale(-1,1)">
> 33 <g>
> 34 <g transform="scale(0.938 0.913) translate(0 1.667) rotate(315)">
> 35 <g transform="translate(0 15) rotate(270)">
> 36 <g transform="scale(0.913 0.938) translate(1.667 32) rotate(225)">
> 37 <g transform="translate(15 30) rotate(180)">
> 38 <g transform="scale(0.938 0.913) translate(32 21.333) rotate(135)">
> 39 <g transform="translate(30 0) rotate(90)">
> 40 <g transform="scale(0.913 0.938) translate(21.333 0) rotate(45)">
> 41 <g transform="translate(15 0) scale(-1,1)">
> 42 <g transform="scale(0.938 0.913) translate(32 1.667) rotate(45) scale(-1,1)">
> 43 <g transform="translate(30 15) rotate(90) scale(-1,1)">
> 44 <g transform="scale(0.913 0.938) translate(21.333 32) rotate(135) scale(-1,1)">
> 45 <g transform="translate(0 30) rotate(180) scale(-1,1)">
> 46 <g transform="scale(0.938 0.913) translate(0 21.333) rotate(225) scale(-1,1)">
> 47 <g transform="rotate(270) scale(-1,1)">
> 48 <g transform="scale(0.913 0.938) translate(1.667 0) rotate(315) scale(-1,1)">
> There are 261 Hand basesymbols which would be using up 96 glyphs each, roughly 25056 glyphs (there are a couple of exceptions)
> If you managed to rotate, mirror and translate the base-fill combinations without using a glyph for each you would save 25056 glyphs which would put you well under your 32500 limit. The font would be a little smaller too.
>
> What are the inconsistencies with shared glyphs in Graphite? You wrote:
> Graphite does not deal with shared glyphs consistently
>
> My SVG font has a lot of smaller pieces refactored out to save more space but I am not suggesting this for you as you want to keep the number of glyphs down to a minimum and that would just add more as you previously mentioned.
>
> I don't know what all of your limitations are but there go my 2 cents worth.
>
> Jonathan
>> So, the idea of the reduced fonts is to work around the current glyph
>> limit (whether in Firefox or in Graphite I still don't know). It is
>> just temporary, to move on with the Wikipedia.
>>
>> Eduardo.
>>
>>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/sw-l/attachments/20121214/9a57e29c/attachment.html>
More information about the Sw-l
mailing list