Я ищу шрифт, который покрывает многоязычную плоскость Basi c (BMP) (от U + 0000 до U + FFFF) с фиксированной шириной на символ. Чтобы проверить это, я сделал демонстрационную страницу HTML со всеми 65536 символами, представленными в строках по 64 символа с использованием моноширинных шрифтов:
var text = "";
for (var i = 0; i < 65536; ++i) {
if (i % 64 === 0) {
text += "U+"+("0000"+(i+0 ).toString(16)).slice(-4) + "~";
text += "U+"+("0000"+(i+64).toString(16)).slice(-4) + ":";
}
text += String.fromCharCode(i);
if (i % 64 === 63) {
text += "|\n";
}
};
var pre = document.createElement("pre");
pre.innerText = text;
document.body.appendChild(pred);
Но, вопреки моим ожиданиям, ширина каждой строки не был постоянным Например, это результат с monospace
:
Это результат с courier new
:
Четный unifont
имеет строки различной ширины:
Почему эти шрифты приводят к строкам с разной шириной, если они моноширинные? Есть ли какой-либо шрифт, предназначенный для представления каждого из символов на BMP?