Plotchar(3NCARG)

πŸ’– Plotchar β€” from the 3NCARG manual, bestie edition πŸ’–

okay so we're doing Plotchar, which lives in the NCAR GRAPHICS manual, and it's literally the whole glow-up toolkit for drawing characters.


✨ NAME ✨

Plotchar β€” lets you draw characters of high, medium, or low quality. that's it, that's the vibe. three tiers, pick your fighter πŸŽ€


✨ SYNOPSIS ✨

🌈 PCHIQU (or PLCHHQ) β€” high quality characters

Draws high quality characters. By default it uses the same database as the old NCAR Graphics routine PWRITX, but bestie it can also use characters from any of the fontcap-defined databases, it has an improved interface, and it has many more capabilities than PWRITX. glow up fr fr πŸ‘‘

🌈 PCMEQU (or PLCHMQ) β€” medium quality characters

Draws characters of "medium quality". It does this by drawing lines, just as PCHIQU does, but it does not produce quite such fancy characters. No function codes may be used. Using PCMEQU to draw a given string of characters will create a larger metafile than if PCLOQU were used, which may be a disadvantage. However, it may also be more dependable, in that it does not depend on capabilities the translator may or may not have.

🌈 PCLOQU (or PLCHLQ) β€” low quality characters

Draws characters of "low quality" by calling the GKS character-drawing routines. 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. low effort, low risk, low quality, we love a low-stakes queen πŸ’…

🌈 the getter/setter girlies

  • 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. it's giving "name tag generator" 🏷️

🌈 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.

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 it's like, a routine in its flop era, waiting for its main character moment 🚧

🌈 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

every Fortran baddie gets a c_ counterpart, no cap 🫢


✨ 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.

so like, it's the backstage crew. you can talk to them directly but they're mostly busy 🎭


✨ 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 shuffle the playlist πŸ”₯


✨ 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. 😌

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
ngl if you see UNCLEARED PRIOR ERROR you already know what happened. handle your errors bestie, the past will come back 😭

✨ 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 page, you ate it up πŸ“

this little writeup was living in the Plotchar(3NCARG) page from the NCAR GRAPHICS manual, UNIX flavour, dated March 1993 β€” yes she's vintage, yes she still serves πŸ’œπŸ§šβ­