Jump to content

PMGuide - Appendices

From EDM2
Revision as of 03:51, 7 May 2025 by Martini (talk | contribs) (Created page with "This section contains several topics related to Presentation Manager programming. == Bitmap Formats == There are four standard bitmap formats. All device drivers must be able to translate between any of these formats and their own internal formats. The standard formats are: * Bitcount 1, Planes 1 * Bitcount 4, Planes 1 * Bitcount 8, Planes 1 * Bitcount 24, Planes 1 These formats are chosen because they are identical or similar to all formats commonly used by raster d...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This section contains several topics related to Presentation Manager programming.

Bitmap Formats

There are four standard bitmap formats. All device drivers must be able to translate between any of these formats and their own internal formats. The standard formats are:

  • Bitcount 1, Planes 1
  • Bitcount 4, Planes 1
  • Bitcount 8, Planes 1
  • Bitcount 24, Planes 1

These formats are chosen because they are identical or similar to all formats commonly used by raster devices. Only single-plane formats are standard, but it is very easy to convert these to any multiple-plane format used internally by a device.

Bitmap Data

The pel data is stored in the bitmap in the order that the coordinates appear on a display screen. That is, the pel in the lower-left corner is the first in the bitmap. Pels are scanned to the right, and upward, from that position. The bits of the first pel are stored, beginning with the most significant bits of the first byte. The data for pels in each scan line is packed together tightly, but all scan lines are padded at the end, so that each one begins on a ULONG boundary.

Bitmap Information Tables

Each standard-format bitmap must be accompanied by a bitmap information table. Because the standard-format bitmaps are intended to be traded between devices, the color indexes in the bitmap are meaningless without more information; for a description of this structure, see BITMAPINFO2.

Some functions use a structure that is similar to BITMAPINFO2 but does not have the color table array; for a description of this structure, see BITMAPINFOHEADER2. Wherever BITMAPINFO2 is shown, BITMAPINFO is also allowed. Similarly, wherever BITMAPINFOHEADER2 is shown, BITMAPINFOHEADER is also allowed.

Bitmap Example

To make the ordering of all the bytes clear, consider this simple example of a 5-by-3 array of colored pels:

Red   Green Blue  Red   Green
Blue  Red   Green Blue  Red
Green Blue  Red   Green Blue
ULONG ExampleBitmap[] = {
    0x23,0x12,0x30,0x00, /* bottom line */
    0x31,0x23,0x10,0x00, /* middle line */
    0x12,0x31,0x20,0x00  /* top line    */
};

#define BLACK  0x00000000L
#define RED    0x00FF0000L
#define GREEN  0x0000FF00L
#define BLUE   0x000000FFL

struct BitmapInfoTable ExampleInfo = {
    5,                               /* width       */
    3,                               /* height      */
    1,                               /* planes      */
    4,                               /* bitcount    */
    BLACK,RED,GREEN,BLUE,            /* color table */
    BLACK,BLACK,BLACK,BLACK,
    BLACK,BLACK,BLACK,BLACK,
    BLACK,BLACK,BLACK,BLACK
};

Bitmap File Format

The operating system uses the same file format for bitmaps, icons, and pointers in resource files. In the following description, "bitmap" refers to bitmaps, icons, and pointers unless otherwise specified.

Two formats are supported. In the first, a single-size version of the bitmap is defined. This is used whatever the target device.

The second format allows multiple versions of the bitmap to be defined, including one or more device-independent versions, and a number of device-dependent versions, each intended for use with a particular device.

In the case of icons and pointers, when more than one version of the bitmap exists, the preferred version is one that matches the device size of the icon or pointer; otherwise, the device-independent version is used to scale a bitmap to the required size.

The operating system provides pointers that match the requirements of the display device in use, typically pointers are 32x32 pels, one bit per plane.

Icons provided with the operating system are designed to match the requirements of the most common display devices. The following versions of each icon are included in each file:

  • 32x32 4 bpp (16 color)
  • 40x40 4 bpp (16 color)
  • 32x32 1 bpp (black and white)
  • 20x20 1 bpp (black and white)
  • 16x16 1 bpp (black and white)

The 32x32 versions are designed for VGA displays and for device-independent use. The 40x40 version is for 8514/A and XGA displays. The 20x20 and 16x16 are half-size icons designed for use as mini-icons.

For general bitmaps, which may be of arbitrary size, the preferred version is one matching the requested bitmap size; otherwise one matching the display size is selected. If neither is available, the device-independent version is used from which to scale a bitmap.

For both formats, the definition consists of two sections. The first section contains general information about the type, dimensions, and other attributes of the resource. The second section contains data describing the pels that make up the bitmap(s), and is in the format specified in Bitmap Data.

In the multiple-version format, the first section contains an array of BITMAPARRAYFILEHEADER or BITMAPARRAYFILEHEADER2 structures. The device-independent version must be the first BITMAPARRAYFILEHEADER or BITMAPARRAYFILEHEADER2 defined.

In the single-size format, the BITMAPARRAYFILEHEADER or BITMAPARRAYFILEHEADER2 structure is not present. The definition consists of one or two BITMAPFILEHEADER or BITMAPFILEHEADER2 structures.

For icons and pointers, the cy field in bmp is actually twice the pel height of the image that appears on the screen. This is because these types actually contain two full bitmap pel definitions. The first bitmap definition is the XOR mask, which contains invert information (0 = no invert, 1 = invert) for the pointer or icon. The second is the AND mask, which determines whether the pointer or the screen is shown (0 = black/white, 1 = screen/inverse screen).

For color icons or pointers, there are two bitmaps involved: one that is black and white and consists of an AND and an XOR mask, and one that is color that defines the color content.

The cy field in the BITMAPINFOHEADER2 structure for the color bitmap must be the real height, that is, half the value specified for the black and white bitmap. The cx must be the same.

The following table shows how these two bitmaps are used for a color icon or pointer:

XOR AND COLOR Result
1 1 x Invert screen
0 0 x Use color x
0 1 x Transparency
1 0 x Use color x

For color icons or pointers, two BITMAPFILEHEADER or BITMAPFILEHEADER2 structures are therefore required:

BITMAPFILEHEADER2    with usType BFT_COLORICON or BFT_COLORPOINTER
   BITMAPINFOHEADER2 (part of BITMAPFILEHEADER2)
   Color table
BITMAPFILEHEADER2    with same usType
   BITMAPINFOHEADER2 (part of BITMAPFILEHEADER2)
   Color table
**
bits for one bitmap
**
**
bits for other bitmap
**

The usType for the first BITMAPFILEHEADER2 is either BFT_COLORICON or BFT_COLORPOINTER. This means that a second BITMAPFILEHEADER2 is present as part of the definition of a color icon or pointer. The first BITMAPFILEHEADER2 structure contains the information for the black and white AND and XOR masks, while the second BITMAPFILEHEADER2 structure contains the information for the color part of the pointer or icon.

BITMAPFILEHEADER and BITMAPINFOHEADER can occur in place of BITMAPFILEHEADER2 and BITMAPINFOHEADER2 in this example.

For the multiple version format, the file is as follows:

BITMAPARRAYFILEHEADER2   for device-independent version
   BITMAPFILEHEADER2     (part of BITMAPARRAYFILEHEADER2)
      BITMAPINFOHEADER2  (part of BITMAPFILEHEADER2)
      Color table
   BITMAPFILEHEADER2     )
      BITMAPINFOHEADER2  )  only if this is a color icon or pointer
      Color table        )
