#include "font.h"

#include <functional>

class RuleFont : public Font {
public:
	using ruleFunc = std::function<std::string(char)>;

	RuleFont(const std::string& name, ruleFunc rule);

	virtual void applyFont(const std::string& in, std::string& out) const override;
	virtual const std::string& getName() const override;
	virtual bool canApply(const std::string& in) const override;
private:
	ruleFunc rule;
	std::string name;
};