func (t *SvgTextT) TShow(a []byte) { tx := t.Pdf.ForcedArray(a) // FIXME: Should be "ForcedSimpleArray()" for k := range tx { if tx[k][0] == '(' || tx[k][0] == '<' { part := space_split(ps.String(tx[k])) for y := range part { tmp, adv := t.Utf8Advance(part[y]) res := strm.Add(t.x, adv) p := 0 for len(tmp) > p && tmp[p] == 32 { p++ } if p > 0 { _, ta := t.Utf8Advance(tmp[0:p]) t.x = strm.Add(t.x, ta) tmp = tmp[p:] } t.Drw.Write.Out( "<g transform=\"matrix(%s,%s,%s,%s,%s,%s)\">\n"+ "<text x=\"%s\" y=\"%s\""+ " font-size=\"%s\""+ " style=\"stroke:none;%v\""+ " fill=\"%s\">%s</text>\n"+ "</g>\n", t.matrix[0], t.matrix[1], strm.Neg(t.matrix[2]), strm.Neg(t.matrix[3]), t.matrix[4], t.matrix[5], t.x, t.y, t.Drw.TConfD.FontSize, t.Style(t.Drw.TConfD.Font), t.Drw.ConfigD.FillColor, util.ToXML(tmp)) t.x = res } } else { t.x = strm.Sub(t.x, strm.Mul(string(tx[k]), "0.01")) } } }
"dict": func(t *CharMapperI) { a := t.St.Pop() t.St.Push([]byte{'?'}) _ = a }, "dup": func(t *CharMapperI) { a := t.St.Pop() t.St.Push(a) t.St.Push(a) }, "end": func(t *CharMapperI) { }, "endbfchar": func(t *CharMapperI) { a := t.St.Drop(t.St.Depth() - t.Marker) for k := 0; k < len(a); k += 2 { t.Target.Uni.Add(ps.StrInt(ps.String(a[k])), ps.StrInt(ps.String(a[k+1]))) } }, "endbfrange": func(t *CharMapperI) { a := t.St.Drop(t.St.Depth() - t.Marker) for k := 0; k < len(a); k += 3 { // leaving the array expression as it is: invalidate - we do not have char names to unicode now t.Target.Uni.AddRange(ps.StrInt(ps.String(a[k])), ps.StrInt(ps.String(a[k+1])), ps.StrInt(ps.String(a[k+2]))) } }, "endcidchar": func(t *CharMapperI) { a := t.St.Drop(t.St.Depth() - t.Marker) _ = a }, "endcidrange": func(t *CharMapperI) {