プロジェクト

全般

プロフィール

機能 #1166

完了

MiraclePainterで、Pango.parse_markupの利用を控える

toshi_a 初音 さんがほぼ7年前に追加. ほぼ7年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2018-02-08
期日:
進捗率:

0%

プラグイン名:

説明

MiraclePainterでは、リンク文字列に下線を引いたり、選択範囲の色を変えるための文字列の装飾情報 Pango::AttrList を作成するために、Pango Text Attribute Markup Language を利用している。

Entityをマークアップ文字列に変換する処理は、変換過程で文字列の長さやインデックスが変わってくるため処理が煩雑でバグも多く、最近では既知の問題はないが、実装が巨大で変更しづらいものとなっている。

今回、 #1164 でEntityの仕組みを大幅に変更する計画によって、MiraclePainterのこの部分に大幅な変更を入れる必要がある。Pango.parse_markupを呼び出している理由は、Entity情報をもとに適切な文字列装飾を指示するPango::AttrListがほしいだけだが、ソースを読めば使い方は明白なので、Pango::AttrListを作成する、より素直な実装に書き換える。

他の形式にエクスポート: Atom PDF