text-vertical

  
TODO
Последнее обновление Основная версия Релиз-кандидат Бета-версия Альфа-версия
21 октября 2026 г. - - 1.0.0-beta03 -

Объявление зависимостей

Чтобы добавить зависимость от Text, необходимо добавить в проект репозиторий Google Maven. Подробную информацию можно найти в статье Репозиторий Google Maven.

Добавьте зависимости для нужных артефактов в файл build.gradle приложения или модуля:

Яркий

dependencies {
    implementation "androidx.text:text-vertical:1.0.0-beta03"
}

Kotlin

dependencies {
    implementation("androidx.text:text-vertical:1.0.0-beta03")
}

Подробнее о добавлении зависимостей сборки…

Отзыв

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

Создать новую проблему

Дополнительную информацию можно найти в документации по системе отслеживания ошибок.

Текст по вертикали

Версия 1.0

Версия 1.0.0-beta03

21 октября 2026 г.

Данные "androidx.text:text-vertical:1.0.0-beta03" и "androidx.text:text-vertical-compose:1.0.0-beta03" опубликованы. Версия 1.0.0-beta03 содержит эти коммиты.

Примечание. Это последний бета-выпуск.

Новые функции

  • В VerticalTextSampleActivity добавлена вкладка Subtitle Cue (Подсказка субтитров), на которой демонстрируются возможности VerticalText, в том числе рендеринг с переносом по высоте, toVerticalTextStyle(), RubySpan, EmphasisSpan, Tate-chu-yoko, FontShearSpan, UnderlineSpan и StrikethroughSpan. I4799d1 b/571750156

Исправление ошибок

  • Исправлена высота горизонтальных линий RubySpan и EmphasisSpan при использовании шрифтов с большими верхними и нижними полями, например Noto Sans JP. (Ib0507, b/557316470) – спасибо за сообщение, Numero-san!
  • Зависимости Compose обновлены до версии 1.12.1. (I9ee7f, b/569780191)
  • VerticalText теперь применяет стили span AnnotatedString и сохраняет span и аннотации AnnotatedString в семантике. (Ib077f, b/502088091)
  • Исправлена ошибка, из-за которой RubySpan и EmphasisSpan не заполняли цвет фона TextPaint.bgColor или BackgroundColorSpan в горизонтальном макете. (I66ba8, b/561269843)
  • Исправлена ошибка, из-за которой цвета фона в вертикальном тексте отображались как контуры после установки диапазона Paint.Style.STROKE. (I692ed, b/566429122)
  • Элементы CharacterStyle, которые охватывают весь диапазон RubySpan в VerticalTextLayout, теперь также применяются к тексту фуриганы, а RubySpan.textScale масштабирует заданные ими размеры шрифта. Цвета фона теперь также заполняют пустое пространство над и под более коротким из текста фуриганы и основного текста. (I0dadc, b/564268825)
  • Исправлена высота фона VerticalTextLayout, когда вертикальный текст имеет несколько стилей. (I7e31a, b/565211671)
  • Исправлена ошибка, из-за которой в VerticalText сохранялся старый цвет фона, когда VerticalTextStyle.background менялся на Color.Unspecified. (Ia0861, b/565211671)
  • Исправлена ошибка, из-за которой при копировании вызывающего объекта пропускались поля TextPaint горизонтальных макетов фуриганы и выделения. (Ia3043, b/561269843)
  • Теперь VerticalText берет цвет фона из VerticalTextStyle.background за обычным текстом String и за обычными аннотациями фуриганы String в RubySpan. (If0493, b/564268825)
  • Исправлена ошибка, из-за которой горизонтальный макет фуриганы оставлял общую рабочую область рисования масштабированной после инициализации. (I33760, b/561269843)
  • Исправлена ошибка в примере приложения с вертикальным текстом, из-за которой текст мог исчезать с экрана при панорамировании. (If0108, b/563461635)
  • Исправлено тестовое приложение для демонстрации положения знака ударения (I3ffa3, b/559972132).
  • Добавлены тесты ветвей символьного выполнения Kex для LineLayout, TextUtils, CanvasCompat и PaintCompat. I47edf b/569212211

Версия 1.0.0-beta02

23 сентября 2026 г.

Данные "androidx.text:text-vertical:1.0.0-beta02" и "androidx.text:text-vertical-compose:1.0.0-beta02" опубликованы. Версия 1.0.0-beta02 содержит эти коммиты.

Важные изменения

  • Мы добавили тестовые сценарии, чтобы обеспечить обратную совместимость вплоть до API 24 (Android 7.0), и результаты оказались очень положительными.
  • Библиотеки теперь предназначены для Kotlin 2.2 и требуют kotlinc 2.2 (I82396, b/498369605).
  • Библиотеки вертикального текста теперь компилируются с SDK 37. Приложения, в которых они используются, должны быть скомпилированы с SDK 37 и использовать AGP 9.1.0 или более поздней версии. (I0f757, b/562182206)

Исправление ошибок

  • EmphasisSpan.position теперь перемещает знак ударения. AnnotationPosition.Before помещает знак над горизонтальным текстом и справа от вертикального. AnnotationPosition.After – на противоположной. (Ic9bfd, b/559972132)
  • Исправлен масштаб знака ударения в горизонтальном макете текста. Зарезервированная высота строки больше не предполагает, что маркер не масштабируется. (I6d7fe, b/562254557)
  • Исправлен бэкпорт для вертикального текста. При переносе на более ранние версии игнорировалось запрошенное смещение на уровнях API ниже 34. (I8877a, b/495457561)
  • Исправлена ошибка, из-за которой горизонтальный текст фуриганы занимал слишком много места по вертикали на устройствах с уровнем API ниже 28. В результате строка могла быть выше, чем нужно. (Iceb60, b/561323466)
  • Тесты для вертикального фуриганы и ориентации текста теперь выполняются на всех поддерживаемых уровнях API. (If07d4, b/495457561)
  • Зависимость androidx.lifecycle:lifecycle-runtime обновлена до версии 2.10.0. Эта версия необходима для запуска встроенных проверок времени выполнения жизненного цикла с AGP версии 9.5.0-alpha04 или более поздней. (I7264b, b/556807521)
  • Исправлена ошибка, из-за которой RubySpan.position игнорировался в горизонтальном макете текста. AnnotationPosition.After теперь правильно отображает текст фуриганы под основным текстом. (Iaffa1, b/559972124, b/561323466)
  • Исправлена ошибка, из-за которой RubySpan.position игнорировался в вертикальном макете текста. AnnotationPosition.After теперь правильно отображает текст фуриганы слева от основного текста. (I0be1c, b/495457561)
  • Зависимости Compose обновлены до версии 1.11.4 (I9ef07, b/536925341).

Версия 1.0.0-beta01

26 августа 2026 г.

Данные "androidx.text:text-vertical:1.0.0-beta01" и "androidx.text:text-vertical-compose:1.0.0-beta01" опубликованы. Версия 1.0.0-beta01 содержит эти коммиты.

Изменения в API

  • VerticalTextScope теперь является не интерфейсом, а конкретным классом. (I44e71, b/549288808)

Исправление ошибок

  • Обновлена документация для combineUpright. (Ib534b, b/548992014)
  • Из статьи VerticalText удалена неверная информация о том, что минимальный уровень API должен быть 36. (I4f8e9, b/549288799)
  • Использовано рассчитанное соотношение высоты для вертикального смещения базовой линии в режиме обратного переноса (07339d7, b/502088091).

Версия 1.0.0-alpha06

29 июля 2026 г.

Данные "androidx.text:text-vertical:1.0.0-alpha06" и "androidx.text:text-vertical-compose:1.0.0-alpha06" опубликованы. Версия 1.0.0-alpha06 содержит эти коммиты.

Важные изменения

  • Это последняя запланированная альфа-версия библиотеки.
  • Доработаны параметры в composable-функции VerticalText.

Изменения в API

  • Добавлено свойство VerticalTextStyle для вертикального макета текста. (I647a8, b/512424512)
  • В библиотеку text-vertical-compose добавлен новый общедоступный DSL (VerticalTextScope и buildVerticalText) (I6faa7, b/502088091).
  • Добавлена composable-функция VerticalText (I96509, b/502088091).

