操作
機能 #1166
完了MiraclePainterで、Pango.parse_markupの利用を控える
開始日:
2018-02-08
期日:
進捗率:
0%
プラグイン名:
説明
MiraclePainterでは、リンク文字列に下線を引いたり、選択範囲の色を変えるための文字列の装飾情報 Pango::AttrList を作成するために、Pango Text Attribute Markup Language を利用している。
Entityをマークアップ文字列に変換する処理は、変換過程で文字列の長さやインデックスが変わってくるため処理が煩雑でバグも多く、最近では既知の問題はないが、実装が巨大で変更しづらいものとなっている。
今回、 #1164 でEntityの仕組みを大幅に変更する計画によって、MiraclePainterのこの部分に大幅な変更を入れる必要がある。Pango.parse_markupを呼び出している理由は、Entity情報をもとに適切な文字列装飾を指示するPango::AttrListがほしいだけだが、ソースを読めば使い方は明白なので、Pango::AttrListを作成する、より素直な実装に書き換える。
操作