PMGuide - Appendices
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 |