如何使字体看起来像Windows中的字体?


52

字体在Ubuntu中看起来很糟糕且模糊。当我在Ubuntu和Windows中比较站点时,即使导入所有Windows字体,Windows字体看起来也更具可读性。我该如何更改?


7
喜欢Windows风格字体的Ubuntu用户可能会在以下超级用户问题上找到我的答案有用:superuser.com/questions/19824/better-ubuntu-fonts
Jonik,2010年

很好的答案。
科迪·哈洛

2
@Jonik,让该评论成为答案,以便我们对其进行投票!
豪尔赫·卡斯特罗

@Jorge:完成,就在这里
Jonik 2010年

只需添加MS字体。我一直喜欢它们,尤其是对于Word文档和其他跨平台内容。(请参阅下面的Pascalyeeeev的回复。)
david6 2011年

Answers:



56

当您说“使字体看起来不错 ”时,您的意思是“使字体看起来像我惯用的一样 ”-如果您来自Mac,您会问“如何防止字体变形”。

Windows中的字体渲染与像素网格高度对齐,以锐利的边缘来替换变形的字体。这对应于“外观”→“字体”→“详细信息”中的“完全提示”选项。您无需触摸任何其他配置。

OS X上的字体渲染是另一种方式-它不会扭曲字体形状,这意味着大多数字形都跨越像素边界。这对应于“无”提示选项。

默认情况下,Ubuntu介于两者之间-使用轻微的提示会稍微扭曲字体,使它们更好地适应像素网格。

如果使用的是LCD显示器,则无论提示类型如何,都应启用子像素抗锯齿功能。


非常好!现在看起来很好。
科迪·哈洛

14
  1. 启用字体提示。

    右键单击桌面,单击更改背景,单击字体选项卡,然后启用亚像素平滑。您可能会发现通过“详细信息”按钮可以获得更好的结果。

  2. 如果您的字体在某些应用程序中被“破坏”,就像我早在Firefox中一样,请尝试以下操作:

    sudo fc-cache -fv
    

    它应该只是刷新您的系统字体缓存。看起来很傻,但是对我有用。


看起来更好一点。它在Windows上仍然不完美。
科迪·哈洛

6

在2010年5月,与TrueType提示相关的专利到期了,此后FreeType使用了自动提示功能,这使非提示字体看起来更好,但使专业提示和完全提示字体显得胡扯。

由于与字体提示相关的专利已过期,因此FreeType默认情况下已启用字体提示,因此您可以升级到特立独行的,或使用最新版本的FreeType以获得最佳效果。


4

我认为真正有助于字体平滑度的是调整dpi。

首先,打开一个终端并输入:

xdpyinfo | grep resolution

它会给您一个数字,例如“ 96x96”。

现在转到外观设置中的字体选项卡。单击右下角的详细信息按钮。在此新窗口的顶部,有一个放置数字的位置。输入终端命令给您的第一个数字。例如,它给了我“ 108x106”,所以我把108放在那里。

这样做可以使您更接近所需的平滑字体。


2

我已经使用Ubuntu 4年了,但是我仍然更喜欢“像Windows一样”的字体渲染。你不是一个人...

1-安装msttcorefonts:

须藤apt-get install msttcorefonts

2-从一些旧的Windows磁盘上将tahoma truetype字体添加到/ usr / share / fonts / truetype /(这很可惜,我知道;-)

sudo cp --no-preserve =所有位置/Tahoma*.ttf / usr / share / fonts / truetype

3-使用/39/clearfonts.conf之类的名称将以下fonts.conf保存在/etc/fonts/conf.avail中(具有root所有权)

sudo cp --no-preserve =全部〜/ Download / fonts.conf /etc/fonts/conf.avail/39-clearfonts.conf

4-在/etc/fonts/fonts.d中创建符号链接

须藤ln -s /etc/fonts/conf.avail/39-clearfonts.conf /etc/fonts/conf.d

5-在外观设置中的“字体”选项卡中,选择10号(常规或粗体)的“ Sans”作为除serif字体(最后一个)以外的所有字体,并进行验证。

您应该得到像您正在等待的东西!(对不起,作为这里的新用户,我不允许发布屏幕截图)

这是神奇的fonts.conf文件:

<?xml版本=“ 1.0”编码=“ UTF-8”?>
<!DOCTYPE fontconfig SYSTEM“ fonts.dtd”>

