checkpoint
[sbp.git] / src / edu / berkeley / sbp / tib / TibDoc.java
index 27f6ae1..1057673 100644 (file)
@@ -385,7 +385,7 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
         }
 
         public @bind.as("Euro") Object euro() { return null; }
         }
 
         public @bind.as("Euro") Object euro() { return null; }
-        public @bind.as("Citation") Object cite(Object o) { return null; }
+        public @bind.as("Citation") Object cite(Object o) { return new Chars("*cite*"); }
         public @bind.as("Symbol") Object sym(Object o) { return null; }
 
         public static abstract class List extends Text {
         public @bind.as("Symbol") Object sym(Object o) { return null; }
 
         public static abstract class List extends Text {
@@ -425,12 +425,15 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
             public void toHTML(HTML h) { for(Text t : text) t.toHTML(h); }
         }
         public static class TextWrap extends Text {
             public void toHTML(HTML h) { for(Text t : text) t.toHTML(h); }
         }
         public static class TextWrap extends Text {
-            public Text text;
+            public @bind.arg Text[] text;
             public void toHTML(HTML h) {
             public void toHTML(HTML h) {
-                if (htmlTag()!=null)
-                    h.tag(htmlTag(), htmlTagParams(), text);
-                else
-                    text.toHTML(h);
+                if (htmlTag()!=null) {
+                    h.openTag(htmlTag(), htmlTagParams());
+                }
+                for(Text t : text) t.toHTML(h);
+                if (htmlTag()!=null) {
+                    h.closeTag(htmlTag());
+                }
             }
             public String   htmlTag() { return null; }
             public Object[] htmlTagParams() { return null; }
             }
             public String   htmlTag() { return null; }
             public Object[] htmlTagParams() { return null; }
@@ -441,7 +444,7 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
         public static @bind class Footnote extends TextWrap { public String htmlTag() { return "small"; } }
         public static @bind class TT extends TextWrap { public String htmlTag() { return "tt"; } }
         //public @bind class Citation extends Text {       "[" word "]" }
         public static @bind class Footnote extends TextWrap { public String htmlTag() { return "small"; } }
         public static @bind class TT extends TextWrap { public String htmlTag() { return "tt"; } }
         //public @bind class Citation extends Text {       "[" word "]" }
-        public static @bind class Strikethrough extends TextWrap { public String htmlTag() { return "strikethrough"; } }
+        public static @bind class Strikethrough extends TextWrap { public String htmlTag() { return "strike"; } }
         public static @bind class Superscript extends TextWrap { public String htmlTag() { return "sup"; } }
         public static @bind class Subscript extends TextWrap { public String htmlTag() { return "sub"; } }
         public static @bind class Smallcap extends TextWrap { public String htmlTag() { return "sc"; } }
         public static @bind class Superscript extends TextWrap { public String htmlTag() { return "sup"; } }
         public static @bind class Subscript extends TextWrap { public String htmlTag() { return "sub"; } }
         public static @bind class Smallcap extends TextWrap { public String htmlTag() { return "sc"; } }
@@ -454,7 +457,7 @@ toContex ll = prefix ++ (concatMap tl ll) ++ suffix
         public static @bind class LineBreak extends Command { public void toHTML(HTML h) { h.tag("br"); } }
 
         public abstract static class Glyph extends Text { }
         public static @bind class LineBreak extends Command { public void toHTML(HTML h) { h.tag("br"); } }
 
         public abstract static class Glyph extends Text { }
-        public static @bind.as("emdash") class Emdash extends Glyph { public void toHTML(HTML h) { h.append("&emdash;"); } }
+        public static @bind.as("emdash") class Emdash extends Glyph { public void toHTML(HTML h) { h.appendLiterally("—"); } }
 
         public static class Link extends Text {
             public Text[] t;
 
         public static class Link extends Text {
             public Text[] t;