BITMAPARRAYFILEHEADER2   for first device-dependent version
   BITMAPFILEHEADER2     (part of BITMAPARRAYFILEHEADER2)
      BITMAPINFOHEADER2  (part of BITMAPFILEHEADER2)
      Color table
   BITMAPFILEHEADER2     )
      BITMAPINFOHEADER2  )  only if this is a color icon or pointer
      Color table        )
Further BITMAPARRAYFILEHEADER2 groups occur here as required
for additional device-dependent versions
**
bits for one bitmap
**
**
bits for next bitmap
**
And so on for as many bitmaps as necessary.

As before, BITMAPARRAYFILEHEADER, BITMAPFILEHEADER, and BITMAPINFOHEADER can occur in place of BITMAPARRAYFILEHEADER2, BITMAPFILEHEADER2, and BITMAPINFOHEADER2.

Code Pages

The initialization file contains country information relating to date, time, and numeric formats. It does not contain code-page information; this is obtained from the CONFIG.SYS file.

Applications start with the default code page. The default code page is set when the operating system is installed. It can be changed subsequently either by reinstalling the operating system or by editing the COUNTRY statement in the CONFIG.SYS file.

A GPI presentation space inherits the code page of the process that created it. The code page changes only when the process calls GpiSetCp.

See the printed version of the Presentation Manager Programming Reference for the ASCII and EBCDIC versions of the code pages.

