rem: MakeType1CharstringInterp::Subr::charstring(const MakeType1CharstringInterp *mcsi) const { int n = (_csr & CSR_NUM); switch (_csr & CSR_TYPE) { case CSR_SUBR: case CSR_GSUBR: if (_output_subrno >= 0) return static_cast<Type1Charstring *>(mcsi->output()->subr(_output_subrno)); return 0; case CSR_GLYPH: return static_cast<Type1Charstring *>(mcsi->output()->glyph(n)); default: return 0; } }
add: String charstring(MakeType1CharstringInterp *mcsi) const { return subr->charstring(mcsi)->substring(pos, len); }
context: MakeType1CharstringInterp::Subr::charstring(const MakeType1CharstringInterp *mcsi) const{    int n = (_csr & CSR_NUM);    switch (_csr & CSR_TYPE) {      case CSR_SUBR:      case CSR_GSUBR:	if (_output_subrno >= 0)	    return static_cast<Type1Charstring *>(mcsi->output()->subr(_output_subrno));	return 0;      case CSR_GLYPH:	return static_cast<Type1Charstring *>(mcsi->output()->glyph(n));      default:	return 0;    }}