Makefont – AMT Datasouth PAL User Manual

Page 139

Advertising
background image

133

makefont

Character's

Rotation

Mirror

Character's

X

Mirror

Character's

Y

TmArray

Sample

(Below)

0

No

No

[

X

0 0

Y

0 0]

Sample-A

0

Yes

No

[-

X

0 0

Y

0 0]

Sample-B

0

No

Yes

Same as 180, Yes, No.

Sample-F

0

Yes

Yes

Same as 180, No, No.

Sample-E

90

No

No

[0 -

X

Y

0 0 0]

Sample-C

90

Yes

No

[0

X

Y

0 0 0]

Sample-D

90

No

Yes

Same as 270, Yes, No.

Sample-H

90

Yes

Yes

Same as 270, No, No.

Sample-G

180

No

No

[-

X

0 0 -

Y

0 0]

Sample-E

180

Yes

No

[

X

0 0 -

Y

0 0]

Sample-F

180

No

Yes

Same as 0, Yes, No.

Sample-B

180

Yes

Yes

Same as 0, No, No.

Sample-A

270

No

No

[0

X

-

Y

0 0 0]

Sample-G

270

Yes

No

[0 -

X

-

Y

0 0 0]

Sample-H

270

No

Yes

Same as 90, Yes, No.

Sample-D

270

Yes

Yes

Same as 90, No, No.

Sample-C

In the table, X and Y indicate the scale factors along the character's dimension. The X scale factor
controls the width of the character, and Y controls the height. For nearly all fonts, characters scaled
to a given height of Y will never be exactly Y units tall. Each character will be the appropriate size
as determined by the artistic design of the font in proportion to the requested overall font height.

For the same reasons, specifying a given X width for a font only requests the rendering of each
character at its appropriate artistic width equivalent to the font rendered at a height of X units. The
characters of most fonts are typically much narrower than they are tall. As a result, characters will
seldom actually approach X units wide.

Based on this information, a TmArray of "[12 0 0 12 0 0]" will produce a 12 unit font. This
would be identical to using a ScaleNum value of 12 with the scalefont operator. To produce a
double-wide variation of the same font, simply specify "[24 0 0 12 0 0]". The only difference
being the doubling of the X scaling value. To produce a double tall variation, simply double the Y
scaling value by specifying "[12 0 0 24 0 0]".

Hints

PAL does not automatically scale all the characters of a font in response to the makefont operator.
Since character scaling takes time, PAL waits to scale each character until it needs to draw the
character onto a page. PAL also rotates the characters at this time to match the orientation at which
it must draw the characters.

Once PAL scales and rotates a character, it places the character image into a character cache. This
allows PAL to use the already scaled character image if PAL must draw the character again.

Advertising