]> git.wh0rd.org - fontconfig.git/blobdiff - conf.d/30-metric-aliases.conf
Bug 44826 - <alias> must contain only a single <family>
[fontconfig.git] / conf.d / 30-metric-aliases.conf
index 66dbd584f65351a648dfcfef47d213abf8a0dfde..4202ae92e296a7f6aba2208d11700e240033e8b6 100644 (file)
@@ -1,6 +1,5 @@
 <?xml version="1.0"?>
 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<!-- conf.d/sub-pixel.conf -->
 <fontconfig>
 
        <!-- Alias similar/metric-compatible families from various sources:
@@ -9,14 +8,19 @@
                        Helvetica
                        Times
                        Courier
-               Microsoft fonts:
-                       Arial
-                       Times New Roman
-                       Courier New
                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
                        Albany AMT
                        Thorndale AMT
                        Cumberland AMT
-               Liberation fonts:
-                       Liberation Sans
-                       Liberation Serif
-                       Liberation Mono
 
             Of these, URW fonts are design compatible with PostScrict fonts,
             and the Liberation, StarOffice, and AMT ones are compatible with
 
             We want for each of them to fallback to any of these
             available, but in an order preferring similar designs
-            first.
-            
-            We don't alias URW and Liberation fonts though, given that
-            they are free and less probable to appear in documents by
-            name.
+            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>
-         <family>Helvetica</family>
-         <accept>
+       <alias binding="same">
          <family>Nimbus Sans L</family>
-          <family>Liberation Sans</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>
+         <default>
          <family>Arial</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>Albany</family>
+         <default>
+         <family>Arial</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>Albany AMT</family>
-         </accept>
+         <default>
+         <family>Arial</family>
+         </default>
        </alias>
 
-        <alias>
-         <family>Times</family>
-         <accept>
-         <family>Nimbus Roman No9 L</family>
-          <family>Liberation Serif</family>
+       <alias binding="same">
+         <family>Liberation Serif</family>
+         <default>
          <family>Times New Roman</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>Thorndale</family>
+         <default>
+         <family>Times New Roman</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>Thorndale AMT</family>
-         </accept>
+         <default>
+         <family>Times New Roman</family>
+         </default>
        </alias>
 
-        <alias>
-         <family>Courier</family>
-         <accept>
-         <family>Nimbus Mono L</family>
-          <family>Liberation Mono</family>
+       <alias binding="same">
+         <family>Liberation Mono</family>
+         <default>
          <family>Courier New</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>Cumberland</family>
+         <default>
+         <family>Courier New</family>
+         </default>
+       </alias>
+
+       <alias binding="same">
          <family>Cumberland AMT</family>
-         </accept>
+         <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>
+       <alias>
          <family>Arial</family>
-         <accept>
-          <family>Liberation Sans</family>
-         <family>Albany</family>
-         <family>Albany AMT</family>
+         <default>
          <family>Helvetica</family>
-         <family>Nimbus Sans L</family>
-         </accept>
+         </default>
        </alias>
 
-        <alias>
+       <alias>
          <family>Times New Roman</family>
-         <accept>
-          <family>Liberation Serif</family>
-         <family>Thorndale</family>
-         <family>Thorndale AMT</family>
+         <default>
          <family>Times</family>
-         <family>Nimbus Roman No9 L</family>
-         </accept>
+         </default>
        </alias>
 
-        <alias>
+       <alias>
          <family>Courier New</family>
-         <accept>
-          <family>Liberation Mono</family>
-         <family>Cumberland</family>
-         <family>Cumberland AMT</family>
+         <default>
          <family>Courier</family>
-         <family>Nimbus Mono L</family>
-         </accept>
+         </default>
        </alias>
 
 
-       <!-- StarOffice -->
-        <alias>
-         <family>Albany</family>
-         <accept>
-          <family>Liberation Sans</family>
-         <family>Arial</family>
-         <family>Albany AMT</family>
+
+<!-- Map generics to specifics -->
+
+
+       <!-- PostScript -->
+       <alias binding="same">
          <family>Helvetica</family>
+         <accept>
          <family>Nimbus Sans L</family>
          </accept>
        </alias>
 
-        <alias>
-         <family>Thorndale</family>
-         <accept>
-          <family>Liberation Serif</family>
-         <family>Times New Roman</family>
-         <family>Thorndale AMT</family>
+       <alias binding="same">
          <family>Times</family>
+         <accept>
          <family>Nimbus Roman No9 L</family>
          </accept>
        </alias>
 
-        <alias>
-         <family>Cumberland</family>
-         <accept>
-          <family>Liberation Mono</family>
-         <family>Courier New</family>
-         <family>Cumberland AMT</family>
+       <alias binding="same">
          <family>Courier</family>
+         <accept>
          <family>Nimbus Mono L</family>
          </accept>
        </alias>
 
 
-       <!-- AMT -->
-        <alias>
-         <family>Albany AMT</family>
-         <accept>
-          <family>Liberation Sans</family>
+       <!-- Microsoft -->
+       <alias binding="same">
          <family>Arial</family>
+         <accept>
+         <family>Liberation Sans</family>
          <family>Albany</family>
-         <family>Helvetica</family>
-         <family>Nimbus Sans L</family>
+         <family>Albany AMT</family>
          </accept>
        </alias>
 
-        <alias>
-         <family>Thorndale AMT</family>
-         <accept>
-          <family>Liberation Serif</family>
+       <alias binding="same">
          <family>Times New Roman</family>
+         <accept>
+         <family>Liberation Serif</family>
          <family>Thorndale</family>
-         <family>Times</family>
-         <family>Nimbus Roman No9 L</family>
+         <family>Thorndale AMT</family>
          </accept>
        </alias>
 
-        <alias>
-         <family>Cumberland AMT</family>
-         <accept>
-          <family>Liberation Mono</family>
+       <alias binding="same">
          <family>Courier New</family>
+         <accept>
+         <family>Liberation Mono</family>
          <family>Cumberland</family>
-         <family>Courier</family>
-         <family>Nimbus Mono L</family>
+         <family>Cumberland AMT</family>
          </accept>
        </alias>
 
+
 </fontconfig>