<fontconfig>
    <!-通用系列的默认字体->
    <别名>
        <family>幻想</ family>
        <首选>
            <family> Comic Sans MS </ family>
            <family> URW </ family>
        </ prefer>
    </ alias>
    <别名>
        <family>等宽</ family>
        <首选>
            <family> Courier New </ family>
            <family> DejaVu Sans Mono </ family>
        </ prefer>
    </ alias>
    <别名>
        <family> sans-serif </ family>
        <首选>
            <family> Tahoma </ family>
            <family> Arial </ family>
            <family>压缩的DejaVu Sans </ family>
        </ prefer>
    </ alias>
    <别名>
        <family> serif </ family>
        <首选>
            <family> Times New Roman </ family>
            <family>压缩的DejaVu Serif </ family>
        </ prefer>
    </ alias>
    <!-如果找不到通用字体的别名->
    <别名>
        <family> Arial </ family>
        <accept> <family> sans-serif </ family> </ accept>
    </ alias>
    <别名>
        <family>比特流Vera Sans Mono </ family>
        <首选>
            <family> Courier New </ family>
            <family> DejaVu Sans Mono </ family>
        </ prefer>
    </ alias>
    <别名>
        <family> Comic Sans MS </ family>
        <accept> <family> URW </ family> </ accept>
    </ alias>
    <别名>
        <family> Courier </ family>
        <prefer> <family>等宽</ family> </ prefer>
    </ alias>
    <别名>
        <family> Courier New </ family>
        <accept> <family>等宽</ family> </ accept>
    </ alias>
    <别名>
        <family>草书</ family>
        <accept> <family> URW </ family> </ accept>
    </ alias>
    <别名>
        <family>乔治亚州</ family>
        <accept> <family> serif </ family> </ accept>
    </ alias>
    <别名>
        <family>加拉蒙德</ family>
        <accept> <family> serif </ family> </ accept>
    </ alias>
    <别名>
        <family> Helvetica </ family>
        <default> <family> sans-serif </ family> </ default>
    </ alias>
    <别名>
        <family>影响</ family>
        <accept> <family> sans-serif </ family> </ accept>
    </ alias>
    <别名>
        <family> Palatino Linotype </ family>
        <accept> <family> serif </ family> </ accept>
    </ alias>
    <别名>
        <family> Trebuchet MS </ family>
        <accept> <family> sans-serif </ family> </ accept>
    </ alias>
    <别名>
        <family> Tahoma </ family>
        <accept> <family> sans-serif </ family> </ accept>
    </ alias>
    <别名>
        <family>时报</ family>
        <prefer> <family> Times New Roman </ family> </ prefer>
        <default> <family> serif </ family> </ default>
    </ alias>
    <别名>
        <family> Times New Roman </ family>
        <prefer> <family> Times New Roman </ family> </ prefer>
    </ alias>
    <别名>
        <family> Verdana </ family>
        <accept> <family> sans-serif </ family> </ accept>
    </ alias>
    <!-sans-serif默认使用Bitstream Vera Sans。用更好的东西替换它->
    <别名>
        <family>比特流Vera Sans </ family>
        <首选>
            <family> Tahoma </ family>
            <family> Arial </ family>
            <family>压缩的DejaVu Sans </ family>
        </ prefer>
    </ alias>

    <!-Serif默认为Bitstream Vera Serif。用更好的东西替换它->

    <别名>
        <family>比特流维拉衬线</ family>
        <首选>
            <family> Times New Roman </ family>
            <family>压缩的DejaVu Serif </ family>
        </ prefer>
    </ alias>
    <!-用Arial替换Helvetica,将通过fc-match Helvetica测试->
    <match target =“ pattern”>
        <test qual =“ any” name =“ family”>
        <string> Helvetica </ string>
        </ test>
        <edit name =“ family” mode =“ assign” binding =“ strong”>
        <string> Arial </ string>
        </ edit>
    </ match>   
    <match target =“ font”>
        <edit mode =“ assign” name =“ rgba”> <const> rgb </ const> </ edit>
    </ match>
    <match target =“ font”>
        <edit mode =“ assign” name =“ hinting”> <bool> true </ bool> </ edit>
    </ match>
    <match target =“ font”>
        <edit mode =“ assign” name =“ hintstyle”> <const>提示媒体</ const> </ edit>
    </ match>
    <match target =“ font”>
        <edit mode =“ assign” name =“ antialias”> <bool> true </ bool> </ edit>
    </ match>
    <match target =“ font”>
        <test compare =“ more_eq” name =“ size” qual =“ any” target =“ default”> <double> -1 </ double> </ test>
        <test compare =“ less_eq” name =“ size” qual =“ any” target =“ default”> <double> 15 </ double> </ test>
        <test name =“ family”>
            <string> Arial </ string>
            <string>漫画Sans </ string>
            <string> Courier New </ string>
            <string>乔治亚州</ string>
            <string>影响</ string>
            <string> Helvetica </ string>
            <string> Lucida Bright </ string>
            <string> Lucida控制台</ string>
            <string> Lucida Sans </ string>
            <string> Microsoft Sans </ string>
            <string> Palatino Linotype </ string>
            <string> Tahoma </ string>
            <string> Ubuntu </ string>
            <string> Times New Roman </ string>
            <string> Trebuchet MS </ string>
            <string> Verdana </ string>
        </ test>
        <edit mode =“ assign” name =“ antialias”> <bool> false </ bool> </ edit>
    </ match>
    <match target =“ font”>
        <test compare =“ less_eq” name =“ pixelsize” qual =“ any” target =“ default”> <double> 20 </ double> </ test>
        <test name =“ family”>
            <string> Arial </ string>
            <string>漫画Sans </ string>
            <string> Courier New </ string>
            <string>乔治亚州</ string>
            <string>影响</ string>
            <string> Helvetica </ string>
            <string> Lucida Bright </ string>
            <string> Lucida控制台</ string>
            <string> Lucida Sans </ string>
            <string> Microsoft Sans </ string>
            <string> Palatino Linotype </ string>
            <string> Tahoma </ string>
            <string> Ubuntu </ string>
            <string> Times New Roman </ string>
            <string> Trebuchet MS </ string>
            <string> Verdana </ string>
        </ test>  
        <edit mode =“ assign” name =“ antialias”> <bool> false </ bool> </ edit>
    </ match>
