]> git.karo-electronics.de Git - gbdfed.git/blob - htext.h
Fixup several compile faults due to changes in recent distributions,
[gbdfed.git] / htext.h
1 /*
2  * Copyright 2008 Department of Mathematical Sciences, New Mexico State University
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17  * DEPARTMENT OF MATHEMATICAL SCIENCES OR NEW MEXICO STATE UNIVERSITY BE
18  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
19  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  */
22 static gchar *about_text = ""
23 "<help>"
24 "<center><b>GBDFEditor 1.6</b>\n"
25 "mleisher@gmail.com\n"
26 "15 April 2010</center>\n"
27 "\n"
28 "GBDFEditor is a BDF font editor that supports "
29 "these main features:\n"
30 "\n"
31 "<bullet> Multiple fonts can be loaded from the command line.</bullet>\n"
32 "<bullet> Multiple fonts can be open at the same time.</bullet>\n"
33 "<bullet> Cutting and pasting glyphs between fonts.</bullet>\n"
34 "<bullet> Multiple glyph bitmap editors can be open at the same time.</bullet>\n"
35 "<bullet> Cutting and pasting between glyph bitmap editors.</bullet>\n"
36 "<bullet> Automatic correction of certain metrics when a font is loaded.</bullet>\n"
37 "<bullet> Generation of XLFD font names for fonts without XLFD names.</bullet>\n"
38 "<bullet> Update an XLFD font name from the font properties.</bullet>\n"
39 "<bullet> Update the font properties from an XLFD font name.</bullet>\n"
40 "<bullet> Font property editor.</bullet>\n"
41 "<bullet> Font comment editor.</bullet>\n"
42 "<bullet> Supports unencoded glyphs (ENCODING of -1).</bullet>\n"
43 "<bullet> Display of glyph encodings in octal, decimal, or hex.</bullet>\n"
44 "<bullet> Builtin on-line help.</bullet>\n"
45 "<bullet> Imports PK/GF fonts.</bullet>\n"
46 "<bullet> Imports HBF (Han Bitmap Font) fonts.</bullet>\n"
47 "<bullet> Imports Linux console fonts (PSF, CP, and FNT).</bullet>\n"
48 "<bullet> Imports Sun console fonts (vfont format).</bullet>\n"
49 "<bullet> Imports fonts from the X server.</bullet>\n"
50 "<bullet> Imports Windows FON/FNT fonts.</bullet>\n"
51 "<bullet> Imports OpenType fonts and collections.</bullet>\n"
52 "<bullet> Exports Linux console PSF2 fonts.</bullet>\n"
53 "<bullet> Exports HEX fonts (http://czyborra.com/unifont).</bullet>\n"
54 "<bullet> Edits gray scale fonts with 2, 4 or 8 bits per pixel.</bullet>\n"
55 "\n"
56 "GBDFEditor was designed to use GTK+ 2.6 or later.\n"
57 "</help>";
58
59 static gchar *program_text = "<help>"
60 "By default, gbdfed automatically collects "
61 "comments that are saved with the font, it "
62 "preserves the unencoded glyphs, and it will "
63 "attempt to make some metrics corrections "
64 "automatically. These options can be set on the "
65 "command line.\n"
66 "\n"
67 "More than one font can be specified on the command "
68 "line.\n"
69 "\n"
70 "The command line parameters for gbdfed are:\n"
71 "\n"
72 "<param>-nc</param>\t\tno comments\n"
73 "<param>-nm</param>\t\tno metrics corrections\n"
74 "<param>-nu</param>\t\tno unencoded glyphs\n"
75 "<param>-np</param>\t\tdo not pad character cell bitmaps\n"
76 "<param>-bp</param>\t\tallow blank pages\n"
77 "<param>-ed</param>\t\tno <b>Really Exit?</b> dialog\n"
78 "<param>-ps</param> <i>n</i>\t\tset point size\n"
79 "<param>-hres</param> <i>n</i>\tset horizontal resolution\n"
80 "<param>-vres</param> <i>n</i>\tset vertical resolution\n"
81 "<param>-res</param> <i>n</i>\tset both resolutions\n"
82 "<param>-sp</param> <i>s</i>\t\tset the font spacing (<b>p</b>roportional, <b>m</b>onowidth, <b>c</b>haractercell)\n"
83 "<param>-bpp</param> <i>n</i>\tset the font bits per pixel (<b>1</b>, <b>2</b>, <b>4</b>, <b>8</b>)\n"
84 "<param>-eol</param> <i>e</i>\tset the default end of line char(s) (<b>u</b>nix, <b>d</b>os, <b>m</b>ac)\n"
85 "<param>-g</param> <i>code</i>\tset the initial glyph code to be displayed at startup(can be decimal, hex, or octal)\n"
86 "<param>-cb</param> <i>base</i>\tset the code base for glyph codes (<b>oct</b>, <b>dec</b>, <b>hex</b>)\n"
87 "</help>";
88
89 static gchar *fgrid_text = "<help>"
90 "<center><b>Font Grid</b></center>\n"
91 "\n"
92 "The main window of each font editor is called the "
93 "Font Grid. All of the Font Grids have a special "
94 "clipboard used for passing glyphs around. This "
95 "clipboard is called <b>FONTGRID_CLIPBOARD</b>.\n"
96 "\n"
97 "At the top of each editor window there are some "
98 "fields and buttons. These are:\n"
99 "\n"
100 "<margin>The <b>Font</b> text field is where the font name "
101 "is set so it can be edited.</margin>\n"
102 "\n"
103 "<margin>The <b>Glyph</b> field is a label that provides "
104 "some information about glyph name, encoding, and "
105 "metrics when a glyph is selected. When a range "
106 "of glyphs are selected, this field displays the "
107 "start and end codes of the range.</margin>\n"
108 "\n"
109 "<margin>The push buttons are used to navigate through the "
110 "glyph pages. The <b>Previous Page</b> and <b>Next Page</b> "
111 "buttons normally skip glyph pages that are empty, "
112 "but that can be changed using the <b>Setup</b> dialog.</margin>\n"
113 "\n"
114 "<margin>The <b>Page</b> field indicates the current glyph page "
115 "and also allows a specific page number to be entered. "
116 "Once a page number is entered, pressing the Return "
117 "key will cause the Font Grid to shift to that page. "
118 "The page number entered is expected to be a decimal "
119 "number.</margin>\n"
120 "\n"
121 "<margin>The <b>Code</b> field is provided for situations where "
122 "the page number is not known, but the encoding is "
123 "known. The encoding entered in this field must be "
124 "in the base (8, 10, or 16) that is currently being "
125 "used to display glyph encodings (see the \"View\" "
126 "menu below). Once the encoding is entered, pressing "
127 "the Return key will cause the Font Grid to shift to "
128 "the page containing the encoding.</margin>\n"
129 "\n"
130 "When a glyph has been modified either by the user or "
131 "by automatic metrics corrections when the font is loaded, "
132 "the glyph code above the glyph cell will be highlighted.\n"
133 "\n"
134 "<bul>Font Grid Menus</bul>\n"
135 "\n"
136 "<b>File</b>\n"
137 "<margin1>New &lt;Ctrl+N&gt;</margin1> "
138 "<margin2>This creates a new font and asks for the point "
139 "size, resolution, and font spacing first.</margin2>\n"
140 "\n"
141 "<margin1>Open &lt;Ctrl+O&gt;</margin1> "
142 "<margin2>This opens a new font in the current Font Grid.</margin2>\n"
143 "\n"
144 "<margin1>Save &lt;Ctrl+S&gt;</margin1> "
145 "<margin2>Save the current font.</margin2>\n"
146 "\n"
147 "<margin1>Save As &lt;Ctrl+W&gt;</margin1> "
148 "<margin2>Save the current font with some other name.</margin2>\n"
149 "\n"
150 "<margin1.5>Import</margin1.5>\n"
151 "\n"
152 "<margin2>PK/GF Font &lt;Ctrl+K&gt;</margin2> "
153 "<margin3>Import a Metafont PK or GF font.</margin3>\n"
154 "\n"
155 "<margin2>Console Font &lt;Ctrl+L&gt;</margin2> "
156 "<margin3>Import a Linux or Sun console (binary) font. "
157 "If the font is a CP (Linux codepage) font, this "
158 "will load all three point sizes of the font, "
159 "display the 16pt font and create editors for the "
160 "14pt and 8pt fonts. If the font is a PSF1 or PSF2 "
161 "font, the embedded mapping table is loaded as well.</margin3>\n"
162 "\n"
163 "<margin2>HBF Font &lt;Ctrl+H&gt;</margin2> "
164 "<margin3>Import an HBF font. Only available if "
165 "gbdfed was compiled with HBF support.</margin3>\n"
166 "\n"
167 "<margin2>Windows Font &lt;Ctrl+B&gt;</margin2> "
168 "<margin3>Import a Windows FON/FNT font. This will also "
169 "import fonts from .EXE and .DLL files.</margin3>\n"
170 "\n"
171 "<margin2>OpenType Font &lt;Ctrl+Y&gt;</margin2> "
172 "<margin3>Import an OpenType (.otf), TrueType font (.ttf) or "
173 "TrueType collection (.ttc).</margin3>\n"
174 "\n"
175 "<margin2>Server Font &lt;Ctrl+G&gt;</margin2> "
176 "<margin3>This will import a font from the X server.</margin3>\n"
177 "\n"
178 "<margin1.5>Export</margin1.5>\n"
179 "\n"
180 "<margin2>PSF &lt;Ctrl+F&gt;</margin2> "
181 "<margin3>This will export the current BDF font or the current selection "
182 "of glyphs to a PSF2 font.</margin3>\n"
183 "\n"
184 "<margin3>During the export, an option menu will let you select whether you "
185 "want to:</margin3>\n"
186 "\n"
187 "<margin3>A. Export the font with its Unicode mappings.</margin3> "
188 " "
189 "<margin3>B. Export just the glyphs.</margin3>\n"
190 "\n"
191 "<margin3>C. Export just the Unicode mappings in the simple "
192 "ASCII form used by the psfaddtable(1) program.</margin3>\n"
193 "\n"
194 "<margin3>Only the first 512 glyphs will be exported from "
195 "the font.</margin3>\n"
196 "\n"
197 "<margin2>HEX</margin2> "
198 "<margin3>This will export the current BDF font into the "
199 "HEX format (See the <b>HEX Font Notes</b> entry).</margin3>\n"
200 "\n"
201 "<margin1>Exit/Close &lt;Ctrl+F4&gt;</margin1> "
202 "<margin2>Exit the program if this is the primary Font "
203 "Grid or simply hide the current Font Grid window.</margin2>\n"
204 "\n"
205 "<margin2>The key binding for this can be changed in the "
206 "configuration file. See the <b>Configuration File</b> "
207 "help section.</margin2>\n"
208 "\n"
209 "<b>Edit</b>\n"
210 "<margin1>Copy &lt;Ctrl+C&gt;</margin1> "
211 "<margin2>This copies the current selection to the Font "
212 "Grid clipboard.</margin2>\n"
213 "\n"
214 "<margin1>Cut &lt;Ctrl+X&gt;</margin1> "
215 "<margin2>This copies the current selection to the Font Grid "
216 "clipboard and then deletes the selection.</margin2>\n"
217 "\n"
218 "<margin1>Paste &lt;Ctrl+V&gt;</margin1> "
219 "<margin2>This replaces the glyphs starting at the currently "
220 "selected position with the Font Grid clipboard.</margin2>\n"
221 "\n"
222 "<margin1>Overlay &lt;Ctrl+Shift+V&gt;</margin1> "
223 "<margin2>This merges the Font Grid clipboard with the glyphs "
224 "starting at the currently selected position. "
225 "The names of the modified glyphs are not changed.</margin2>\n"
226 "\n"
227 "<margin1>Insert &lt;Ctrl+Meta+V&gt;</margin1> "
228 "<margin2>This inserts the Font Grid cliboard in front of the "
229 "currently selected position.</margin2>\n"
230 "\n"
231 "<margin1>Properties &lt;Ctrl+P&gt;</margin1> "
232 "<margin2>This invokes the font property editor.</margin2>\n"
233 "\n"
234 "<margin1>Comments &lt;Ctrl+M&gt;</margin1> "
235 "<margin2>This invokes the font comments editor.</margin2>\n"
236 "\n"
237 "<margin1>Font Info &lt;Ctrl+I&gt;</margin1> "
238 "<margin2>This invokes a dialog that allows changes "
239 "to some of the font information so these "
240 "values do not have to be changed using the "
241 "property editor. These values include the "
242 "default character, font device width (for "
243 "monowidth and character cell fonts), font "
244 "ascent and descent, font vertical and "
245 "horizontal resolution, and the font spacing.</margin2>\n"
246 "\n"
247 "<margin1.5>Font Name</margin1.5>\n"
248 "\n"
249 "<margin2>Make XLFD Name</margin2> "
250 "<margin3>If the font does not have an XLFD name, this "
251 "will save the current font name in the "
252 "<b>_ORIGINAL_FONT_NAME</b> font property and then "
253 "generate an XLFD name for the font.</margin3>\n"
254 "\n"
255 "<margin2>Update Name From Properties</margin2> "
256 "<margin3>This will update the XLFD font name fields from"
257 "the font property list.</margin3>\n"
258 "\n"
259 "<margin2>Update Properties From Name</margin2> "
260 "<margin3>This will update the font properties from the "
261 "XLFD font name.</margin3>\n"
262 "\n"
263 "<margin2>Update Average Width</margin2> "
264 "<margin3>This will update the average width field of the "
265 "XLFD font name and will update the "
266 "<b>AVERAGE_WIDTH</b> font property as a side effect.</margin3>\n"
267 "\n"
268 "<margin1.5>Rename Glyphs</margin1.5>\n"
269 "<margin2>Unicode Names</margin2> "
270 "<margin3>This option will rename all the glyphs using names "
271 "from a Unicode Character Database file set in the "
272 "config file or from the <b>Setup-&gt;Other Options</b> "
273 "dialog.</margin3>\n"
274 "\n"
275 "<margin2>Unicode Values</margin2> "
276 "<margin3>This option will rename all the glyphs with 16-bit "
277 "hexadecimal values prefixed with <b>0x</b>, <b>U+</b>, or <b>\\u</b>.</margin3>\n"
278 "\n"
279 "<margin1>Test Glyphs &lt;Ctrl+Z&gt;</margin1> "
280 "<margin2>This will toggle the glyph test dialog on or off for "
281 "the editor. When this is active, clicking on a glyph "
282 "in any Font Grid will also add it to the glyph test "
283 "dialog. When changes are made to a glyph or the font "
284 "bounding box, the glyph test dialog will be updated "
285 "accordingly.</margin2>\n"
286 "\n"
287 "<margin2>The glyph test dialog provides a toggle to turn the "
288 "baseline on or off and another toggle to draw from right "
289 "to left instead of left to right.</margin2>\n"
290 "\n"
291 "<margin1>Preferences &lt;Ctrl+T&gt;</margin1> "
292 "<margin2>This will invoke the dialog to edit various preferences"
293 "used by the editor and when loading/creating fonts.</margin2>\n"
294 "\n"
295 "<b>View</b>\n"
296 "<margin1>Unencoded &lt;Ctrl+E&gt;</margin1> "
297 "<margin2>If the font has unencoded glyphs (<b>ENCODING</b> "
298 "field is -1), this will toggle between "
299 "displaying the unencoded and encoded glyphs.</margin2>\n"
300 "\n"
301 "<margin1.5>Code Base</margin1.5>\n"
302 "<margin2>Octal</margin2> "
303 "<margin3>This option will display glyph encodings in "
304 "octal (base 8).</margin3>\n"
305 "\n"
306 "<margin2>Decimal</margin2> "
307 "<margin3>This option will display glyph encodings in "
308 "decimal (base 10).</margin3>\n"
309 "\n"
310 "<margin2>Hexadecimal</margin2> "
311 "<margin3>This option will display glyph encodings in "
312 "hexadecimal (base 16).</margin3>\n"
313 "\n"
314 "<margin1>Other Page &lt;Ctrl+Shift+S&gt;</margin1> "
315 "<margin2>This will toggle between the current glyph page "
316 "and the last page that was viewed.</margin2>\n"
317 "\n"
318 "<margin1>Vertical/Horizontal View &lt;Ctrl+Q&gt;</margin1> "
319 "<margin2>This will toggle the FontGrid between showing the "
320 "glyphs horizontally (default) or vertically.</margin2>\n"
321 "\n"
322 "<margin1>Messages &lt;Ctrl+A&gt;</margin1> "
323 "<margin2>This will show messages generated when corrections "
324 "to the font metrics are done or when errors are "
325 "encountered.</margin2>\n"
326 "\n"
327 "<b>Operations</b>\n"
328 "<margin1>Translate &lt;Ctrl+D&gt;</margin1> "
329 "<margin2>This will bring up the dialog for entering the X "
330 "offset and Y offset used to translate the glyph to "
331 "a new location.</margin2>\n"
332 "\n"
333 "<margin2>The option of translating the selected glyphs or all "
334 "of the glyphs is provided.</margin2>\n"
335 "\n"
336 "<margin1>Rotate &lt;Ctrl+R&gt;</margin1> "
337 "<margin2>This will bring up the dialog for entering the "
338 "rotation angle. The rotation is limited to between "
339 "± 1° and 359°.</margin2>\n"
340 "\n"
341 "<margin2>The option of rotating the selected glyphs or all "
342 "of the glyphs is provided.</margin2>\n"
343 "\n"
344 "<margin1>Shear &lt;Ctrl+J&gt;</margin1> "
345 "<margin2>This will bring up the dialog for entering the "
346 "angle of the shear. The shear is limited to between "
347 "± 1° and 45°.</margin2>\n"
348 "\n"
349 "<margin2>The option of rotating the selected glyphs or all "
350 "of the glyphs is provided.</margin2>\n"
351 "\n"
352 "<margin1>Embolden &lt;Ctrl+Shift+B&gt;</margin1> "
353 "<margin2>This will bring up the dialog for choosing whether "
354 "to embolden the selected glyphs or to embolden all "
355 "glyphs.</margin2>\n"
356 "\n"
357 "<margin2>To <bi>embolden</bi> means to make bold.</margin2> "
358 "\n\n"
359 "<b>Windows</b> "
360 "\n"
361 "<margin1>[editor list]</margin1> "
362 "<margin2>The remaining menu items are all the Font "
363 "Grids that have been created. Choosing one "
364 "will force that window to be made visible and "
365 "moved to the top.</margin2>\n"
366 "\n"
367 "<bul>Font Grid Translations</bul>\n"
368 "<margin>0..9</margin> "
369 "<margin1>Typing digits will accumulate a count which is "
370 "applied to movement done with the arrow and page keys.</margin1>\n"
371 "\n"
372 "<margin>Left</margin> "
373 "<margin1>This will move the single cell selection left.</margin1>\n"
374 "<margin1>If a decimal number is typed before this, this "
375 "operation will be done that number of times.</margin1>\n"
376 "\n"
377 "<margin>Right</margin> "
378 "<margin1>This will move the single cell selection right.</margin1>\n"
379 "<margin1>If a decimal number is typed before this, this "
380 "operation will be done that number of times.</margin1>\n"
381 "\n"
382 "<margin>Up</margin> "
383 "<margin1>This will move the single cell selection up.</margin1>\n"
384 "<margin1>If a decimal number is typed before this, this "
385 "operation will be done that number of times.</margin1>\n"
386 "\n"
387 "<margin>Down</margin> "
388 "<margin1>This will move the single cell selection down.</margin1>\n"
389 "<margin1>If a decimal number is typed before this, this "
390 "operation will be done that number of times.</margin1>\n"
391 "\n"
392 "<margin>Shift+Left</margin> "
393 "<margin1>This will extend the selection to the left.</margin1>\n"
394 "<margin1>If a decimal number is typed before this, this "
395 "operation will be done that number of times.</margin1>\n"
396 "\n"
397 "<margin>Shift+Right</margin> "
398 "<margin1>This will extend the selection to the right.</margin1>\n"
399 "<margin1>If a decimal number is typed before this, this "
400 "operation will be done that number of times.</margin1>\n"
401 "\n"
402 "<margin>Shift+Up</margin> "
403 "<margin1>This will extend the selection up a row or column, "
404 "depending on the display orientation, horizontal or "
405 "vertical.</margin1>\n"
406 "<margin1>If a decimal number is typed before this, this "
407 "operation will be done that number of times.</margin1>\n"
408 "\n"
409 "<margin>Shift+Down</margin> "
410 "<margin1>This will extend the selection down a row or column, "
411 "depending on the display orientation, horizontal or "
412 "vertical.</margin1>\n"
413 "<margin1>If a decimal number is typed before this, this "
414 "operation will be done that number of times.</margin1>\n"
415 "\n"
416 "<margin>PageUp</margin> "
417 "<margin1>This will switch to the next page of glyphs.</margin1>\n"
418 "<margin1>If a decimal number is typed before this, this "
419 "operation will be done that number of times.</margin1>\n"
420 "\n"
421 "<margin>PageDown</margin> "
422 "<margin1>This will switch to the previous page of glyphs.</margin1>\n"
423 "<margin1>If a decimal number is typed before this, this "
424 "operation will be done that number of times.</margin1>\n"
425 "\n"
426 "<margin>Home</margin> "
427 "<margin1>This will switch to the first page of glyphs.</margin1>\n"
428 "<margin1>If a decimal number is typed before this, this "
429 "operation will be done that number of times.</margin1>\n"
430 "\n"
431 "<margin>End</margin> "
432 "<margin1>This will switch to the last page of glyphs.</margin1>\n"
433 "<margin1>If a decimal number is typed before this, this "
434 "operation will be done that number of times.</margin1>\n"
435 "\n"
436 "<margin>Shift+PageUp</margin> "
437 "<margin1>This will extend the selection to the next page.</margin1>\n"
438 "<margin1>If a decimal number is typed before this, this "
439 "operation will be done that number of times.</margin1>\n"
440 "\n"
441 "<margin>Shift+PageDown</margin> "
442 "<margin1>This will extend the selection to the previous page.</margin1>\n"
443 "<margin1>If a decimal number is typed before this, this "
444 "operation will be done that number of times.</margin1>\n"
445 "\n"
446 "<margin>Shift+Home</margin> "
447 "<margin1>This will extend the selection to the first page that "
448 "has glyphs.</margin1>\n"
449 "<margin1>If a decimal number is typed before this, this "
450 "operation will be done that number of times.</margin1>\n"
451 "\n"
452 "<margin>Shift+End</margin> "
453 "<margin1>This will extend the selection to the last page that "
454 "has glyphs.</margin1>\n"
455 "<margin1>If a decimal number is typed before this, this "
456 "operation will be done that number of times.</margin1>\n"
457 "\n"
458 "<margin>Button1Down</margin> "
459 "<margin1>This will start selecting glyphs. If Button1 is "
460 "double-clicked, it will edit the current glyph.</margin1>\n"
461 "\n"
462 "<margin>Button1Motion</margin> "
463 "<margin1>This will extend the selected glyphs.</margin1>\n"
464 "\n"
465 "<margin>Button1Up</margin> "
466 "<margin1>This will end glyph selection.</margin1>\n"
467 "\n"
468 "<margin>Shift+Button1Down</margin> "
469 "<margin1>This will adjust the glyphs already selected by "
470 "adding or removing glyphs from the selection.</margin1>\n"
471 "\n"
472 "<margin>Button2Down</margin> "
473 "<margin1>This will paste the glyphs on the Font Grid "
474 "clipboard at the glyph position under the mouse. "
475 "If the paste is done in the unencoded glyph area, "
476 "the glyphs will simply be appended to the end. "
477 "The unencoded glyph area is simply a container "
478 "for unused glyphs.</margin1>\n"
479 "\n"
480 "<margin>Shift+Button2Down</margin> "
481 "<margin1>This will insert the glyphs on the Font Grid "
482 "clipboard in front of the glyphs starting at the "
483 "position under the mouse. Any glyphs moved past "
484 "the 0xffff encoding will be moved to the unencoded "
485 "area so they are not lost. This action will always "
486 "insert, no matter what mode the font grid is in.</margin1>\n"
487 "\n"
488 "<margin>Ctrl+Button2Down</margin> "
489 "<margin1>This will merge (overlay) the glyphs being pasted with "
490 "the glyphs that are in the range of the glyphs being pasted. "
491 "If a merge is done in the unencoded glyph area, the glyphs "
492 "will simply be appended and not merged (overlayed).</margin1>\n"
493 "\n"
494 "<margin>Button3Down</margin> "
495 "<margin1>This will copy the selected glyphs to the Font "
496 "Grid clipboard.</margin1>\n"
497 "\n"
498 "<margin>Return</margin> "
499 "<margin1>This will invoke a Glypheditor for the current glyph.</margin1>\n"
500 "\n"
501 "<margin>Ctrl+Return</margin> "
502 "<margin1>This will cause the end selection callback to be called. "
503 "The effect in the gbdfed program is to send the glyph "
504 "to the glyph test dialog if it is open.</margin1>\n"
505 "\n"
506 "<margin>Copy</margin> "
507 "<margin1>This will copy the selected glyphs to the Font "
508 "Grid clipboard.</margin1>\n"
509 "\n"
510 "<margin>Cut</margin> "
511 "<margin1>This will copy the selected glyphs to the Font "
512 "Grid clipboard and then delete the glyphs.</margin1>\n"
513 "\n"
514 "<margin>Paste</margin> "
515 "<margin1>This will paste the glyphs on the Font Grid "
516 "clipboard at the currently selected glyph "
517 "position.</margin1>\n"
518 "\n"
519 "<margin>Delete</margin> "
520 "<margin1>This will copy the selected glyphs to the Font "
521 "Grid clipboard and then delete the glyphs.</margin1>\n"
522 "\n"
523 "<margin>BackSpace</margin> "
524 "<margin1>This will copy the selected glyphs to the Font "
525 "Grid clipboard and then delete the glyphs.</margin1>\n"
526 "\n"
527 "<margin>Double clicking with Button1 will invoke the Glyph "
528 "Editor for the current glyph.</margin>\n"
529 "\n"
530 "<b>Other Font Grid Features</b>\n"
531 "<margin>The font name can be edited in the Font Grid and "
532 "page switching can be done with the buttons on the "
533 "Font Grid.</margin>\n"
534 "</help>";
535
536 static gchar *gedit_text = "<help>"
537 "The Glyph Editor provides a simple bitmap editor "
538 "designed to edit glyph bitmaps and other glyph "
539 "information. The Glyph Editors all use a special "
540 "clipboard used to pass bitmaps between the Glyph "
541 "Editors. This clipboard is called "
542 "<b>GLYPHEDIT_CLIPBOARD.</b>\n"
543 "\n"
544 "The only limit on the number of Glyph Editors that "
545 "can be open at one time is the amount of memory.\n"
546 "\n"
547 "<bul>Glyph Editor Menus</bul>\n"
548 "\n"
549 "<b>File</b>\n"
550 "<margin1>Update &lt;Ctrl+S&gt;</margin1> "
551 "<margin2>This will update the Font Grid with the "
552 "modified glyph.</margin2>\n"
553 "<margin1>To the right of the Glyph Name field is a "
554 "button that will do this.</margin1>\n"
555 "\n"
556 "<margin1>Update and Next &lt;Ctrl+U&gt;</margin1> "
557 "<margin2>This will update the FontGrid with the "
558 "modified glyph and move to the next glyph.</margin2>\n"
559 "\n"
560 "<margin1>Update and Previous &lt;Ctrl+B&gt;</margin1> "
561 "<margin2>This will update the FontGrid with the "
562 "modified glyph and move to the previous glyph.</margin2>\n"
563 "\n"
564 "<margin1>Close &lt;Ctrl+F4&gt;</margin1> "
565 "<margin2>This will close the Glyph Editor.</margin2>\n"
566 "\n"
567 "<b>Edit</b>\n"
568 "<margin1>Reload &lt;Ctrl+L&gt;</margin1> "
569 "<margin2>This will reload the glyph and discard any "
570 "changes in the glyph.</margin2>\n"
571 "\n"
572 "<margin1>Copy &lt;Ctrl+C&gt;</margin1> "
573 "<margin2>This will copy the currently selected portion "
574 "of the bitmap to the Glyph Editor clipboard.</margin2>\n"
575 "\n"
576 "<margin1>Cut &lt;Ctrl+X&gt;</margin1> "
577 "<margin2>This will copy the currently selected portion "
578 "of the bitmap to the Glyph Editor clipboard "
579 "and then delete the selection.</margin2>\n"
580 "\n"
581 "<margin1>Paste &lt;Ctrl+V&gt;</margin1> "
582 "<margin2>This will paste the Glyph Editor clipboard "
583 "into the current Glyph Editor with the "
584 "top-left coordinate of the bitmap on the "
585 "clipboard pasted at the location of the mouse. "
586 "If the bitmap is too big to fit if it is "
587 "pasted at the mouse location, the bitmap will "
588 "be shifted until it fits completely in the "
589 "Glyph Editor.</margin2>\n"
590 "\n"
591 "<margin1>Select All &lt;Ctrl+A&gt;</margin1> "
592 "<margin2>This will select the whole glyph bitmap.</margin2>\n"
593 "\n"
594 "<margin1>Next Glyph &lt;Ctrl+N&gt;</margin1> "
595 "<margin2>This will move the Glyph Editor to the next "
596 "glyph position in the Font Grid. If the "
597 "current glyph has been modified, a save prompt "
598 "will appear before moving to the next glyph.</margin2>\n"
599 "<margin1>To the right of the Glyph Name field is a "
600 "button that will do this.</margin1>\n"
601 "\n"
602 "<margin1>Previous Glyph &lt;Ctrl+P&gt;</margin1> "
603 "<margin2>This will move the Glyph Editor to the previous "
604 "glyph position in the Font Grid. If the "
605 "current glyph has been modified, a save prompt "
606 "will appear before moving to the previous glyph.</margin2>\n"
607 "<margin1>To the right of the Glyph Name field is a "
608 "button that will do this.</margin1>\n"
609 "\n"
610 "<margin2>If you do not close this editor, it will be updated "
611 "with Unicode mappings if you move to the next or "
612 "previous glyph.</margin2>\n"
613 "\n"
614 "<b>Operation</b>\n"
615 "<margin1>Draw &lt;Ctrl+D&gt;</margin1> "
616 "<margin2>Change the Glyph Editor into Draw mode.</margin2>\n"
617 "\n"
618 "<margin1>Move &lt;Ctrl+M&gt;</margin1> "
619 "<margin2>Change the Glyph Editor into Move mode. Move "
620 "mode allows selecting a portion of the glyph "
621 "bitmap and moving it to another location.</margin2>\n"
622 "\n"
623 "<margin1>Copy &lt;Ctrl+Y&gt;</margin1> "
624 "<margin2>Change the Glyph Editor into Copy mode. Copy "
625 "mode allows copying a portion of the glyph "
626 "bitmap and moving it to another location.</margin2>\n"
627 "\n"
628 "<margin1>Rotate &lt;Ctrl+T&gt;</margin1> "
629 "<margin2>This will invoke the rotation dialog that "
630 "allows the degrees of rotation to be specified. "
631 "Rotation can be between 1 and 359 degrees.</margin2>\n"
632 "\n"
633 "<margin1>Shear &lt;Ctrl+E&gt;</margin1> "
634 "<margin2>This will invoke the shear dialog that allows "
635 "the degrees of horizontal shear to be specified. "
636 "Other names for shearing are obliquing or slanting. "
637 "Shearing is allowed between 1 and 45 degrees.</margin2>\n"
638 "\n"
639 "<margin1>Embolden &lt;Ctrl+H&gt;</margin1> "
640 "<margin2>This will embolden the current glyph in a simple "
641 "way within the width of the glyph.</margin2>\n"
642 "\n"
643 "<margin1>Resize BBX &lt;Ctrl+R&gt;</margin1> "
644 "<margin2>This will allow changing the sizes of the "
645 "glyph bounding box including the left/right "
646 "bearings and the glyph ascent/descent. If "
647 "this change causes the glyph bounding box to "
648 "be larger than the font bounding box, the "
649 "font bounding box will be resized when the "
650 "glyph is saved next.</margin2>\n"
651 "\n"
652 "<margin1>Edit PSF Unicode Mappings &lt;Ctrl+F&gt;</margin1> "
653 "<margin2>This will show a list of Unicode mappings "
654 "associated with the glyph. The list can be edited "
655 "and once the Apply button has been pressed, the "
656 "the changes will be applied to the glyph in the "
657 "font proper.</margin2>\n"
658 "\n"
659 "<bul>Glyph Editor Translations</bul>\n"
660 "\n"
661 "<margin>ButtonDown</margin> "
662 "<margin1>Depending on the operation of the Glyph Editor, this "
663 "will start drawing, start selecting for a Move "
664 "or start selecting for a Copy. When in Draw "
665 "mode, Button1 will set pixels, Button2 will "
666 "invert pixels, and Button3 will clear pixels.</margin1>\n"
667 "\n"
668 "<margin1>When in Move or Copy mode and a selection "
669 "exists, pressing Button1 within the selection "
670 "will \"grab\" the selection so it can be Moved or "
671 "Copied. Pressing Button3 after a selection has "
672 "been made will copy the selection to the Glyph Editor "
673 "clipboard.</margin1>\n"
674 "\n"
675 "<margin>Shift+Button2Down</margin> "
676 "<margin1>This will paste the contents of the Glyph Editor "
677 "clipboard into the Glypheditor at the location "
678 "of the mouse.</margin1>\n"
679 "\n"
680 "<margin>Motion</margin> "
681 "<margin1>This will continue the operation started with "
682 "<b>ButtonDown</b> as well as report the current mouse "
683 "coordinates in Cartesian form relative to the "
684 "bounding box for the glyph.</margin1>\n"
685 "\n"
686 "<margin>ButtonUp</margin> "
687 "<margin1>This will end the operation started with "
688 "<b>ButtonDown</b>.</margin1>\n"
689 "\n"
690 "<margin>Copy</margin> "
691 "<margin1>This will copy the selected bitmap to the Glyph "
692 "Editor clipboard.</margin1>\n"
693 "\n"
694 "<margin>Cut</margin> "
695 "<margin1>This will copy the selected bitmap to the Glyph "
696 "Editor clipboard and then delete it.</margin1>\n"
697 "\n"
698 "<margin>Paste</margin> "
699 "<margin1>This will paste the Glyph Editor clipboard at "
700 "the mouse position.</margin1>\n"
701 "\n"
702 "<margin>Right</margin> "
703 "<margin1>This will shift the glyph bitmap toward (but not "
704 "past) the right edge of the bitmap grid.</margin1>\n"
705 "\n"
706 "<margin>Left</margin> "
707 "<margin1>This will shift the glyph bitmap toward (but not "
708 "past) the left edge of the bitmap grid.</margin1>\n"
709 "\n"
710 "<margin>Up</margin> "
711 "<margin1>This will shift the glyph bitmap toward (but not "
712 "past) the top edge of the bitmap grid.</margin1>\n"
713 "\n"
714 "<margin>Down</margin> "
715 "<margin1>This will shift the glyph bitmap toward (but not "
716 "past) the bottom edge of the bitmap grid.</margin1>\n"
717 "\n"
718 "<margin>9</margin> "
719 "<margin1>This will rotate the glyph bitmap 90° "
720 "counter-clockwise.</margin1>\n"
721 "\n"
722 "<margin>0</margin> "
723 "<margin1>This will rotate the glyph bitmap 90° "
724 "clockwise.</margin1>\n"
725 "\n"
726 "<margin>-</margin> "
727 "<margin1>This will flip the glyph bitmap around the "
728 "vertical axis (horizontal flip).</margin1>\n"
729 "\n"
730 "<margin>=</margin> "
731 "<margin1>This will flip the glyph bitmap around the "
732 "horizontal axis (vertical flip).</margin1>\n"
733 "\n"
734 "<margin>comma, Z, or z</margin> "
735 "<margin1>This will select the previous color or "
736 "cycle back to the last color.</margin1>\n"
737 "\n"
738 "<margin>period, X, or x</margin> "
739 "<margin1>This will select the next color or cycle "
740 "to the first color.</margin1>\n"
741 "\n"
742 "<bul>Other Metrics Features</bul>\n"
743 "\n"
744 "If the font defines the X height and the Cap height, "
745 "these can be displayed in the Glypheditors by turning "
746 "them on or off individually from the "
747 "<b>Preferences-&gt;Editing Options</b> tab. The size of the "
748 "pixel used in the Glypheditor can also be set here. These "
749 "values affect all Glypheditors.\n"
750 "\n"
751 "<bul>Other Glyph Editor Features</bul>\n"
752 "\n"
753 "In addition to editing the glyph bitmap, the glyph "
754 "editor also allows editing of the glyph name and "
755 "setting its device width (BDF <b>DWIDTH</b> field). To "
756 "get more aesthetic spacing between glyphs, this "
757 "value can be set explicitly. The glyph name "
758 "should be a maximum of 14 characters.\n"
759 "\n"
760 "The Glypheditor also provides a simple toolbox "
761 "that has buttons to switch between operations and to "
762 "perform various bitmap manipulations.\n"
763 "\n"
764 "Pressing one of the shift buttons in the toolbox "
765 "will repeat the shift operation if the mouse button "
766 "is held down longer than 100 milliseconds. This is "
767 "not configurable at the moment.\n"
768 "\n"
769 "If the font uses 2, 4, or 8 bits per pixel, a strip "
770 "of colors will be presented down the left side of "
771 "the toolbox. These colors can be selected with the "
772 "mouse or can be chosen using the keys mentioned "
773 "above in the Glypheditor translations. At the moment "
774 "the Glypheditor must have the focus for the keys to "
775 "work.</help>";
776
777 static gchar *conf_text = "<help>"
778 "gbdfed can be configured using an external\n"
779 "file. This file is always assumed to be in the\n"
780 "home directory and is called <b>.gbdfedrc</b>.\n"
781 "\n"
782 "This file sets default values which can be changed\n"
783 "and saved from the editor. The default values\n"
784 "apply to either the editor itself or the font\n"
785 "management system.\n"
786 "\n"
787 "For the configuration options, the following types\n"
788 "are used:\n"
789 "\n"
790 "<margin>&lt;boolean&gt;</margin>\n"
791 "<margin1>A &lt;boolean&gt; value can be \"0\", \"false\", \"no\", "
792 "\"1\", \"true\", or \"yes\". Boolean values are "
793 "case insensitive.</margin1>\n"
794 "\n"
795 "<margin>&lt;labelstring&gt;</margin>\n"
796 "<margin1>A &lt;labelstring&gt; value is a string used as a label "
797 "for some of the options.</margin1>\n"
798 "\n"
799 "<margin>&lt;atom&gt;</margin>\n"
800 "<margin1>An &lt;atom&gt; is basically a string.</margin1>\n"
801 "\n"
802 "<margin>&lt;cardinal&gt;</margin>\n"
803 "<margin1>A &lt;cardinal&gt; value is an unsigned 32-bit "
804 "integer value.</margin1>\n"
805 "\n"
806 "<margin>&lt;integer&gt;</margin>\n"
807 "<margin1>An &lt;integer&gt; is a signed 32-bit integer "
808 "value.</margin1>\n"
809 "\n"
810 "<margin>&lt;property-name&gt;</margin>\n"
811 "<margin1>A &lt;property-name&gt; is any name that conforms to "
812 "the XLFD definition of a user-defined "
813 "property. Basically, the property name must "
814 "start with the underscore character (_). "
815 "These names are conventionally in upper case "
816 "with the underscore character used to provide "
817 "\"spaces\" between parts of the name.</margin1>\n"
818 "\n"
819 "<margin>&lt;property-type&gt;</margin>\n"
820 "<margin1>A &lt;property-type&gt; can be one of \"atom\", "
821 "\"cardinal\", or \"integer\" (see above).</margin1>\n"
822 "\n"
823 "<margin>&lt;font-spacing&gt;</margin>\n"
824 "<margin1>A &lt;font-spacing&gt; value can be one of "
825 "\"proportional\", \"monowidth\", or "
826 "\"charactercell\".</margin1>\n"
827 "\n"
828 "<margin1>If an unknown &lt;font-spacing&gt; value is "
829 "encountered, the default value is "
830 "\"proportional\".</margin1>\n"
831 "\n"
832 "<margin>&lt;codebase&gt;</margin>\n"
833 "<margin1>A &lt;codebase&gt; value can be one of \"octal\", "
834 "\"decimal\", or \"hexadecimal\". It can also "
835 "be shortened to just the first letter. Any "
836 "unknown &lt;codebase&gt; values are assumed to be "
837 "\"hexadecimal\".</margin1>\n"
838 "\n"
839 "<margin>&lt;translation&gt;</margin>\n"
840 "<margin1>A &lt;translation&gt; is a valid GUI toolkit translation "
841 "string.</margin1>\n"
842 "\n"
843 "<margin>&lt;filename&gt;</margin>\n"
844 "<margin1>A &lt;filename&gt; is the name of a file including or "
845 "excluding a partial or full path to the file.</margin1>\n"
846 "\n"
847 "<margin>&lt;eolname&gt;</margin>\n"
848 "<margin1>An &lt;eolname&gt; value can be one of \"unix\" (^J), "
849 "\"dos\" (^M^J), or \"mac\" (^M). This value is "
850 "used when saving BDF fonts.</margin1>\n"
851 "\n"
852 "<bul>gbdfed Configuration File Options</bul>\n"
853 "\n"
854 "<margin>code_base &lt;codebase&gt; [default: \"hex\"]</margin>\n"
855 "\n"
856 "<margin1>By default, set the code base used to display the "
857 "glyph encodings to base 16, or hex. This option can "
858 "be set to \"oct\", \"dec\", or \"hex\".</margin1>\n"
859 "\n"
860 "<margin>skip_blank_pages &lt;boolean&gt; [default: \"true\"]</margin>\n"
861 "\n"
862 "<margin1>By default, the editor will skip font pages "
863 "that do not have any glyphs when the \"Next "
864 "Page\" and \"Previous Page\" buttons are used.</margin1>\n"
865 "\n"
866 "<margin1>If this option is set to \"false\", the \"Next "
867 "Page\" and \"Previous Page\" buttons will simply "
868 "move to the next or previous page, even if "
869 "they do not have glyphs on them.</margin1>\n"
870 "\n"
871 "<margin1>This feature is only available in the configuration "
872 "file and on the command line.</margin1>\n"
873 "\n"
874 "<margin>really_exit &lt;boolean&gt; [default: \"true\"]</margin>\n"
875 "\n"
876 "<margin1>By default, the editor will always present the "
877 "\"Really Exit?\" dialog when exiting. If this "
878 "option is set to \"false\", then the dialog "
879 "not be presented when exiting.</margin1>\n"
880 "\n"
881 "<margin1>This feature is only available in the configuration "
882 "file and on the command line.</margin1>\n"
883 "\n"
884 "<margin>grid_overwrite_mode &lt;boolean&gt; [default: \"true\"]</margin>\n"
885 "\n"
886 "<margin1>By default, pasting glyphs into a Font Grid will "
887 "overwrite glyphs that are in the same range as the "
888 "glyphs being pasted. If this option is set to "
889 "\"false\", pasting glyphs into a Font Grid will "
890 "move glyphs to make room for the glyphs being pasted. "
891 "Any glyphs moved that have an encoding larger than "
892 "65535 will be moved to the unencoded area.</margin1>\n"
893 "\n"
894 "<margin1>This feature is toggled using the <b>Preferences</b> dialog.</margin1> \n"
895 "\n"
896 "<margin>close_accelerator_text &lt;labelstring&gt; [default: \"Ctrl+F4\"]</margin>\n"
897 "\n"
898 "<margin1>The default close accelerator text shown on the "
899 "Close/Exit menu options of the FontGrids and "
900 "GlyphEditors is \"Ctrl+F4\". This option changes the "
901 "label string on those menu options. This option should "
902 "be used in conjunction with the next option.</margin1>\n"
903 "\n"
904 "<margin1>This feature is only available in the configuration "
905 "file.</margin1>\n"
906 "\n"
907 "<margin>close_accelerator &lt;translation&gt; [default: \"&lt;Control&gt;F4\"]</margin>\n"
908 "\n"
909 "<margin1>The default accelerator for the Close/Exit menu options "
910 "in the FontGrids and GlyphEditors can sometimes be "
911 "awkward for various reasons. This option allows that "
912 "accelerator to be changed. This option should be used "
913 "in conjunction with the previous option.</margin1>\n"
914 "\n"
915 "<margin1>This feature is only available in the configuration "
916 "file.</margin1>\n"
917 "\n"
918 "<margin>unicode_name_file &lt;filename&gt;</margin>\n"
919 "\n"
920 "<margin1>This specifies a file that contains entries in the UCDB "
921 "(Unicode Character Database) format. When glyphs are named "
922 "using Unicode names, this file provides the mapping between "
923 "the code and the name. This file is assumed to be sorted by "
924 "code.</margin1>\n"
925 "\n"
926 "<margin1>This feature is set using the \"Preferences-&gt;Editing Options\" "
927 "tab.</margin1>\n"
928 "\n"
929 "<margin>adobe_name_file &lt;filename&gt;</margin>\n"
930 "\n"
931 "<margin1>This specifies a file that contains entries in the Adobe "
932 "Glyph List format (see Adobe for details). When glyphs "
933 "are named using the Adobe names, this file provides the "
934 "mapping between the code and the name. This file is assumed "
935 "to be sorted by name and not by code.</margin1>\n"
936 "\n"
937 "<margin1>This feature is set using the <b>Preferences-&gt;Editing Options</b> "
938 "tab.</margin1>\n"
939 "\n"
940 "<margin>pixel_size &lt;integer&gt; [default: \"10\"]</margin>\n"
941 "\n"
942 "<margin1>The Glypheditors will use a square of size 10x10 to "
943 "represent a pixel in the glyph bitmap. If the glyph "
944 "bitmap causes the Glypheditor grid to be larger than "
945 "1/2 the display height, then this value will be reduced "
946 "until the bitmap fits within 1/2 the display size or "
947 "until a pixel size of 2 is reached.</margin1>\n"
948 "\n"
949 "<margin1>The Glypheditors will always attempt to use this default "
950 "value first before reducing the size, if reducing the size "
951 "is needed.</margin1>\n"
952 "\n"
953 "<margin1>This feature is set using the \"Preferences-&gt;Editing Options\" "
954 "tab.</margin1>\n"
955 "\n"
956 "<margin>show_cap_height &lt;boolean&gt; [default: \"false\"]</margin>\n"
957 "\n"
958 "<margin1>If the font has the <b>CAP_HEIGHT</b> property defined, "
959 "this flag will toggle the display of this height "
960 "in the Glypheditors.</margin1>\n"
961 "\n"
962 "<margin1>The <b>CAP_HEIGHT</b> is shown as a solid horizontal line "
963 "above the baseline in the same color as the baseline.</margin1>\n"
964 "\n"
965 "<margin1>This feature is toggled using the <b>Preferences-&gt;Editing Options</b> "
966 "tab.</margin1>\n"
967 "\n"
968 "<margin>show_x_height &lt;boolean&gt; [default: \"false\"]</margin>\n"
969 "\n"
970 "<margin1>If the font has the <b>X_HEIGHT</b> property defined, "
971 "this flag will toggle the display of this height "
972 "in the Glypheditors.</margin1>\n"
973 "\n"
974 "<margin1>The <b>X_HEIGHT</b> is shown as a solid horizontal line "
975 "above the baseline in the same color as the baseline.</margin1>\n"
976 "\n"
977 "<margin1>This feature is toggled using the <b>Setup-&gt;Editing Options</b> "
978 "tab.</margin1>\n"
979 "\n"
980 "<margin>font_grid_horizontal &lt;boolean&gt; [default: \"true\"]</margin>\n"
981 "\n"
982 "<margin1>This option determines if the glyphs are displayed "
983 "horizontally or vertically. The default is to display "
984 "horizontally.</margin1>\n"
985 "\n"
986 "<margin1>This default orientation option can only be set in "
987 "the configuration file at the moment.</margin1>\n"
988 "\n"
989 "<margin>power2 &lt;boolean&gt; [default: \"true\"]</margin>\n"
990 "\n"
991 "<margin1>This option determines whether the font grid always "
992 "adjusts the rows and columns to powers of 2. This "
993 "option can only be set in the configuration file at "
994 "the moment.</margin1>\n"
995 "\n"
996 "<margin>generate_sbit_metrics &lt;boolean&gt; [default: \"false\"]</margin>\n"
997 "\n"
998 "<margin1>This option determines whether an SBIT metrics file "
999 "will be written after the BDF font has been written. "
1000 "NOTE: This is for use with the SBIT utility from "
1001 "Microsoft.</margin1>\n"
1002 "\n"
1003 "<margin1>This feature is toggled using the \"Preferences-&gt;General Options\" "
1004 "tab.</margin1>\n"
1005 "\n"
1006 "<bul>General Font Configuration Options</bul>\n"
1007 "\n"
1008 "<margin>make_backups &lt;boolean&gt; [default: \"true\"]</margin>\n"
1009 "\n"
1010 "<margin1>By default, the editor will make backups when "
1011 "it saves fonts. The filename will have .bak "
1012 "on the end. This option will turn this feature "
1013 "off.</margin1>\n"
1014 "\n"
1015 "<margin1>This feature is toggled using the <b>Setup</b> dialog.</margin1>\n"
1016 "\n"
1017 "<margin>correct_metrics &lt;boolean&gt; [default: \"true\"]</margin>\n"
1018 "\n"
1019 "<margin1>By default, the editor will make certain "
1020 "corrections to the font metrics when a font "
1021 "is loaded. If this value is \"false\", then "
1022 "no metrics corrections will be performed "
1023 "when a font is loaded.</margin1>\n"
1024 "\n"
1025 "<margin1>This feature is available on the <b>Preferences-&gt;General Options</b> "
1026 "tab.</margin1>\n"
1027 "\n"
1028 "<margin>keep_unencoded &lt;boolean&gt; [default: \"true\"]</margin>\n"
1029 "\n"
1030 "<margin1>By default, the editor will keep any "
1031 "unencoded glyphs that are found when a font "
1032 "is loaded. An unencoded glyph will have an "
1033 "\"ENCODING\" field set to -1. If this option "
1034 "is set to \"false\", then all unencoded glyphs "
1035 "will be ignored.</margin1>\n"
1036 "\n"
1037 "<margin1>This feature is available on the <b>Preferences-&gt;General Options</b> "
1038 "tab.</margin1>\n"
1039 "\n"
1040 "<margin>keep_comments &lt;boolean&gt; [default: \"true\"]</margin>\n"
1041 "\n"
1042 "<margin1>By default, the editor will keep all "
1043 "comments found in the font file. This "
1044 "allows them to be edited.</margin1>\n"
1045 "\n"
1046 "<margin1>If this option is set to \"false\", all "
1047 "comments except those that appear in the "
1048 "font properties list will be ignored. The "
1049 "comments in the font properties list are "
1050 "kept because they sometimes contain useful "
1051 "notes about the properties.</margin1>\n"
1052 "\n"
1053 "<margin1>This feature is available on the <b>Preferences-&gt;General Options</b> "
1054 "tab.</margin1>\n"
1055 "\n"
1056 "<margin>pad_character_cells &lt;boolean&gt; [default: \"true\"]</margin>\n"
1057 "\n"
1058 "<margin1>By default, the editor will pad each glyph "
1059 "bitmap from fonts with \"charactercell\" "
1060 "spacing. This means that each glyph has "
1061 "blank bits added around it until it matches "
1062 "the font bounding box exactly.</margin1>\n"
1063 "\n"
1064 "<margin1>This option is \"true\" by default because "
1065 "that seems to be what most people expect, "
1066 "based on numerous \"charactercell\" fonts that "
1067 "were checked.</margin1>\n"
1068 "\n"
1069 "<margin1>However, since the BDF format is sometimes "
1070 "used as a transfer format between programs, "
1071 "this option can be set to \"false\" to reduce "
1072 "the size of the BDF font.</margin1>\n"
1073 "\n"
1074 "<margin1>In either case, the fonts will display "
1075 "correctly, and metrics calculations should "
1076 "not be affected.</margin1>\n"
1077 "\n"
1078 "<margin1>This feature is available on the <b>Preferences-&gt;General Options</b> "
1079 "tab.</margin1>\n"
1080 "\n"
1081 "<margin>eol &lt;eolname&gt; [default: \"unix\"]</margin>\n"
1082 "\n"
1083 "<margin1>By default, BDF fonts will be saved with a Unix "
1084 "end-of-line character (^J). This option can be "
1085 "\"unix\", \"dos\", or \"mac\".</margin1>\n"
1086 "\n"
1087 "<margin1>This feature is available on the <b>Preferences-&gt;General Options</b> "
1088 "tab.</margin1>\n"
1089 "\n"
1090 "<margin>hint_opentype_glyphs &lt;boolean&gt; [default: \"true\"]</margin>\n"
1091 "\n"
1092 "<margin1>By default, importing OpenType fonts will have "
1093 "the glyphs hinted. If this option is set to "
1094 "\"false\", the glyphs will not be hinted.</margin1>\n"
1095 "\n"
1096 "<margin1>This feature is available on the <b>Preferences-&gt;General Options</b> "
1097 "tab.</margin1>\n"
1098 "\n"
1099 "<margin>point_size &lt;cardinal&gt; [default: \"12\"]</margin>\n"
1100 "\n"
1101 "<margin1>By default, the editor will create new fonts "
1102 "with point size 12.</margin1>\n"
1103 "\n"
1104 "<margin1>This feature is available on the <b>Preferences-&gt;New Font Options</b> "
1105 "tab.</margin1>\n"
1106 "\n"
1107 "<margin>horizontal_resolution &lt;integer&gt; [default: \"display\"]</margin>\n"
1108 "\n"
1109 "<margin1>By default, the editor will determine the "
1110 "horizontal resolution based on the X display "
1111 "being used by the editor. For instance, "
1112 "this value is often \"90\" for Sun displays.</margin1>\n"
1113 "\n"
1114 "<margin1>This feature is available on the <b>Preferences-&gt;New Font Options</b> "
1115 "tab.</margin1>\n"
1116 "\n"
1117 "<margin>vertical_resolution &lt;integer&gt; [default: \"display\"]</margin>\n"
1118 "\n"
1119 "<margin1>By default, the editor will determine the "
1120 "vertical resolution based on the X display "
1121 "being used by the editor. For instance, "
1122 "this value is often \"90\" for Sun displays.</margin1>\n"
1123 "\n"
1124 "<margin1>This feature is available on the <b>Preferences-&gt;New Font Options</b> "
1125 "tab.</margin1>\n"
1126 "\n"
1127 "<margin>font_spacing &lt;font-spacing&gt; [default: \"proportional\"]</margin>\n"
1128 "\n"
1129 "<margin1>By default, the editor will create new fonts "
1130 "with proportional spacing. This option can "
1131 "be set to \"monowidth\" or \"charactercell\" if "
1132 "\"proportional\" is not wanted.</margin1>\n"
1133 "\n"
1134 "<margin1>This feature is available on the <b>Preferences-&gt;New Font Options</b> "
1135 "tab.</margin1>\n"
1136 "\n"
1137 "<margin>bits_per_pixel &lt;integer&gt; [default: \"1\"]</margin>\n"
1138 "\n"
1139 "<margin1>By default, the editor works with fonts that "
1140 "have one bit per pixel. But it also supports "
1141 "2, 4, or 8 bits per pixel. This option sets "
1142 "the default bits per pixel when creating new "
1143 "fonts.</margin1>\n"
1144 "\n"
1145 "<margin1>This feature is available on the <b>Preferences-&gt;New Font Options</b> "
1146 "tab.</margin1>\n"
1147 "\n"
1148 "<margin>2bpp_grays &lt;integer&gt;...</margin>\n"
1149 "\n"
1150 "<margin1>This parameter supplies a default set of gray values "
1151 "between 0 and 255 for 2 bits per pixel fonts. Four values "
1152 "should be supplied.</margin1>\n"
1153 "\n"
1154 "<margin>4bpp_grays &lt;integer&gt;...</margin>\n"
1155 "\n"
1156 "<margin1>This parameter supplies a default set of gray values "
1157 "between 0 and 255 for 2 bits per pixel fonts. Sixteen values "
1158 "should be supplied.</margin1>\n"
1159 "\n"
1160 "<margin>property &lt;property-name&gt; &lt;property-type&gt;</margin>\n"
1161 "\n"
1162 "<margin1>To support user-defined properties, the "
1163 "editor provides the facility to define them "
1164 "in the configuration file in order to "
1165 "interpret them correctly (atom, cardinal, or "
1166 "integer) when editing fonts containing "
1167 "user-defined properties.</margin1>\n"
1168 "\n"
1169 "<margin1>If an unknown user-defined property is "
1170 "encountered in a font, it always defaults to "
1171 "a &lt;property-type&gt; of \"atom\".</margin1>\n"
1172 "\n"
1173 "<margin1>There is no limit to the number of "
1174 "\"property\" options set in the configuration "
1175 "file.</margin1>\n"
1176 "</help>";
1177
1178 static gchar *otf_text = "<help>"
1179 "If this program was compiled with the FreeType "
1180 "library to support importing OpenType fonts "
1181 "(.otf extension), TrueType fonts (.ttf extension), and "
1182 "TrueType collections (.ttc extension), "
1183 "when importing a font or collection, a dialog "
1184 "will be presented to allow you to choose a single font, "
1185 "the platform, and encoding. If you are loading a "
1186 "TrueType collection, there will be more than one font "
1187 "to choose from.\n"
1188 "\n"
1189 "OpenType fonts imported will use the point size and "
1190 "resolution set in your ~/.gbdfedrc file or the defaults "
1191 "set at compile time if you do not have a ~/.gbdfedrc.\n"
1192 "\n"
1193 "The point size and resolution can also be set before "
1194 "importing using the <b>Preferences</b> dialog.\n"
1195 "\n"
1196 "The renderer used to import OpenType fonts is "
1197 "available from http://www.freetype.org.\n"
1198 "</help>";
1199
1200 static gchar *fnt_text = "<help>"
1201 "When a Windows .FON, .EXE, or .DLL file resource "
1202 "table holds more than one font, you are presented with "
1203 "a list of fonts to choose from. You can select as many "
1204 "of them as you wish or simply import them all using "
1205 "the <b>Import All</b> button.\n"
1206 "</help>";
1207
1208 static gchar *psf_text ="<help>"
1209 "This editor imports both PSF1 and PSF2 Linux "
1210 "console fonts. It only exports the newer PSF2 "
1211 "fonts, usually with a \".psfu\" extension.\n"
1212 "\n"
1213 "When a PSF1 or PSF2 font is imported, it can have "
1214 "a Unicode mapping table following the glyphs. "
1215 "This mapping table can be modified through the "
1216 "Glypheditor from the Operations menu or by pressing "
1217 "&lt;Ctrl+F&gt;.\n"
1218 "\n"
1219 "When editing the mappings, the codes are expected "
1220 "to be entered in hex.\n"
1221 "\n"
1222 "Unicode mappings are included during cut and paste "
1223 "operations, allowing them to be transfered to other "
1224 "fonts or other locations within one font.\n"
1225 "\n"
1226 "There is no support currently for attaching an "
1227 "external mapping table to a font. This can be "
1228 "done outside this editor using the "
1229 "\"psfaddtable(1)\" program on Linux.\n"
1230 "</help>";
1231
1232 static gchar *hex_text = "<help>"
1233 "The HEX format is described in more detail at: "
1234 "http://czyborra.com/unifont/.\n"
1235 "\n"
1236 "HEX fonts are fonts that have two glyph widths, "
1237 "with the smaller width being half the size of "
1238 "the larger width.\n"
1239 "</help>";
1240
1241 static gchar *preferences_text = "<help>"
1242 "The Preferences dialog is used to set options for the "
1243 "Font Grid, Glyph Editors, and the BDF fonts. "
1244 "The options that can be set are:\n"
1245 "\n"
1246 "<margin>Insert Mode or Overwrite Mode</margin>\n"
1247 "\n"
1248 "<margin1>This affects the way glyphs are pasted in the "
1249 "Font Grids.</margin1>\n"
1250 "\n"
1251 "<margin1>The default mode, Overwrite, will simply replace "
1252 "everything in the range of the glyphs being pasted "
1253 "from the <b>FONTGRID_CLIPBOARD</b>.</margin1>\n"
1254 "\n"
1255 "<margin1>If Insert Mode is on, then all glyphs from the "
1256 "insert point forward are shifted forward to make "
1257 "room for the glyphs being pasted. Since this shift "
1258 "changes the encoding of the glyphs moved forward, "
1259 "it is possible for glyphs to get encodings greater "
1260 "than the maximum for BDF fonts (65535). If this "
1261 "happens, then the glyphs that have encodings greater "
1262 "than 65535 are moved to the unencoded area and are "
1263 "accessible by switching to the unencoded pages with "
1264 "\"Ctrl+E\".</margin1>\n"
1265 "\n"
1266 "<margin>Correct Metrics, Keep Unencoded, Keep Comments, "
1267 "Pad Character Cells, and EOL.</margin>\n"
1268 "\n"
1269 "<margin1>If <b>Correct Metrics</b> is set, certain metrics will be "
1270 "adjusted when a BDF font is loaded. If this option "
1271 "is not set, then the editor will assume the metrics "
1272 "are correct.</margin1>\n"
1273 "\n"
1274 "<margin1>If <b>Keep Unencoded</b> is set, glyphs with an ENCODING "
1275 "value of -1 will be stored in the unencoded pages "
1276 "which are accessible by switching using \"Ctrl+E\". "
1277 "If this is not set, then unencoded glyphs will be "
1278 "ignored when a BDF font is loaded.</margin1>\n"
1279 "\n"
1280 "<margin1>If <b>Keep Comments</b> is set, then comments collected will "
1281 "be stored with the font and written out before the "
1282 "PROPERTIES section of the BDF font. Comments can be "
1283 "edited with the Comment editor invoked with \"Ctrl+M\". "
1284 "If this is not set, then comments are simply ignored "
1285 "when the BDF font is loaded.</margin1>\n"
1286 "\n"
1287 "<margin1>If <b>Pad Character Cells</b> is set, then character cell "
1288 "fonts will have all glyphs padded with zero bits "
1289 "until they fit the font bounding box exactly. "
1290 "If this is not set, then the bitmaps for each "
1291 "glyph will be clipped to the minimum rectangle "
1292 "needed to hold the bitmap.</margin1>\n"
1293 "\n"
1294 "<margin1>The EOL menu sets the end-of-line string used "
1295 "when BDF fonts are saved. The three most common "
1296 "options are provided: Unix, DOS, and Mac EOLs.</margin1>\n"
1297 "\n"
1298 "<margin>Point Size, Horizontal and Vertical Resolution</margin>\n"
1299 "\n"
1300 "<margin1>These fields allow these three values to be set "
1301 "for new fonts created with \"Ctrl+N\" and also are "
1302 "used to set the desired size and resolution of "
1303 "OpenType fonts when they are imported.</margin1>\n"
1304 "\n"
1305 "<margin>Proportional, Monowidth, and Character Cell</margin>\n"
1306 "\n"
1307 "<margin1>These set the font spacing type for new fonts "
1308 "created using \"Ctrl+N\".</margin1>\n"
1309 "\n"
1310 "<margin>Bits Per Pixel</margin>\n"
1311 "\n"
1312 "<margin1>This option allows setting the bits per pixel "
1313 "value for new fonts created using \"Ctrl+N\". "
1314 "Selecting two or four bits per pixel also "
1315 "enables the Color button used to edit the colors "
1316 "used for gray scale fonts.</margin1>\n"
1317 "\n"
1318 "Along the bottom are some buttons. These buttons are:\n"
1319 "\n"
1320 "<margin>Update</margin>\n"
1321 "\n"
1322 "<margin1>When one or more options have changed, this button "
1323 "becomes active. If it is pressed, it will actually "
1324 "update the changed values. If it is not pressed and "
1325 "the dialog is closed, none of the changes made will "
1326 "take affect.</margin1>\n"
1327 "\n"
1328 "<margin>Save Setup</margin>\n"
1329 "\n"
1330 "<margin1>This button will become active after the Update "
1331 "button was pressed to actually change the setup "
1332 "options. Pressing this button will write all the "
1333 "setup values to a file in the home directory. This "
1334 "file is called \".gbdfedrc\".</margin1>\n"
1335 "\n"
1336 "<margin>Color</margin>\n"
1337 "\n"
1338 "<margin1>If the bits per pixel for new fonts is two or four "
1339 "this button will invoke the color editor. This editor "
1340 "allows adjusting what the different colors look like "
1341 "on the current screen. These colors are really only "
1342 "useful for testing with the current screen and may "
1343 "actually look different on other screens.</margin1>\n"
1344 "\n"
1345 "<margin1>In the color editor, a button at the bottom toggles "
1346 "between the colors for two and four bits per pixel.</margin1>\n"
1347 "\n"
1348 "<margin>Close</margin>\n"
1349 "\n"
1350 "<margin1>This closes the Setup dialog. If any changes were "
1351 "made and not applied with Update (or saved), then "
1352 "the changes are discarded.</margin1>\n"
1353 "\n"
1354 "<margin>Other Options</margin>\n"
1355 "\n"
1356 "<margin1>This button opens another setup dialog to set "
1357 "more options. The close button at the bottom "
1358 "simply closes the window. These options are:</margin1>\n"
1359 "\n"
1360 "<margin2>Hint OpenType Glyphs</margin2> "
1361 "\n"
1362 "<margin3>If this option is set, the OpenType renderer "
1363 "will use the hints in the font if they exist. "
1364 "This can sometimes make clearer glyphs at small "
1365 "point sizes.</margin3>\n"
1366 "\n"
1367 "<margin2>Unicode Glyph Name File</margin2> "
1368 "\n"
1369 "<margin3>This field is for setting the name of a file "
1370 "in the Unicode Character Database format. This "
1371 "file will supply glyph names from the file. "
1372 "The \"Browse\" button allows a file to be "
1373 "selected using a FileSelection dialog.</margin3>\n"
1374 "\n"
1375 "<margin3>The Unicode Character Database format is basically "
1376 "a set of semi-colon separated fields on a single line "
1377 "with the first field being 4 hex digits representing "
1378 "the encoding of the glyph and the next field being "
1379 "the name of the glyph. These are the only two "
1380 "fields used by this editor. The entries in this "
1381 "file are expected to be sorted in ascending order "
1382 "by encoding.</margin3>\n"
1383 "\n"
1384 "<margin2>Adobe Glyph Name File</margin2> "
1385 "\n"
1386 "<margin3>This field is for setting the name of a file "
1387 "in the Adobe Glyph List format. This file will "
1388 "supply glyph names from the file.</margin3>\n"
1389 "\n"
1390 "<margin3>The Adobe Glyph List format is basically a set of "
1391 "semi-colon separated fields with the first field "
1392 "being 4 hex digits representing the encoding of the "
1393 "glyph and the next field being the Adobe name of the "
1394 "glyph. The entries are not expected to be in ascending "
1395 "order by glyph code.</margin3>\n"
1396 "\n"
1397 "<margin2>Pixel Size</margin2> "
1398 "\n"
1399 "<margin3>This option allows the pixel size in the GlyphEditors "
1400 "to be set to different sizes. This effectively zooms "
1401 "the glyph in the editor. If this is changed and the "
1402 "Update button is pressed, all open GlyphEditors will "
1403 "be updated with the new value.</margin3>\n"
1404 "\n"
1405 "<margin2>Show Cap Height and Show X Height</margin2> "
1406 "\n"
1407 "<margin3>These two options can be set to make the cap height "
1408 "and the x height lines show up in the GlyphEditors. "
1409 "These will only show up if they are defined in the "
1410 "font or are set using the property editor. If these "
1411 "are changed and the Update button is pressed, all "
1412 "open GlyphEditors will be udated to show the lines.</margin3>\n"
1413 "\n"
1414 "<margin2>SBIT Metrics</margin2> "
1415 "\n"
1416 "<margin3>This option toggles the generation of an SBIT metrics "
1417 "file which can be incorporated into a OpenType font "
1418 "using the SBIT utility provided by Microsoft.</margin3>\n"
1419 "</help>";
1420
1421 static gchar *color_text = "<help>"
1422 "The editor supports BDF fonts with 2, 4 and 8 bits per pixel. "
1423 "This is stored in the BDF file as a number on the end of "
1424 "the SIZE line.\n"
1425 "\n"
1426 "This is a non-standard extension and currently can only be "
1427 "used to create bitmap fonts (strikes or EBSC entries) that "
1428 "can be embedded in OpenType fonts.\n"
1429 "</help>";
1430
1431 static gchar *tips_text = "<help>"
1432 "Useful Tips:\n"
1433 "\n"
1434 "To add space glyphs to proportional fonts, simply set "
1435 "the Device Width field to the desired width of the blank. "
1436 "When the font is saved, a bitmap is automatically "
1437 "generated for it.\n"
1438 "</help>";