Re: Postscript settings [message #77264] |
Fri, 19 August 2011 12:27 |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Michael Galloy writes:
> I think you could draw them without "lifting the pen" by retracing. Does
> this look bad, i.e., produce a symbol where the retraced portions like
> thicker?
The asterisk, SYMCAT(2), will have like a 100 points in it!
I may try it if I get some time. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Postscript settings [message #77265 is a reply to message #77264] |
Fri, 19 August 2011 12:24  |
wlandsman
Messages: 743 Registered: June 2000
|
Senior Member |
|
|
On Friday, August 19, 2011 2:56:38 PM UTC-4, wlandsman wrote:
>
> It might have been because you can't change the thickness of the hardware postscript symbols, but you can for the bitmapped symbols created with USERSYM. So the OP was having problems with the 'x' symbol, for which the following does *not* work to increase the thickness.
> cgplot,cgdemodata(1),psym=symcat(7,thick=3)
>
OK, I withdraw this comment. THICK does work with the postscript font even though CHARTHICK does not. The reason the above command doesn't work is because of the parameter passing of the thick keyword as David noted. --Wayne
|
|
|
Re: Postscript settings [message #77266 is a reply to message #77265] |
Fri, 19 August 2011 12:20  |
Michael Galloy
Messages: 1114 Registered: April 2006
|
Senior Member |
|
|
On 8/19/11 12:55 PM, David Fanning wrote:
> Actually, I think now that the reason for this is that
> to create symbols 2, 3 and 7 you have to "lift the pen
> up" to draw the symbol correctly, and USERSYM doesn't
> allow for this.
I think you could draw them without "lifting the pen" by retracing. Does
this look bad, i.e., produce a symbol where the retraced portions like
thicker?
Mike
--
Michael Galloy
www.michaelgalloy.com
Modern IDL, A Guide to Learning IDL: http://modernidl.idldev.com
Research Mathematician
Tech-X Corporation
|
|
|
Re: Postscript settings [message #77269 is a reply to message #77266] |
Fri, 19 August 2011 11:56  |
wlandsman
Messages: 743 Registered: June 2000
|
Senior Member |
|
|
On Friday, August 19, 2011 2:43:10 PM UTC-4, David Fanning wrote:
> David Fanning writes:
> I can't remember now why I decided to use USERSYM for the
> symbols 1,4,5,and 6,
It might have been because you can't change the thickness of the hardware postscript symbols, but you can for the bitmapped symbols created with USERSYM. So the OP was having problems with the 'x' symbol, for which the following does *not* work to increase the thickness.
cgplot,cgdemodata(1),psym=symcat(7,thick=3)
(SYMCAT does not user USERSYM for a symbol of 7). So the OP probably needs to create an 'x' as a bitmapped image for USERSYM. --Wayne
|
|
|
Re: Postscript settings [message #77270 is a reply to message #77269] |
Fri, 19 August 2011 11:55  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
David Fanning writes:
> No, I am using the IDL symbol 7 (as I am for 2 and 3).
> I guess I have to decide to either use IDL's values
> or to create my own. (See previous post.) But, in any
> case, I should probably be consistent. I just don't
> know which way to jump on this one and prefer sitting
> on the fence!
>
> Anybody have any thoughts about this?
Actually, I think now that the reason for this is that
to create symbols 2, 3 and 7 you have to "lift the pen
up" to draw the symbol correctly, and USERSYM doesn't
allow for this.
But, this kind of code produces thicker symbols, not
matter what symbol you use with SymCat:
cgplot, cgdemodata(1), PSYM=symcat(7, thick=3), symsize=3.0, thick=3
It's overkill, but it works. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Postscript settings [message #77271 is a reply to message #77270] |
Fri, 19 August 2011 11:51  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
IDLgraphics writes:
> Wonderful, Dave. Thanks very much. 'THICK' doesn't seem to work with
> symcat(7) 'x'.
No, I am using the IDL symbol 7 (as I am for 2 and 3).
I guess I have to decide to either use IDL's values
or to create my own. (See previous post.) But, in any
case, I should probably be consistent. I just don't
know which way to jump on this one and prefer sitting
on the fence!
Anybody have any thoughts about this?
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Postscript settings [message #77273 is a reply to message #77271] |
Fri, 19 August 2011 11:43  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
David Fanning writes:
> IDLgraphics writes:
>
>> I am enhancing a set of postscript plots, replacing the default vector
>> fonts, etc. Some of the features of the plot, such as psym =3, psym
>> =4, and the box around the legend, retain the thin vector font style.
>> I am aware of the symcat and sym packages, but they do not offer
>> thicker 'x' symbols or thicker but not filled diamonds or squares
>
> My version of SymCat certainly allows thicker symbols:
>
> cgplot, cgdemodata(1), PSYM=symcat(4, THICK=3), SYMSIZE=3.0
I have been having a hard time understanding why this
command works to produce thicker symbols:
cgplot, cgdemodata(1), PSYM=symcat(4, THICK=3), SYMSIZE=3.0
But, this command doesn't:
cgplot, cgdemodata(1), PSYM=symcat(4), SYMSIZE=3.0, THICK=3
In theory, they both should work. THICK is being collected
by keyword inheritance and is actually passed to the
SYMCAT function inside of cgPLOT. So, why isn't it working!?
It turns out that the SYMCAT program is called twice in this
command. Once from the command line, and a second time inside
the cgPLOT program. When I examined the symbol just before
the SYMCAT program is called in cgPLOT, the symbol is 8, not
the 4 I was expecting!!
On reflection is working as I expect (I guess!), since
SYMCAT has to return an 8 for a user symbol. I am actually
creating a diamond with USERSYM when the initial SYMCAT
call is made from the command line:
IDL> Print, SymCat(4)
8
This call is made with (essential THICK=1), so no thickness
is used. The second call is acually SYMCAT(8, THICK=3), but
when the symbol is 8, I just return an 8 and don't do anything
else:
IDL> Print, SymCat(8, THICK=3)
8
I can't remember now why I decided to use USERSYM for the
symbols 1,4,5,and 6, but it was probably because I wanted
consistent behavior from *all* the symbols. I wonder if I
should be re-thinking this. :-(
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Postscript settings [message #77274 is a reply to message #77273] |
Fri, 19 August 2011 11:33  |
IDLgraphics
Messages: 2 Registered: August 2011
|
Junior Member |
|
|
Wonderful, Dave. Thanks very much. 'THICK' doesn't seem to work with
symcat(7) 'x'.
On Aug 19, 2:02 pm, David Fanning <n...@idlcoyote.com> wrote:
> IDLgraphics writes:
>> I am enhancing a set of postscript plots, replacing the default vector
>> fonts, etc. Some of the features of the plot, such as psym =3, psym
>> =4, and the box around the legend, retain the thin vector font style.
>> I am aware of the symcat and sym packages, but they do not offer
>> thicker 'x' symbols or thicker but not filled diamonds or squares
>
> My version of SymCat certainly allows thicker symbols:
>
> cgplot, cgdemodata(1), PSYM=symcat(4, THICK=3), SYMSIZE=3.0
>
> Do you need to update your Coyote Library?
>
> http://www.idlcoyote.com/programs/zip_files/coyoteprograms.z ip
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.idlcoyote.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Postscript settings [message #77275 is a reply to message #77274] |
Fri, 19 August 2011 11:27  |
wlandsman
Messages: 743 Registered: June 2000
|
Senior Member |
|
|
On Friday, August 19, 2011 2:18:28 PM UTC-4, wlandsman wrote:
> A possible problem with switching from vector to postscript fonts is if you are using the CHARTHICK keyword. I don't know if this is a long-standing IDL bug, or a long-standing problem with the documentation.
Actually, I now suspect that it is a problem with the documentation. The postscript fonts can be scaled, but their proportions can't be changed, so you can't increase their thickness without changing their size. So the overall scaling is accomplished with CHARSIZE, and CHARTHICK is ignored. --Wayne
|
|
|
Re: Postscript settings [message #77277 is a reply to message #77275] |
Fri, 19 August 2011 11:18  |
wlandsman
Messages: 743 Registered: June 2000
|
Senior Member |
|
|
A possible problem with switching from vector to postscript fonts is if you are using the CHARTHICK keyword. I don't know if this is a long-standing IDL bug, or a long-standing problem with the documentation. The V8.1 documentation about scalable hardware fonts (e.g. the XYOUTS help) reads as follows:
"One example of hardware fonts which can be scaled are PostScript fonts. If you are using PostScript fonts, the keywords CHARTHICK and CHARSIZE will have an effect on a call to XYOUTS. Of the devices we provide that support hardware fonts, only the PostScript device uses scalable PostScript fonts for its “hardware” font system. All other devices use a bitmapped font technology."
In reality, IDL ignores the CHARTHICK keyword for postscript fonts. The CHARSIZE keyword *does* work under postscript with proportional scaling (so the thickness is also increased).
To summarize, the documentation should read:
"With postscript fonts, the CHARSIZE keyword will proportionately scale the characters (including the thickness). The CHARTHICK keyword is ignored."
--Wayne
|
|
|
Re: Postscript settings [message #77278 is a reply to message #77277] |
Fri, 19 August 2011 11:02  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
IDLgraphics writes:
> I am enhancing a set of postscript plots, replacing the default vector
> fonts, etc. Some of the features of the plot, such as psym =3, psym
> =4, and the box around the legend, retain the thin vector font style.
> I am aware of the symcat and sym packages, but they do not offer
> thicker 'x' symbols or thicker but not filled diamonds or squares
My version of SymCat certainly allows thicker symbols:
cgplot, cgdemodata(1), PSYM=symcat(4, THICK=3), SYMSIZE=3.0
Do you need to update your Coyote Library?
http://www.idlcoyote.com/programs/zip_files/coyoteprograms.z ip
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|