<div dir="ltr"><div><br></div>Hi<br><div class="gmail_extra"><br><div class="gmail_quote">On 22 May 2016 at 18:20, Yash Agarwal <span dir="ltr"><<a href="mailto:agrwal.ysh94@gmail.com" target="_blank">agrwal.ysh94@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><div class="h5"><div dir="ltr">On Mon, May 23, 2016 at 3:32 AM Dave Crossland <<a href="mailto:dave@lab6.com" target="_blank">dave@lab6.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div>Hi<br><div class="gmail_extra"><br><div class="gmail_quote"></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 22 May 2016 at 17:50, Yash Agarwal <span dir="ltr"><<a href="mailto:agrwal.ysh94@gmail.com" target="_blank">agrwal.ysh94@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks for the feedback Dave! <div>I've made the changes to the <a href="https://sugarlabs.github.io/edit-fonts-activity/latest-proposal" target="_blank">proposal</a> as per your comments</div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Thanks!</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I need help/advice regarding a few things: </div><div><span style="line-height:1.5">I'm going to ask them here and then make a compiled blog post in a question-answer format once we sort them out. IMHO this will be a better way to document this.</span></div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Sounds good :)</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>[WORKING WITH FONTS INSIDE SUGAR]</div><div><div>I found much of the info regarding loading fonts and using them to format a text string in Gonzalo<span> </span><div style="display:inline;border-bottom-width:3px;border-bottom-style:solid;border-bottom-color:transparent;color:inherit;font-size:inherit;background-repeat:no-repeat">Odiard's</div><span> </span><a href="https://github.com/sugarlabs/edit-fonts-activity/blob/master/activity.py" target="_blank">code</a> (which was a great read :D) . But this Activity only lists the current fonts in the system and to make a proper font manager I need to know the following:</div></div><div><ol><li><span style="line-height:1.5">Where are fonts stored in sugar and what format they are stored in? </span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>You can find the locations of ttfs on a GNU system by running,</div><div><br></div><div>    $ locate ttf</div><div><br></div><div><a href="https://wiki.sugarlabs.org/go/The_Undiscoverable/Fonts" target="_blank">https://wiki.sugarlabs.org/go/The_Undiscoverable/Fonts</a> mentions that users can store fonts in ~/.fonts/ and that the FontConfig cache tool must be used when fonts are copied into there to update the FontConfig database. <br></div><div><br></div><div><a href="http://www.sanfoundry.com/fc-cache-command-usage-linux/" target="_blank">http://www.sanfoundry.com/fc-cache-command-usage-linux/</a> explains this a little more.<br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ol><li><span style="line-height:1.5">How to install/uninstall (or Activate/Deactivate) fonts both at runtime Activity(if we can) and externally(using Ubuntu)?</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I suggest checking the source code of <a href="https://fontmanager.github.io" target="_blank">https://fontmanager.github.io</a> :) <br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ol><li><span style="line-height:1.5">if we are going to make collections of fonts and marking some fonts as favorites where should these setting be saved?</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>That's a great question that I don't know, but I hope experienced Sugar developers can answer :) </div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>[MAKING A GLYPH PICKER INTERFACE]</div><div>**A grid layout of all the Glyphs within a font like <a href="https://raw.githubusercontent.com/sugarlabs/edit-fonts-activity/gh-pages/files/img/3.png" target="_blank">this</a><span style="line-height:1.5"> ** </span></div><div><ol><li><span style="line-height:1.5">How should we render the Glyphs in the boxes, using Gtk-Cairo or through Pango which will require the font to be installed as a .ttf maybe?</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Since this is about the font editor part of the application, the glyphs will be defcon objects, and thus need to be rendered with Cairo as drawings rather than with Pango as binary fonts.<span style="line-height:1.5">   </span></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div style="background-color:rgb(245,246,245)">[MAKING A GLYPH EDITING INTERFACE]</div><div style="background-color:rgb(245,246,245)">**A drawing area where we can edit the Glyphs within a font like <a href="https://raw.githubusercontent.com/sugarlabs/edit-fonts-activity/gh-pages/files/img/4.png" target="_blank">this</a><span style="line-height:1.5"> ** </span></div></div><div><ol><li><span style="line-height:1.5">Should the Glyphs be rendered in this using Cairo? </span></li></ol></div></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Yes.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ol><li><span style="line-height:1.5">if yes then should I write my own method for this or is there something inbuilt in Cairo or a 3rd party lib for reading ufo3's .glif files?</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>defcon reads the UFO (and thus its GLIF files) and loads their bezier outlines as python objects, so you can use pycairo to render them. </div></div></div></div></blockquote><div><br></div></div></div><div>Oh, I said reading, I meant for rendering them.</div><div>defon only gives the data as objects which can contain multiple components/countours and writng methods/classes for that will be a bit complex</div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div>I think this will be a major part of my GSoC. ;) </div></div></div></blockquote><div><br></div><div>I'm optimistic that you can crack it within a week, since you have defconQt (and the ufoJS glifrendered.html) as a reference that you can port :) </div><div><br></div><div><a href="https://github.com/trufont/trufont/tree/master/Lib/trufont">https://github.com/trufont/trufont/tree/master/Lib/trufont</a><br></div><div><br></div><div><a href="https://github.com/adrientetar/defconQt/tree/master/Lib/defconQt">https://github.com/adrientetar/defconQt/tree/master/Lib/defconQt</a><br></div><div><br></div><div>To break it down into stages, I suggest ignoring the contours in the first stage and focus on contours. </div><div><br></div><div>If you want to revise your project plan, please do :) </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><span style="line-height:1.5">I found these links quite useful for getting started with Cairo</span></div></blockquote><div><ul><ul><li><span style="line-height:1.5"><a href="http://www.tortall.net/mu/wiki/CairoTutorial" target="_blank">http://www.tortall.net/mu/wiki/CairoTutorial</a></span></li><li><span style="line-height:1.5"><a href="http://zetcode.com/gfx/pycairo/basicdrawing/" target="_blank">http://zetcode.com/gfx/pycairo/basicdrawing/</a></span></li></ul></ul></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>:)</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span style="line-height:1.5">[regarding the way FONTS ARE MODELED in </span><a href="http://unifiedfontobject.org/versions/ufo3/index.html" style="line-height:1.5" target="_blank">UFOv3</a><span style="line-height:1.5">]</span><br></div><div><ol><li><span style="line-height:1.5">why do we need multiple layers in a font?(to store multiple families..?)</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>When drawing anything it is useful to have reference material close to hand. Almost all graphics editors have layers for this purpose - gimp/photoshop, inkscape/illustrator, scribus/indesign, etc etc.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ol><li><span style="line-height:1.5">why do we need to group glyphs? (is it only for </span>Kearning?<span style="line-height:1.5">)</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Yes, <a href="http://unifiedfontobject.org/versions/ufo3/groups.plist/" target="_blank">http://unifiedfontobject.org/versions/ufo3/groups.plist/</a>  says, </div><div><br></div></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>"Groups may be used as members of kerning pairs in kerning.plist."</div></div></div></blockquote><div class="gmail_extra"></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ol><li><span style="line-height:1.5">why do we need the image files?(are they used to render the glyphs?)</span></li></ol></div></div></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_extra">Which image files?</div></div></div></blockquote></span><div>this one  <a href="http://unifiedfontobject.org/versions/ufo3/images/" target="_blank">http://unifiedfontobject.org/versions/ufo3/images/</a></div><div>and the image xml element in .glif file. <a href="http://unifiedfontobject.org/versions/ufo3/glyphs/glif/" target="_blank">http://unifiedfontobject.org/versions/ufo3/glyphs/glif/</a></div></div></div></blockquote></div><div class="gmail_extra"><br></div><div class="gmail_extra">The idea is similar to layers - you might sketch some letter designs with a pencil - eg <a href="https://glyphsapp.com/tutorials/sketching">https://glyphsapp.com/tutorials/sketching</a> - and then scan the paper you drew on, segment it into one image per letter, and then want to draw digital outlines with the image integrated into your drawing canvas. </div><div class="gmail_extra"><br></div>BTW <a href="https://glyphsapp.com/tutorials/monoline">https://glyphsapp.com/tutorials/monoline</a> is also nice, relates to the 'stretch goals' in your plan at the end :) <br clear="all"><div><br></div>-- <br><div class="gmail_signature">Cheers<br>Dave</div>
</div></div>