сглаживать шрифты на андроиде правильно? - PullRequest
4 голосов
/ 14 июня 2011

есть ли способ визуализировать текст с помощью пользовательских шрифтов (хотя я полагаю, что системный шрифт, вероятно, не будет сильно отличаться) визуально приятным способом?

Я отрисовываю свой текст на холсте, используя краску, для которой я назначил пользовательский шрифт.

Единственная найденная мной команда, которая удаленно относится к сглаживанию, это "setAntiAlias«краски.но текст все еще выглядит ужасно.почти так же плохо, как отсутствие сглаживания в фотошопе.

так что ... есть ли способ сделать это?

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

фрагменты из моего кода в качестве ссылки, хотя он настолько прост и прекрасно работает, что я не думаю, что онактуальность:

    textPaint = new Paint();
    textPaint.setTextSize(size);
    textPaint.setAntiAlias(true);
    textPaint.setARGB(0xff, 0xff, 0xff, 0xff);
    textPaint.setTypeface(Typeface.createFromAsset(pView.getContext().getAssets(),
            "fonts/cordia.ttf"));
...
    canvas.drawText(text, (int)(dimension / 2 - textwidth / 2), 
              (int)(dimension / 2 - size / 2), textPaint);

1 Ответ

1 голос
/ 14 июня 2011

Вы можете создать freetype (http://freetype.org/) для Android. Он зависит только от zlib, и полученные шрифты очень хороши. Большинство проблем с патентами были решены недавно (срок действия патентов истек).

...