1X Resources
2===========
3
4Every X application has an inordinate number of resources that you can tweak.
5This one is no exception. However I don't follow standard conventions, so it's
6all different. Sorry (a little anyway).
7
8To use an X resource add a series of lines to your .Xdefaults file and then run
9"$ xrdb ~/.Xdefaults". For example:
10
11::
12
13   Gdraw.ScreenWidthInches: 14.7
14   Gdraw.GGadget.Popup.Font: 10pt helvetica
15   Gdraw.Background: white
16   fontforge.FontView.FontFamily: Helvetica, GillSans
17
18Some systems (the mac) will not automatically load X resources when starting X,
19in this case you must explicitly tell fontforge where to find a resource file
20with the preference item:
21:ref:`File->Preference->Generic->ResourceFile <prefs.ResourceFile>`.
22
23You may also use fontforge's resource editor
24(:doc:`File->X Resource Editor <resedit>`)
25
26If a resource begins with "\ ``Gdraw.``" or "\ ``fontforge.``" then the program
27will look at it.
28
29.. object:: fontforge.FontView.ChangedColor
30
31   Sets the color used to mark changed glyphs.
32
33.. object:: fontforge.FontView.GlyphInfoColor
34
35   Sets the color used to dislpay information about selected glyph, betwen the
36   FontView menu bar and the glyph array.
37
38.. object:: fontforge.FontView.SelectedColor
39
40   Sets the background color of selected glyphs.
41
42.. object:: fontforge.FontView.SelectedFgColor
43
44   Sets the foreground color of selected glyphs.
45
46.. object:: fontforge.FontView.EmptySlotFgColor
47
48   Sets the color of crosses marking empty code points.
49
50.. object:: fontforge.FontView.HintingNeededColor
51
52   Sets the color of markings for glyphs that need hinting or instructing.
53
54.. object:: fontforge.FontView.FontSize
55
56   Point size of those fonts.
57
58.. object:: fontforge.CharView.InfoFamily
59
60   A list of font family names to be used in the outline and bitmap character
61   views for information messages.
62
63.. object:: fontforge.CharView.PointColor
64
65   Sets the color used to draw curved, corner or tangent points in the outline
66   character view.
67
68.. object:: fontforge.CharView.FirstPointColor
69
70   Sets the color of the first point on a contour.
71
72.. object:: fontforge.CharView.SelectedPointColor
73
74   Sets the color used to draw selected curved, corner or tangent points in the
75   outline character view.
76
77.. object:: fontforge.CharView.SelectedPointWidth
78
79   Sets the width of the line used to outline selected curved, corner or tangent
80   points in the outline character view.
81
82.. object:: fontforge.CharView.ExtremePointColor
83
84   Sets the color of a point which is an extremum.
85
86.. object:: fontforge.CharView.PointOfInflectionColor
87
88   Sets the color of a location which is a point of inflection.
89
90.. object:: fontforge.CharView.AlmostHVColor
91
92   Sets the color used to mark lines and curves which are almost, but not quite
93   horizontal or vertical.
94
95.. object:: fontforge.CharView.NextCPColor
96
97   Sets the color used to draw the "Next" control point.
98
99.. object:: fontforge.CharView.PrevCPColor
100
101   Sets the color used to draw the "Previous" control point.
102
103.. object:: fontforge.CharView.SelectedCPColor
104
105   Sets the color used to draw a control point that has been selected.
106
107.. object:: fontforge.CharView.CoordinateLineColor
108
109   Sets the color used to draw the coordinate axes.
110
111.. object:: fontforge.CharView.WidthColor
112
113   Sets the color used to draw the advance width line.
114
115.. object:: fontforge.CharView.WidthSelColor
116
117   Sets the color used to draw the advance width if it is selected.
118
119.. object:: fontforge.CharView.GridFitWidthColor
120
121   Sets the color used to draw the advance width once it has been grid fit (if
122   :menuselection:`View --> Show Grid Fit` is on)
123
124.. object:: fontforge.CharView.LigatureCaretColor
125
126   Sets the color used to draw ligature caret lines.
127
128.. object:: fontforge.CharView.RasterColor
129
130   Sets the color used to draw the pixels of a rasterized bitmap (if
131   :menuselection:`View --> Show Grid Fit` or :menuselection:`Hints --> Debug`
132   is on)
133
134.. object:: fontforge.CharView.RasterNewColor
135
136   Sets the color used to draw the pixels of a rasterized bitmap if they have
137   recently been turned on (if :menuselection:`Hints --> Debug` is on)
138
139.. object:: fontforge.CharView.RasterOldColor
140
141   Sets the color used to draw the pixels of a rasterized bitmap f they have
142   recently been turned off (if :menuselection:`Hints --> Debug` is on)
143
144.. object:: fontforge.CharView.RasterGridColor
145
146   Sets the color used to draw the pixel grid used by the rasterizer (if
147   :menuselection:`View --> Show Grid Fit` or :menuselection:`Hints --> Debug`
148   is on)
149
150.. object:: fontforge.CharView.RasterDarkColor
151
152   When doing anti-aliased debugging, sets the color used for the darkest pixel.
153   Other pixels will be interpolated between this and the background.
154
155.. object:: fontforge.CharView.ItalicCoordColor
156
157   Sets the color used to draw various horizontal metrics lines when they have
158   been skewed appropriately for an italic font.
159
160.. object:: fontforge.CharView.MetricsLabelColor
161
162   Sets the color used to label metrics lines
163
164.. object:: fontforge.CharView.HintLabelColor
165
166   Sets the color used to label hint lines (and blue value lines)
167
168.. object:: fontforge.CharView.BlueValuesStippledCol
169
170   Sets the color used to draw the BlueValues and OtherBlues zones.
171
172.. object:: fontforge.CharView.FamilyBlueStippledColor
173
174   Sets the color used to draw the FamilyBlueValues and FamilyOtherBlues zones.
175
176.. object:: fontforge.CharView.MDHintColor
177
178   Sets the color used to draw minimum distance hints
179
180.. object:: fontforge.CharView.DHintColor
181
182   Sets the color used to draw diagonal hints
183
184.. object:: fontforge.CharView.HHintColor
185
186   Sets the color used to draw horizontal stem hints
187
188.. object:: fontforge.CharView.VHintColor
189
190   Sets the color used to draw vertical stem hints
191
192.. object:: fontforge.CharView.ConflictHintColor
193
194   Sets the color used to draw hints when they conflict
195
196.. object:: fontforge.CharView.HHintActiveColor
197
198   Sets the color used to draw a horizontal stem hint when it is active in the
199   review hints dlg.
200
201.. object:: fontforge.CharView.VHintActiveColor
202
203   Sets the color used to draw a vertical stem hint when it is active in the
204   review hints dlg.
205
206.. object:: fontforge.CharView.HFlexHintColor
207
208   Sets the color used to draw the halo around horizontal flex hints
209
210.. object:: fontforge.CharView.VFlexHintColor
211
212   Sets the color used to draw the halo around vertical flex hints.
213
214.. object:: fontforge.CharView.AnchorColor
215
216   Sets the color used to draw an anchor point
217
218.. object:: fontforge.CharView.TemplateOutlineColor
219
220   Sets the color used to draw a template outline. (not currently used)
221
222.. object:: fontforge.CharView.OldOutlineColor
223
224   Sets the color used to draw the original outline of a set of splines being
225   transformed with one of the transform tools (flip, rotate, scale, etc.)
226
227.. object:: fontforge.CharView.TransformOriginColor
228
229   Sets the color used to draw the origin of the current transformation.
230
231.. object:: fontforge.CharView.GuideOutlineColor
232
233   Sets the color used to draw outlines in the Guide layer.
234
235.. object:: fontforge.CharView.GridFitOutlineColor
236
237   Sets the color used to draw outlines which have been gridfit (this should
238   probably be the same as BackgroundOutlineColor as both are in the background
239   layer).
240
241.. object:: fontforge.CharView.BackgroundOutlineColor
242
243   Sets the color used to draw background outlines.
244
245.. object:: fontforge.CharView.ForegroundOutlineColor
246
247   Sets the color used to draw foreground outlines.
248
249.. object:: fontforge.CharView.BackgroundImageColor
250
251   Sets the color used to draw background images.
252
253.. object:: fontforge.CharView.FillColor
254
255   Sets the color used to draw a character's fill
256
257.. object:: fontforge.CharView.PreviewFillColor
258
259   The color to use when performing a preview fill. If this is not set then
260   FontForge will fallback to using fontforge.CharView.FillColor. Neither of
261   these resources are set then black will be used.
262
263.. object:: fontforge.CharView.TraceColor
264
265   Sets the color used to draw the trace of the freehand tool.
266
267.. object:: fontforge.CharView.Rulers.FontSize
268
269   Sets the point size of the font used in the rulers and the info bar. If the
270   font is too big text will be clipped.
271
272.. object:: fontforge.CharView.Measure.Font
273
274   Select the font used to display the information shown in the window
275   associated with the measure tool.
276
277.. object:: fontforge.CharView.Hotkey.Tool.Zoom
278
279   The keyboard shortcut that you desire to switch to the zoom tool. For
280   example: fontforge.CharView.Hotkey.Tool.Zoom: z
281
282.. object:: fontforge.CharView.Hotkey.Tool.Ruler
283
284   The keyboard shortcut to select the ruler tool.
285
286.. object:: fontforge.CharView.Hotkey.Tool.Pointer
287
288   The keyboard shortcut to select the pointer tool.
289
290.. object:: fontforge.CharView.Hotkey.Tool.Hand
291
292   The keyboard shortcut to select the hand tool.
293
294.. object:: fontforge.CharView.Hotkey.Tool.PointCurve
295
296   The keyboard shortcut to select the point curve tool.
297
298.. object:: fontforge.CharView.Hotkey.Tool.PointHVCurve
299
300   The keyboard shortcut to select the point hv curve tool.
301
302.. object:: fontforge.CharView.Hotkey.Tool.PointCorner
303
304   The keyboard shortcut to select the point corner tool.
305
306.. object:: fontforge.CharView.Hotkey.Tool.PointTangent
307
308   The keyboard shortcut to select the point tangent tool.
309
310.. object:: fontforge.CharView.Hotkey.Tool.Freehand
311
312   The keyboard shortcut to select the point Freehand tool.
313
314.. object:: fontforge.CharView.Hotkey.Tool.PointTangent
315
316   The keyboard shortcut to select the point tangent tool.
317
318.. object:: fontforge.CharView.Hotkey.Tool.Pen
319
320   The keyboard shortcut to select the point Pen tool.
321
322.. object:: fontforge.CharView.Hotkey.Tool.SpiroToggle
323
324   Toggle spiro mode on if it is available.
325
326.. object:: fontforge.CharView.Hotkey.Tool.SpiroG4
327
328   SpiroG4 tool.
329
330.. object:: fontforge.CharView.Hotkey.Tool.SpiroCorner
331
332   SpiroCorner tool.
333
334.. object:: fontforge.CharView.Hotkey.Tool.SpiroLeft
335
336   SpiroLeft tool.
337
338.. object:: fontforge.CharView.Hotkey.Tool.SpiroRight
339
340   SpiroRight tool.
341
342.. object:: fontforge.CharView.Hotkey.Tool.Knife
343
344   Knife tool.
345
346.. object:: fontforge.DebugView.Font
347
348   Select the font used to display the truetype instructions being debugged.
349
350.. object:: fontforge.DVRaster.Background
351
352   Sets the background color of the raster window in the debugger.
353
354.. object:: fontforge.MetricsView.AdvanceWidthColor
355
356   Sets the color for the grid lines in the metrics view when nothing special is
357   happening to them.
358
359.. object:: fontforge.MetricsView.ItalicAdvanceColor
360
361   In an italic font, this will be the color used to draw the line at the
362   italicAngle which corresponds to the italic advance width.
363
364.. object:: fontforge.MetricsView.KernLineColor
365
366   Sets the color for the grid line in the metrics view which currently may be
367   moved to change a glyph's kerning.
368
369.. object:: fontforge.MetricsView.SideBearingLneColor
370
371   Sets the color for the grid line in the metrics view which currently may be
372   moved to change a glyph's right side bearing (or bottom side bearing).
373
374.. object:: fontforge.MetricsView.SelectedGlyphColor
375
376   Sets the color for the currently selected glyph in the metrics view.
377
378.. object:: fontforge.MetricsView.Font
379
380   Select the font used to display labels in the metrics view.
381
382.. object:: fontforge.BDFProperties.Font
383
384   Sets the font used in the BDF Properties dialog for stand alone text
385
386.. object:: fontforge.Combinations.Font
387
388   Sets the font used in the kern and anchor combinations dialog for labelling
389   the combinations
390
391.. object:: fontforge.CVT.Font
392
393   Sets the font used in the 'cvt ' table dialog
394
395.. object:: fontforge.GlyphInfo.Font
396
397   Sets the font used in the glyph info dialog for stand alone text
398
399.. object:: fontforge.Groups.Font
400
401   Sets the font used in the Groups dialog
402
403.. object:: fontforge.Histogram.Font
404
405   Sets the font used in the Histogram dialog
406
407.. object:: fontforge.KernClass.Font
408
409   Sets the font used in the kern class and pair dialogs
410
411.. object:: fontforge.LayersPalette.Font
412
413   Sets the font used in the layers palettes dialog
414
415.. object:: fontforge.Math.Font
416
417   Sets the font used in the Math dialog
418
419.. object:: fontforge.Math.BoldFont
420
421   Sets the bold font used in the Math dialog
422
423.. object:: fontforge.OFLib.Font
424
425   Sets the font used in the Open Font Library browser dialog
426
427.. object:: fontforge.SearchView.Font
428
429   Sets the font used in the find and replace dialog
430
431.. object:: fontforge.SearchView.BoldFont
432
433   Sets the bold font used in the find and replace dialog
434
435.. object:: fontforge.SFTextArea.Font
436
437   Sets the font used in the Print dialog and its variants dialog -- except I
438   don't think this ever gets used.
439
440.. object:: fontforge.ShowATT.Font
441
442   Sets the font used in the Show ATT dialog
443
444.. object:: fontforge.ShowATT.MonoFont
445
446   Sets the monospaced font used in the Show ATT dialog
447
448.. object:: fontforge.Splash.Font
449
450   Sets the font used in the splash screen and About FontForge dialog.
451
452.. object:: fontforge.Splash.ItalicFont
453
454   Sets the italic font used in the About FontForge dialog
455
456.. object:: fontforge.StateMachine.Font
457
458   Sets the font used in the Apple state machine dialog
459
460.. object:: fontforge.TilePath.Font
461
462   Sets the font used in the Tile Path dialog
463
464.. object:: fontforge.TilePath.BoldFont
465
466   Sets the bold font used in the Tile Path dialog
467
468.. object:: fontforge.ToolsPalette.Font
469
470   Sets the font used in the Tools Palette dialog for labelling tool options
471
472.. object:: fontforge.TTInstruction.Font
473
474   Sets the font used in the various dialogs which edit truetype instructions
475   ('fpgm' table, glyph instructions, etc.)
476
477.. object:: fontforge.Validate.Font
478
479   Sets the font used in the Validate dialog
480
481.. object:: fontforge.View.Background
482
483   Sets the background color for the drawing areas of the fontview, glyph view,
484   bitmap view and metrics view.
485
486.. object:: fontforge.Warnings.Font
487
488   Sets the font used in the Warnings dialog
489
490.. object:: Gdraw.ScreenWidthCentimeters
491
492   A double. (centimeters)
493
494   X usually does not know the physical width of a screen (it knows the logical,
495   pixel width). Gdraw's internals are based on points rather than pixels, and
496   it will sometimes pick a font that is too small or too large if it relies on
497   X's idea of how wide the screen is.
498
499.. object:: Gdraw.ScreenWidthInches
500
501   A double. (inches)
502
503   Same as the above, except measured in inches.
504
505.. object:: Gdraw.ScreenWidthPixels
506
507   An integer (pixels)
508
509   When X creates a virtual screen it may not be possible for Gdraw to find the
510   actual number of pixels on the screen. This again will throw off point
511   calculations.
512
513.. object:: Gdraw.ScreenHeightPixels
514
515   An integer (pixels)
516
517   When X creates a virtual screen it may not be possible for Gdraw to find the
518   actual number of pixels on the screen. This is not used in point
519   calculations.
520
521.. object:: Gdraw.Depth
522
523   An integer (1, 8, 16, 32)
524
525   You can use this to request a different depth than the default one. Not all
526   servers will support all depths. If FontForge can't find a visual with the
527   desired depth it will use the default depth.
528
529.. object:: Gdraw.VisualClass
530
531   A string ("StaticGray", "GrayScale", "StaticColor", "PsuedoColor",
532   "TrueColor", "DirectColor")
533
534   FontForge will search for a visual with the given class (and possibly depth
535   if the depth argument is specified too).
536
537.. _xres.Colormap:
538
539.. object:: Gdraw.Colormap
540
541   An string ("Current", "Copy", "Private")
542
543   You can use this to control what FontForge does about the colormap on an 8bit
544   screen
545
546   * Current -- FontForge will attempt to allocate its colors in the current
547     colormap.
548   * Copy -- FontForge will allocate what colors it can and then copy the current
549     color map into a private copy. This means FontForge has access to a much
550     wider range of colors, and (as long as the shared colormap doesn't change)
551     FontForge's colormap will match that of the rest of the screen.
552   * Private -- FontForge will allocate a private colormap and set the colors just
553     as it wants them. It will almost certainly not match the shared colormap.
554
555.. object:: Gdraw.DoDithering
556
557   An integer (0 or 1)
558
559   You can use this to turn off dithering of images on an 8bit screen.
560
561.. object:: Gdraw.MultiClickTime
562
563   An integer (milliseconds)
564
565   The maximum amount of time allowed between two clicks for them to be
566   considered a double (triple, etc.) click.
567
568.. object:: Gdraw.MultiClickWiggle
569
570   An integer (pixels)
571
572   The maximum number of pixels the mouse is allowed to move between two clicks
573   and have them still be considered a double click.
574
575.. object:: Gdraw.TwoButtonFixup
576
577   A boolean
578
579   On a windows keyboard use the modifier key with the flag on it to simulate
580   mouse button 2 (middle button). If this key is depressed when a mouse button
581   is pressed or released then pretend it was button 2 that was pressed or
582   release.
583
584.. object:: Gdraw.DontOpenXDevices
585
586   a booleanVarious people have complained that when FontForge attempts to open
587   the devices of the wacom graphics tablet, the X server gives a BadDevice
588   error. I can't duplicate this, the open works fine on my system, but this
589   resource allows them to tell fontforge not to try to use the tablet.
590
591.. object:: Gdraw.MacOSXCmd
592
593   A boolean
594
595   On Mac OS X the user will probably expect to use the Command (apple,
596   cloverleaf) key to control the menu (rather than the Control key). If this is
597   set then the command key will be mapped to the control key internally.
598
599.. object:: Gdraw.MultiClickWiggle
600
601   An integer (pixels)
602
603   The maximum number of pixels the mouse is allowed to move between two clicks
604   and have them still be considered a double click.
605
606.. _xres.Keyboard:
607
608.. object:: Gdraw.Keyboard
609
610   ibm | mac | sun | ppc | 0 | 1 | 2 | 3
611
612   Allows you to specify the type of keyboard. Currently this is only relevent
613   when generating menus. The modifier keys are in different locations on
614   different keyboards (under different operating systems) and if FontForge
615   knows what keyboard you are using it can make the hot-keys have better
616   labels.
617
618   * ibm | 0
619
620     Uses the Control and Alt keys
621   * mac | 1
622
623     Uses the Command and Option keys (Mac OS/X, Mac keyboard)
624   * ppc | 3
625
626     Uses the Control and Command keys (Suse ppc linux, Mac keyboard)
627   * sun | 2
628
629     Uses the Control and Meta keys
630
631.. object:: Gdraw.SelectionNotifyTimeout
632
633   An integer (seconds)
634
635   Gdraw will wait this many seconds after making a request for a selection (ie.
636   when doing a Paste). If it gets no responce after that period it reports a
637   failure.
638
639.. object:: Gdraw.Background
640
641   A :ref:`color <xres.color>`
642
643   Gdraw will use this as the default background color for the windows.
644
645.. object:: Gdraw.Foreground
646
647   A :ref:`color <xres.color>`
648
649   Gdraw will use this as the default foreground color for dialogs.
650
651.. object:: Gdraw.GGadget.Popup.Foreground
652
653   A :ref:`color <xres.color>`
654
655   Specifies the foreground color of popup (tooltip) messages.
656
657.. object:: Gdraw.GGadget.Popup.Background
658
659   A :ref:`color <xres.color>`
660
661   Specifies the background color of popup messages.
662
663.. object:: Gdraw.GGadget.Popup.Delay
664
665   An integer (milliseconds).
666
667   Specifies the amount of time the cursor must remain motionless before a popup
668   message pops up.
669
670.. object:: Gdraw.GGadget.Popup.LifeTime
671
672   An integer (milliseconds).
673
674   Specifies the length of time the message will display.
675
676.. object:: Gdraw.GGadget.Popup.Font
677
678   A :ref:`font <xres.font>`
679
680   Specifies the font to use in a popup message.
681
682.. object:: Gdraw.GGadget.Progress.FillCol
683
684   A :ref:`color <xres.color>`
685
686   Specifies the color of the progress bar in the progress window.
687
688.. object:: Gdraw.GGadget.Progress.Background
689
690   A :ref:`color <xres.color>`
691
692   Specifies the background color of progress window.
693
694.. object:: Gdraw.GGadget.Progress.Font
695
696   A :ref:`font <xres.font>`
697
698   Specifies the font to use in a progress window.
699
700.. object:: Gdraw.GGadget.ImagePath
701
702   A unix style path string, with directories separated by ":". The sequence
703   "~/" at the start of a directory will be interpreted as the user's home
704   directory. If a directory is "=" then the installed pixmap directory will be
705   used.
706
707   Specifies the search path for images. Specifically those used in the menus,
708   and those used in various gadgets listed below.
709
710.. object:: Gdraw.GGadget...
711
712   Every ggadget in enclosed in a box. No gadget is actually a GGadget, but
713   every other gadget inherits (potentially with modification) from this
714   abstract class. The following information may be supplied for any box:
715
716   .. object:: ...Box.BorderType
717
718      one of "none", "box", "raised", "lowered", "engraved", "embossed",
719      "double"
720
721      For a description of these see the css manual.
722
723   .. object:: ...Box.BorderShape
724
725      one of "rect", "roundrect", "ellipse", "diamond"
726
727      Describes the basic shape of the box. (some ggadgets must be in
728      rectangles).
729
730   .. object:: ...Box.BorderWidth
731
732      An integer (points)
733
734      Specifies the width of the box's border in points (NOT pixels)
735
736   .. object:: ...Box.Padding
737
738      An integer (points)
739
740      Specifies the padding between the interior of the box and the border
741
742   .. object:: ...Box.Radius
743
744      An integer (points)
745
746      Specifies the radius of a roundrect. Ignored for everything else.
747
748   .. object:: ...Box.BorderInner
749
750      A boolean (true, on or 1, false, off or 0)
751
752      Specifies whether a line should be drawn inside the border.
753
754   .. object:: ...Box.BorderInnerCol
755
756      A :ref:`color <xres.color>`
757
758      Specifies a color of line that should be drawn inside a border.
759
760   .. object:: ...Box.BorderOuter
761
762      A boolean (true, on or 1, false, off or 0)
763
764      Specifies whether a black line should be drawn outside the border.
765
766   .. object:: ...Box.BorderOuterCol
767
768      A :ref:`color <xres.color>`
769
770      Specifies a color of line that should be drawn outside a border.
771
772   .. object:: ...Box.ActiveInner
773
774      A boolean (true, on or 1, false, off or 0)
775
776      Specifies whether a yellow line should be drawn inside the border when the
777      gadget is active (not all gadgets support this).
778
779   .. object:: ...Box.DoDepressedBackground
780
781      A boolean (true, on or 1, false, off or 0)
782
783      Changes the color of the background while a button is depressed.
784
785   .. object:: ...Box.GradientBG
786
787      A boolean (true, on or 1, false, off or 0)
788
789      Draws a gradient from GradientStartCol (at top and bottom edge) to
790      Background (in the center).
791
792   .. object:: ...Box.BorderBrightest
793
794      A :ref:`color <xres.color>`
795
796      The color of the brightest edge of the border (usually the left edge)
797
798   .. object:: ...Box.BorderBrighter
799
800      A :ref:`color <xres.color>`
801
802      The color of the next to brightest edge of the border (usually the top
803      edge)
804
805   .. object:: ...Box.BorderDarkest
806
807      A :ref:`color <xres.color>`
808
809      The color of the darkest edge of the border (usually the right edge)
810
811   .. object:: ...Box.BorderDarker
812
813      A :ref:`color <xres.color>`
814
815      The color of the next to next to darkest edge of the border. (usually the
816      bottom edge)
817
818   .. object:: ...Box.NormalBackground
819
820      A :ref:`color <xres.color>`
821
822      The color of a normal background (not disabled, not depressed)
823
824   .. object:: ...Box.NormalForeground
825
826      A :ref:`color <xres.color>`
827
828      The color of a normal foreground (not disabled)
829
830   .. object:: ...Box.DisabledBackground
831
832      A :ref:`color <xres.color>`
833
834      The color of a disabled background .
835
836   .. object:: ...Box.DisabledForeground
837
838      A :ref:`color <xres.color>`
839
840      The color of a normal foreground.
841
842   .. object:: ...Box.ActiveBorder
843
844      A :ref:`color <xres.color>`
845
846      The color of an ActiveInner border.
847
848   .. object:: ...Box.PressedBackground
849
850      A :ref:`color <xres.color>`
851
852      The color of a depressed background.
853
854   .. object:: ...Box.GradientStartCol
855
856      A :ref:`color <xres.color>`
857
858      Only meaningful if GradientBG is set. Draws a gradient of colors for the
859      background with this color as the start point at the top and bottom edges
860      of the gadget, and Background as the end point in the center of it.
861
862   .. object:: ...Font
863
864      A :ref:`font <xres.font>`
865
866      Specifies the default font for a ggadget.
867
868.. object:: Gdraw.GButton...
869
870   .. image:: /images/GButton.png
871.. object:: Gdraw.GDefaultButton... Inherits from GButton
872
873   .. image:: /images/GDefaultButton.png
874.. object:: Gdraw.GCancelButton...  Inherits from GButton
875
876   .. image:: /images/GCancelButton.png
877.. object:: Gdraw.GLabel...
878
879   .. image:: /images/GLabel.png
880.. object:: Gdraw.GDropList...
881
882   .. image:: /images/GDropList.png
883.. object:: Gdraw.GListMark... controls the shape of the mark used to show the menu of a combo box.
884
885   .. image:: /images/GListMark.png
886.. object:: Gdraw.GRadio... affects the text of the radio
887
888   .. image:: /images/GRadio.png
889.. object:: GDraw.GRadioOn... -- affects the shape used (above, the diamond to the left of the text) of an on radio button
890            GDraw.GRadioOff... -- affects the shape used of an off radio button
891            Gdraw.GCheckBox...
892            GDraw.GCheckBoxOn...
893            GDraw.GCheckBoxOff...
894            Gdraw.GTextField...
895
896   .. image:: /images/GTextField.png
897.. object:: Gdraw.GComboBox...    Inherits from GTextField
898
899   .. image:: /images/GComboBox.png
900.. object:: Gdraw.GComboBoxMenu...    Inherits from GComboBox (This is the box drawn around the GListMark in a ComboBox)
901
902   .. image:: /images/GComboBoxMenu.png
903.. object:: Gdraw.GNumericField...    Inherits from GTextField
904
905   .. image:: /images/GNumericField.png
906.. object:: Gdraw.GNumericFieldSpinner...    Inherits from GNumericField
907
908   .. image:: /images/GNumericFieldSpinner.png
909.. object:: Gdraw.GList...
910            Gdraw.GScrollBar...
911            Gdraw.GScrollBarThumb...
912            Gdraw.GGroup... -- a frame around groups of gadgets.
913            Gdraw.GLine...
914            Gdraw.GMenu...
915            Gdraw.GMenuBar...
916            Gdraw.GTabSet...
917            Gdraw.GVTabSet...
918
919   As above.
920
921   Specifies the box, font, color, etc. for this particular type of ggadget.
922
923.. object:: Gdraw.GHVBox
924
925   A group of gadgets that sits inside ``GGroup`` and supports graceful reflow
926   of window contents in event of resizing. Modelled after GTK boxes. It's
927   supposed to be invisible, but interface developers might actually want to
928   style it.
929
930.. object:: Gdraw.GScrollBar.Width
931
932   An integer (points)
933
934   Specifies the scrollbar width in points (for horizontal scrollbars it
935   specifies the height)
936
937.. object:: Gdraw.GListMark.Width
938
939   An integer (points)
940
941   Specifies the width for the little mark at the end of comboboxes and drop
942   lists.
943
944.. object:: Gdraw.GListMark.Image
945
946   A filename of an image file
947
948   Will be used instead of GListMark.Box if present. This is either a fully
949   qualified pathname, or the filename of an image in the pixmap directory.
950
951.. object:: Gdraw.GListMark.DisabledImage
952
953   A filename of an image file
954
955   Will be used instead of GListMark.Box for disabled (non-clickable) instances,
956   if present. This is either a fully qualified pathname, or the filename of an
957   image in the pixmap directory.
958
959.. object:: Gdraw.GMenu.Grab
960
961   A boolean
962
963   Controls whether menus do pointer grabs. Debugging is easier if they don't.
964   Default is for them to do grabs.
965
966.. object:: Gdraw.GMenu.MacIcons
967
968   A boolean
969
970   Controls whether menus show shortcuts as the standard mac icons (cloverleaf
971   for Command key, up arrow for shift, ^ for control and wierd squiggle for
972   Option(Meta/Alt)) or as text ("Cnt-Shft-A"). Default is True on the mac and
973   False elsewhere.
974
975   .. list-table::
976
977      * - .. figure:: /images/MenuWithMacIcons.png
978
979             True
980        - .. figure:: /images/MenuWithoutMacIcons.png
981
982             False
983
984.. object:: Gdraw.GRadioOn.Image
985
986   A filename of an image file.
987
988   Used for drawing the "On" state of a radio button. (This is drawn within the
989   ``GRadioOn`` box, if you intend the image to be the entire radio marker you
990   should probably make the ``GRadioOn`` box be a blank rectangle). This is
991   either a fully qualified pathname, or the filename of an image in the pixmap
992   directory.
993
994.. object:: Gdraw.GRadioOn.DisabledImage
995
996   A filename of an image file.
997
998   Used for drawing the "On" state of a disabled (non-clickable) radio button.
999   (This is drawn within the ``GRadioOn`` box, if you intend the image to be the
1000   entire radio marker you should probably make the ``GRadioOn`` box be a blank
1001   rectangle). This is either a fully qualified pathname, or the filename of an
1002   image in the pixmap directory.
1003
1004.. object:: Gdraw.GRadioOff.Image
1005
1006   A filename of an image file.
1007
1008   Used for drawing the "Off" state of a radio button. (This is drawn within the
1009   ``GRadioOff`` box, if you intend the image to be the full radio marker you
1010   should probably make the ``GRadioOff`` box be a blank rectangle). This is
1011   either a fully qualified pathname, or the filename of an image in the pixmap
1012   directory.
1013
1014.. object:: Gdraw.GRadioOff.DisabledImage
1015
1016   A filename of an image file.
1017
1018   Used for drawing the "Off" state of a disabled (non-clickable) radio button.
1019   (This is drawn within the ``GRadioOff`` box, if you intend the image to be
1020   the full radio marker you should probably make the ``GRadioOff`` box be a
1021   blank rectangle). This is either a fully qualified pathname, or the filename
1022   of an image in the pixmap directory.
1023
1024.. object:: Gdraw.GCheckBoxOn.Image
1025
1026   A filename of an image file.
1027
1028   Used for drawing the "On" state of a check box button. (This is drawn within
1029   the ``GCheckBoxOn`` box, if you intend the image to be the complete check box
1030   marker you should probably make the ``GCheckBoxOn`` box be a blank
1031   rectangle). This is either a fully qualified pathname, or the filename of an
1032   image in the pixmap directory.
1033
1034.. object:: Gdraw.GCheckBoxOn.DisabledImage
1035
1036   A filename of an image file.
1037
1038   Used for drawing the "On" state of a disabled (non-clickable) check box
1039   button. (This is drawn within the ``GCheckBoxOn`` box, if you intend the
1040   image to be the complete check box marker you should probably make the
1041   ``GCheckBoxOn`` box be a blank rectangle). This is either a fully qualified
1042   pathname, or the filename of an image in the pixmap directory.
1043
1044.. object:: Gdraw.GCheckBoxOff.Image
1045
1046   A filename of an image file.
1047
1048   Used for drawing the "Off" state of a check box button. (This is drawn within
1049   the ``GCheckBoxOff`` box, if you intend the image to be the sole check box
1050   marker you should probably make the ``GCheckBoxOff`` box be a blank
1051   rectangle). This is either a fully qualified pathname, or the filename of an
1052   image in the pixmap directory.
1053
1054.. object:: Gdraw.GCheckBoxOff.DisabledImage
1055
1056   A filename of an image file.
1057
1058   Used for drawing the "Off" state of a disabled )non-clickable) check box
1059   button. (This is drawn within the ``GCheckBoxOff`` box, if you intend the
1060   image to be the sole check box marker you should probably make the
1061   ``GCheckBoxOff`` box be a blank rectangle). This is either a fully qualified
1062   pathname, or the filename of an image in the pixmap directory.
1063
1064.. object:: Gdraw.GVisibilityBoxOn.Image
1065
1066   A filename of an image file.
1067
1068   Used for drawing the "On" state of a visibility box button. (This is the
1069   "eye" drawn within the layers palette of glyph view). This is either a fully
1070   qualified pathname, or the filename of an image in the pixmap directory.
1071
1072.. object:: Gdraw.GVisibilityBoxOn.DisabledImage
1073
1074   A filename of an image file.
1075
1076   Used for drawing the "On" state of a disabled (non-clickable) visibility box
1077   button. (This is the "eye" drawn within the layers palette of glyph view).
1078   This is either a fully qualified pathname, or the filename of an image in the
1079   pixmap directory.
1080
1081.. object:: Gdraw.GVisibilityBoxOff.Image
1082
1083   A filename of an image file.
1084
1085   Used for drawing the "Off" state of a visibility box button. (This is the
1086   "eye" drawn within the layers palette of glyph view). This is either a fully
1087   qualified pathname, or the filename of an image in the pixmap directory.
1088
1089.. object:: Gdraw.GVisibilityBoxOff.DisabledImage
1090
1091   A filename of an image file.
1092
1093   Used for drawing the "Off" state of a disabled (non-clickable) visibility box
1094   button. (This is the "eye" drawn within the layers palette of glyph view).
1095   This is either a fully qualified pathname, or the filename of an image in the
1096   pixmap directory.
1097
1098.. object:: Gdraw.GMatrixEdit.TitleFont
1099
1100   A font.
1101
1102   The font used to draw titles in a GMatrixEdit. By default this is smaller and
1103   bolder than the font used for text in the matrix edit.
1104
1105.. object:: Gdraw.GMatrixEdit.TitleBG
1106
1107   A color.
1108
1109   Background color used for the titles of a matrix edit.
1110
1111.. object:: Gdraw.GMatrixEdit.TitleFG
1112
1113   A color.
1114
1115   Foreground color used to draw the text of the titles of a matrix edit.
1116
1117.. object:: Gdraw.GMatrixEdit.TitleDivider
1118
1119   A color.
1120
1121   Color used to draw the divider lines in the titles of a matrix edit.
1122
1123.. object:: Gdraw.GMatrixEdit.RuleCol
1124
1125   A color.
1126
1127   Used to draw the horizontal and vertical lines in the body of a matrix edit.
1128
1129.. object:: Gdraw.GMatrixEdit.FrozenCol
1130
1131   A color.
1132
1133   Used to draw text in a cell which is frozen (cannot but updated by the user)
1134
1135.. object:: Gdraw.GMatrixEdit.ActiveCol
1136
1137   A color.
1138
1139   Used to draw text in the cell which is active (and used for the "<New>"
1140   entry).
1141
1142.. object:: ...
1143
1144.. _xres.deprecated:
1145
1146.. object:: Deprecated
1147
1148   The following resources are deprecated and will be silently ignored.
1149
1150   * ``fontforge.FontView.FontFamily``
1151   * ``fontforge.FontView.SerifFamily``
1152   * ``fontforge.FontView.ScriptFamily``
1153   * ``fontforge.FontView.FrakturFamily``
1154   * ``fontforge.FontView.DoubleStruckFamily``
1155   * ``fontforge.FontView.SansFamily``
1156   * ``fontforge.FontView.MonoFamily``
1157   * ``Gdraw.GHVGroupBox``
1158
1159.. _xres.color:
1160
1161.. object:: Colors
1162
1163   Colors may be specified as:
1164
1165   * rgb(r,g,b)
1166
1167     where r,g and b are doubles between 0 and 1.0
1168   * argb(a,r,g,b)
1169
1170     where a,r,g, and b are doubles between 0 and 1.0
1171
1172     (The alpha channel is only supported in windows with cairo -- that is the
1173     glyph view. Alpha 1.0 is fully opaque, alpha 0.0 should be fully transparent,
1174     values in between are translucent. Since drawing something fully transparent
1175     has no effect, FontForge treats transparent spot colors as fully opaque).
1176   * rgb(r%,g%,b%)
1177
1178     where r, g, and b are doubles between 0% and 100%
1179   * hsv(h,s,v)
1180
1181     A color expressed as hue (between 0 and 360), saturation (0.0 and 1.0) and
1182     value (0.0 and 1.0)
1183   * hsl(h,s,l)
1184
1185     A color expressed as hue (between 0 and 360), saturation (0.0 and 1.0) and
1186     luminosity (0.0 and 1.0)
1187   * r g b
1188
1189     where r, g, and b are decimal integers between 0 and 255
1190   * #rgb
1191
1192     where r, g, and b are hex digits between 0 and 15 (0xf)
1193   * #rrggbb
1194
1195     where rr, gg, bb are hex numbers between 0x00 and 0xff
1196   * #aarrggbb
1197
1198     where aa, rr, gg, bb are hex numbers between 0x00 and 0xff
1199
1200     (The alpha channel is only supported in cairo windows. If alpha is 0, then
1201     fontforge will treat the color as opaque because drawing a completely
1202     transparent spot color does nothing).
1203   * #rrrrggggbbbb
1204
1205     where rrrr, gggg, bbbb are hex numbers between 0x0000 and 0xffff
1206   * or one of the color names accepted on the net (red, green, blue, cyan,
1207     magenta, yellow, white, black, maroon, olive, navy, purple, lime, aqua, teal,
1208     fuchsia, silver)
1209
1210.. _xres.font:
1211
1212.. object:: Fonts
1213
1214   A font may be specified as:
1215
1216   <boldness> <italicness> <pointsize> <familyname>
1217
1218   (I know the order looks a bit weird but that's what is used by css).
1219
1220   * <boldness> can be:
1221
1222     * nothing -- the font is not bold
1223     * bold -- the font is bold
1224     * a number -- (between 0 and 999), a numeric value that gives some idea of how
1225       bold the font should be. 200 would be a light font, 400 an normal font, 700 a
1226       bold font and 999 and ultra-black font.
1227   * <italicness> can be:
1228
1229     * nothing -- the font is not italic
1230     * italic -- the font is italic
1231     * oblique -- the font is oblique (italic)
1232   * <pointsize> can be:
1233
1234     * nothing -- a default point size is chosen
1235     * a number followed by "pt" -- specifies the point size.
1236
1237   Examples
1238
1239   * bold 14pt helvetica
1240
1241     Helvetica Bold at 14 points
1242   * italic 10pt times
1243
1244     Times italic at 10 points
1245
1246
1247.. _xres.Keyboards:
1248
1249Keyboards and Mice.
1250-------------------
1251
1252FontForge assumes that your keyboard has a control key and some equivalent of a
1253meta key. FontForge works best with a three button mouse.
1254
1255Almost all keyboards now-a-days will have the needed modifier keys, but which
1256key is used for what will depend on the keyboard and the OS (for instance
1257XDarwin and suse linux use quite different mappings for the modifier keys on the
1258mac keyboard). Usually this is only relevant for menus (and mnemonics).
1259FontForge tries to guess the keyboard from the environment in which it was
1260compiled. But with X this may not always be appropriate. So the
1261":ref:`Gdraw.Keyboard <xres.Keyboard>`" resource above may be used to change
1262this. (Currently this setting only control the labels that appear in menus for
1263the hotkeys).
1264
1265Mice are more problematic. On PCs we usually have two button mice and on mac
1266single button mice. Many linuxes that run on a PC will give you an option of
1267simulating the middle button of the mouse by depressing the left and right
1268buttons simultaneously. FontForge will also allow you to simulate it by holding
1269down the super key (usually this is the one with the picture of a windows flag
1270on it) while depressing either mouse button.
1271
1272On the mac I don't see any good way of simulating a three button mouse...