1#ifndef TYPESET_OBJ_OBJECT_HPP
2#define TYPESET_OBJ_OBJECT_HPP
10#include <glyphware/Face.h>
36 std::map<std::string, std::string>
params;
49 std::vector<std::shared_ptr<glyphware::Face>>
fonts;
69 void addCommand(
const std::string& name,
const std::string& commandLine,
70 const std::string& workDir = std::string());
72 bool has(
const std::string& name)
const;
81 const std::vector<std::string>&
errors()
const {
return errors_; }
85 std::unique_ptr<Impl> impl_;
86 std::vector<std::string> errors_;
std::shared_ptr< const ObjectResult > render(const ObjectRequest &req)
ハンドラを呼ぶ(キャッシュあり)。未登録なら error 付きの結果
bool has(const std::string &name) const
void add(const std::string &name, ObjectHandler handler)
関数ハンドラを登録する
void addCommand(const std::string &name, const std::string &commandLine, const std::string &workDir=std::string())
外部コマンドを登録する。commandLine <request.json> を実行し、標準出力の SVG を読む
const std::vector< std::string > & errors() const
直近のエラー(未登録・失敗)
obj — 外部生成オブジェクト(数式・グラフ・図など)の差し込み口
ObjectResult makeResult(Size size, Pt baseline, std::vector< dl::Item > items)
表示リスト要素を ObjectResult に詰める補助
std::function< ObjectResult(const ObjectRequest &)> ObjectHandler
std::string requestToJson(const ObjectRequest &req)
要求を JSON にする(外部コマンドの入力。UTF-8)
bool inlineContext
行内(true)か別行立て(false)か
std::map< std::string, std::string > params
Pt maxInline
置ける行方向の最大(段の幅など。0 = 制限なし)
Pt maxBlock
行送り方向の最大(0 = 制限なし)
std::vector< std::shared_ptr< glyphware::Face > > fonts
items 内の GlyphRun が使う face(寿命保持)
std::vector< dl::Item > items
オブジェクト座標系(左上原点、y-down、pt)
Pt baseline
上端からベースラインまで(行内で本文のベースラインに揃える。0 なら中心揃え)