5.5 ÔÚ X11 ÖÐʹÓÃ×ÖÌå

¹©¸åMurray Stokely.

5.5.1 Type1 ×ÖÌå

¡¡¡¡X11 ʹÓõÄĬÈÏ×ÖÌå²»ÊǺÜÀíÏë¡£ ´óÐ͵Ä×ÖÌåÏԵòβÆë£¬¿´ÆðÀ´ºÜ²»×¨Òµ£¬ ²¢ÇÒ£¬ ÔÚ Netscape® ÖУ¬ С×ÖÌå¼òÖ±ÎÞ·¨¿´Çå¡£ Óкü¸ÖÖÃâ·Ñ¡¢ ¸ßÖÊÁ¿µÄ×ÖÌå¿ÉÒԺܷ½±ãµØÓÃÔÚ X11 ÖС£ ÀýÈ磬URW×ÖÌ弯ºÏ (x11-fonts/urwfonts) ¾Í°üÀ¨Á˸ßÖÊÁ¿µÄ ±ê×¼ type1 ×ÖÌå (Times Roman®, Helvetica®¡¢ Palatino® ºÍÆäËûһЩ)¡£ ÔÚ Freefont ¼¯ºÏÖÐ (x11-fonts/freefonts) Ò²°üÀ¨¸ü¶àµÄ×ÖÌ壬 µ«ËüÃÇÖеľø´ó²¿·ÖʹÓÃÔÚͼÐÎÈí¼þÖУ¬Èç Gimp£¬ÔÚÆÁÄ»×ÖÌåÖÐʹÓò¢²»ÍêÃÀ¡£ÁíÍ⣬ Ö»Òª»¨ºÜÉٵŦ·ò£¬¿ÉÒÔ½« XFree86" ÅäÖóÉÄÜʹÓà TrueType® ×ÖÌ壺Çë²Î¼ûºóÃæµÄ TrueType ×ÖÌåÒ»½Ú¡£

¡¡¡¡Èç¹ûÏ£ÍûʹÓà Ports Collection À´°²×°ÉÏÃæµÄ Type1 ×ÖÌ壬 Ö»ÐèÔËÐÐÏÂÃæµÄÃüÁ

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

¡¡¡¡freefont »òÆäËûµÄ×Ö¿âºÍÉÏÃæËù˵µÄ´óÌåÀàËÆ¡£ ΪÁËÈà X ·þÎñÆ÷Äܹ»¼ì²âµ½ÕâЩ×ÖÌ壬 ÐèÒªÔÚ X ·þÎñÆ÷µÄÅäÖÃÎļþ (/etc/X11/xorg.conf) ÖÐÔö¼ÓÏÂÃæµÄÅäÖãº

FontPath "/usr/local/lib/X11/fonts/URW/"

¡¡¡¡»òÕߣ¬Ò²¿ÉÒÔÔÚÃüÁîÐÐÔËÐУº

% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehash

¡¡¡¡ÕâÑù»áÆð×÷Ó㬵«Êǵ± X »á»°½áÊøºó¾Í»á¶ªÊ§£¬ ³ý·ÇËü±»Ìí¼Óµ½Æô¶¯Îļþ (~/.xinitrc ÖУ¬ Õë¶ÔÒ»¸öѰ³£µÄ startx »á»°£¬»òÕßµ±Äúͨ¹ýÒ»¸öÀàËÆ XDM µÄͼÐεǼ¹ÜÀíÆ÷µÇ¼ʱÌí¼Óµ½ ~/.xsession ÖÐ)¡£ µÚÈýÖÖ·½·¨ÊÇʹÓÃÐ嵀 /usr/local/etc/fonts/local.conf Îļþ£º ²é¿´ anti-aliasing Õ½ڡ£

5.5.2 TrueType® ×ÖÌå