Windowed PM Applications

Windowed PM applications allow the code-page calls to use any of the supported ASCII code pages. These are:

Character Set Code Page
Canadian-French 863
Desktop Publishing 1004
Iceland 861
Latin 1 Multilingual 850
Latin 2 Multilingual 852
Nordic 865
Portuguese 860
Turkey 857
U.S. (IBM PC) 437

Code page 1004 is compatible with Microsoft Windows.

The following EBCDIC code pages, based on character set 697, are also available for output:

Character Set Code Page
Austrian/German 273
Belgian 274
Brazil 275
Czechoslovakia 870
Danish/Norwegian 277
Finnish/Swedish 278
French 297
Hungary 870
Iceland 871
International 500
Italian 280
Poland 870
Portuguese 282
Spanish 284
Turkey 1026
U.K.-English 285
U.S.-English 037
Yugoslavia 870

Note: Code pages 274 (Belgian) and 282 (Portuguese) can be used to provide access to old data.

The operating system provides the following additional code-page setting and query calls for the supported ASCII and EBCDIC code pages. These calls work independently of the CONFIG.SYS file:

  • GpiSetCp: Sets the code page for GPI.
  • GpiQueryCp: Queries the code page for GPI.
  • GpiCreateLogFont: Creates fonts in a code page.
  • WinSetCp: Sets the code page for a message queue.
  • WinQueryCp: Queries the code page for a message queue.
  • WinQueryCpList: Creates a list of code pages supported by the operating system.

Text entered in a dialog box is supplied to the application in the code page of the queue ("queue code page"). If possible, the code page of a resource (for example, a menu or dialog box) should match the code page of the queue. In general, code page 850 is the best choice for both an application and its resources.

Applications should be able to process data from a variety of sources. Because code page 850 contains most of the characters in other supported code pages, this is usually the best choice for the queue code page.

OS/2 Code Page Options for PM Applications

Application Description Notes
DosSetProcessCp Set code page for this process (keyboard/display not changed). Either of the two ASCII code pages specified in CONFIG.SYS. Code page 1004 is also supported.
WinQueryCpList Query list of supported code pages. Any supported ASCII or EBCDIC code page as reported by WinQueryCpList. Code page 1004 is also supported.
WinSetCp, WinQueryCp Set or query code page for translating incoming messages (keystrokes). Either of the two ASCII code pages specified in CONFIG.SYS. Code page 1004 is also supported.
GpiSetCp, GpiQueryCp Set or query default GPI code page. Any supported ASCII or EBCDIC code page as reported by WinQueryCpList. Code page 1004 is also supported.
GpiCreateLogFont Create font in a code page. Any supported ASCII or EBCDIC code page as reported by WinQueryCpList. Code page 1004 is also supported.
WinCpTranslateChar, WinCpTranslateString Convert character or string from one code page to another. Any supported ASCII or EBCDIC code page as reported by WinQueryCpList. Code page 1004 is also supported.

