<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=windows-1252">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-forward-container">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      <br>
      <div class="moz-cite-prefix">On 12/12/2012 1:44 PM, Eduardo
        Trápani wrote:<br>
      </div>
      <blockquote cite="mid:50C8DE9E.4030303@gmail.com" type="cite">
        <blockquote type="cite">
          <pre wrap="">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?</pre>
        </blockquote>
      </blockquote>
      Val, <br>
          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.<br>
      <blockquote cite="mid:50C8DE9E.4030303@gmail.com" type="cite">
        <pre wrap="">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).</pre>
      </blockquote>
      Eduardo you previously wrote:<br>
      <pre wrap="">* 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) <b class="moz-txt-star"><span class="moz-txt-tag">*</span>and<span class="moz-txt-tag">*</span></b> 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.

 </pre>
      <table style="border-collapse: collapse;width:96pt" border="0"
        cellpadding="0" cellspacing="0" width="128">
        <colgroup><col style="width:48pt" span="2" width="64"> </colgroup><tbody>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt;width:48pt" align="right"
              height="20" width="64">1</td>
            <td style="width:48pt" width="64"><g></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">2</td>
            <td><g transform="scale(0.913 0.938) translate(-9 10.667)
              rotate(315)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">3</td>
            <td><g transform="translate(0 15) rotate(270)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">4</td>
            <td><g transform="scale(0.938 0.913) translate(10.667 32)
              rotate(225)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">5</td>
            <td><g transform="translate(15 30) rotate(180)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">6</td>
            <td><g transform="scale(0.913 0.938) translate(32 21.333)
              rotate(135)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">7</td>
            <td><g transform="translate(30 0) rotate(90)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">8</td>
            <td><g transform="scale(0.938 0.913) translate(21.333 -9)
              rotate(45)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">9</td>
            <td><g transform="translate(15 0) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">10</td>
            <td><g transform="scale(0.913 0.938) translate(32 10.667)
              rotate(45) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">11</td>
            <td><g transform="translate(30 15) rotate(90)
              scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">12</td>
            <td><g transform="scale(0.938 0.913) translate(21.333 32)
              rotate(135) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">13</td>
            <td><g transform="translate(0 30) rotate(180)
              scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">14</td>
            <td><g transform="scale(0.913 0.938) translate(-9 21.333)
              rotate(225) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">15</td>
            <td><g transform="rotate(270) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">16</td>
            <td><g transform="scale(0.938 0.913) translate(10.667 -9)
              rotate(315) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">17</td>
            <td><g></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">18</td>
            <td><g transform="scale(0.913 0.938) translate(-9 10.667)
              rotate(315)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">19</td>
            <td><g transform="translate(0 15) rotate(270)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">20</td>
            <td><g transform="scale(0.938 0.913) translate(10.667 32)
              rotate(225)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">21</td>
            <td><g transform="translate(15 30) rotate(180)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">22</td>
            <td><g transform="scale(0.913 0.938) translate(32 21.333)
              rotate(135)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">23</td>
            <td><g transform="translate(30 0) rotate(90)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">24</td>
            <td><g transform="scale(0.938 0.913) translate(21.333 -9)
              rotate(45)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">25</td>
            <td><g transform="translate(15 0) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">26</td>
            <td><g transform="scale(0.913 0.938) translate(32 10.667)
              rotate(45) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">27</td>
            <td><g transform="translate(30 15) rotate(90)
              scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">28</td>
            <td><g transform="scale(0.938 0.913) translate(21.333 32)
              rotate(135) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">29</td>
            <td><g transform="translate(0 30) rotate(180)
              scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">30</td>
            <td><g transform="scale(0.913 0.938) translate(-9 21.333)
              rotate(225) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">31</td>
            <td><g transform="rotate(270) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">32</td>
            <td><g transform="scale(0.938 0.913) translate(10.667 -9)
              rotate(315) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">33</td>
            <td><g></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">34</td>
            <td><g transform="scale(0.938 0.913) translate(0 1.667)
              rotate(315)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">35</td>
            <td><g transform="translate(0 15) rotate(270)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">36</td>
            <td><g transform="scale(0.913 0.938) translate(1.667 32)
              rotate(225)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">37</td>
            <td><g transform="translate(15 30) rotate(180)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">38</td>
            <td><g transform="scale(0.938 0.913) translate(32 21.333)
              rotate(135)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">39</td>
            <td><g transform="translate(30 0) rotate(90)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">40</td>
            <td><g transform="scale(0.913 0.938) translate(21.333 0)
              rotate(45)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">41</td>
            <td><g transform="translate(15 0) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">42</td>
            <td><g transform="scale(0.938 0.913) translate(32 1.667)
              rotate(45) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">43</td>
            <td><g transform="translate(30 15) rotate(90)
              scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">44</td>
            <td><g transform="scale(0.913 0.938) translate(21.333 32)
              rotate(135) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">45</td>
            <td><g transform="translate(0 30) rotate(180)
              scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">46</td>
            <td><g transform="scale(0.938 0.913) translate(0 21.333)
              rotate(225) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">47</td>
            <td><g transform="rotate(270) scale(-1,1)"></td>
          </tr>
          <tr style="height:15.0pt" height="20">
            <td style="height:15.0pt" align="right" height="20">48</td>
            <td><g transform="scale(0.913 0.938) translate(1.667 0)
              rotate(315) scale(-1,1)"></td>
          </tr>
        </tbody>
      </table>
      <pre wrap=""> 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 
</pre>
      <blockquote cite="mid:50C8DE9E.4030303@gmail.com" type="cite">
        <pre wrap="">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.


</pre>
      </blockquote>
      <br>
      <br>
      <br>
    </div>
    <br>
  </body>
</html>