¡¡¡¡Xorg ÒѾ­ÄÚ½¨ÁË¶Ô TrueType ×ÖÌåµÄÖ§³Ö¡£ÓÐÁ½¸ö²»Í¬µÄÄ£¿éÄܹ»ÆôÓÃÕâ¸ö¹¦ÄÜ¡£ ÔÚÕâ¸öÀý×ÓÖÐʹÓà freetype Õâ¸öÄ£¿é£¬ÒòΪËüÓëÆäËûµÄ×ÖÌåÃè»æºó¶Ë ÊǼæÈݵġ£ÒªÆôÓà freetype Ä£¿é£¬Ö»ÐèÒª½«ÏÂÃæÕâÐÐÌí¼Óµ½ /etc/X11/xorg.conf ÎļþµÄ "Module" ²¿·Ö¡£

Load "freetype"

¡¡¡¡ÏÖÔÚ£¬Îª TrueType ×ÖÌå´´½¨Ò»¸öĿ¼ (±ÈÈ磬 /usr/local/lib/X11/fonts/TrueType) È»ºó°ÑËùÓÐµÄ TrueType ×ÖÌ叴֯µ½Õâ¸öĿ¼¡£¼ÇסÄú²»ÄÜÖ±½Ó´Ó Macintosh® ¼ÆËã»úÖÐÌáÈ¡ TrueType ×ÖÌ壻 Äܱ» X11 ʹÓõıØÐëÊÇ UNIX®/MS-DOS®/Windows® ¸ñʽµÄ¡£ Ò»µ©ÄúÒѾ­½«ÕâЩÎļþ¸´ÖƵ½ÁËÕâ¸öĿ¼£¬ ¾Í¿ÉÒÔÓà ttmkfdir À´´´½¨ fonts.dir Îļþ£¬ ÒÔ±ãÈÃX×ÖÌåÒýÇæÖªµÀÄúÒѾ­°²×°ÁËÕâЩÐÂÎļþ¡£ ttmkfdir ¿ÉÒÔÔÚ FreeBSD Ports Ì×¼þÖÐµÄ x11-fonts/ttmkfdir ÖÐÕÒµ½¡£

# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir

¡¡¡¡ÏÖÔÚ°Ñ TrueType ×ÖÌåĿ¼Ìí¼Óµ½×ÖÌå·¾¶ÖС£ ÕâºÍÉÏÃæ Type1 ×ÖÌåµÄ²½ÖèÊÇÒ»ÑùµÄ£¬ ÄǾÍÊÇ£¬Ê¹ÓÃ

% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehash

¡¡¡¡»òÕß°Ñ FontPath ÕâÐмӵ½ xorg.conf ÎļþÖС£

¡¡¡¡¾ÍÊÇÕâÑù¡£ÏÖÔÚ Netscape, Gimp, StarOffice" ºÍÆäËûËùÓÐµÄ X Ó¦ÓóÌÐò Ó¦¸Ã¿ÉÒÔÈϳö°²×°µÄ TrueType ×ÖÌ塣һЩºÜСµÄ×ÖÌå(ÈçÔÚ Web Ò³ÃæÉϸ߷ֱæÂÊÏÔʾµÄÎı¾) ºÍһЩºÜ´óµÄ×ÖÌå(ÔÚ StarOffice ÏÂ) ÏÖÔÚ¿´ÆðÀ´ÒѾ­ºÜºÃÁË¡£

5.5.3 Anti-Aliased ×ÖÌå

Updated by Joe Marcus Clarke.

¡¡¡¡¶ÔÓÚËùÓÐÖ§³Ö Xft µÄÓ¦ÓóÌÐò£¬ ËùÓзŵ½ X11 /usr/local/lib/X11/fonts/ ºÍ ~/.fonts/ ÖеÄ×ÖÌå¶¼×Ô¶¯µØ±»¼ÓÈë·´×ßÑùÖ§³Ö¡£ ¾ø´ó¶àÊý½ÏеijÌÐò¶¼ÌṩÁË Xft Ö§³Ö£¬ °üÀ¨ KDE¡¢ GNOME ÒÔ¼° Firefox¡£

