我不确定这是否是正确的地方,但我不知道任何其他更适合的网站。这个问题与编程有关,所以:
我正在编写格式化的txt-guide。请看一下这段摘录:http://mad-gaksha.homelinux.net/public/width.txt。我需要显示全角字符,这样它们占据的空间就是半角字符的两倍。虽然等宽字体似乎只有半宽字符可以正常工作,但我尝试过的大多数全宽“固定宽度”字体都没有产生预期的结果。
在firefox中,当我将等宽字体(编辑>偏好设置>内容>高级)设置为“等宽字体”时,这是有效的。但仅适用于14的字体大小。与gedit相同,固定宽度字体MS-Gothic,仅适用于字体大小13/14。
当我发现这种行为很奇怪并且不希望我的读者受到技术细节的困扰时,是否有人有建议或提供任何资源或者可以解释这里发生了什么?为什么只显示具有固定大小的每个字形似乎很难?
提前感谢您抽出宝贵时间。
答案 0 :(得分:0)
它似乎与舍入小数像素有关。
当字形的宽度不是整数个屏幕像素时,字体渲染器可以调整水平定位。我相信gedit和Firefox在Linux上使用的Cairo渲染不会对字体进行子像素定位,因此这可能是必要的。
在真正的等宽字体中,这并不重要,因为每个字形具有相同的宽度,因此接受相同的处理,但是如果存在全宽和半宽字符的混合,则圆整将不均匀,除非字形恰好是一个整数像素宽(在你的情况下,字体大小为14)。
请注意,在Windows上,对于大多数小尺寸,MS Gothic等字体将使用字体文件中的自定义内置位图进行渲染,而不是渲染轮廓及其指标。这使得所有字形必然是固定数量的像素宽。然而,这确实导致了典型的老式'锯齿'渲染风格。
如果您正在制作格式化文本文件,那么您无能为力。您只能希望目标受众拥有合适的日语等宽字体,并且可以按特定字体大小切换到它们。
我同意Clement的观点,即使用HTML来获得所需的渲染将更加强大,现代和方便。使用HTML进行布局可以减轻您对字符排队的担忧,并且允许您获得比半宽度等宽拉丁语更难看的字体。