12:04:47
icon

次は序数つきリスト。…え、InlineTextContent でPlaceHolderに指定した領域にCanvasで描画する時ってCanvasからはみ出してもクリッピングされないのか。助かる

Attach image
11:23:45
icon

グリフを追うコードはこんな感じ

gist.github.com/tateisu/99d6c9

一度notoで漢字とひらがな全部をチェックして、濁点以外で上下張り出しが最も多い数文字をサンプル文字列としている

11:20:51
icon

TextViewのSpannedと違って、AnnotatedStringのParagraphStyleは入れ子にできない。 2023冬にissue が出てて、改善されるようなされないような感じ。過渡期だ… issuetracker.google.com/issues

11:17:25
icon

ComposeのAnnotatedStringでリスト表示をやる。日本語テキストに対してドットの位置が上下中央になるよう工夫する。あらかじめ数文字のサンプル文字列のグリフを追ってベースラインからテキスト上下中央までの距離を計算しておく。InlineTextContentにheight 1.em でAboveBaseline なPlaceHolderを指定して、Canvasでドットを描く。
結果、日本語のグリフの上下(薄ピンク)の中央にドットが表示される。画像のグリーンがPlaceHolderで指定した領域で、その下端がベースライン。

Attach image