¡¡¡¡Òª¿ØÖÆÄÄЩ×ÖÌåÊÇ anti-aliased£¬»òÕßÅäÖà anti-aliased ÌØÐÔ£¬ ´´½¨(»òÕ߱༭£¬Èç¹ûÎļþÒѾ­´æÔڵϰ)Îļþ /usr/local/etc/fonts/local.conf¡£Xft ×ÖÌåϵͳµÄ¼¸¸ö ¸ß¼¶ÌØÐÔ¶¼¿ÉÒÔʹÓÃÕâ¸öÎļþÀ´µ÷½Ú£» ÕâÒ»²¿·ÖÖ»ÃèÊö¼¸ÖÖ×î¼òµ¥µÄÇé¿ö¡£ÒªÁ˽â¸ü¶àµÄϸ½Ú£¬Çë²é¿´ fonts-conf(5).

¡¡¡¡Õâ¸öÎļþÒ»¶¨ÊÇ XML ¸ñʽµÄ¡£×¢ÒâÈ·±£ËùÓеıêÇ©¶¼ÍêÈ«µÄ¹Ø±Õµô¡£ Õâ¸öÎļþÒÔÒ»¸öºÜÆÕͨµÄ XML Í·¿ªÊ¼£¬ ºó¸úÒ»¸ö DOCTYPE ¶¨Ò壬 ½ÓÏÂÀ´ÊÇ <fontconfig> ±êÇ©£º

      <?xml version="1.0"?>
      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
      <fontconfig>
    

¡¡¡¡ÏñÇ°ÃæËù×öµÄÄÇÑù£¬ÔÚ /usr/local/lib/X11/fonts/ ºÍ ~/.fonts/ Ŀ¼ÏµÄËùÓÐ×ÖÌåÒѾ­¿ÉÒÔ±»Ö§³Ö Xft µÄ Ó¦ÓóÌÐòʹÓÃÁË¡£Èç¹ûÄúÏëÌí¼ÓÕâÁ½¸öĿ¼ÒÔÍâµÄÆäËû·¾¶£¬ ¼òµ¥µÄÌí¼ÓÏÂÃæÕâÐе½ /usr/local/etc/fonts/local.confÎļþÖУº

<dir>/path/to/my/fonts</dir>

¡¡¡¡Ìí¼ÓÁËеÄ×ÖÌ壬ÓÈÆäÊÇÌí¼ÓÁËеÄ×ÖÌåĿ¼ºó£¬ ÄúÓ¦¸ÃÔËÐÐÏÂÃæµÄÃüÁîÖØ½¨×ÖÌ建´æ£º

# fc-cache -f

¡¡¡¡Anti-aliasing »áÈÃ×ÖÌå±ßÔµÓÐЩģºý£¬ÕâÑùÔö¼ÓÁ˷dz£Ð¡µÄÎı¾µÄ¿É¶ÁÐÔ£¬ ²¢´Ó´óÎı¾×ÖÌåÖÐɾ³ý ¡°¾â³Ý¡±¡£ µ«Èç¹ûʹÓÃÆÕͨµÄÎı¾£¬ Ôò¿ÉÄÜÒýÆðÑÛÆ£ÀÍ¡£ Òª½ûÖ¹ 14°õ ÒÔÏÂ×ÖÌåµÄ·´×ßÑù£¬ ÐèÒªÔö¼ÓÈçÏÂÅäÖãº

        <match target="font">
            <test name="size" compare="less">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>
        <match target="font">
            <test name="pixelsize" compare="less" qual="any">
                <double>14</double>
            </test>
            <edit mode="assign" name="antialias">
                <bool>false</bool>
            </edit>
        </match>

