diff --git a/tools/release/java/icu4c.css b/tools/release/java/icu4c.css index b90de44d6f..dde8605a55 100644 --- a/tools/release/java/icu4c.css +++ b/tools/release/java/icu4c.css @@ -1,10 +1,11 @@ /* - * Default CSS style sheet for the ICU Open Source site - * Copyright (C) 2005-2009, International Business Machines + * Default CSS style sheet for the ICU4C Open Source readme + * Copyright (C) 2005-2010, International Business Machines * Corporation and others. All Rights Reserved. */ /* Global styles */ + body,p,li,ol,ul,th,td { font-size: 10pt; font-family: "Arial", "Helvetica", sans-serif; @@ -25,51 +26,106 @@ body.draft { /* * Customize the headers to have less space around them than usual */ + h1 { - margin-bottom: 5pt; - margin-top: 5pt; + margin-bottom: .5em; + margin-top: .5em; + padding-bottom: .5em; + padding-top: .5em; font-weight: 700; font-size: 20pt; - font-family: "Arial", "Helvetica", sans-serif; + font-family: Georgia, "Times New Roman", Times, serif; + border-width: 2px; + border-style: solid; + text-align: center; + width: 100%; + font-size: 200%; + font-weight: bold; } h2 { - margin-bottom: 0pt; + border-top: 2px solid #22d; + border-left: 2px solid #22d; + margin-bottom: 0.5em; + padding-left: 4px; margin-top: 12pt; font-weight: 700; - font-size: 14pt; - font-family: "Arial", "Helvetica", sans-serif; + font-size: 2em; + font-family: Georgia, "Times New Roman", Times, serif; + background-color: #eee; + page-break-before: always; +} + +h2 a { + text-decoration: none; + color: black; +} + +h2 a:hover { + color: blue; + text-decoration: underline; } h3 { - background-color: #666666; - color: White; + border-top: 1px solid gray; + color: #1e1c46; margin-bottom: 0pt; margin-top: 12pt; - padding-left: 0.75em; - font-size: 1em; - font-family: "Arial", "Helvetica", sans-serif; + padding-left: 0; + margin-left: 1em; + margin-top: 0.2em; + padding-bottom: 0.4em; + font-size: 1.5em; + font-family: Georgia, "Times New Roman", Times, serif; +} + +h3 a { + text-decoration: none; + color: black; +} + +h3 a:hover { + color: blue; + text-decoration: underline; } h4 { + margin-left: 1.5em; margin-bottom: 0pt; margin-top: 12pt; - font-size: 1em; - font-family: "Arial", "Helvetica", sans-serif; + font-size: 1.0em; + font-weight: bolder; + font-family: Georgia, "Times New Roman", Times, serif; +} + +h4 a { + text-decoration: none; + color: black; +} + +h4 a:hover { + color: blue; + text-decoration: underline; } h5, h6 { + margin-left: 1.8em; margin-bottom: 0pt; margin-top: 12pt; padding-left: 0.75em; font-size: x-small; - font-family: "Arial", "Helvetica", sans-serif; + font-family: Georgia, "Times New Roman", Times, serif; +} + +p,pre,table,ul,ol,dl { + margin-left: 2em; } /* * Navigation sidebar on the left hand of most pages */ -td.sidebar1 { + +td.sidebar1 { background-color: #99CCFF; font-weight: 700; margin-top: 0px; @@ -79,7 +135,7 @@ td.sidebar1 { white-space: nowrap; } -td.sidebar2 { +td.sidebar2 { background-color: #99CCFF; margin-top: 0px; margin-bottom: 0px; @@ -92,7 +148,8 @@ td.sidebar2 { text-decoration: none; display: block; } -td.sidebar2:hover { + +td.sidebar2:hover { background-color: #EEEEFF; padding-top: 1px; padding-bottom: 1px; @@ -105,26 +162,31 @@ a.sidebar2 { display: block; width: 100%; } + a.sidebar2:link { color: #000099; display: block; } + a.sidebar2:hover { background-color: #EEEEFF; display: block; } + .underlinehover:hover { background-color: #EEEEFF; text-decoration: underline; } /* This is the faded header at the top */ + td.fadedtop { background-color: #006699; background-image: url(http://www.icu-project.org/images/gr100.gif); } /* Related site on the left */ + p.relatedsite { color: White; font-weight: 700; @@ -136,45 +198,55 @@ p.relatedsite { } /* Related site on the left */ + p.sidebar3 { margin-top: 0.75em; margin-bottom: 0; padding-left: 0.8em; } + a.sidebar3 { font-size: 0.9em; text-decoration: none; } + a.sidebar3:link { text-decoration: none; color: White; } + a.sidebar3:hover { text-decoration: underline; } /* FAQ */ + li.faq_contents { font-weight: 500; } + p.faq_q { - font-weight: 700; + font-weight: 700; margin-bottom: 0px; } + p.faq_a { margin-top: 0px; } /* News items */ + table.newsItem { padding-left: 1em; padding-right: 1em; border-width: medium; } + th.newsItem { background-color: #666666; color: White; } + td.newsItem { background-color: #CCCCCC; } @@ -183,13 +255,15 @@ td.release-line,th.release-line { padding-left: 0.5em; padding-right: 0.5em; white-space: nowrap; - border:1px; + border: 1px; } + .note { font-style: italic; font-size: small; margin-left: 1em; } + samp { margin-left: 1em; margin-right: 2em; @@ -198,6 +272,7 @@ samp { display: block; background-color: #EEEEEE } + table.rtable caption { margin-left: 2px; margin-right: 2px; @@ -206,18 +281,34 @@ table.rtable caption { background-color: #dee2ff; text-align: left; } + table.rtable tr th { background-color: #dee2ff; text-align: left; } + table.rtable tr td { background-color: #c0c0fd; padding: 3px; } +table.rtable tr.broken td { + background-color: #fbb; + border: 1px dashed gray; + padding: 3px; + font-weight: bold; +} + +table.rtable tr.rarely td { + background-color: #efe9c2; + padding: 3px; + font-style: italic; +} + /* APIChangeReport specific things */ + .row0 { - background-color: white; + background-color: white; } .row1 { @@ -225,39 +316,41 @@ table.rtable tr td { } .verchange { - color: red; + color: red; font-weight: bold; - font-size: large; + font-size: large; } .stabchange { - color: red; - font-size: large; + color: red; + font-size: large; } .bigwarn { color: red; background-color: white; - font-size: x-large; - margin: 0.5 em; + font-size: x-large; + margin: 0.5 em; } table.genTable { border-collapse: collapse; - border: 1px solid black; + border: 1px solid black; } /* 'everything inc version */ + table.gentable td { - border: 1px solid gray; - padding: 0.25em; - font-size: small; + border: 1px solid gray; + padding: 0.25em; + font-size: small; } /* not version */ + table.genTable td.file, table.genTable td.proto { - border: none; + border: none; font-size: medium; } @@ -267,9 +360,88 @@ table.genTable td.file { } div.other .row0 { - background-color: white; + background-color: white; } div.other .row1 { background-color: #ddf; } + +table.docTable { + border-collapse: collapse; + border: 1px solid black; +} + +/* 'everything inc version */ + +table.docTable td, +table.docTable th { + border: 1px solid gray; + padding: 0.25em; + font-size: small; +} + +/* not version */ + +table.docTable td.file, +table.docTable td.proto { + border: none; + font-size: medium; +} + +table.docTable td.file { + font-family: monospace; + font-weight: bold; +} + +abbr { + border-bottom: 1px dashed #0B0; +} + +h2.TOC { + page-break-before: auto; +} + +body.readme { + +} + +caption { + font-weight: bold; + text-align: left +} + +div.indent { + margin-left: 2em +} + +ul.TOC { + list-style-type: none; + padding-left: 1em; + font-size: larger; +} + +ul.TOC li a { + font-weight: bold; +} + +ul.TOC li ul li a { + font-weight: normal; + list-style-type: none; + font-size: small; +} + +ul.TOC li ul { + margin-left: 0; + padding-left: 2em; + font-weight: normal; + list-style-type: none; +} + +pre.samp,samp { + margin-left: 1em; + border-style: groove; + padding: 1em; + display: block; + background-color: #EEEEEE +} diff --git a/tools/release/java/src/com/ibm/icu/dev/tools/docs/StableAPI.java b/tools/release/java/src/com/ibm/icu/dev/tools/docs/StableAPI.java index 1b8cf3aa9d..ad0ffd9b27 100644 --- a/tools/release/java/src/com/ibm/icu/dev/tools/docs/StableAPI.java +++ b/tools/release/java/src/com/ibm/icu/dev/tools/docs/StableAPI.java @@ -71,7 +71,9 @@ public class StableAPI { private static final String UVERSIONA = "uvernum_8h.xml"; private static final String UVERSIONB = "uversion_8h.xml"; private static final String U_ICU_VERSION = "U_ICU_VERSION"; + /* ICU 4.4+ */ private static final String ICU_VERSION_XPATHA = "/doxygen/compounddef[@id='uvernum_8h'][@kind='file']/sectiondef[@kind='define']"; + /* ICU <4.4 */ private static final String ICU_VERSION_XPATHB = "/doxygen/compounddef[@id='uversion_8h'][@kind='file']/sectiondef[@kind='define']"; private static String ICU_VERSION_XPATH = ICU_VERSION_XPATHA; @@ -154,7 +156,8 @@ public class StableAPI { rightVer = trimICU(setVer(rightVer, "new", rightDir)); } - private static Set warnSet = new TreeSet(); // No Generics because we built with JDK 1.4 for now + private static Set warnSet = new TreeSet(); + private static void warn(String what) { if(!warnSet.contains(what)) { System.out.println("Warning: "+what); @@ -314,7 +317,8 @@ public class StableAPI { if(node.getAttributes()==null) { throw new InternalError("[no attributes Can't get attr "+attrName +" out of node " + node.getNodeName()+":"+node.getNodeType()+":"+node.getNodeValue()+"@"+node.getTextContent()); } else if(node.getAttributes().getNamedItem(attrName)==null) { - throw new InternalError("No attribute named: "+attrName); + return null; + //throw new InternalError("No attribute named: "+attrName); } else { System.err.println("Can't get attr "+attrName+": "+npe.toString()); } @@ -340,6 +344,11 @@ public class StableAPI { static Function fromXml(Node n){ Function f = new Function(); f.prototype = getAttr(n, "prototype"); + + if("yes".equals(getAttr(n, "static"))&&!f.prototype.contains("static")) { + f.prototype = "static ".concat(f.prototype); + } + f.id = getAttr(n, "id"); f.status = getAttr(n, "status"); f.version = trimICU(getAttr(n, "version")); @@ -370,13 +379,21 @@ public class StableAPI { */ private void purifyPrototype(){ //refer to 'umachine.h' - String statusList[] = {"U_CAPI", "U_STABLE", "U_DRAFT", "U_DEPRECATED", "U_OBSOLETE", "U_INTERNAL", "virtual"}; + String statusList[] = {"U_CAPI", "U_STABLE", "U_DRAFT", "U_DEPRECATED", "U_OBSOLETE", "U_INTERNAL", "virtual", "U_EXPORT2"}; for (int i = 0; i < statusList.length; i++) { String s = statusList[i]; prototype = prototype.replaceAll(s,""); prototype = prototype.trim(); } + String replList[] = { "[ ]*\\([ ]*void[ ]*\\)[ ]*", "()", + " , ", ", ", + }; + for (int i = 0; i < replList.length; i+= 2) { + prototype = prototype.replaceAll(replList[i+0],replList[i+1]); + } + + prototype = prototype.trim(); // Now, remove parameter names! @@ -427,6 +444,24 @@ public class StableAPI { out.append(in, closeParen, in.length()); // postlude + // Delete any doubled whitespace. + for(int p=1;pp&&(Character.isWhitespace(out.charAt(p)))) { + out.deleteCharAt(p); + } + if(out.length()>p) { + // any trailings to delete? + char curr = out.charAt(p); + if(curr==',' || curr==')' || curr=='*' || curr=='&') { // delete spaces before these. + out.deleteCharAt(--p); + continue; + } + } + } + } + // System.err.println(prototype+" -> " + out.toString()); prototype = out.toString(); } @@ -529,6 +564,10 @@ public class StableAPI { public int compareTo(JoinedFunction o) { return comparableName.compareTo(o.comparableName); } + + public boolean equals(Function right){ + return this.prototype.equals(right.prototype); + } } TransformerFactory transFac = TransformerFactory.newInstance(); diff --git a/tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt b/tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt index 3d18feb53e..e83d4cea57 100644 --- a/tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt +++ b/tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt @@ -1,7 +1,7 @@