StaticLayout с нечеткими смайликами и символами ниже - PullRequest
0 голосов
/ 03 сентября 2018

Я работаю над приложением для Android, которое создает PDF-файл, содержащий изображение и текст, набранный пользователем. PDF создается с помощью PdfDocument lib.

Если строка заголовка содержит смайлики, приложение правильно отображает содержимое.

Контент корректно отображается на устройстве:

enter image description here

Но когда они нарисованы на холсте в формате PDF, смайлики размываются, и кажется, что некоторые из них содержат символ под ними:

Странный белый символ под клубникой и вишней:

enter image description here

Мой код:

                CharSequence emoji_title = EmojiCompat.get().process(title);

            StaticLayout.Builder builder = StaticLayout.Builder.obtain(emoji_title, 0, emoji_title.length(), titleTextPaint, TITLE_RECT_WIDTH)
                    .setAlignment(Layout.Alignment.ALIGN_NORMAL)
                    .setBreakStrategy(Layout.BREAK_STRATEGY_HIGH_QUALITY)
                    .setLineSpacing(0, 1f)
                    .setIncludePad(false);
            StaticLayout textLayout = builder.build();


            float x = TITLE_LEFT_MARGIN;
            float y = TITLE_TOP_MARGIN + (TITLE_RECT_HEIGHT - textLayout.getHeight()) / 2;
            canvas.save();
            canvas.translate(x, y);
            textLayout.draw(canvas);
            canvas.restore();

Что мне делать, мне кажется, что обнаружение смайликов смайликов и их замена не очень практичное решение.

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