Project

General

Profile

Actions

機能 #1166

closed

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

Added by toshi_a 初音 over 6 years ago. Updated over 6 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を作成する、より素直な実装に書き換える。

Actions #1

Updated by toshi_a 初音 over 6 years ago

  • Status changed from 新規 to 終了
Actions

Also available in: Atom PDF