<div>
Using ZWNJ would be a great way of fixing it. And indeed it splits the ligature all right, but it also destroys the kerning. Here's a little test I did with HarfBuzz @ e0486fc1affd3796fb8f664e2e7fc208f1d2106c: (the font has an "fi" ligature, and has some kerning between "F" and ",")</div><div><br></div><div>Splitting the ligature with the ZWNJ works:</div><div><br></div><div><div>Shaped "fif\u200Ci" with features: [ ]</div><div>Glyph: #682, x_advance: 652</div><div>Glyph: #71, x_advance: 380</div><div>Glyph: #3, x_advance: 0</div><div>Glyph: #74, x_advance: 292</div><div><br></div><div>Kerning across the ZWNJ does not:</div><div><br></div><div>Shaped "F,F\u200C," with features: [ ]</div><div>Glyph: #39, x_advance: 483</div><div>Glyph: #13, x_advance: 242</div><div>Glyph: #39, x_advance: 563</div><div>Glyph: #3, x_advance: 0</div><div>Glyph: #13, x_advance: 242</div></div>
<div><div><br></div><div>Is it possible that doing this will be supported later in HarfBuzz?</div><div><br></div><div>-- </div><div><p style="margin: 0px; font-size: 12px; font-family: 'Trebuchet MS'; color: rgb(35, 35, 35); "><b>Lóránt Pintér</b></p>
<p style="margin: 0px; font-size: 12px; font-family: 'Trebuchet MS'; color: rgb(35, 35, 35); ">Developer at <a href="http://prezi.com"><span style="color: rgb(18, 85, 204); ">Prezi</span></a></p></div></div>
<p style="color: #A0A0A8;">On Wednesday, February 20, 2013 at 12:09 AM, Jonathan Kew wrote:</p>
<blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
<span><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">Another possible approach to "disabling" ligatures at the color change -</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">given that harfbuzz doesn't know anything about color, that must be</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">something that your application is maintaining - might be to insert a</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">ZWNJ character at that position in the text. With the latest harfbuzz</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">code, I believe kerning would still apply correctly across this, but it</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">should prevent the ligature.</div></span>
</blockquote>
<div>
<br>
</div>