<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Mangal;
panose-1:2 4 5 3 5 2 3 3 2 2;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:3 0 5 9 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Thanks for the quick response. I’m a licensed user of FontCreator Professional Edition from High-Logic and have the most recent update to version 11.5 installed. The correct ligature is displayed when I type the tta and u Tamil characters
into the test string edit box in the OpenType Designer dialog. In the box just below the test string the two characters are displayed unless I check either the _shaper or psts feature check box. If one of those is checked, then the correct ligature is displayed.
So I guess Google did get the Tamil font right but I cannot seem to get HarfBuzz to return a single glyph id when presented with a buffer containing the tta and u Tamil characters. I’ve tried adding various features when calling hb_shape but that doesn’t seem
to change anything.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I noticed that when I list shapers using a call to hb_shape_list_shapers, the only shaper listed is “ot”. So I guess my next try will be to convert the Google Tamil true type font to an open type font and see if that makes any difference.
If it does, I guess I’ll be having a “duh” moment. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> Cody Planteen <planteen@gmail.com> <br>
<b>Sent:</b> April 10, 2019 12:38 PM<br>
<b>To:</b> Paul Daughetee <Daughetee@finaldraft.com><br>
<b>Cc:</b> harfbuzz@lists.freedesktop.org<br>
<b>Subject:</b> Re: [HarfBuzz] Question on converting UTF-8 codepoints to complex glyphs<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">It's possible your font isn't doing what you think it should be. You can test this theory with the tool High-Logic FontCreator for Windows. I believe there is a free evaluation. You can open up your font, then go to Font -> OpenType Designer.
In this dialog, you can enter your test string and see what glyphs come out.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://www.high-logic.com/font-editor/fontcreator">https://www.high-logic.com/font-editor/fontcreator</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Wed, Apr 10, 2019 at 1:19 PM Paul Daughetee <<a href="mailto:Daughetee@finaldraft.com">Daughetee@finaldraft.com</a>> wrote:<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Let me give you a little more info. I just recently built and installed vcpkg and used it to install HarfBuzz on Windows 10. It installed version 2.3.1-3 of the static libraries
for Window x86. I linked my app to the HarfBuzz library and its dependencies. I added code to my app to capture single words that I could send to be processed by HarfBuzz as they were typed by the user. I installed Google’s NotoSansTamil true type font after
verifying that it properly defined substitutions for the ligature that is formed by the Tamil consonant “tta” when paired with a vowel such as “u” or “I”. After processing a UTF-8 string containing the consonant and the vowel “tta” and “u” [0xE0, 0xAE, 0x9F,
0xE0, 0xAE, 0x89], the hb_glyph_info_t object I get back has tow glyph indices, the same indices as the “tta” and “u” (17, 10) rather than the index for the “ttauvowelsign” (116) ligature I expected. My code is virtually identical to the examples found in
the HarfBuzz wiki and to several examples found in git. Any help here would be greatly appreciated.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>>
<br>
<b>Sent:</b> April 8, 2019 1:47 PM<br>
<b>To:</b> Paul Daughetee <<a href="mailto:Daughetee@finaldraft.com" target="_blank">Daughetee@finaldraft.com</a>><br>
<b>Cc:</b> <a href="mailto:harfbuzz@lists.freedesktop.org" target="_blank">harfbuzz@lists.freedesktop.org</a><br>
<b>Subject:</b> Re: [HarfBuzz] Question on converting UTF-8 codepoints to complex glyphs<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On Mon, Apr 8, 2019 at 4:12 PM Paul Daughetee <<a href="mailto:Daughetee@finaldraft.com" target="_blank">Daughetee@finaldraft.com</a>> wrote:<o:p></o:p></p>
</div>
<div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I’m new to HarfBuzz and attempting to use it for converting a UTF-8 string that contains one or more sets of codepoints that should combine to form single complex glyphs to the
correct string of glyphs. I’ve followed numerous examples and they all lead me to the point where I use hb_buffer_get_glyph_infos to get what I thought would be a hb_glyph_info object that contains the codepoints for the glyphs I seek. So my first question
is as follows. Is that what I should be getting? I ask because I’m not getting what I would expect to get.<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Yes.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I can’t even successfully get a complex glyph to represent the combination of the letter A and the grave accent. So if I’m just confused as to how or what HarfBuzz does, please
help me find a better path. Thanks!<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">What do you get? A + grave-accent only forms one glyph if the font was designed so. It may very well be represented by two glyphs. <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;border-color:currentcolor currentcolor currentcolor rgb(204,204,204)">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">_______________________________________________<br>
HarfBuzz mailing list<br>
<a href="mailto:HarfBuzz@lists.freedesktop.org" target="_blank">HarfBuzz@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/harfbuzz" target="_blank">https://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">--
<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">behdad<br>
<a href="http://behdad.org/" target="_blank">http://behdad.org/</a><o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
HarfBuzz mailing list<br>
<a href="mailto:HarfBuzz@lists.freedesktop.org" target="_blank">HarfBuzz@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/harfbuzz" target="_blank">https://lists.freedesktop.org/mailman/listinfo/harfbuzz</a><o:p></o:p></p>
</div>
</body>
</html>