The R Project SVN R

Rev

Rev 7824 | Rev 8578 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7824 Rev 8061
Line 1801... Line 1801...
1801
	if (NameMatch(head, "lfloor"))
1801
	if (NameMatch(head, "lfloor"))
1802
	    code = S_BRACKETLEFTBT;
1802
	    code = S_BRACKETLEFTBT;
1803
	else if (NameMatch(head, "rfloor"))
1803
	else if (NameMatch(head, "rfloor"))
1804
	    code = S_BRACKETRIGHTBT;
1804
	    code = S_BRACKETRIGHTBT;
1805
	if (NameMatch(head, "lceil"))
1805
	if (NameMatch(head, "lceil"))
1806
	    code = S_BRACKETLEFTBT;
1806
	    code = S_BRACKETLEFTTP;
1807
	else if (NameMatch(head, "rceil"))
1807
	else if (NameMatch(head, "rceil"))
1808
	    code = S_BRACKETRIGHTBT;
1808
	    code = S_BRACKETRIGHTTP;
1809
    }
1809
    }
1810
    else if (StringAtom(head) && length(head) > 0) {
1810
    else if (StringAtom(head) && length(head) > 0) {
1811
	if (StringMatch(head, "|"))
1811
	if (StringMatch(head, "|"))
1812
	    code = '|';
1812
	    code = '|';
1813
	else if (StringMatch(head, "||"))
1813
	else if (StringMatch(head, "||"))
Line 1867... Line 1867...
1867
    bbox = CombineBBoxes(bbox, RenderElement(CADDR(expr), draw));
1867
    bbox = CombineBBoxes(bbox, RenderElement(CADDR(expr), draw));
1868
    bbox = RenderItalicCorr(bbox, draw);
1868
    bbox = RenderItalicCorr(bbox, draw);
1869
    code = DelimCode(expr, CADDDR(expr));
1869
    code = DelimCode(expr, CADDDR(expr));
1870
    MathDevice->gp.cex = DelimSymbolMag * MathDevice->gp.cex;
1870
    MathDevice->gp.cex = DelimSymbolMag * MathDevice->gp.cex;
1871
    if (code == 2) {
1871
    if (code == 2) {
1872
	bbox = RenderSymbolChar('|', draw);
1872
	bbox = CombineBBoxes(bbox, RenderSymbolChar('|', draw));
1873
	bbox = RenderSymbolChar('|', draw);
1873
	bbox = CombineBBoxes(bbox, RenderSymbolChar('|', draw));
1874
    }
1874
    }
1875
    else if (code != '.')
1875
    else if (code != '.')
1876
	bbox = RenderSymbolChar(code, draw);
1876
	bbox = CombineBBoxes(bbox, RenderSymbolChar(code, draw));
1877
    MathDevice->gp.cex = cexSaved;
1877
    MathDevice->gp.cex = cexSaved;
1878
    return bbox;
1878
    return bbox;
1879
}
1879
}
1880
 
1880
 
1881
static int BGroupAtom(SEXP expr)
1881
static int BGroupAtom(SEXP expr)
Line 2151... Line 2151...
2151
    /*double savedY = CurrentY;*/
2151
    /*double savedY = CurrentY;*/
2152
    double shift;
2152
    double shift;
2153
    int display = (GetStyle() > STYLE_T);
2153
    int display = (GetStyle() > STYLE_T);
2154
    int opId = OpAtom(op);
2154
    int opId = OpAtom(op);
2155
 
2155
 
2156
    if (opId == S_SUM || opId == S_PRODUCT) {
2156
    if (opId == S_SUM || opId == S_PRODUCT ||
-
 
2157
	opId == S_UNION || opId == S_INTERSECTION) {
2157
	if (display) {
2158
	if (display) {
2158
	    MathDevice->gp.cex = OperatorSymbolMag * MathDevice->gp.cex;
2159
	    MathDevice->gp.cex = OperatorSymbolMag * MathDevice->gp.cex;
2159
	    bbox = RenderSymbolChar(OpAtom(op), 0);
2160
	    bbox = RenderSymbolChar(OpAtom(op), 0);
2160
	    shift = 0.5 * (bboxHeight(bbox) - bboxDepth(bbox)) - TeX(sigma22);
2161
	    shift = 0.5 * (bboxHeight(bbox) - bboxDepth(bbox)) - TeX(sigma22);
2161
	    if (draw) {
2162
	    if (draw) {
Line 2423... Line 2424...
2423
    { "!=",		185 },	/* not equal */
2424
    { "!=",		185 },	/* not equal */
2424
    { "<=",		163 },	/* less or equal */
2425
    { "<=",		163 },	/* less or equal */
2425
    { ">=",		179 },	/* greater or equal */
2426
    { ">=",		179 },	/* greater or equal */
2426
    { "%==%",		186 },	/* equivalence */
2427
    { "%==%",		186 },	/* equivalence */
2427
    { "%~~%",		187 },	/* approxequal */
2428
    { "%~~%",		187 },	/* approxequal */
-
 
2429
    { "%prop%",         181 },  /* proportional to */
2428
 
2430
 
2429
    { "%<->%",		171 },	/* Arrows */
2431
    { "%<->%",		171 },	/* Arrows */
2430
    { "%<-%",		172 },
2432
    { "%<-%",		172 },
2431
    { "%up%",		173 },
2433
    { "%up%",		173 },
2432
    { "%->%",		174 },
2434
    { "%->%",		174 },