Components affected:

  • CONFIG.SYS contains the default code page set by CODEPAGE=
  • Keyboard
  • Message queue
  • Display
  • Disk
  • LAN or host

OS/2 Font Support for Multiple Code Pages

The operating system supports multiple code pages for text input and output. A single font resource is used to support all the code pages. This section describes the font resource format.

Font Code-Page Functions

Many of the characters required by each code page are common; for example, the first 128 characters of all the ASCII code pages are identical. This set of characters is called the Universal Glyph List (UGL). A code page is simply a set of pointers into the UGL.

As the characters in every font are in the same order, only one set of code-page translation tables is necessary.

Note: The fonts of Microsoft Windows support only code page 1004.

Font Layout

The following table lists the full character set in the order in which the characters occur in the multi-code-page font. Characters are listed in order of their universal glyph list (UGL) number; the graphic character global identifier (GCGID) and a description of each character are also given.

UGL GCGID Description
0 S0000000 Smiling face
1 S0100000 Smiling face, reverse image
2 S0200000 Heart suit symbol
3 S0300000 Diamond suit symbol
4 S0400000 Club suit symbol
5 S0500000 Spade suit symbol
6 M5700000 Bullet
7 M5700001 Bullet, reverse image
8 M7500000 Open circle
9 M7500002 Open circle, reverse image
10 M2800000 Male symbol
11 M2900000 Female symbol
12 M9300000 Musical note
13 M9100000 Two musical notes
14 M6900000 Sun symbol
15 M5900000 Forward arrow indicator
16 M6300000 Back arrow indicator
17 M7600000 Up-down arrow
18 P3300000 Double exclamation point
19 M2500000 Paragraph symbol (USA)
20 M2400000 Section symbol (USA), paragraph (Europe)
21 M7000000 Solid horizontal rectangle
22 M7700000 Up-down arrow, perpendicular
23 M3200000 Up arrow
24 M3300000 Down arrow
25 M3100000 Right arrow
26 M3000000 Left arrow
27 A4200000 Right angle symbol
28 M7800000 Left-right arrow
29 M6000000 Solid triangle
30 V0400000 Solid triangle, inverted
31 P0100000 Space
32 P0200000 Exclamation point
33 P0400000 Quotation marks
34 M0100000 Number sign
35 C0300000 Dollar sign
36 M0200000 Percent sign
37 M0300000 Ampersand
38 P0500000 Apostrophe
39 P0600000 Left parenthesis
40 P0700000 Right parenthesis
41 M0400000 Asterisk
42 A0100000 Plus sign
43 P0800000 Comma
44 P1000000 Hyphen/minus sign
45 P1100000 Period/full stop
46 P1200000 Slash
47 D1000000 Zero
48 D0100000 One
49 D0200000 Two
50 D0300000 Three
51 D0400000 Four
52 D0500000 Five
53 D0600000 Six
54 D0700000 Seven
55 D0800000 Eight
56 D0900000 Nine
57 P1300000 Colon
58 P1400000 Semicolon
59 A0300000 Less than sign/greater than (arabic)
60 A0400000 Equal Sign
61 A0500000 Greater than sign/less than (arabic)
62 P1500000 Question mark
63 M0500000 At sign
64 A0200000 A capital
65 B0200000 B capital
66 C0200000 C capital
67 D0200000 D capital
68 E0200000 E capital
69 F0200000 F capital
70 G0200000 G capital
71 H0200000 H capital
72 I0200000 I capital
73 J0200000 J capital
74 K0200000 K capital
75 L0200000 L capital
76 M0200000 M capital
77 N0200000 N capital
78 O0200000 O capital
79 P0200000 P capital
80 Q0200000 Q capital
81 R0200000 R capital
82 S0200000 S capital
83 T0200000 T capital
84 U0200000 U capital
85 V0200000 V capital
86 W0200000 W capital
87 X0200000 X capital
88 Y0200000 Y capital
89 Z0200000 Z capital
90 M0600000 Left bracket
91 M0700000 Backslash
92 M0800000 Right bracket
93 D1500000 Circumflex Accent
94 P0900000 Underline, continuous underscore
95 D1300000 Grave accent
96 A0100000 a small
97 B0100000 b small
98 C0100000 c small
99 D0100000 d small
100 E0100000 e small
101 F0100000 f small
102 G0100000 g small
103 H0100000 h small
104 I0100000 i small
105 J0100000 j small
106 K0100000 k small
107 L0100000 l small
108 M0100000 m small
109 N0100000 n small
110 O0100000 o small
111 P0100000 p small
112 Q0100000 q small
113 R0100000 r small
114 S0100000 s small
115 T0100000 t small
116 U0100000 u small
117 V0100000 v small
118 W0100000 w small
119 X0100000 x small
120 Y0100000 y small
121 Z0100000 z small
122 M1100000 Left brace
123 M1300000 Vertical line, logical OR
124 M1400000 Right brace
125 D1900000 Tilde
126 M7900000 Mouse
127 C4200000 C cedilla capital
128 U1700000 u diaeresis small
129 E1100000 e acute small
130 A1500000 a circumflex small
131 A1700000 a diaeresis small
132 A1300000 a grave small
133 A2700000 a overcircle small
134 C4100000 c cedilla small
135 E1500000 e circumflex small
136 E1700000 e diaeresis small
137 E1300000 e grave small
138 I1700000 i diaeresis small
139 I1500000 i circumflex small
140 I1300000 i grave small
141 A1800000 A diaeresis capital
142 A2800000 A overcircle capital
143 E1200000 E acute capital
144 A5100000 ae diphthong small
145 A5200000 AE diphthong capital
146 O1500000 o circumflex small
147 O1700000 o diaeresis small
148 O1300000 o grave small
149 U1500000 u circumflex small
150 U1300000 u grave small
151 Y1700000 y diaeresis small
152 O1800000 O diaeresis capital
153 U1800000 U diaeresis capital
154 O6100000 o slash small
155 C0200000 Pound sterling sign
156 O6200000 O slash capital
157 A0700000 Multiply sign
158 C0700000 Florin sign
159 A1100000 a acute small
160 I1100000 i acute small
161 O1100000 o acute small
162 U1100000 u acute small
163 N1900000 n tilde small
164 N2000000 N tilde capital
165 M2100000 Ordinal indicator, feminine
166 M2000000 Ordinal indicator, masculine
167 P1600000 Question mark, inverted
168 M5300000 Registered trademark symbol
169 M6600000 Logical NOT, end of line symbol
170 F0100000 One-half
171 F0400000 One-quarter
172 P0300000 Exclamation point, inverted
173 P1700000 Left angled quotes
174 P1800000 Right angled quotes
175 F1400000 Fill character, light
176 F1500000 Fill character, medium
177 F1600000 Fill character, heavy
178 F1100000 Center box bar vertical
179 F0900000 Right middle box side
180 A1200000 A acute capital
181 A1600000 A circumflex capital
182 A1400000 A grave capital
183 M5200000 Copyright symbol
184 F2300000 Right box side double
185 F2400000 Center box bar vertical double
186 F2500000 Upper right box corner double
187 F2600000 Lower right box corner double
188 C0400000 Cent sign
189 C0500000 Yen sign
190 F0300000 Upper right box corner
191 F0200000 Lower left box corner
192 F0700000 Middle box bottom
193 F0600000 Middle box top
194 F0800000 Left middle box side
195 F1000000 Center box bar horizontal
196 F0500000 Box intersection
197 A1900000 a tilde small
198 A2000000 A tilde capital
199 F3800000 Lower left box corner double
200 F3900000 Upper left box corner double
201 F4000000 Middle box bottom double
202 F4100000 Middle box top double
203 F4200000 Left box side double
204 F4300000 Center box bar horizontal double
205 F4400000 Box intersection double
206 C0100000 International currency symbol
207 D6300000 eth Icelandic small
208 D6200000 Eth stroke capital, Eth Icelandic capital
209 E1600000 E circumflex capital
210 E1800000 E diaeresis capital
211 E1400000 E grave capital
212 I6100000 i dotless small
213 I1200000 I acute capital
214 I1600000 I circumflex capital
215 I1800000 I diaeresis capital
216 F0400000 Lower right box corner
217 F0100000 Upper left box corner
218 F6100000 Solid fill character
219 F5700000 Solid fill character, bottom half
220 M6500000 Vertical line, broken
221 I1400000 I grave capital
222 F6000000 Solid fill character, top half
223 O1200000 O acute capital
224 S6100000 Sharp s small
225 O1600000 O circumflex capital
226 O1400000 O grave capital
227 O1900000 o tilde small
228 O2000000 O tilde capital
229 M1700000 Micro symbol
230 T6300000 Thorn Icelandic small
231 T6400000 Thorn Icelandic capital
232 U1200000 U acute capital
233 U1600000 U circumflex capital
234 U1400000 U grave capital
235 Y1100000 y acute small
236 Y1200000 Y acute capital
237 M1500000 Overline
238 D1100000 Acute accent
239 P3200000 Syllable hyphen
240 A0200000 Plus or minus sign
241 M1000000 Double underscore
242 F0500000 Three-quarters
243 M2500000 Paragraph symbol (USA)
244 M2400000 Section symbol (USA), paragraph (Europe)
245 A0600000 Divide sign
246 D4100000 Cedilla (or sedila) accent
247 M1900000 Degree symbol
248 D1700000 Diaeresis, umlaut accent
249 D6300000 Middle dot
250 D0110000 One superscript
251 D0310000 Three superscript
252 D0210000 Two superscript
253 M4700000 Solid square, histogram, square bullet
254 P3000000 Required space
255 C0600000 Peseta sign
256 M6800000 Start of line symbol
257 F1900000 Right box side double to single
258 F2000000 Right box side single to double
259 F2100000 Upper right box corner single to double
260 F2200000 Upper right box corner double to single
261 F2700000 Lower right box corner single to double
262 F2800000 Lower right box corner double to single
263 F3600000 Left box side single to double
264 F3700000 Left box side double to single
265 F4500000 Middle box bottom single to double
266 F4600000 Middle box bottom double to single
267 F4700000 Middle box top double to single
268 F4800000 Middle box top single to double
269 F4900000 Lower left box corner double to single
270 F5000000 Lower left box corner single to double
271 F5100000 Upper left box corner single to double
272 F5200000 Upper left box corner double to single
273 F5300000 Box intersection single to double
274 F5400000 Box intersection double to single
275 F5800000 Solid fill character, left half
276 F5900000 Solid fill character, right half
277 A0100000 Alpha small
278 G0200000 Gamma capital
279 P0100000 Pi small
280 S0200000 Sigma capital
281 S0100000 Sigma small
282 T0100000 Tau small
283 F0200000 Phi capital
284 T6200000 Theta capital
285 O3200000 Omega capital
286 D0100000 Delta small
287 A4500000 Infinity symbol
288 F0100000 Phi small
289 E0100000 Epsilon small
290 A3800000 Intersection, logical product
291 A4800000 Identity symbol, almost equal
292 A5300000 Greater than or equal sign
293 A5200000 Less than or equal sign
294 S2600000 Upper integral symbol section
295 S2700000 Lower integral symbol section
296 A7000000 Nearly equals symbol
297 A7900000 Product dot
298 A8000000 Radical symbol
299 N0110000 n small superscript
300 D3100000 Macron accent
301 D2300000 Breve accent
302 D2900000 Overdot accent (over small Alpha)
303 D2700000 Overcircle accent
304 D2500000 Double acute accent
305 D4300000 Ogonek accent
306 D2100000 Caron accent
307 P1900000 Left single quote
308 P2000000 Right single quote
309 P2100000 Left double quotes
310 P2200000 Right double quotes
311 S6800000 Ndash
312 M9000000 Mdash
313 D1500000 Circumflex accent
314 D1900000 Tilde accent
315 P2600000 Single quote on baseline (German lower)
316 P2300000 Left lower double quotes
317 V5200000 Ellipsis
318 M3400000 Dagger footnote indicator
319 M3500000 Double dagger footnote indicator
320 D1501000 Circumflex accent (over small alpha)
321 M5600000 Permille symbol
322 S2200000 S caron capital
323 P2700000 French single open quote
324 O5200000 OE ligature capital
325 D1901000 Tilde accent (over small alpha)
326 M5400000 Trademark symbol
327 S2100000 s caron small
328 P2800000 French single close quote
329 O5100000 oe ligature small
330 Y1800000 Y diaeresis capital
331 G2300000 Breve Small
332 G2400000 Breve Capital
333 I3000000 Overdot Capital
334 S4100000 Cedilla Small
335 S4200000 Cedilla Capital
336 A2300000 Breve Small
337 A2400000 Breve Capital
338 A4300000 Ogonek Small
339 A4400000 Ogonek Capital
340 C1100000 Acute Small
341 C1200000 Acute Capital
342 C2100000 Caron Small
343 C2200000 Caron Capital
344 D2100000 Caron Small
345 D2200000 Caron Capital
346 D6100000 Stroke Small
347 E2100000 Caron Small
348 E2200000 Caron Capital
349 E4300000 Ogonek Small
350 E4400000 Ogonek Capital
351 L1100000 Acute Small
352 L1200000 Acute Capital
353 L2100000 Caron Small
354 L2200000 Caron Capital
355 L6100000 Stroke Small
356 L6200000 Stroke Capital
357 N1100000 Acute Small
358 N1200000 Acute Capital
359 N2100000 Caron Small
360 N2200000 Caron Capital
361 O2500000 Double Acute Small
362 O2600000 Double Acute Capital
363 R1100000 Acute Small
364 R1200000 Acute Capital
365 R2100000 Caron Small
366 R2200000 Caron Capital
367 S1100000 Acute Small
368 S1200000 Acute Capital
369 T2100000 Caron Small
370 T2200000 Caron Capital
371 T4100000 Cedilla Small
372 T4200000 Cedilla Capital
373 U2500000 Double Acute Small
374 U2600000 Double Acute Capital
375 U2700000 Overcircle Small
376 U2800000 Overcircle Capital
377 Z1100000 Acute Small
378 Z1200000 Acute Capital
379 Z2100000 Caron Small
380 Z2200000 Caron Capital
381 Z2900000 Overdot Small
382 Z3000000 Overdot Capital

