<div dir="ltr"><div dir="ltr">On Wed, Jun 5, 2019 at 12:36 PM Eli Zaretskii <<a href="mailto:eliz@gnu.org">eliz@gnu.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> From: Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>><br>
> Date: Wed, 5 Jun 2019 12:07:36 -0700<br>
> Cc: "<a href="mailto:harfbuzz@lists.freedesktop.org" target="_blank">harfbuzz@lists.freedesktop.org</a>" <<a href="mailto:harfbuzz@lists.freedesktop.org" target="_blank">harfbuzz@lists.freedesktop.org</a>><br>
> <br>
> In other words, I don't know of a legitimate way to filter out broken fonts like code2000.  If that's what you are<br>
> asking for.<br>
<br>
No, I wasn't asking about Code2000, I was asking a more general<br>
question.<br>
<br>
> Let me ask it differently: why do you think you need to filter anything out?<br>
<br>
I assumed that some fonts will not benefit from HarfBuzz, i.e. will<br>
not support complex script shaping, because they lack some fundamental<br>
features HarfBuzz needs.<br>
<br>
When Emacs needs to find a font for displaying a character which is<br>
not supported by the default font, it scans the available fonts on the<br>
system, looking for matching fonts.  On Windows, we currently have 2<br>
matching criteria: one for fonts suitable for shaping with Uniscribe,<br>
the other for all the rest (the latter generally don't support complex<br>
script shaping).  For HarfBuzz, the code currently employs the same<br>
matching criteria as for Uniscribe (I described them roughly in a<br>
previous message).  I was asking whether HarfBuzz has additional<br>
requirements from fonts, or would any font that's good for Uniscribe<br>
will be good for HarfBuzz.<br>
</blockquote></div><div><br></div>HarfBuzz handles everything it understands.  It was designed, in fact, such that when combined with FreeType or other external font funcs implementation, it even "handles" font formats it does not understand.  Eg. HarfBuzz doesn't understand BDF, PCF, etc, but if you use hb-ft, you can use hb-ft for everything, and BDF, PCF etc also magically work because HarfBuzz defers to FreeType for glyph access, and simply "passes through" for the rest.  It was designed such that you can keep one shaping code path.<div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">behdad<br><a href="http://behdad.org/" target="_blank">http://behdad.org/</a></div></div></div>