プロジェクト

全般

プロフィール

機能 #1166

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

toshi_a 初音9ヶ月前に追加. 9ヶ月前に更新.

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

0%

プラグイン名:

説明

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

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

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

関係しているリビジョン

リビジョン 44690605 (差分)
toshi_a 初音9ヶ月前に追加

miracle_painter: Pango.parse_markupを使わない効率的な実装に変えた refs #1166

履歴

#1 toshi_a 初音9ヶ月前に更新

  • ステータス新規 から 終了 に変更

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