Fonts Supplied with the OS/2 Operating System

OS/2 outline fonts and Presentation Manager bit map fonts are supplied by the operating system.

OS/2 Outline Fonts

The following Adobe Type 1 fonts are supplied with OS/2:

Family Name Face Name
Times New Roman Times New Roman
Times New Roman Bold
Times New Roman Bold Italic
Times New Roman Italic
Helvetica Helvetica
Helvetica Bold
Helvetica Bold Italic
Helvetica Italic
Courier Courier
Courier Bold
Courier Bold Italic
Courier Italic
Symbol Symbol

The Courier, Tms Rmn, and Swiss family fonts that were supplied with OS/2 release 1.1 and 1.2 are no longer supplied. Using one of the old names results in one of the new fonts listed above being used, as follows:

  • Roman/Tms Rmn: Times New Roman
  • Swiss/Helv: Helvetica

These fonts are provided in an efficient binary format for use by the OS/2 Adobe Type Manager. They are also provided in standard Type 1 format (PFB and AFM) for use with the OS/2 PostScript printer device driver.

Presentation Manager Bit Map Fonts

The following tables list all system bit map fonts available using the Graphics Programming Interface. The first table applies to hardware that does not conform to the International Standards Organization (ISO) 9241. The second table lists the fonts supplied with OS/2 for IBM hardware that does conform to ISO 9241.

