<div dir="ltr">Hello Robin,<div><br></div><div>I am in the opposite place you are. I come from the Computer Science world and want to learn more about Typography and how computers handle it. We should help each other!</div>
<div><br></div><div>Where did you learn all the typography/font concepts and terms you know? Recommend any good resource to learn this?</div><div>Which is this IRC channel you mentioned?</div><div><br></div><div>If you want to play with Harfbuzz, I recommend this example code:</div>
<div><a href="https://github.com/lxnt/ex-sdl-freetype-harfbuzz">https://github.com/lxnt/ex-sdl-freetype-harfbuzz</a><br></div><div><br></div><div>Your idea of having a dissection of font files similar to the famous dissection of executable files is a really good one.</div>
<div>What do you people in the list thing is a good format to start such a project?</div><div><br></div><div>Cheers,</div><div>Luis</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 29 January 2014 18:21, Robin Skahjem-Eriksen <span dir="ltr"><<a href="mailto:robinds@student.matnat.uio.no" target="_blank">robinds@student.matnat.uio.no</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for link. I shall make sure to read up on that.<br>
I am have slowly started the process of writing some software for Tibetan writing. I thought about how to handle the complex caret behaviour, when people on IRC stated that I should look into getting that done deeper in the text rendering stack.<br>

<br>
Do you know if Graphite currently support caret placements for ligatures which have been transmuted from a stack of glyphs?<br>
<span class="HOEnZb"><font color="#888888"><br>
-Robin<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On Wed, Jan 29, 2014 at 02:37:18PM -0500, Ed Trager wrote:<br>
> Hi, Robin,<br>
><br>
> You might also want to read up about Graphite:<br>
><br>
> <a href="http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home" target="_blank">http://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home</a><br>
><br>
> I believe that Graphite has more sophisticated support (compared to<br>
> OpenType technology) for caret placement for complex scripts such as<br>
> Tibetan.  On the flip side, in comparision to OpenType, Graphite is not<br>
> widely used.<br>
><br>
> - Ed<br>
><br>
><br>
> On Mon, Jan 27, 2014 at 7:32 PM, Robin Skahjem-Eriksen <<br>
> <a href="mailto:robinds@student.matnat.uio.no">robinds@student.matnat.uio.no</a>> wrote:<br>
><br>
> > I have started to investigate into the matter and I find that there is<br>
> > very sparse information readily available. Microsoft had a very interesting<br>
> > document, which I have been trying to understand:<br>
> > <a href="http://www.microsoft.com/typography/OpenTypeDev/tibetan/intro.htm" target="_blank">http://www.microsoft.com/typography/OpenTypeDev/tibetan/intro.htm</a><br>
> > In the section "Examples of Tibetan" (bottom of document), the first<br>
> > example shows how a sequence of eight code points are strung together to<br>
> > form a Tibetan "syllable". It's not really a syllable. It's called a<br>
> > tsheg-bar in Tibetan and a Tibetan word can consist of multiple of these.<br>
> > Anyways, all the code points from the second one up to and including the<br>
> > fourth one are as far as I can tell formed into a ligature. I have opened<br>
> > the MS Himalaya font in Fontforge and seen that this ligature is defined as<br>
> > "tibSa_Ga_Rata_Shapkyu" in a location outside of the Unicode address space.<br>
> ><br>
> > Now, if a user is to work with Tibetan text like any other user of a roman<br>
> > script language, the user of Tibetan script would be very disappointed. The<br>
> > reason for this is that it is impossible to place the caret and select<br>
> > individual characters in this ligature. As of now, you can only select the<br>
> > entire stack as a whole selection. This is partly because the glyphs have<br>
> > been transmuted into a ligature, but perhaps also because there seems to be<br>
> > no definitions of vertical caret ligatures anywhere.<br>
> ><br>
> > How would one go about defining such an important feature? Should this be<br>
> > implemented in the font? Should it be implemented in the software that<br>
> > handles the type face? Or perhaps both? While digging through the MS<br>
> > Himalaya font, I found that there is a value for a Ligature Caret Count.<br>
> > What is this value supposed to be used for? For the ligatures that are<br>
> > supposed to represent stacks of multiple glyphs, the Ligature Caret Count<br>
> > had values up to 4, which I hope can mean that the font itself contains the<br>
> > information I am looking for. Is my assumption correct?<br>
> ><br>
> > Also. I am highly willing to learn more about the inner bowels of typeface<br>
> > rendering. I have taken a course on Computer design and understand how<br>
> > everything are bits and how Asssembly language and C handles this. I also<br>
> > understand the general idea about Unicode and how this is defined on a low<br>
> > level. I've also understood that fonts are basically Bézier curves which<br>
> > are rasterized to the screen buffer. There is still a lot of this process<br>
> > which I still find very murky, so if anybody knows any in depth reading<br>
> > material, I would be very happy to start reading those. I have read State<br>
> > of Text Rendering by Behdad Esfahbod, which was a great overview of the<br>
> > text rendering stack. But I would really like to get more in depth<br>
> > understanding of each layer in the stack.<br>
> ><br>
> > I would really like to also learn more about Harfbuzz and how to work on<br>
> > it. I would really love to spend some time working on it, if I am at a<br>
> > level where my code submission would be acceptable to the standards of this<br>
> > project. Is there any documentation for Harfbuzz? I've taken a quick glance<br>
> > at the source code and run some scripts and make commands, but I honestly<br>
> > don't know what's going on. Why are the C files named .cc and some of the<br>
> > header files named .hh? I can recognize some font lingo and have a slight<br>
> > understanding of what might be going on, but it would be really helpful to<br>
> > have something like this for an Openfont file: <a href="http://imgur.com/a/JEObT#0" target="_blank">http://imgur.com/a/JEObT#0</a>.<br>
> > I must also say that I have no idea of what harfbuzz is supposed to do and<br>
> > how I test or use it once it's compiled. I've tried running some shell<br>
> > scripts and bin files that were compiled, but I really have no clue.<br>
> ><br>
> > Is there somewhere I can learn how to get a handle on understanding the<br>
> > technicalities of the Harfbuzz project and learn what I need to start<br>
> > contributing?<br>
> ><br>
> > Sincerely,<br>
> > Robin Skahjem-Eriksen<br>
> > _______________________________________________<br>
> > HarfBuzz mailing list<br>
> > <a href="mailto:HarfBuzz@lists.freedesktop.org">HarfBuzz@lists.freedesktop.org</a><br>
> > <a href="http://lists.freedesktop.org/mailman/listinfo/harfbuzz" target="_blank">http://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><br>
> ><br>
_______________________________________________<br>
HarfBuzz mailing list<br>
<a href="mailto:HarfBuzz@lists.freedesktop.org">HarfBuzz@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/harfbuzz" target="_blank">http://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><br>
</div></div></blockquote></div><br></div>