Plotchar(3NCARG)

πŸ“¦ version 6.6.2, in epel 9, fedora 43, fedora 44

✨ Plotchar πŸ’– (that's Plotchar(3NCARG), from the NCAR GRAPHICS girlies)

🌸 NAME 🌸

Plotchar β€” bestie, this is your whole glow-up kit for drawing characters at high, medium, or low quality. Pick your vibe, we got you. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

PCHIQU (or PLCHHQ) β€” high quality, main character energy πŸ‘‘

Draws high quality characters. By default it pulls from the same database as the old NCAR Graphics routine PWRITX, but it can also use characters from any of the fontcap-defined databases. On top of that it's got an improved interface and many more capabilities than PWRITX. Lowkey a whole upgrade. πŸ’–

PCMEQU (or PLCHMQ) β€” medium quality, the dependable one 🌸

Draws characters of "medium quality". How? By drawing lines, exactly like PCHIQU does, except it doesn't produce quite such fancy characters. Heads up: no function codes may be used. Also, using PCMEQU to draw a given string of characters will create a larger metafile than if PCLOQU were used β€” which may be a disadvantage, ngl. But plot twist: it may also be more dependable, because it doesn't depend on capabilities the translator may or may not have. Trade-offs, bestie. πŸ¦‹

PCLOQU (or PLCHLQ) β€” low quality, tiny metafile 🧚

Draws characters of "low quality" by calling the GKS character-drawing routines. And yes: no function codes may be used. Using PCLOQU to draw a given string of characters will create a smaller metafile than if PCHIQU or PCMEQU were used; the results will depend on capabilities of the translator. It's giving "trust the translator". 😭

The getters and setters πŸŽ€

  • PCGETC β€” Retrieves the character value of a specified internal parameter.
  • PCGETI β€” Retrieves the integer value of a specified internal parameter.
  • PCGETR β€” Retrieves the real value of a specified internal parameter.
  • PCRSET β€” Resets the values of all internal parameters to the default state.
  • PCSETC β€” Gives a new character value to a specified internal parameter.
  • PCSETI β€” Gives a new integer value to a specified internal parameter.
  • PCSETR β€” Gives a new real value to a specified internal parameter.

PCPNWI 🌟

A function of type CHARACTER*16 that, given the name of an internal parameter array and an index, has as its value the name of the specified element of the internal parameter array.

PCDLSC 🌈

Defines the default list of "special colors" used by PCHIQU in drawing certain characters from the filled fonts. Such a call will define color indices IFCI, IFCI+1, IFCI+2, . . . , IFCI+15, and it will set all elements of the internal parameter array Β΄CCΒ΄ corresponding to indices 1 through 16.

Okay but here's the tea: at the moment, although such a call does define a set of sixteen colors (ranging from blue to red) and set the elements of Β΄CCΒ΄, itΒ΄s a bit pointless, since there are no characters for which the special colors are used. In the future, there will be a few such (like the state highway symbol, which is normally drawn in a particular pair of colors); at that time, the routine will be of more use. So like… bookmark it for later. πŸ’€

Alternate names πŸ’œ

  • PLCHHQ β€” An alternate name for the routine PCHIQU.
  • PLCHMQ β€” An alternate name for the routine PCMEQU.
  • PLCHLQ β€” An alternate name for the routine PCLOQU.

πŸ”₯ C-BINDING SYNOPSIS πŸ”₯

#include <ncarg/ncargC.h>

c_pchiqu
c_pcmequ
c_pcloqu
c_pcgetc
c_pcgeti
c_pcgetr
c_pcrset
c_pcsetc
c_pcseti
c_pcsetr
c_pcpnwi
c_pcdlsc
c_plchhq
c_plchmq
c_plchlq

πŸ’… USER-MODIFIABLE INTERNAL ROUTINES πŸ’…

  • PCMPXY β€” This routine is normally not called directly by the user (though it can be). It is called by PCHIQU and by PCMEQU when the user has set the mapping flag Β΄MAΒ΄ nonzero to request mapping of characters from one X/Y coordinate system to another.

πŸ‘‘ ACCESS πŸ‘‘

To use Plotchar routines, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. Order matters, bestie, don't skip the queue. 🫢


🚨 MESSAGES 🚨

Various error conditions can occur in Plotchar. Each of these results in a call to the error-handling routine SETER, with a final argument indicating that the error is recoverable; by default, an error message is printed and execution is terminated, but, if you turn on error recovery (as described in the "man" page for "error_handling"), you can get control back. So like, you can survive this. πŸ™ˆ

The error messages are as follows; all should be more or less self-explanatory.

PCDLSC - FIRST COLOR INDEX IS LESS THAN ZERO
PCDLSC - UNCLEARED PRIOR ERROR
PCGETC - UNCLEARED PRIOR ERROR
PCGETC - UNRECOGNIZED PARAMETER NAME
PCGETI - UNCLEARED PRIOR ERROR
PCGETR - BOX COLOR ARRAY INDEX IS OUT OF RANGE
PCGETR - COLOR ARRAY INDEX IS OUT OF RANGE
PCGETR - UNCLEARED PRIOR ERROR
PCGETR - UNRECOGNIZED PARAMETER NAME
PCHIQU - UNCLEARED PRIOR ERROR
PCLOQU - UNCLEARED PRIOR ERROR
PCMEQU - UNCLEARED PRIOR ERROR
PCPNWI - INTERNAL ERROR - SEE CONSULTANT
PCPNWI - PARAMETER NAME TOO SHORT
PCSETC - UNCLEARED PRIOR ERROR
PCSETC - UNRECOGNIZED FONT NAME
PCSETC - UNRECOGNIZED PARAMETER NAME
PCSETI - UNCLEARED PRIOR ERROR
PCSETR - BOX COLOR ARRAY INDEX IS OUT OF RANGE
PCSETR - COLOR ARRAY INDEX IS OUT OF RANGE
PCSETR - UNCLEARED PRIOR ERROR
PCSETR - UNRECOGNIZED PARAMETER NAME
PLCHHQ - DATASET NOT LOADED CORRECTLY
PLCHHQ - ERROR EXIT FROM GQCNTN
PLCHHQ - ERROR EXIT FROM GQFACI
PLCHHQ - ERROR EXIT FROM GQFAIS
PLCHHQ - ERROR EXIT FROM GQLWSC
PLCHHQ - ERROR EXIT FROM GQNT
PLCHHQ - ERROR EXIT FROM GQPLCI
PLCHHQ - ERROR EXIT FROM GQTXCI
PLCHHQ - INTERNAL LOGIC ERROR (NCRA TOO BIG) - SEE CONSULTANT
PLCHHQ - INTERNAL LOGIC ERROR (NDGU = 0) - SEE CONSULTANT
PLCHHQ - INTERNAL LOGIC ERROR (NPCS TOO BIG) - SEE CONSULTANT
PLCHHQ - INTERNAL LOGIC ERROR (XCP1 OR XCP2 = OORV) - SEE
CONSULTANT
PLCHHQ - INTERNAL LOGIC ERROR (XCRA/YCRA TOO SMALL) - SEE
CONSULTANT
PLCHHQ - UNCLEARED PRIOR ERROR
PLCHLQ - ERROR EXIT FROM GQCHH
PLCHLQ - ERROR EXIT FROM GQCHUP
PLCHLQ - ERROR EXIT FROM GQCNTN
PLCHLQ - ERROR EXIT FROM GQNT
PLCHLQ - ERROR EXIT FROM GQTXAL
PLCHLQ - ERROR EXIT FROM GQTXP
PLCHLQ - UNCLEARED PRIOR ERROR
PLCHMQ - UNCLEARED PRIOR ERROR
Not the SEE CONSULTANT ones though. Those ones are giving "go talk to a human". 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Online: plotchar_params, pcdlsc, pcgetc, pcgeti, pcgetr, pchiqu, pcloqu, pcmequ, pcmpxy, pcpnwi, pcrset, pcsetc, pcseti, pcsetr, ncarg_cbind.

Hardcopy: NCAR Graphics Fundamentals, UNIX Version


Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.


okay that's the whole thing, you ate that fr fr πŸ’–βœ¨

Signing off from the UNIX era β€” this page is dated March 1993, filed under Plotchar(3NCARG). Vintage, iconic, no cap. πŸŽ€πŸ¦‹πŸ’…

πŸ“¦ where this page comes from