During system installation, the operating system determines the type of display adapter available on your computer and installs only the fonts which match the device resolution. Since additional device bit map fonts may be available on specific devices, you may have to install the correct bit map fonts if you change your display device after the operating system is installed.

Fonts Supplied for ISO 9241 Non-Conforming Hardware

The following information for each font is included in the table:

  • **Points**: This is the point size of the font, on a device whose resolution matches that of the font (see Device below).
  • **Ave Wid**: This is the average width in pels of alphabetic characters weighted according to US English letter frequencies.
  • **Max Wid**: This is the maximum width in pels of all characters in the font. This field is not necessarily the maximum width of any character in the code page. It could be used to ensure that the horizontal space allocated on a display or printer is big enough to handle any character.
  • **Height**: This is the height in pels of the font. This is the minimum number of rows of pels needed to output any character of the font on a given baseline. This field may be larger than necessary for a given code page. It could be used to ensure that the vertical space allocated on a display or printer is big enough to handle any character.
  • **Device**: This is the X and Y resolution in pels per inch at which the font is intended to be used. Only those fonts which match the device resolution of the installed display driver are available on the system. If the installed display is changed, the install process will reinstall the proper font sets for the new adapter. The IBM devices whose device drivers report these resolutions are:
 * 96 x 48 CGA
 * 96 x 72 EGA
 * 96 x 96 VGA and XGA (in 640 x 480 mode)
 * 120 x 120 8514/A and XGA (in 1024 x 768 mode)

