我最近升级到Ubuntu 12.04,并且看到使用eclipse编辑源代码时,用Monospace字体显示的粗体字符实际上比非粗体字符粗。因此,等宽字体实际上不是等宽字体。(所有字符的空格相同)
这是一个已知的问题?我想念什么吗?
如何再次使其成为等宽空间?
我最近升级到Ubuntu 12.04,并且看到使用eclipse编辑源代码时,用Monospace字体显示的粗体字符实际上比非粗体字符粗。因此,等宽字体实际上不是等宽字体。(所有字符的空格相同)
这是一个已知的问题?我想念什么吗?
如何再次使其成为等宽空间?
Answers:
我在Monospace中遇到类似的问题。
作为一种解决方法,我已改用Bitstream Vera Sans Mono,它看起来非常相似,但没有大胆的问题。
如果您没有它,可以通过执行安装sudo apt-get install ttf-bitstream-vera
。
等宽字体是指所有固定宽度的字体。还有一种特定的等宽字体,称为Monospace。假设您引用特定的Monospace字体。
我在Libreoffice / Openoffice中使用Monospace字体在Ubuntu 12.04下对齐序列。我注意到了一个相同的问题:粗体等宽字母比相同大小的常规等宽字母宽,尽管它们仍然是等距的,即固定宽度。看图片
要找到替代方法,请查看本文的TOP 10 PROGRAMMING FONTS。我使用Daja vu sans mono或Courier New,对于常规和粗体显示,它们显示相同的宽度。至少Inconsolata具有与Monospace相同的问题。
似乎12.04中的字体配置将Droid Sans Mono设置为默认的等宽字体(请参见/etc/fonts/conf.d/60-droid-sans-mono-fonts.conf),并且正如OP所描述的那样,此字体的粗体版本与普通版本的宽度不同。
要更改系统默认的等宽字体,请创建包含以下内容的/etc/fonts/local.conf:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>monospace</family>
<prefer>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
</fontconfig>
这样,您将不必记住要为每个使用的工作区更改Eclipse编辑器字体。
我在OpenJDK 8中也遇到了同样的问题。对于“常规” /“普通”样式,名为“ Monospaced”的字体已正确映射到“ DejaVu Sans Mono”,但是对于“ bold”,其他字体(可能会自动加粗),即使直接使用“ DejaVu Sans Mono”可做正确的事情。
解决的办法是修复~/.java/fonts/*/fcinfo*.properties
。它确实包含(除其他外):
monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
将其更改为:
monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf