text-vertical

  
TODO
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2026 年 10 月 21 日 - - 1.0.0-beta03 -

依存関係の宣言

Text への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

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

Kotlin

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

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

テキスト(縦)

バージョン 1.0

バージョン 1.0.0-beta03

2026 年 10 月 21 日

androidx.text:text-vertical:1.0.0-beta03 と androidx.text:text-vertical-compose:1.0.0-beta03 がリリースされました。バージョン 1.0.0-beta03 に含まれる commit については、こちらをご覧ください。

注: これが最後のベータ版リリースとなる予定です。

新機能

  • VerticalTextSampleActivity に [Subtitle Cue] タブを追加し、VerticalText の機能(ラップされた高さでのレンダリング、toVerticalTextStyle()、RubySpan、EmphasisSpan、縦中横、FontShearSpan、UnderlineSpan、StrikethroughSpan など)をデモできるようにしました。I4799d1 b/571750156

バグの修正

  • Noto Sans JP など、上下のパディングが大きいフォントを使用する場合の水平方向の RubySpan と EmphasisSpan の行の高さを修正しました。(Ib0507、b/557316470)- ご報告いただいた Numero-san に感謝いたします。
  • Compose の依存関係を 1.12.1 に更新しました。(I9ee7f、b/569780191)
  • VerticalText が AnnotatedString スパン スタイルを適用し、セマンティクスで AnnotatedString スパンとアノテーションを保持するようになりました。(Ib077f、b/502088091)
  • 水平レイアウトで RubySpan と EmphasisSpan が TextPaint.bgColor または BackgroundColorSpan の背景色を塗りつぶさない問題を修正しました。(I66ba8、b/561269843)
  • スパンで Paint.Style.STROKE が設定された後にアウトラインとして描画されていた、縦書きテキストの背景色を修正しました。(I692ed、b/566429122)
  • VerticalTextLayout の RubySpan 範囲全体をカバーする CharacterStyle スパンがルビテキストにも適用されるようになり、RubySpan.textScale が設定したフォントサイズをスケーリングするようになりました。背景色は、ルビテキストとベーステキストの短い方の上と下の空きスペースも埋めるようになりました。(I0dadc、b/564268825)
  • 縦書きテキストに複数のスタイルランがある場合の VerticalTextLayout の背景の高さを修正しました。(I7e31a、b/565211671)
  • VerticalTextStyle.background が Color.Unspecified に変更されたときに、VerticalText が古い背景色を保持する問題を修正しました。(Ia0861、b/565211671)
  • 呼び出し元のペイントをコピーするときに、水平方向のルビと強調レイアウトが TextPaint フィールドをスキップする問題を修正しました。(Ia3043、b/561269843)
  • VerticalText が、RubySpan のプレーンな String テキストとプレーンな String ルビ注釈の背後にある VerticalTextStyle.background から背景色を描画するようになりました。(If0493、b/564268825)
  • 初期化後に共有作業ペイントがスケーリングされたままになる、水平ルビ レイアウトを修正しました。(I33760、b/561269843)
  • パン操作でテキストがビュー外に移動しないように、縦書きテキストのサンプルアプリを修正しました。(If0108、b/563461635)
  • 傍点の位置をデモするテストアプリを修正しました(I3ffa3、b/559972132)
  • LineLayout、TextUtils、CanvasCompat、PaintCompat の Kex シンボリック実行ブランチテストを追加しました。I47edf b/569212211

バージョン 1.0.0-beta02

2026 年 9 月 23 日

androidx.text:text-vertical:1.0.0-beta02 と androidx.text:text-vertical-compose:1.0.0-beta02 がリリースされました。バージョン 1.0.0-beta02 に含まれる commit については、こちらをご覧ください。

重要な変更

  • 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 に更新しました。このバージョンは、バンドルされたライフサイクル ランタイム lint チェックを 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

2026 年 8 月 26 日

androidx.text:text-vertical:1.0.0-beta01 と androidx.text:text-vertical-compose:1.0.0-beta01 がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。

API の変更

  • VerticalTextScope をインターフェースから具象クラスに変更しました。(I44e71、b/549288808)

バグの修正

  • combineUpright のドキュメントを更新しました。(Ib534b、b/548992014)
  • VerticalText から、API 36 の最小要件に関する誤ったドキュメントを削除しました。(I4f8e9、b/549288799)
  • バックポート モードで垂直ベースライン オフセットに計算されたアセント比を使用しました(07339d7、b/502088091)

バージョン 1.0.0-alpha06

2026 年 7 月 29 日

