Re: rule to exclude certain fonts based on file type and name scheme

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fabian Greffrath wrote:
Am Montag, den 02.09.2013, 12:10 +0900 schrieb Akira TAGOH:
The following rule would behaves similar what you want but only
exclude when family is exactly matching with "bad font".

That's how it is currently done. But I want to exclude a whole set of
fonts that all include the same string in their family names. By now I
have to exclude all the fonts individually and thus have 10 almost
identical rules. :/

(1) This is not exactly what you requested, but since on many systems Type1 fonts are stored in their own directory, e. g. /usr/share/fonts/X11/Type1 or similar, a <glob> element may be able to help you. But it matches on the filename, not the family name; often that's close enough but probably not always.

An example:

  <selectfont>
    <rejectfont>
      <glob>/usr/share/fonts/X11/Type1/cour*</glob>
      <glob>/usr/share/fonts/X11/Type1/UT*</glob>
    </rejectfont>
  </selectfont>

to exclude Type1 Courier and Utopia.

(2) Not very elegant but still possible: Use target="scan" to assign some bogus family to the fonts (downside is it's going to look ugly in font pickers, plus I think not a lot of globbing options are available, just "contains"):

<match target="scan">
  <test name="family" compare="contains">
    <string>Courier</string>
  </test>
  <test name="fontformat"><string>Type 1</string></test>
  <edit name="family" mode="assign">
    <string>__DISABLED_FONT__</string>
  </edit>
</match>

A bit more beautiful in pickers -- append a suffix:

<match target="scan">
  <test name="family" compare="contains">
    <string>Courier</string>
  </test>
  <test name="fontformat"><string>Type 1</string></test>
  <edit name="family" mode="assign">
    <plus>
      <name>family</name>
      <string> (Beware Ugly Font)</string>
    </plus>
  </edit>
</match>

That way, Type1 .*Courier.* would show as .*Courier.* (Beware Ugly Font) in pickers.

I wouldn't recommend deleting the "family" property in the cache, one could think that would help but I just had the strangest results when I tested it.

(3) You could also add a "fontformat" element to the pattern before the match (to specifically set TrueType, for example) and leave the cache alone, but this only works with upcoming 2.11.

-Raimund





--
Worringer Str 31 Duesseldorf 40211 DE  home: <rs@xxxxxxxx>
+49-179-2981632 icq 16845346           work: <rs@xxxxxxxxxxxxxxx>
_______________________________________________
Fontconfig mailing list
Fontconfig@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/fontconfig




[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux