<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - Support for sFamilyClass font attribute to allow searching by serif style"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=29497#c25">Comment # 25</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - Support for sFamilyClass font attribute to allow searching by serif style"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=29497">bug 29497</a>
              from <span class="vcard"><a class="email" href="mailto:arthur200126@gmail.com" title="Mingye Wang (Arthur2e5) <arthur200126@gmail.com>"> <span class="fn">Mingye Wang (Arthur2e5)</span></a>
</span></b>
        <pre>Aside from the SFNT sFamilyClass/Panose values, a more primitive form of
self-identification is found in PFM files that accompany some PostScript Type1
fonts. This single-byte identification is named as "dfPitchAndFamily" in
Adobe's documentations[1]; structually, the higher four bits encodes a generic
class, while the least significant bit is set for proportional fonts.
   [1]:
<a href="https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5178.PFM.pdf#page=7">https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5178.PFM.pdf#page=7</a>

A fuller definition of the higher four bits can be found in fontforge
source[2]. (Yes, Windows FNT files have that byte too...) It includes 0x00 for
"don't care", 0x10 for "serif", 0x20 for "sans", 0x30 for "fixed" (mono? why is
it separate from the least significant bit?), 0x40 for "script", and 0x50 for
"decorative".

  [2]:
<a href="https://github.com/fontforge/fontforge/blob/b9149c1/fontforge/winfonts.c#L95-L102">https://github.com/fontforge/fontforge/blob/b9149c1/fontforge/winfonts.c#L95-L102</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>