最小字体大小和国际化

时间:2017-07-06 03:22:02

标签: html css internationalization accessibility font-size

有没有办法确定给定语言或字体的基本最小字体大小?

如果浏览器字体/字形大小在不同语言中感知相等,我一直在寻找一些方法来以编程方式告诉我吗?例如,我已经看到泰语字体与拉丁语或日语相比非常小(可能是因为泰国的巨大上升器迫使所有内容缩小以适应每个字形的边界框)。我怀疑很多很多其他语言与拉丁字体有着非常不同的“最小清晰度”值。

这是一个问题的例子,首先是清晰易读的英文文本(在蓝色按钮中)。下面是相当泰国文字的图片,它具有相同的样式但几乎不易辨认。

Thai question with English answers English question with Thai answers

显示泰语和拉丁字体。当泰语和拉丁语文本对它们应用相等font-size时,泰语在感知上“太小”(这在较小的字体大小时更明显)。将它增加15%可以更接近泰国的实际呈现:

Thai and Latin with equal and adjusted font sizes

我可以使用CSS对象模型的element.getBoundingClientRect()来查找形状和元素的尺寸,但我知道无法在字体内部进行测量。 CanvasRenderingContext2D.measureText()目前仅提供width信息。

是否有任何方法/ API(在浏览器中是否存在)用于确定某种“基本字体大小”,它可能会对上升和下降器进行折扣,甚至可以提供建议的基本字体大小?

1 个答案:

答案 0 :(得分:2)

在我看来,这不是i18n的问题,而是a11y(即可访问性)。你知道,如果你把字体设置得太小,有些人(包括我在内)将无法阅读它 当然还有像繁体中文这样的情况,其中12点是绝对最小值,否则一些笔画将不会被清楚地看到。但是如果没有实际的UI测试,很难给出所有语言的确切数字。