File tree Expand file tree Collapse file tree 1 file changed +24
-2
lines changed
app/depict/src/main/java/org/openscience/cdk/depict Expand file tree Collapse file tree 1 file changed +24
-2
lines changed Original file line number Diff line number Diff line change 23
23
24
24
package org .openscience .cdk .depict ;
25
25
26
- import com .google .common .xml .XmlEscapers ;
27
26
import org .openscience .cdk .renderer .RendererModel ;
28
27
import org .openscience .cdk .renderer .elements .Bounds ;
29
28
import org .openscience .cdk .renderer .elements .ElementGroup ;
@@ -432,6 +431,29 @@ private void visit(OvalElement elem) {
432
431
sb .append ("/>\n " );
433
432
}
434
433
434
+ private void appendEscaped (StringBuilder sb , String text )
435
+ {
436
+ for (int i =0 ; i <text .length (); i ++) {
437
+ char ch = text .charAt (i );
438
+ switch (ch ) {
439
+ case '\n' :
440
+ case '\r' :
441
+ case '\t' : sb .append (ch ); break ;
442
+ case '<' : sb .append ("<" ); break ;
443
+ case '>' : sb .append (">" ); break ;
444
+ case '&' : sb .append ("&" ); break ;
445
+ default :
446
+ if (ch < 0x1f )
447
+ sb .append ("\uFFFD " ); // control chars
448
+ else if (ch > 0xFFFD )
449
+ sb .append ("\uFFFD " );
450
+ else
451
+ sb .append (ch );
452
+ break ;
453
+ }
454
+ }
455
+ }
456
+
435
457
private void visit (TextElement elem ) {
436
458
appendIdent ();
437
459
double [] points = new double []{elem .xCoord , elem .yCoord };
@@ -443,7 +465,7 @@ private void visit(TextElement elem) {
443
465
sb .append (" text-anchor='middle'" );
444
466
// todo need font manager for scaling...
445
467
sb .append (">" );
446
- sb . append ( XmlEscapers . xmlContentEscaper (). escape ( elem .text ) );
468
+ appendEscaped ( sb , elem .text );
447
469
sb .append ("</text>\n " );
448
470
}
449
471
You can’t perform that action at this time.
0 commit comments