Исправление ошибок

  • Уточнена документация по резервному поведению VerticalTextLayout на более старых уровнях API. (Ia7ccc, b/449184326)

Для этого объекта нет примечаний к выпуску.

Вертикальный текст, версия 1.0

Версия 1.0.0-alpha05

22 апреля 2026 г.

Данные "androidx.text:text-vertical:1.0.0-alpha05" и "androidx.text:text-vertical-compose:1.0.0-alpha05" опубликованы. Версия 1.0.0-alpha05 содержит эти коммиты.

Новые функции

  • Добавлены компонуемые функции для поддержки вертикального макета текста в соответствии с инициативой Google Compose-first.

Изменения в API

  • Добавлен артефакт библиотеки :text:text-vertical-compose. (I939e4)
  • В класс VerticalTextLayout добавлено свойство lineCount. (I93884, b/502088091)

Исправление ошибок

  • Обновлена документация KDoc для ясности и точности. (I71c8f, b/449184326)

Версия 1.0.0-alpha04

8 апреля 2026 г.

Выпущены данные "androidx.text:text-vertical:1.0.0-alpha04". Версия 1.0.0-alpha04 содержит эти коммиты.

Новые функции

  • Проведен рефакторинг всех общедоступных классов, чтобы предоставить более удобные и идиоматичные API Kotlin для общего использования, сохраняя при этом совместимость с Java.

Изменения в API

  • Добавлен конструктор по умолчанию с нулевым аргументом в FontShearSpan для совместимости с Java (I73065, b/493692287).
  • Удалена реализация Parcelable в RubySpan и EmphasisSpan (I49884, b/493693386).
  • Проведен рефакторинг EmphasisSpan для лучшей совместимости (I34c40, b/493693310).
  • Проведен рефакторинг AnnotationPosition для улучшения API (I10dce, b/493693386).
  • Класс TextOrientation преобразован в класс enum, класс AnnotationPosition – в изолированный класс, а класс RubySpan.Builder удален (Ib4a77, b/493693386).
  • Добавлено перечисление AnnotationPosition и выполнен рефакторинг класса RubySpan (Ibfcff, b/493692426).
  • Проведен рефакторинг TextOrientation для общего использования и улучшены внутренние расширения масштабирования текста (I82152, b/493692428).

Версия 1.0.0-alpha03

25 марта 2026 г.

Выпущены данные "androidx.text:text-vertical:1.0.0-alpha03". Версия 1.0.0-alpha03 содержит эти коммиты.

Новые функции

  • VerticalTextLayout теперь поддерживает горизонтальный макет для отображения специальных фрагментов на японском языке, таких как Ruby и Emphasis (Boten).

Изменения в API

  • RubySpan и EmphasisSpan теперь наследуют ReplacementSpan для поддержки горизонтального текста (I38db6, b/447239659, b/447224892).

Версия 1.0.0-alpha02

8 октября 2025 г.

Выпущены данные "androidx.text:text-vertical:1.0.0-alpha02". Версия 1.0.0-alpha02 содержит эти коммиты.

Новые функции

  • Добавлен метод VerticalTextLayout#isVerticalTextLayoutSupported() для проверки поддержки вертикального текста (Ie2802, b/442608654).

Изменения в API

  • Добавлен резервный вариант для API < 36 (I8a67a, b/442608654).
  • Понижена версия minSDK до 23 для использования в других библиотеках AndroidX (I2d6b5, b/442608654).

Версия 1.0.0-alpha01

27 августа 2025 года

Выпущены данные "androidx.text:text-vertical:1.0.0-alpha01". Версия 1.0.0-alpha01 содержит эти коммиты.

Новые функции

  • Новая библиотека вертикального текста, которая поддерживает вертикальный макет текста, в основном для японского языка, за счет использования нового флага VERTICAL_TEXT_FLAG, добавленного в Android 16.
  • Добавлен VerticalTextLayout, который отображает вертикальный текст с правильными разрывами строк, смешанной ориентацией (например, горизонтальные латинские символы в вертикальной строке) и текстом руби. (8b3a10)
  • Добавлено свойство FontShearSpan для имитации курсива в вертикальном тексте. (1ffd78)
  • Добавлено свойство EmphasisRun для знаков ударения. (fe12d9)