</ fontconfig>

2

您可以在两个主要位置设置字体的呈现方式,乍一看它们似乎与彼此没有任何关系:

gnome-appearance-properties显示适用于所有GTK应用程序的设置,并允许您选择各种级别的平滑度和提示。此处的设置同样适用于所有字体。其他字体设置(例如,提示还是自动提示的决定)取自以下内容:

fonconfig 是负责整个系统中字体配置和字体匹配的程序。您可以通过编辑 /etc/fonts/local.conf~/.fonts.conf按用户)或通过符号链接/etc/fonts/conf.d到中的各种预设来进行选择/etc/fonts/conf.avail。可以通过运行阅读技术细节man fonts.conf。Firefox和Chromium直接从此处读取其设置,如果根本找不到任何提示设置,则仅咨询gnome-appearance-properties。

在我的文章中,.fonts.conf我有四个部分:

  1. 每种字体是自动提示还是正常提示。要显式使用自动提示,请将提示设置为true,并将自动提示设置为true。除较新的“昂贵”字体和MS字体外,我对大多数字体几乎没有自动提示,通常会在中等提示。略有暗示的是DejaVu Sans Condensed,Lucida Grande,PT Sans,Segoe和Tahoma。我认为Windows风格是正常的,暗示完全/中等(通常是相同的)。Freetype文档说,如果字体没有提供truetype提示信息,则将应用自动提示,并且在Firefox中也是如此。注意.fonts.conf不要与预设冲突。

  2. 如果在系统上找不到字体,则应用替换和后备。我将DejaVu Sans Condensed替换为Tahoma,将DejaVu Sans替换为Geneva,将Arimo替换为Arial,将Mukti Narrow替换为Lucida Grande,并将FreeSans替换为Helvetica。

  3. 例外情况。例如,对于粗体字体,自动提示功能已关闭。

  4. 标准名称的别名;无衬线,衬线,等宽,草书和幻想。

编写好代码后.fonts.conf,打开Wikipedia,然后在“首选项”>“内容”>“高级”中选择默认比例字体为sans-serif,可以使用默认字体上的箭头键快速查看每种字体的外观,如图所示。

Firefox字体首选项

另外,Igor的博客中有一个测试页,您可以在其中对比特定字体的所有不同渲染选项。


1

Tombuntu的Tom提出了一些增强字体渲染的技巧(这是从2008年开始的,因此说明可能不再准确):

你的第一站是字体的GNOME的配置设置,位于System->Preferences->AppearanceFonts标签。如果您使用的是LCD显示器,请确保启用了亚像素平滑渲染模式。单击详细信息以访问提示选项。试玩这些以获得您喜欢的结果。

这是使用以下设置配置的系统字体的示例:

图片1

.fonts.conf文件提供了许多用于字体呈现的选项。这个来自论坛帖子的文件打开了一个提示功能,该功能通常由于Apple的专利问题而被禁用。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="autohint" mode="assign">
      <bool>true</bool>
    </edit>
  </match>
</fontconfig>

复制上面的文本并将其粘贴到文本文件中,并将其另存为.fonts.conf(请注意第一个句点,该文件将被隐藏)在主目录中。注销以使更改生效。这是此文件的字体示例:

image2

一个更复杂的.fonts.conf文件),产生与OS X中类似的非常平滑和粗体的字体。这是一个示例:

image3


该站点上不再存在该最后下载的内容。您是否还有其他链接?
赛斯2013年

@Seth我已经更新了链接。
ændrük

0

Unity没有像KDE这样的字体设置。对于那些想要实现 @Jonik 解决方案但使用Unity的人。

.fonts.conf

    <?xml version="1.0" ?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
        <match target="font">
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
            <edit name="rgba" mode="assign">
                <const>rgb</const>
            </edit>
            <edit name="hinting" mode="assign">
                <bool>true</bool>
            </edit>
            <edit name="autohint" mode="assign">
                <bool>true</bool>
            </edit>
            <edit name="hintstyle" mode="assign">
                <const>hintmedium</const>
            </edit>
            <edit mode="assign" name="lcdfilter">
                <const>lcddefault</const>
            </edit>
        </match>

        <match target="font" >
            <test name="size" qual="any" compare="more">
                <double>11</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>true</bool>
            </edit>
        </match>

        <match target="font" >
            <test name="pixelsize" qual="any" compare="more">
                <double>15</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>true</bool>
            </edit>
        </match>

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

        <match target="font" >
            <test name="pixelsize" qual="any" compare="less">
                <double>12</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>true</bool>
            </edit>
        </match>
    </fontconfig>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.