Moodle2.6から導入されたPDF注釈機能ですが、日本語文字でコメントしようとすると、その場では良くても保存して再度参照しようとすると"?"に化けます。
2バイト文字用のフォントが割り当てられてないのが原因とは思いますが、現在は年度更新の対応に追われて修正する時間が無いので後日確認します。
とりあえず解決方法らしきものが見つかったので報告します。
moodle/mod/assign/feedback/editpdf/classes/pdf.php において、combine_pdfs() およびload_pdf() で$this->SetFont() している部分を書き換えれば良さそうです。 moodle/lib/tcpdf/fonts を見ると日本語フォントもあるようなので、とりあえず下記のように書き換えてみました。
public function load_pdf($filename) {
raise_memory_limit(MEMORY_EXTRA);
$this->setPageUnit('pt');
$this->scale = 72.0 / 100.0;
//$this->SetFont('helvetica', '', 16.0 * $this->scale);
$this->SetFont('kozminproregular', '', 16.0 * $this->scale);
$this->SetFillColor(255, 255, 176);
$this->SetDrawColor(0, 0, 0);
...
combine_pdfs() の方は書き換えなくても動作しているようですが、こちらも書き換えて様子を見ています。気になる挙動をしている場合があるようにも見えますが、とりあえず。
自己レスです。
結構前にパッチを書いてMoodle Trackerに投げたのですが放置されてます。やはり2バイト文字に起因する不具合の対応は非常に悪いです。
https://tracker.moodle.org/browse/MDL-45301
このチケットですが、最後にmiki Alliel からの質問に答えていないために、放置されているのかもしれませんので、返信すると対応が進むのではないでしょうか?
日本と外国との文化の違いかもしれないのですが、質問を投げて返事をしないと、相対的に対応の優先度が下がってしまうのではないかと思います。
以下がMikiからの質問で、12月1日に「このパッチをあてるとMDL-47512(Hebrewでの問題)も直るのか?」と質問されています。ですので、これで直るのか、そうでないのか、をチェックして返信すれば、対応が進むのではないかと思います。
Blackboardに在籍している時も、サポートエンジニアはたくさんのチケットを抱えているので、応答がないと後回しにされることがありました。
Hello mitsuru.
Are these patches will solve this problem described here:
https://tracker.moodle.org/browse/MDL-47512
If not how do you think it can be fix?
Thanks
--
井上