<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- Alias similar/metric-compatible families from various sources: PostScript fonts: Helvetica Times Courier URW fonts: Nimbus Sans L Nimbus Roman No9 L Nimbus Mono L Microsoft fonts: Arial Times New Roman Courier New Liberation fonts: Liberation Sans Liberation Serif Liberation Mono StarOffice fonts: Albany Thorndale Cumberland AMT fonts: Albany AMT Thorndale AMT Cumberland AMT Of these, URW fonts are design compatible with PostScrict fonts, and the Liberation, StarOffice, and AMT ones are compatible with Microsoft fonts. We want for each of them to fallback to any of these available, but in an order preferring similar designs first. We do this in three steps: 1) Alias each specific to it's generic family. eg. Liberation Sans to Arial 2) Weak alias each generic to the other generic of its family. eg. Arial to Helvetica 3) Alias each generic to its specifics. eg. Arial to Liberation Sans, Albany, and Albany AMT --> <!-- Map specifics to generics --> <!-- PostScript --> <alias binding="same"> <family>Nimbus Sans L</family> <default> <family>Helvetica</family> </default> </alias> <alias binding="same"> <family>Nimbus Roman No9 L</family> <default> <family>Times</family> </default> </alias> <alias binding="same"> <family>Nimbus Mono L</family> <default> <family>Courier</family> </default> </alias> <!-- Microsoft --> <alias binding="same"> <family>Liberation Sans</family> <family>Albany</family> <family>Albany AMT</family> <default> <family>Arial</family> </default> </alias> <alias binding="same"> <family>Liberation Serif</family> <family>Thorndale</family> <family>Thorndale AMT</family> <default> <family>Times New Roman</family> </default> </alias> <alias binding="same"> <family>Liberation Mono</family> <family>Cumberland</family> <family>Cumberland AMT</family> <default> <family>Courier New</family> </default> </alias> <!-- Accept the other group as fallback --> <!-- PostScript --> <alias> <family>Helvetica</family> <default> <family>Arial</family> </default> </alias> <alias> <family>Times</family> <default> <family>Times New Roman</family> </default> </alias> <alias> <family>Courier</family> <default> <family>Courier New</family> </default> </alias> <!-- Microsoft --> <alias> <family>Arial</family> <default> <family>Helvetica</family> </default> </alias> <alias> <family>Times New Roman</family> <default> <family>Times</family> </default> </alias> <alias> <family>Courier New</family> <default> <family>Courier</family> </default> </alias> <!-- Map generics to specifics --> <!-- PostScript --> <alias binding="same"> <family>Helvetica</family> <accept> <family>Nimbus Sans L</family> </accept> </alias> <alias binding="same"> <family>Times</family> <accept> <family>Nimbus Roman No9 L</family> </accept> </alias> <alias binding="same"> <family>Courier</family> <accept> <family>Nimbus Mono L</family> </accept> </alias> <!-- Microsoft --> <alias binding="same"> <family>Arial</family> <accept> <family>Liberation Sans</family> <family>Albany</family> <family>Albany AMT</family> </accept> </alias> <alias binding="same"> <family>Times New Roman</family> <accept> <family>Liberation Serif</family> <family>Thorndale</family> <family>Thorndale AMT</family> </accept> </alias> <alias binding="same"> <family>Courier New</family> <accept> <family>Liberation Mono</family> <family>Cumberland</family> <family>Cumberland AMT</family> </accept> </alias> </fontconfig>