1 09/25/79 New Graphic Character Fonts
2
3 A clean and particularly pleasing set of fonts based on the Hershey Occi-
4 dental Character Sets are now available to users of the Multics Graphics Sys-
5 tem. This info file gives a brief description of this repertory, describes the
6 available fonts, and explains how to access and use them. In addition, persons
7 responsible for maintaining modules that DIRECTLY access graphic_char_table_
8 should read the section on conversion.
9
10
11 Description of the Hershey Repertory:
12 The Hershey Repertory consists of about 16 distinct character sets
13 fonts. Each character is described as a series of vectors and shifts, allow-
14 ing it to be drawn stroked on a graphics terminal, plotter, or other suitable
15 device. The full repertory contains various versions of the Roman, Greek, and
16 Cyrillic alphabets, with additional standard, italic, script, and gothic forms
17 for some sets.
18
19
20 Difference between old and new-style characters:
21 The "standard" font previously available via the graphic_chars_ subroutine
22 or via varying_text in the graphics_editor is a simple, serviceable
23 nine-by-seven point font. All characters have the same dimensions, and carry
24 with themselves a fixed inter-character spacing. It is fast and readable; but
25 its appearance is distinctly mechanical, and it is not suitable for formal doc-
26 ument production or typesetting.
27
28 Each character in a Hershey font has the same nominal height as its font-
29 mates, but its width is unique. Each character also carries two fixed
30 inter-character spacings-- leading and trailing. In addition, the characters
31 are described in much more detail. Not only are they described in terms of a
32 64 X 64 finer grid, but some contain "heavy" strokes made up of several adja-
33 cent vectors. The resultant effect is that of proportionally-spaced type, and
34 is very well suited for formal production work.
35
36
37 How to use the new fonts:
38 Users of the graphic_chars_ subroutine can specify the desired font via a
39 call to graphic_chars_$set_table. Note that no call to any other entry in-
40 cluding graphic_chars_$init will alter this selection.
41
42 Users of the graphic editor can specify a font to be used as the default
43 font for all "varying_text" elements via the new "vtext_type" request. Addi-
44 tionally, a specific font may be specified for any varying_text element by spe-
45 cifying the font to be used as the last parameter of the element.
46
47
48 Names of defined fonts, and what they mean:
49 All graphic character tables GCT's now have names beginning with "gct_".
50 The remainder of the name specifies the complexity of the font and the style or
51 alphabet.
52
53 The complexity describes the detail to which the character is drawn, usu-
54 ally in terms of the number of strokes used to thicken heavy portions of the
55 character. There are six complexities:
56 block-- equal-sized characters, like the old standard set
57 simplex-- no heavy portions
58 duplex-- heavy portions stroked twice
59 triplex-- heavy portions stroked three times
60 complex-- heavy portions contain curves
61 gothic-- heavy portions done in medieval style
62
63
64 Three alphabets are defined-- Roman, Cyrillic, and Greek. The Roman al-
65 phabet is subdivided into several styles; namely:
66 script
67 italic
68 italian
69 german
70 english
71
72 The name of a GCT is composed of concatenations of these items, e.g.,
73 "gct_triplex_roman_", "gct_gothic_english_".
74
75 Not all possible combinations are included in the Hershey Repertory, and
76 not all of the Hershey fonts are yet available. For a list of available fonts,
77 issue the command:
78 list >unb>bound_graphic_fonts_
79
80
81 Converting to the new GCT's:
82 Maintainers and users of programs that call graphic_chars_ should see no
83 change in operation. The default character table used by graphic_chars_ is
84 gct_block_roman_, which corresponds to the old standard character set. Users
85 desiring to use the new fonts should be aware of the accomodations made by
86 graphic_chars_ to enable the use of proportional type. The user-supplied para-
87 meter to graphic_chars_ which specifies how wide a single character is to be is
88 not applied to each character, but is distributed over the entire length of the
89 string. The result is that regardless of font, a string will always take up
90 the same space on the screen, although the individual characters will vary.
91
92 Users of the graphic editor will notice the name of the GCT appearing
93 whenever varying_text elements are replayed; this will have no other effect.
94 As described above, the same accomodations are made to normalize individual
95 character widths over the length of the entire string.
96
97
98 Conversion from the graphic_char_table_:
99 Maintainers of programs which reference the old graphic_char_table_ di-
100 rectly should be prepared to convert to the new-style format, which is over
101 four times more space-effective, and is largely similar to the old format.
102 Declarations for the format of new GCT's may be found in the include file
103 graphic_char_dcl.incl.pl1.