1*779fc935Sceastha /* 2*779fc935Sceastha * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3*779fc935Sceastha * Use is subject to license terms. 4*779fc935Sceastha */ 5*779fc935Sceastha 67c478bd9Sstevel@tonic-gate /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 77c478bd9Sstevel@tonic-gate /* All Rights Reserved */ 87c478bd9Sstevel@tonic-gate 97c478bd9Sstevel@tonic-gate /* 107c478bd9Sstevel@tonic-gate * Copyright (c) 1980 Regents of the University of California. 117c478bd9Sstevel@tonic-gate * All rights reserved. The Berkeley software License Agreement 127c478bd9Sstevel@tonic-gate * specifies the terms and conditions for redistribution. 137c478bd9Sstevel@tonic-gate */ 147c478bd9Sstevel@tonic-gate 15*779fc935Sceastha #pragma ident "%Z%%M% %I% %E% SMI" 167c478bd9Sstevel@tonic-gate 177c478bd9Sstevel@tonic-gate #include "e.h" 187c478bd9Sstevel@tonic-gate #include "e.def" 197c478bd9Sstevel@tonic-gate #include <locale.h> 207c478bd9Sstevel@tonic-gate 21*779fc935Sceastha void 22*779fc935Sceastha funny(int n) 23*779fc935Sceastha { 247c478bd9Sstevel@tonic-gate char *f; 257c478bd9Sstevel@tonic-gate 267c478bd9Sstevel@tonic-gate yyval = oalloc(); 277c478bd9Sstevel@tonic-gate switch (n) { 287c478bd9Sstevel@tonic-gate case SUM: 297c478bd9Sstevel@tonic-gate f = "\\(*S"; break; 307c478bd9Sstevel@tonic-gate case UNION: 317c478bd9Sstevel@tonic-gate f = "\\(cu"; break; 327c478bd9Sstevel@tonic-gate case INTER: /* intersection */ 337c478bd9Sstevel@tonic-gate f = "\\(ca"; break; 347c478bd9Sstevel@tonic-gate case PROD: 357c478bd9Sstevel@tonic-gate f = "\\(*P"; break; 367c478bd9Sstevel@tonic-gate default: 37*779fc935Sceastha (void) error(FATAL, gettext("funny type %d in funny"), n); 387c478bd9Sstevel@tonic-gate } 397c478bd9Sstevel@tonic-gate #ifndef NEQN 40*779fc935Sceastha printf(".ds %d \\s%d\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%d\n", 41*779fc935Sceastha yyval, ps, f, ps); 427c478bd9Sstevel@tonic-gate eht[yyval] = VERT(EM(1.0, ps+5) - EM(0.2, ps)); 437c478bd9Sstevel@tonic-gate ebase[yyval] = VERT(EM(0.3, ps)); 44*779fc935Sceastha #else /* NEQN */ 457c478bd9Sstevel@tonic-gate printf(".ds %d %s\n", yyval, f); 467c478bd9Sstevel@tonic-gate eht[yyval] = VERT(2); 477c478bd9Sstevel@tonic-gate ebase[yyval] = 0; 48*779fc935Sceastha #endif /* NEQN */ 49*779fc935Sceastha if (dbg) 50*779fc935Sceastha printf(".\tfunny: S%d <- %s; h=%d b=%d\n", 517c478bd9Sstevel@tonic-gate yyval, f, eht[yyval], ebase[yyval]); 527c478bd9Sstevel@tonic-gate lfont[yyval] = rfont[yyval] = ROM; 537c478bd9Sstevel@tonic-gate } 54