¡¡¡¡Óà anti-aliasing À´¼ä¸ôһЩµÈ¿í×ÖÌåÒ²ÊDz»Êʵ±µÄ¡£ ÕâËÆºõÊÇ KDE µÄÒ»¸öÎÊÌâ¡£ ÒªÐÞ¸´Õâ¸öÎÊÌâÐèҪȷ±£Ã¿¸ö×ÖÌåÖ®¼äµÄ¼ä¾à±£³ÖÔÚ100¡£ ¼ÓÈëÏÂÃæÕâЩÐУº

       <match target="pattern" name="family">
           <test qual="any" name="family">
               <string>fixed</string>
           </test>
           <edit name="family" mode="assign">
               <string>mono</string>
           </edit>
        </match>
        <match target="pattern" name="family">
            <test qual="any" name="family">
                <string>console</string>
            </test>
            <edit name="family" mode="assign">
                <string>mono</string>
            </edit>
        </match>

¡¡¡¡(ÕâÀï°ÑÆäËûÆÕͨµÄÐÞ¸´µÄ×ÖÌå×÷Ϊ "mono")£¬È»ºó¼ÓÈ룺

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>      

¡¡¡¡Ä³Ð©×ÖÌ壬±ÈÈç Helvetica£¬µ± anti-aliased µÄʱºò¿ÉÄÜ´æÔÚÎÊÌâ¡£ ͨ³£µÄ±íÏÖΪ×ÖÌå±¾ÉíËÆºõ±»´¹Ö±µÄÇгÉÁ½°ë¡£ Ôã¸âµÄʱºò£¬»¹¿ÉÄܵ¼ÖÂÓ¦ÓóÌÐò±ÀÀ£¡£ ΪÁ˱ÜÃâÕâÑùµÄÏÖÏ󣬿¼ÂÇÌí¼ÓÏÂÃæ¼¸Ðе½ local.confÎļþÀïÃæ£º

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>Helvetica</string>
             </test>
             <edit name="family" mode="assign">
                 <string>sans-serif</string>
             </edit>
         </match>        

¡¡¡¡Ò»µ©ÄúÍê³É¶Ô local.conf ÎļþµÄ±à¼­£¬È·±£ÄúʹÓÃÁË </fontconfig> ±êÇ©À´½áÊøÎļþ¡£ ²»ÕâÑù×ö½«»áµ¼ÖÂÄúµÄ¸ü¸Ä±»ºöÂÔ¡£

¡¡¡¡×îºó£¬Óû§¿ÉÒÔͨ¹ýËûÃǸöÈ赀 .fonts.conf ÎļþÀ´Ìí¼Ó×Ô¼ºµÄÉ趨¡£ ÒªÍê³É´ËÏ×÷£¬ Óû§Ö»Ðè¼òµ¥µØ´´½¨ ~/.fonts.conf ²¢Ìí¼ÓÏà¹ØÅäÖᣠ´ËÎļþÒ²±ØÐëÊÇ XML ¸ñʽµÄ¡£

¡¡¡¡×îºó£º¶ÔÓÚLCDÆÁÄ»£¬ ¿ÉÄÜÏ£ÍûʹÓÃ×ÓÏñËØµÄÈ¡Ñù¡£ ¼òµ¥¶øÑÔ£¬ ÕâÊÇͨ¹ý·Ö±ð¿ØÖÆ (ˮƽ·½Ïò·Ö¿ªµÄ) ºì¡¢ÂÌ¡¢À¶ ÏñËØ£¬ À´¸ÄÉÆË®Æ½·Ö±æÂÊ£» ÕâÑù×öµÄЧ¹ûÒ»°ã»á·Ç³£Ã÷ÏÔ¡£ ÒªÆôÓÃËü£¬ Ö»ÐèÔÚ local.conf ÎļþµÄij¸öµØ·½¼ÓÈ룺

         <match target="font">
             <test qual="all" name="rgba">
                 <const>unknown</const>
             </test>
             <edit name="rgba" mode="assign">
                 <const>rgb</const>
             </edit>
         </match>
       

×¢Òâ: ËæÄúÏÔʾÆ÷µÄÖÖÀ಻ͬ£¬ ¿ÉÄÜÐèÒª°Ñ rgb ¸ÄΪ bgr¡¢ vrgb »ò vbgr£º ÊÔÑéһϿ´¿´ÄǸö¸üºÃ¡£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.