diff --git a/Changelog b/Changelog index 461f4c56..8798cf92 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,14 @@ + +2.9.9: +- ps/pdf export uses true postscript fonts +- spice_probe symbols generate .save instructions and these are flattened by xschem + to enable ngspice save hierarchic nodes +- variable width grid point option (for 4K displays) +- Added 'PWD' button il file load dialog +- almost all global context related to a schematic in xctx structure. This potentially + allows to load more schematic windows with 1 running xschem process. +- fix spiceprefix to be applied on all expanded vector intances in spice netlists + 2.9.8: - ERC checks: do sch/sym node equivalence check on expandlabel()'ed nodes, avoid flagging DATA[5,3,1] != DATA[5:1:2] != DATA[5],DATA[3],DATA[1] diff --git a/src/gschemtoxschem.awk b/src/gschemtoxschem.awk index c96bec4e..fd86863c 100755 --- a/src/gschemtoxschem.awk +++ b/src/gschemtoxschem.awk @@ -387,7 +387,7 @@ function print_header() "device @name @device\n" \ "@comptag\"\n" } - print "v {xschem version=2.9.8 file_version=1.2}" + print "v {xschem version=2.9.9 file_version=1.2}" template_attrs = "template=\"" template_attrs "\"\n" if(FILENAME ~/\.sym$/) { diff --git a/src/make_sch_from_spice.awk b/src/make_sch_from_spice.awk index 8e675c65..8393fd9a 100755 --- a/src/make_sch_from_spice.awk +++ b/src/make_sch_from_spice.awk @@ -694,7 +694,7 @@ function print_sym(sym, template, format, subckt_name, sym_type, extra, dir, pin print "start print symbol: " sym - print "v {xschem version=2.9.8 file_version=1.2}" + print "v {xschem version=2.9.9 file_version=1.2}" print "K {type=" sym_type > sym # print "format=\"@name @pinlist @symname " format_translate(template) "\"" > sym iii = format_translate(template, extra) diff --git a/src/make_sym.awk b/src/make_sym.awk index 9716a10e..bd0e596b 100755 --- a/src/make_sym.awk +++ b/src/make_sym.awk @@ -68,7 +68,7 @@ function beginfile(f) text_voffset=20 lab_voffset=4 ip=op=n_pin=0 - print "v {xschem version=2.9.8 file_version=1.2}" > sym + print "v {xschem version=2.9.9 file_version=1.2}" > sym if(template=="") { printf "%s", "K {type=subcircuit\nformat=\"@name @pinlist @symname\"\n" >sym printf "%s\n", "template=\"name=x1\"" >sym diff --git a/src/psprint.c b/src/psprint.c index 30d07971..71b51a29 100644 --- a/src/psprint.c +++ b/src/psprint.c @@ -78,7 +78,7 @@ static void ps_xfillrectange(int layer, double x1, double y1, double x2, double y2) { fprintf(fd, "%g %g %g %g R\n", x1,y1,x2-x1,y2-y1); - if( (layer==4 || layer==PINLAYER || layer==WIRELAYER) && fill) { + if( (fill_type[layer] == 1) && fill) { fprintf(fd, "%g %g %g %g RF\n", x1,y1,x2-x1,y2-y1); /* fprintf(fd,"fill\n"); */ } diff --git a/src/save.c b/src/save.c index ae0308d8..a64d264e 100644 --- a/src/save.c +++ b/src/save.c @@ -402,7 +402,8 @@ void write_xschem_file(FILE *fd) int ty=0; char *ptr; - if( (ptr = strstr(xctx->version_string, "xschem")) && (ptr - xctx->version_string < 50) ) { + if(xctx->version_string && (ptr = strstr(xctx->version_string, "xschem")) && + (ptr - xctx->version_string < 50)) { my_strdup2(59, &xctx->version_string, subst_token(xctx->version_string, "xschem", NULL)); } my_strdup2(1183, &xctx->version_string, subst_token(xctx->version_string, "version", NULL)); diff --git a/src/symgen.awk b/src/symgen.awk index dc452791..e4277013 100755 --- a/src/symgen.awk +++ b/src/symgen.awk @@ -393,7 +393,7 @@ function attrs(a) function header() { - print "v {xschem version=2.9.2 file_version=1.1}" + print "v {xschem version=2.9.9 file_version=1.2}" } function round(n) diff --git a/src/xinit.c b/src/xinit.c index 97ec9ed0..404a6330 100644 --- a/src/xinit.c +++ b/src/xinit.c @@ -1611,8 +1611,21 @@ int Tcl_AppInit(Tcl_Interp *inter) dbg(0, "xschem: can't do a print without a filename\n"); tcleval( "exit"); } - if(do_print==1) ps_draw(); - else if(do_print == 2) { + if(do_print==1) { + + xctx->xrect[0].x = 0; + xctx->xrect[0].y = 0; + xctx->xschem_w = xctx->xrect[0].width = 842; + xctx->xschem_h = xctx->xrect[0].height = 595; + xctx->areax2 = 842+2; + xctx->areay2 = 595+2; + xctx->areax1 = -2; + xctx->areay1 = -2; + xctx->areaw = xctx->areax2-xctx->areax1; + xctx->areah = xctx->areay2-xctx->areay1; + zoom_full(0, 0); + ps_draw(); + } else if(do_print == 2) { if(!has_x) { dbg(0, "xschem: can not do a png export if no X11 present / Xserver running (check if DISPLAY set).\n"); } else { diff --git a/src/xschem.h b/src/xschem.h index 30b5d07e..293b9d34 100644 --- a/src/xschem.h +++ b/src/xschem.h @@ -23,7 +23,7 @@ #ifndef CADGLOBALS #define CADGLOBALS -#define XSCHEM_VERSION "2.9.8" +#define XSCHEM_VERSION "2.9.9" #define XSCHEM_FILE_VERSION "1.2" #if HAS_PIPE == 1