Рендеринг сингальских юникодных шрифтов на Java - PullRequest
6 голосов
/ 12 июля 2011

Я делаю Unicode сингальский-английский переводчик. Когда я печатаю письмо с сингальским юникодом с размером шрифта <100, письмо отображается неправильно. Но когда я использую размер шрифта> 100, все буквы отображаются ровно. Я не могу найти, почему это происходит. С другой стороны, все шрифты Sinhala Unicode делают то же самое, и это не ошибка того шрифта, который я использовал. Пример показан здесь .

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 12 июля 2011

Я не знаю, что Java использует свой собственный рендеринг шрифтов в Windows 7. Так что это должна быть ошибка Windows, но если бы это было так, вы бы увидели проблему во всех приложениях Windows - но вы видите это только вJava.

Возможно, вы захотите попробовать Java 2D API .Например, визуализируйте шрифт 140px и масштабируйте Graphics2D на 0.5, чтобы получить 70px шрифты.

[Старый ответ]

Вы не говорите, какая ОС, ноя предполагаю, что это на Linux.Если это так, то это может быть из-за «намека на шрифт» в FreeType .

По сути, если шрифт становится «слишком маленьким» для визуализации, файл истинного типа может содержать »оказывать подсказки. "В вашем примере вы можете видеть, что крупный шрифт имеет ровные края, но маленький пример имеет более четкие края.Вы можете увидеть пиксели;Сглаживание должно предотвратить это.

Так что я думаю, что вы являетесь жертвой патента Font Hinting.Срок действия патента истек в прошлом году.Попробуйте найти более новую версию "freetype" для вашей системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...