@Override
    public void endElement() {
        int start = 0;
        for (int i = 0; i < _tagContents.length(); i++) {
            if (_tagContents.charAt(i) > 127) {
                _object.append(String.format("(%s) Tj", _tagContents.substring(start, i)));

                if (_tagContents.charAt(i) > 657) {
                    _object.append("q");

                    Double fontSize = getValueAsDouble("font-size");
                    _object.append(String.format("%s %.1f Tf",
                            Fonts.getInstance().getFontTag("Symbol"), fontSize));

                    if ((int) _tagContents.charAt(i) == 955) { // lambda
                        _object.append(String.format("(%s) Tj", (char) 108));
                    } else if ((int) _tagContents.charAt(i) == 963) { // sigma
                        _object.append(String.format("(%s) Tj", (char) 115));
                    }

                    _object.append("Q");
                    _tagContents.insert(i + 1, "  ");
                }

                if ((int) _tagContents.charAt(i) == 177) { // plus minus
                    _object.append("(\\261) Tj");
                }

                start = i + 1;
            }
        }

        _object.append(String.format("(%s) Tj", _tagContents.substring(start)));
        _object.append("ET");
        _object.append("Q");
    }