androidx.text:text-vertical:1.0.0-alpha06 と androidx.text:text-vertical-compose:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。

重要な変更

  • このリリースは、ライブラリの最終的なアルファ版です。
  • VerticalText コンポーザブルのパラメータを確定して調整しました。

API の変更

  • 縦書きテキスト レイアウト用の VerticalTextStyle を導入しました。(I647a8、b/512424512)
  • text-vertical-compose ライブラリに新しい公開 DSL(VerticalTextScope と buildVerticalText)を導入しました(I6faa7、b/502088091)
  • VerticalText composable (I96509, b/502088091) を導入します

バグの修正

  • 古い API レベルでの VerticalTextLayout のフォールバック動作に関するドキュメントを明確にしました。(Ia7ccc、b/449184326)

このアーティファクトのリリースノートはありません。

テキスト(縦書き)バージョン 1.0

バージョン 1.0.0-alpha05

2026 年 4 月 22 日

androidx.text:text-vertical:1.0.0-alpha05 と androidx.text:text-vertical-compose:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。

新機能

  • Google の Compose ファースト イニシアチブに沿って、縦書きテキスト レイアウトをサポートするコンポーズ可能な関数を追加しました。

API の変更

  • :text:text-vertical-compose ライブラリ アーティファクトを導入しました。(I939e4)
  • lineCount プロパティを VerticalTextLayout クラスに追加しました。(I93884、b/502088091)

バグの修正

  • わかりやすさと正確さを高めるため、KDoc のドキュメントを更新しました。(I71c8f、b/449184326)

バージョン 1.0.0-alpha04

2026 年 4 月 8 日

androidx.text:text-vertical:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください。

新機能

  • すべての公開クラスをリファクタリングして、一般的な用途向けに、より便利で慣用的な Kotlin API を提供するとともに、Java との強力な相互運用性を維持しました。

API の変更

  • Java との互換性を確保するため、FontShearSpan にデフォルトのゼロ引数コンストラクタを追加しました(I73065、b/493692287)。
  • RubySpan と EmphasisSpan の Parcelable 実装を削除しました(I49884、b/493693386)。
  • 互換性を高めるために EmphasisSpan をリファクタリングしました(I34c40、b/493693310)。
  • AnnotationPosition をリファクタリングして API サーフェスを改善しました(I10dce、b/493693386)。
  • TextOrientation を列挙型クラスに変換し、AnnotationPosition をシールクラスにリファクタリングし、RubySpan.Builder を削除しました(Ib4a77、b/493693386)。
  • AnnotationPosition 列挙型を追加し、RubySpan クラスをリファクタリングしました(Ibfcff、b/493692426)。
  • 一般的な用途向けに TextOrientation をリファクタリングし、内部テキスト スケーリング拡張機能を改善しました(I82152、b/493692428)。

バージョン 1.0.0-alpha03

2026 年 3 月 25 日

androidx.text:text-vertical:1.0.0-alpha03 がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。

新機能

  • VerticalTextLayout が横書きレイアウトをサポートするようになり、日本語の特殊なスパン(ルビや傍点など)を表示できるようになりました。

API の変更

  • RubySpan と EmphasisSpan が ReplacementSpan を継承し、水平テキストをサポートするようになりました(I38db6、b/447239659、b/447224892)

バージョン 1.0.0-alpha02

2025 年 10 月 8 日

androidx.text:text-vertical:1.0.0-alpha02 がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。

新機能

  • 縦書きテキストの機能をチェックする VerticalTextLayout#isVerticalTextLayoutSupported() メソッドを追加しました(Ie2802、b/442608654)

API の変更

  • API < 36 にグレースフル フォールバックを導入しました。(I8a67a、b/442608654)
  • 他の AndroidX ライブラリで使用されるように minSDK を 23 にダウングレードしました(I2d6b5、b/442608654)

バージョン 1.0.0-alpha01

2025 年 8 月 27 日

androidx.text:text-vertical:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。

新機能

  • Android 16 で追加された新しい VERTICAL_TEXT_FLAG フラグを活用して、主に日本語の縦書きテキスト レイアウトをサポートする新しい縦書きテキスト ライブラリ。
  • VerticalTextLayout を追加しました。これは、適切な改行、混合方向(縦書きの行内の横書きのラテン文字など)、ルビテキストを含む縦書きテキストを表示します。(8b3a10)
  • 縦書きテキストの斜体のようなスタイルに FontShearSpan を追加しました。(1ffd78)
  • 強調マークに EmphasisRun を追加しました。(fe12d9)