Note: These values are approximate representations of the actual resolution, which in the case of displays depends on which monitor is attached. Consequently, the point size of characters on the screen is also approximate.

The following table applies to hardware that does not conform to ISO 9241:

Family Face Name Points Ave Wid Max Wid Height Device
Courier Courier 8 6 10 11 96x48
8 6 10 10 96x72
8 6 10 13 96x96
8 8 12 16 120x120
10 6 10 11 96x48
10 6 10 12 96x72
10 6 10 16 96x96
10 8 12 20 120x120
12 8 12 10 96x48
12 8 12 15 96x72
12 8 12 20 96x96
12 10 15 25 120x120
System Proportional System Proportional 8 6 10 11 96x48
10 6 10 12 96x96
10 6 13 16 96x96
10 6 13 20 120x120
11 10 13 13 120x120
System Monospaced System Monospaced 8 6 10 11 96x48
10 6 10 12 96x72
10 6 10 16 96x96
10 6 10 20 120x120
Helv Helv 8 6 13 11 96x48
8 6 13 10 96x72
8 6 13 13 96x96
8 8 14 16 120x120
10 6 15 11 96x48
10 6 14 12 96x72
10 6 14 16 96x96
10 8 20 20 120x120
12 8 17 10 96x48
12 8 17 15 96x72
12 8 17 20 96x96
12 10 21 25 120x120
18 11 26 15 96x48
18 10 26 22 96x72
18 11 26 29 96x96
18 13 34 36 120x120
24 14 35 19 96x48
24 14 35 28 96x72
24 14 35 37 96x96
24 18 56 49 120x120
Tms Rmn Tms Rmn 8 6 12 11 96x48
8 6 13 10 96x72
8 6 12 13 96x96
8 8 14 16 120x120
10 6 15 11 96x48
10 6 14 12 96x72
10 6 14 16 96x96
10 8 19 20 120x120
12 8 18 10 96x48
12 8 18 15 96x72
12 8 16 19 96x96
12 10 23 23 120x120
14 10 21 11 96x48
14 10 21 16 96x72
14 10 20 21 96x96
14 14 26 27 120x120
18 10 26 14 96x48
18 10 26 20 96x72
18 10 26 27 96x96
18 12 34 33 120x120
24 14 35 18 96x48
24 13 35 26 96x72
24 13 35 35 96x96
24 16 56 43 120x120