<div>
                    Hey,
                </div><div><br></div><div>Can somebody please help me with these questions?</div>
                <div><div><br></div><div>-- </div><div>Thanks,</div><div>Lorant</div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Tuesday, October 2, 2012 at 10:51 PM, Lóránt Pintér wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div>
                <div>
                    Hi Behdad,
                </div><div><br></div><div>I finally managed to get OT layouting with HarfBuzz to work in JavaScript via Emscripten. It's awesome! :) There are still some open questions though. Can you please help me with them?</div><div><ul><li><b>How should I find out if a glyph returned by hb_shape() is a ligature?</b> I found some static functions in hb-ot-layout-private.hh like is_a_ligature(), but these are not C externs, so I cannot access them from JavaScript. Is there some other way supported by HarfBuzz, or shall I re-implement these functions in JS by inspecting the glyph_info_t struct?</li><li><b>How can I find internal x_advance positions inside a ligature?</b> The GDEF table should contain information about this. Does HarfBuzz expose it in any way?</li><li><b>How should I find out if a character was split into multiple glyphs?</b> I guess the "cluster" field of a glyph_info_t is about this, right? If I have a blown-up character, how can I find the caret positions that I should use?</li><li><b>Can HarfBuzz handle the Apple "kern," "morx" etc. tables?</b> If not, is it safe to use FontForge to convert these fonts to use OpenType's GPOS/GSUB etc.? This is not very encouraging: <a href="http://fontforge.org/gposgsub.html">http://fontforge.org/gposgsub.html</a></li><li><b>Which features are turned on by default?</b> I can see that ligatures and kerning are turned on for my simple Latin text, and I can successfully turn them off by supplying features "-kern" and "-liga," but I'm still curious what the defaults are.</li><li><b>When kerning is applied, I get funny x_advances.</b> This might be an error on my side, but currently when a pair of glyphs is kerned, the first character get's an x_advance that seems to have something like "42949017" subtracted from it. Because ligature substitution works perfectly, I assume GSUB table parsing works fine, so I don't see why GPOS would fail. Any pointers here?</li></ul></div>
                <div><div>Thanks a lot for any help you can provide! Also, if I can help out with writing documentation, please let me know.</div><div><br></div><div>Lorant</div><div><br></div></div>
            </div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>