PCMEQU(3NCARG)
β¨ PCMEQU β it's giving "medium quality characters" and honestly? iconic β¨
okay bestie, welcome to the manual page for PCMEQU, from the NCAR Graphics crew (that's the 3NCARG section btw, so you know it's a library call and not, like, a shell command π
).
πΈ NAME πΈ
PCMEQU draws characters of "medium quality". The way it does that is by drawing lines, exactly like PCHIQU does, except the characters come out not quite as fancy. No function codes may be used.
Lowkey important tea: if you use PCMEQU to draw a given string of characters, you'll get a bigger metafile than if you'd used PCLOQU β which may be a disadvantage. But it may also be more dependable, because it doesn't depend on capabilities the translator may or may not have. So it's a tradeoff, and it's giving "reliable but kinda thicc" π«Ά
Also, PLCHMQ is an alternate name for the routine PCMEQU. Same girl, different name. β¨
π« SYNOPSIS π«
CALL PCMEQU (XPOS,YPOS,CHRS,SIZE,ANGD,CNTR)
π C-BINDING SYNOPSIS π
#include <ncarg/ncargC.h>
void c_pcmequ (float xpos, float ypos, char *chrs,
float size, float angd, float cntr)
π DESCRIPTION π
XPOS,YPOSβ (input expressions of typeREAL) these specify the positioning coordinates for the characters we're about to draw. Now, if the internal parameterΒ΄MAΒ΄has the value0, these are given in the current user coordinate system. Otherwise, they're given in an arbitrary X/Y coordinate system, as implied by the value ofΒ΄MAΒ΄and the nature of the routineCPMPXY. (For example β sayΒ΄MAΒ΄has the value1and the default version ofCPMPXYis being used, thenXPOSis a longitude, in degrees, andYPOSis a latitude, in degrees.) And the argumentCNTR(described below, don't worry, we get there π) specifies how the characters are to be positioned relative to the point(XPOS,YPOS).CHRSβ (an input constant or variable of typeCHARACTER) contains a character string to be drawn. The number of characters inCHRSis taken to beLEN(CHRS); and if you wanna use characters "m" through "n" from a character variableCHRS, you use the FORTRAN-77 substring notation"CHRS(m:n)". The string may include any of these 95 characters, and I'm listing every single one because we do not skip: space, exclamation point, double quote, pound sign, dollar sign, percent sign, ampersand, apostrophe, left parenthesis, right parenthesis, asterisk, plus sign, comma, minus sign, period, slash,0-9, colon, semi-colon, less than sign, equals sign, greater than sign, question mark, at sign,A-Z, left square bracket, backslash, right square bracket, hat, underscore, backwards quote,a-z, left curly bracket, vertical bar, right curly bracket, and tilde. Function codes, like those in calls toPCHIQU, may not be used. Periodt.SIZEβ (an input expression of typeREAL) specifies the desired character size. If the internal parameterΒ΄MAΒ΄is zero, then these comments apply:- If
SIZEis less than or equal to zero, its absolute value specifies the size as a multiple of a default digitized size on a1024x1024grid, on which blanks are16units wide. - If
SIZEis greater than zero, but less than one, it specifies the desired width of a blank as a fraction of the distance across the plotter frame. This is the recommended scheme β the girlies love this one. π - If
SIZEis greater than or equal to one, it specifies the desired width of a blank in plotter coordinates, as defined by default or by a user's call to the SPPS routineSETI. Note that use of the routineSETIis now discouraged. (not me telling you it's deprecatedβ¦ it's deprecated π)
- If
If Β΄MAΒ΄ is nonzero, then SIZE is the desired width of a blank as a value in the X/Y coordinate system in which XPOS and YPOS are given.
Capital letters are 4/6 as wide as a blank and, by default, 7/4 as high as they are wide (the internal parameter Β΄HWΒ΄ may be used to change the latter value). The distance from the center of each character to the center of the next is constant and is equal to one blank width.
Note that, if the desired character height ("h") is known, one should use SIZE = (6/7) * h. Math is math, bestie. π§
SIZE is defined in such a way as to be consistent with PCHIQU. If one changes a "CALL PCHIQU" to a "CALL PCMEQU" (assuming that no function codes are used in the string, of course), the results will be much the same, but the length of the string will be different. And if one uses SIZE less than zero and one has reset the PCHIQU internal parameter Β΄PWΒ΄ to something other than 16, the difference in the output of the two routines will be greater. π
ANGDβ (an input expression of typeREAL) is the angle, in degrees counterclockwise from the positive X axis, at which the character string is to be written.CNTRβ (an input expression of typeREAL) is the centering option, as follows:CNTR = -1.means that(XPOS,YPOS)is the center of the left edge of the first character.CNTR = 1.means that(XPOS,YPOS)is the center of the right edge of the last character.CNTR = smeans that(XPOS,YPOS)is a point obtained by linear interpolation along the line joining the two points mentioned above (the first point being associated with the value-1and the second with the value+1). The value"0."gives the midpoint of the line.
Upon return from PCMEQU, all arguments are unchanged. No notes, no edits, no chaos. She's polite like that. π«Ά
π C-BINDING DESCRIPTION π
The C-binding argument descriptions are the same as the FORTRAN argument descriptions. Literally identical. Same vibes, different language. π
π₯ EXAMPLES π₯
Use the ncargex command to see the following relevant examples: cbex01, epltch, tpltch. Go look, they're cute. β¨
π ACCESS π
To use PCMEQU or c_pcmequ, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c β preferably in that order. Order matters, don't fight it. π
π¦ SEE ALSO π¦
Online: plotchar, pcdlsc, pcgetc, pcgeti, pcgetr, pchiqu, pcloqu, pcmpxy, pcpnwi, pcrset, pcsetc, pcseti, pcsetr, ncarg_cbind.
Hardcopy: NCAR Graphics Fundamentals, UNIX Version
iykyk π
π COPYRIGHT π
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, no cap β and before you go: this was the UNIX version of the NCAR GRAPHICS PCMEQU(3NCARG) page, dated March 1993. Old but iconic. Go draw some medium-quality characters, bestie ππΈ
π¦ where this page comes from
- epel 9: ncl-devel 6.6.2-59.el9 Β· LicenseRef-Callaway-BSD
- fedora 43: ncl-devel 6.6.2-58.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: ncl-devel 6.6.2-62.fc44 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms