Project

General

Profile

機能 #1166

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

Added by toshi_a 初音 almost 2 years ago. Updated almost 2 years ago.

Status:
終了
Priority:
通常
Target version:
Start date:
2018-02-08
Due date:
% Done:

0%

プラグイン名:

Description

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

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

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

Associated revisions

Revision 44690605 (diff)
Added by toshi_a 初音 almost 2 years ago

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

History

#1

Updated by toshi_a 初音 almost 2 years ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF