File: geda-gaf_utility.html

package info (click to toggle)
lepton-eda 1.9.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 41,024 kB
  • sloc: ansic: 66,688; lisp: 29,508; sh: 6,792; makefile: 3,111; perl: 1,404; pascal: 1,161; lex: 887; sed: 16; cpp: 8
file content (1040 lines) | stat: -rw-r--r-- 38,340 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="dokuwiki export">

<p>
<em>Translations:</em> <a href="geda-gaf_utility.ru.html" class="wikilink1" title="geda-gaf_utility.ru.html">Русский</a>
</p>

<h1 class="sectionedit1"><a name="gaf_-_geda_gaf_command-line_utility" id="gaf_-_geda_gaf_command-line_utility">gaf - gEDA/gaf Command-Line Utility</a></h1>
<div class="level1">

<p>
<strong>gaf</strong> provides a number of small command-line utilities for
working with schematic and symbol files, and is designed to be
used for batch processing of designs created using the schematic
editor <a href="geda-gschem_ug.html" class="wikilink1" title="geda-gschem_ug.html">gschem</a>. It currently has three built-in
commands:
</p>
<ul>
<li class="level1"><div class="li"> <a href="#gaf_export" title="geda:gaf_utility &crarr;" class="wikilink1">gaf export</a> is used to create <acronym title="Scalable Vector Graphics">SVG</acronym>, <acronym title="Portable Document Format">PDF</acronym>, <acronym title="Portable Network Graphics">PNG</acronym>, PS and EPS files from schematic and symbol files, for printing or embedding in other documents.</div>
</li>
<li class="level1"><div class="li"> <a href="#gaf_config" title="geda:gaf_utility &crarr;" class="wikilink1">gaf config</a> allows reading and writing settings in gEDA project, user and system configuration stores.</div>
</li>
<li class="level1"><div class="li"> <a href="#gaf_shell" title="geda:gaf_utility &crarr;" class="wikilink1">gaf shell</a> provides a Scheme REPL for command-line batch processing of schematic data.</div>
</li>
</ul>

<p>
See the <em>gaf(1)</em> manual page for more information on the utility
options.
</p>

</div>
<!-- EDIT1 SECTION "gaf - gEDA/gaf Command-Line Utility" [54-804] -->
<h2 class="sectionedit2"><a name="gaf_export" id="gaf_export">gaf export</a></h2>
<div class="level2">

<p>
The detailed description of the <strong>gaf export</strong> command can be
found in the <em>gaf(1)</em> manual page.
</p>

</div>
<!-- EDIT2 SECTION "gaf export" [805-927] -->
<h2 class="sectionedit3"><a name="gaf_config" id="gaf_config">gaf config</a></h2>
<div class="level2">

<p>
This section describes how to set up <strong>gschem</strong> and <strong>gnetlist</strong>
using the <strong>gaf config</strong> command.
</p>

<p>
See the <em>gaf(1)</em> manual page for more information on the utility
options.
</p>

</div>
<!-- EDIT3 SECTION "gaf config" [928-1127] -->
<h3 class="sectionedit4"><a name="configuration_files" id="configuration_files">Configuration files</a></h3>
<div class="level3">

<p>
Configuration settings used to configure these programs are
written to gEDA config files.
These files are:
</p>
<ul>
<li class="level1"><div class="li"> <em><code>geda-system.conf</code></em> for system-wide settings. The system-wide config file is sequentially searched in three places:</div>
<ul>
<li class="level2"><div class="li"> in <em><code>${XDG_CONFIG_DIRS}/gEDA</code></em>, see the <a href="http://standards.freedesktop.org/basedir-spec/latest/" class="urlextern" title="http://standards.freedesktop.org/basedir-spec/latest/"  rel="nofollow">XDG Base Directory Specification</a> for more information on that environment variable,</div>
</li>
<li class="level2"><div class="li"> if no system configuration was found there, in the traditional location of gEDA rc-files, i.e. in the <em><code>${PREFIX}/share/gEDA</code></em> directory, where <code>${PREFIX}</code> is a compiled default, usually <em><code>/usr</code></em> or <em><code>/usr/local</code></em> (but Debian based distributions use the <em><code>/etc/gEDA</code></em> directory instead),</div>
</li>
<li class="level2"><div class="li"> and finally, if no configuration file was found yet, in an XDG default directory or, if it is not defined, in the <em><code>/etc/xdg/gEDA</code></em> directory.</div>
</li>
</ul>
</li>
<li class="level1"><div class="li"> <em><code>$HOME/.gEDA/geda-user.conf</code></em> for user settings.</div>
</li>
<li class="level1"><div class="li"> <em><code>path/to/a/project/geda.conf</code></em> for your local project settings.</div>
</li>
</ul>

<p>
Note that you can edit these files manually using your favorite
text editor.
</p>

<p>
The config file format is described in this
<a href="http://standards.freedesktop.org/desktop-entry-spec/1.0/" class="urlextern" title="http://standards.freedesktop.org/desktop-entry-spec/1.0/"  rel="nofollow">freedesktop.org
standard</a>.
</p>

<p>
All the config files consist of sections, called groups,
containing key-value pairs.
</p>

<p>
Key values in the gEDA config files may be single numbers or
lists.  Note that unlike the <a href="#gaf_export" title="geda:gaf_utility &crarr;" class="wikilink1">gaf export</a> command, where
several list separators can be used, the only separator between
list values in the config files is semicolon &#039;;&#039;. Another difference
is that,  when using the <strong>gaf config</strong> command, you always have
to specify all parameters of the used list. Thus, for example, the
next command will not work properly:
</p>
<pre class="code">gaf config --project export size 1000</pre>

<p>
The right command will look like this:
</p>
<pre class="code">gaf config --project export size &quot;1000;1000&quot;</pre>

<p>
All sizes should be given in Adobe points (72 points = 1 inch).
Suffixes such as “pt”, “mm” and others, which can be used with the
<a href="#gaf_export" title="geda:gaf_utility &crarr;" class="wikilink1">gaf export</a> command, do not work in the config files.
</p>

<p>
Next sections describe all existing groups.
</p>

</div>
<!-- EDIT4 SECTION "Configuration files" [1128-3260] -->
<h3 class="sectionedit5"><a name="export_group" id="export_group">export group</a></h3>
<div class="level3">

<p>
<em><strong>Table 1.</strong></em> <strong>export</strong> group parameters
</p>
<div class="table sectionedit6"><table class="inline">
	<tr class="row0">
		<th class="col0 centeralign">  Key        </th><th class="col1 leftalign"> Format                                                                </th><th class="col2 centeralign">  Default               </th>
	</tr>
	<tr class="row1">
		<td class="col0 leftalign"> align       </td><td class="col1 leftalign"> string “auto” or list of two integers in the form <code>HALIGN;VALIGN</code>   </td><td class="col2 centeralign">  auto                  </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign"> dpi         </td><td class="col1 leftalign"> integer                                                               </td><td class="col2 centeralign">  96                    </td>
	</tr>
	<tr class="row3">
		<td class="col0 leftalign"> font        </td><td class="col1 leftalign"> string                                                                </td><td class="col2 centeralign">  Arial                 </td>
	</tr>
	<tr class="row4">
		<td class="col0 leftalign"> layout      </td><td class="col1 leftalign"> predefined string: “portrait”, “landscape”, or “auto”                 </td><td class="col2 centeralign">  auto                  </td>
	</tr>
	<tr class="row5">
		<td class="col0 leftalign"> margins     </td><td class="col1 leftalign"> list of four integers in the form <code>TOP;LEFT;BOTTOM;RIGHT</code>           </td><td class="col2 centeralign">  18;18;18;18           </td>
	</tr>
	<tr class="row6">
		<td class="col0 leftalign"> monochrome  </td><td class="col1 leftalign"> boolean                                                               </td><td class="col2 centeralign">  true                  </td>
	</tr>
	<tr class="row7">
		<td class="col0 leftalign"> paper       </td><td class="col1 leftalign"> predefined paper size string                                          </td><td class="col2 centeralign">  <em>locale dependent</em>  </td>
	</tr>
	<tr class="row8">
		<td class="col0 leftalign"> size        </td><td class="col1 leftalign"> string “auto” or list of two integers in the form <code>HEIGHT;WIDTH</code>    </td><td class="col2 centeralign">  auto                  </td>
	</tr>
</table></div>
<!-- EDIT6 TABLE [3329-4345] -->
</div>

<h4><a name="align" id="align">align</a></h4>
<div class="level4">

<p>
Set how the drawing is aligned within the page. <code>HALIGN</code>
controls the horizontal alignment, and <code>VALIGN</code> the vertical.
Each alignment value should be in the range 0.0 to 1.0. The “auto”
alignment is equivalent to a value of <code>0.5:0.5</code>, i.e. centered.
</p>

<p>
For <a href="#gaf_export" title="geda:gaf_utility &crarr;" class="wikilink1">gaf export</a> command, you can use your locale&#039;s separator if
you use it without quotes. In such a case your shell will interpret
the numbers for you. You cannot do this for <strong>gaf config</strong>
since the align key is a string. You must use a dot as the separator
for floating point numbers when you write that string in a config
file. See <a href="#examples" title="geda:gaf_utility &crarr;" class="wikilink1">examples</a> below.
</p>

</div>

<h4><a name="dpi" id="dpi">dpi</a></h4>
<div class="level4">

<p>
Set the number of pixels per inch used when generating <acronym title="Portable Network Graphics">PNG</acronym> output.
</p>

</div>

<h4><a name="font" id="font">font</a></h4>
<div class="level4">

<p>
Set the font to be used for drawing text.
</p>

<p>
See the section <a href="#fonts" title="geda:gaf_utility &crarr;" class="wikilink1">Fonts</a> below for more information on fonts
selection.
</p>

</div>

<h4><a name="layout" id="layout">layout</a></h4>
<div class="level4">

<p>
When using a paper size, set the orientation of the output.  If
“auto” layout is used, the orientation that best fits the
drawing will be used.
</p>

</div>

<h4><a name="margins" id="margins">margins</a></h4>
<div class="level4">

<p>
Set the widths of the margins to be used.
</p>

<p>
Margins can actually be wider than the values set in a config
file since these values only specify the minimal distances from
the sheet edges, and the sizes of the chosen paper may not meet
the sizes of the printed schematic with the margins. If not
specified, default margin size is 18pt for all margins.
</p>

<p>
Note: setting less than four numbers for the margin key or using
of any unit suffixes will not work.
</p>

</div>

<h4><a name="monochrome" id="monochrome">monochrome</a></h4>
<div class="level4">

<p>
Toggle monochrome or color output.
</p>

</div>

<h4><a name="paper" id="paper">paper</a></h4>
<div class="level4">

<p>
Size the output for a particular paper size.
</p>

<p>
Legal paper sizes are described in the
<a href="ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf" class="urlextern" title="ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf"  rel="nofollow"> PWG 5101.1-2002 Standard</a> (<code>iso_a4</code>, <code>iso_a3</code>,
<code>na_letter</code>, <code>na_legal</code>, etc).
The default paper size depends on the current locale. For instance,
it is <code>A4</code> when <code>ru_RU.UTF-8</code> is used whereas it is <code>letter</code>
for the <code>en_US.UTF-8</code> locale.
</p>

</div>

<h4><a name="size" id="size">size</a></h4>
<div class="level4">

<p>
Size the output with specific dimensions.  If the size is
“auto”, select the size that best fits the drawing.
</p>

<p>
The paper size set by the <code>size</code> key overrides that one set by the
<code>paper</code> key. Note: setting only one number for the <code>size</code> key
or using of any unit suffixes will not work.
</p>

</div>
<!-- EDIT5 SECTION "export group" [3261-6606] -->
<h3 class="sectionedit7"><a name="gnetlist_group" id="gnetlist_group">gnetlist group</a></h3>
<div class="level3">

<p>
<em><strong>Table 2.</strong></em> <strong>gnetlist</strong> group parameters
</p>
<div class="table sectionedit8"><table class="inline">
	<tr class="row0">
		<th class="col0 centeralign">  Key                 </th><th class="col1 centeralign">  Format                                                   </th><th class="col2 centeralign">  Default              </th>
	</tr>
	<tr class="row1">
		<td class="col0 leftalign"> default-bus-name     </td><td class="col1 leftalign"> string                                                    </td><td class="col2 centeralign">  unnamed_bus          </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign"> default-net-name     </td><td class="col1 leftalign"> string                                                    </td><td class="col2 centeralign">  unnamed_net          </td>
	</tr>
	<tr class="row3">
		<td class="col0 leftalign"> net-naming-priority  </td><td class="col1"> predefined string: “net-attribute” or “netname-attribute” </td><td class="col2 centeralign">  net-attribute        </td>
	</tr>
	<tr class="row4">
		<td class="col0 leftalign"> traverse-hierarchy   </td><td class="col1 leftalign"> boolean                                                   </td><td class="col2 centeralign">  true                 </td>
	</tr>
</table></div>
<!-- EDIT8 TABLE [6679-7223] -->
</div>

<h4><a name="default-bus-name" id="default-bus-name">default-bus-name</a></h4>
<div class="level4">

<p>
Define the default bus name for the buses unnamed in the
schematic.
</p>

<p>
Buses are still not used by any gnetlist backend, so this
parameter is not useful yet.
</p>

</div>

<h4><a name="default-net-name" id="default-net-name">default-net-name</a></h4>
<div class="level4">

<p>
Define the default net name for the nets unnamed in the
schematic.
</p>

<p>
It is used to create netnames of the form “unnamed_netN”
where <code>N</code> is a number.
</p>

</div>

<h4><a name="net-naming-priority" id="net-naming-priority">net-naming-priority</a></h4>
<div class="level4">

<p>
Specify which attribute, <code>net</code> or <code>netname</code>, has priority if a
net is found with two names.  Any netname conflict will be
resolved using the chosen attribute.
</p>

<p>
This option is used when both <code>net</code> and <code>netname</code>
attributes are defined for some nets in your schematic and you want
to specify which one should define the net names that gnetlist will
use for netlisting. See the net= attribute mini-HOWTO
and Master attributes list for more
information on these attributes.
</p>

</div>

<h4><a name="traverse-hierarchy" id="traverse-hierarchy">traverse-hierarchy</a></h4>
<div class="level4">

<p>
Decides if the hierarchy is traversed or not.  If this is disabled
then <strong>gnetlist</strong> will not go down searching for any underlying
sources.
</p>

</div>
<!-- EDIT7 SECTION "gnetlist group" [6607-8296] -->
<h3 class="sectionedit9"><a name="gschem_group" id="gschem_group">gschem group</a></h3>
<div class="level3">

<p>
<em><strong>Table 3.</strong></em> <strong>gschem</strong> group parameters
</p>
<div class="table sectionedit10"><table class="inline">
	<tr class="row0">
		<th class="col0 centeralign">  Key              </th><th class="col1 centeralign">  Format  </th><th class="col2 centeralign">  Default   </th>
	</tr>
	<tr class="row1">
		<td class="col0 leftalign"> default-filename  </td><td class="col1 leftalign"> string   </td><td class="col2 centeralign">  untitled  </td>
	</tr>
</table></div>
<!-- EDIT10 TABLE [8365-8456] -->
</div>

<h4><a name="default-filename" id="default-filename">default-filename</a></h4>
<div class="level4">

<p>
Define the default file name for any new schematic files created
in <strong>gschem</strong>.
</p>

<p>
It is used to create filenames of the form “untitled_N.sch”
where <code>N</code> is a number.
</p>

</div>
<!-- EDIT9 SECTION "gschem group" [8297-8650] -->
<h3 class="sectionedit11"><a name="gschemlibrary_group" id="gschemlibrary_group">gschem.library group</a></h3>
<div class="level3">

<p>
<em><strong>Table 4.</strong></em> <strong>gschem.library</strong> group parameters
</p>
<div class="table sectionedit12"><table class="inline">
	<tr class="row0">
		<th class="col0 centeralign">  Key                    </th><th class="col1 centeralign">  Format                                                   </th><th class="col2 centeralign">  Default              </th>
	</tr>
	<tr class="row1">
		<td class="col0 leftalign"> component-attributes    </td><td class="col1 leftalign"> comma separated list of attribute names                   </td><td class="col2 centeralign">  *                    </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign"> sort                    </td><td class="col1 leftalign"> boolean                                                   </td><td class="col2 centeralign">  false                </td>
	</tr>
</table></div>
<!-- EDIT12 TABLE [8735-9070] -->
</div>

<h4><a name="component-attributes" id="component-attributes">component-attributes</a></h4>
<div class="level4">

<p>
Holds a list of attribute names that are displayed in the
component select dialog.
</p>

<p>
Symbol attributes in the dialog are sorted in the same order as they appear in the
list.  If the first list element is an asterisk “*”, all
attributes will be displayed in the alphabetical order.  An empty list
will disable the attribute view in the dialog.
</p>

</div>

<h4><a name="sort" id="sort">sort</a></h4>
<div class="level4">

<p>
Sort the component library.
</p>

<p>
If the value of this attribute is true, the component libraries
are sorted alphabetically. Otherwise they are sorted in the order
opposite to what they were added in.
</p>

</div>
<!-- EDIT11 SECTION "gschem.library group" [8651-9654] -->
<h3 class="sectionedit13"><a name="gschemprinting_group" id="gschemprinting_group">gschem.printing group</a></h3>
<div class="level3">

<p>
<em><strong>Table 5.</strong></em> <strong>gschem.printing</strong> group parameters
</p>
<div class="table sectionedit14"><table class="inline">
	<tr class="row0">
		<th class="col0 centeralign">  Key        </th><th class="col1 centeralign">  Format                                                   </th><th class="col2 centeralign">  Default               </th>
	</tr>
	<tr class="row1">
		<td class="col0 leftalign"> layout      </td><td class="col1 leftalign"> predefined string: “portrait”, “landscape”, or “auto”     </td><td class="col2 centeralign">  auto                  </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign"> monochrome  </td><td class="col1 leftalign"> boolean                                                   </td><td class="col2 centeralign">  false                 </td>
	</tr>
	<tr class="row3">
		<td class="col0 leftalign"> paper       </td><td class="col1 leftalign"> predefined paper size string                              </td><td class="col2 centeralign">  <em>locale dependent</em>  </td>
	</tr>
</table></div>
<!-- EDIT14 TABLE [9741-10144] -->
</div>

<h4><a name="layout1" id="layout1">layout</a></h4>
<div class="level4">

<p>
When using a paper size, set the orientation of the output.  If
“auto” layout is used, the orientation that best fits the
drawing will be used.
</p>

<p>
<strong>gschem</strong> page orientation is intended to output pages to a
printer rather than to <acronym title="Portable Document Format">PDF</acronym>, so the value “auto” means that if
you output pages to <acronym title="Portable Document Format">PDF</acronym> you will get rotated landscape instead of
ordinary. To get readable <acronym title="Portable Document Format">PDF</acronym> with pages in landscape use instead
the <a href="#gaf_export" title="geda:gaf_utility &crarr;" class="wikilink1">gaf export</a> command, and set to “auto” the <code>layout</code> key
in the <a href="#export_group" title="geda:gaf_utility &crarr;" class="wikilink1">export group</a>.
</p>

<p>
Note: as of now, printing using the script <em><code>print.scm</code></em> doesn&#039;t
use the <code>layout</code> key setting.
</p>

</div>

<h4><a name="paper1" id="paper1">paper</a></h4>
<div class="level4">

<p>
Size the output for a particular paper size.
</p>

<p>
The default <code>paper</code> value depends on the current locale.
See the notes on the paper size above in the description of the
<code>paper</code> key for the <a href="#export_group" title="geda:gaf_utility &crarr;" class="wikilink1">export group</a>.
</p>

</div>

<h4><a name="monochrome1" id="monochrome1">monochrome</a></h4>
<div class="level4">

<p>
Toggle monochrome or color output.
</p>

<p>
It is intended that unlike the <code>monochrome</code> value in the
<a href="#export_group" title="geda:gaf_utility &crarr;" class="wikilink1">export group</a>, the key value in this group is <code>false</code>.
</p>

</div>
<!-- EDIT13 SECTION "gschem.printing group" [9655-11157] -->
<h3 class="sectionedit15"><a name="gschemdialog-geometry_groups" id="gschemdialog-geometry_groups">gschem.dialog-geometry.* groups</a></h3>
<div class="level3">

<p>
These groups include:
</p>
<ul>
<li class="level1"><div class="li"> gschem.dialog-geometry.arc-angle</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.autonumber</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.color-edit</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.compselect</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.coord</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.fill-type</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.find-text</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.hide-text</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.hotkeys</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.line-type</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.log</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.multiattrib</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.pin-type-edit</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.show-text</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.singleattrib</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.slot-edit</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.snap-size</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.text-edit</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.text-entry</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.text-size</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.translate</div>
</li>
</ul>

<p>
There are two special groups having additional settings:
</p>
<ul>
<li class="level1"><div class="li"> gschem.dialog-geometry.compselect</div>
</li>
<li class="level1"><div class="li"> gschem.dialog-geometry.multiattrib</div>
</li>
</ul>

<p>
<em><strong>Table 5.</strong></em> <strong> gschem.dialog-geometry.* </strong> groups parameters
</p>
<div class="table sectionedit16"><table class="inline">
	<tr class="row0">
		<th class="col0 centeralign" colspan="3">  All dialogs                                                                                              </th>
	</tr>
	<tr class="row1">
		<th class="col0 centeralign">  Key                    </th><th class="col1 centeralign">  Format                                                   </th><th class="col2 centeralign">  Default              </th>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign"> x                       </td><td class="col1 leftalign"> integer                                                   </td><td class="col2 centeralign">  -                    </td>
	</tr>
	<tr class="row3">
		<td class="col0 leftalign"> y                       </td><td class="col1 leftalign"> integer                                                   </td><td class="col2 centeralign">  -                    </td>
	</tr>
	<tr class="row4">
		<td class="col0 leftalign"> width                   </td><td class="col1 leftalign"> integer                                                   </td><td class="col2 centeralign">  -                    </td>
	</tr>
	<tr class="row5">
		<td class="col0 leftalign"> height                  </td><td class="col1 leftalign"> integer                                                   </td><td class="col2 centeralign">  -                    </td>
	</tr>
	<tr class="row6">
		<th class="col0 centeralign" colspan="3">  gschem.dialog-geometry.compselect                                                                        </th>
	</tr>
	<tr class="row7">
		<th class="col0 centeralign">  Key                    </th><th class="col1 centeralign">  Format                                                   </th><th class="col2 centeralign">  Default              </th>
	</tr>
	<tr class="row8">
		<td class="col0 leftalign"> hpaned                  </td><td class="col1 leftalign"> integer                                                   </td><td class="col2 centeralign">  -                    </td>
	</tr>
	<tr class="row9">
		<td class="col0 leftalign"> vpaned                  </td><td class="col1 leftalign"> integer                                                   </td><td class="col2 centeralign">  -                    </td>
	</tr>
	<tr class="row10">
		<td class="col0 leftalign"> source-tab              </td><td class="col1 leftalign"> 0 or 1                                                    </td><td class="col2 centeralign">  1                    </td>
	</tr>
	<tr class="row11">
		<th class="col0 centeralign" colspan="3">  gschem.dialog-geometry.multiattrib                                                                       </th>
	</tr>
	<tr class="row12">
		<th class="col0 centeralign">  Key                    </th><th class="col1 centeralign">  Format                                                   </th><th class="col2 centeralign">  Default              </th>
	</tr>
	<tr class="row13">
		<td class="col0 leftalign"> show_inherited          </td><td class="col1 leftalign"> boolean                                                   </td><td class="col2 centeralign">  true                 </td>
	</tr>
</table></div>
<!-- EDIT16 TABLE [12202-13769] -->
<p>
Note: all these values are automatically stored in the user
configuration files. You can change them manually, but the values
will be overwritten next time the dialog in question changes its
size or other value mentioned in the table. If you edit the values
when <strong>gschem</strong> is running they will be silently overwritten after
it closes.
</p>

</div>

<h4><a name="x" id="x">x</a></h4>
<div class="level4">

<p>
X position of the dialog window.
</p>

</div>

<h4><a name="y" id="y">y</a></h4>
<div class="level4">

<p>
Y position of the dialog window.
</p>

</div>

<h4><a name="width" id="width">width</a></h4>
<div class="level4">

<p>
Width of the dialog window.
</p>

</div>

<h4><a name="height" id="height">height</a></h4>
<div class="level4">

<p>
Height of the dialog window.
</p>

</div>

<h4><a name="hpaned" id="hpaned">hpaned</a></h4>
<div class="level4">

<p>
Width of the horizontal pane where components are selected in the
component select dialog.
</p>

</div>

<h4><a name="vpaned" id="vpaned">vpaned</a></h4>
<div class="level4">

<p>
Height of the vertical pane containing component preview in the
component select dialog.
</p>

</div>

<h4><a name="source-tab" id="source-tab">source-tab</a></h4>
<div class="level4">

<p>
This value determines which tab will be opened when you bring up
the component selection dialog. 0 means that the “In use” tab will
be chosen, 1 means that the “Libraries” tab will be chosen.
</p>

</div>

<h4><a name="show_inherited" id="show_inherited">show_inherited</a></h4>
<div class="level4">

<p>
Visibility setting for inherited attributes in the multiattrib
dialog.
</p>

</div>
<!-- EDIT15 SECTION "gschem.dialog-geometry.* groups" [11158-14803] -->
<h2 class="sectionedit17"><a name="gaf_shell" id="gaf_shell">gaf shell</a></h2>
<div class="level2">

<p>
<strong>gaf shell</strong> provides a Scheme Read-Eval-Print Loop (REPL) for
automating processing of schematic and symbol files. It is
designed to be used with the gEDA Scheme <acronym title="Application Programming Interface">API</acronym>. See the <em>gaf(1)</em>
manual page for more information on the utility options, and
<strong>info geda-scheme</strong> on which gEDA Scheme procedures you can use.
</p>

</div>
<!-- EDIT17 SECTION "gaf shell" [14804-15142] -->
<h2 class="sectionedit18"><a name="fonts" id="fonts">Fonts</a></h2>
<div class="level2">

<p>
On Linux, font configuring is handled by <strong>Fontconfig</strong>, and modern
systems (particularly <strong>pango</strong> and <strong>cairo</strong>) rely on its library in
looking up any font specified. You can provide the <strong>gaf</strong> command
with a pattern containing the font name wanted and, optionally,
with some settings for that font.
Fontconfig performs matching of the pattern against all the
fonts available in your system. The closest matching font is
selected. This ensures that a font will always be returned, but
doesn&#039;t ensure that it is anything like the requested pattern.
</p>

<p>
If you want to find out which fonts are available in your system,
you can use the <em>fc-list(1)</em> utility from the fontconfig package. To
check whether fontconfig could find an appropriate font by the
specified pattern (or to see which font will correspond to your
pattern), use the <em>fc-match(1)</em> utility.
</p>

<p>
See the
<a href="http://freedesktop.org/software/fontconfig/fontconfig-user.html" class="urlextern" title="http://freedesktop.org/software/fontconfig/fontconfig-user.html"  rel="nofollow">fontconfig
documentation</a> for more information on how to specify the font
name you want to use.
</p>

<p>
In some circumstances, the font system can even embed more than one
font into your document. This occurs, for instance, if the most
appropriate font chosen by fontconfig doesn&#039;t contain some glyphs
for one of the languages used in the document. In this case it will
add some other font that does have the glyphs required.
</p>

<p>
The next table lists possible settings (acquired from the Pango
documentation) which you can use in your font name patterns. See
also the <a href="#examples" title="geda:gaf_utility &crarr;" class="wikilink1">Examples</a> section below.
</p>

<p>
<em><strong>Table 6.</strong></em> Possible font settings
</p>
<div class="table sectionedit19"><table class="inline">
	<tr class="row0">
		<th class="col0"> Setting </th><th class="col1"> Value </th>
	</tr>
	<tr class="row1">
		<td class="col0 leftalign"> Style   </td><td class="col1"> Normal<br/>
Oblique<br/>
Italic </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign"> Weight  </td><td class="col1"> Thin<br/>
Ultralight<br/>
Light<br/>
Book<br/>
Normal<br/>
Medium<br/>
Semibold<br/>
Bold<br/>
Ultrabold<br/>
Heavy<br/>
Ultraheavy </td>
	</tr>
	<tr class="row3">
		<td class="col0"> Variant </td><td class="col1">Normal<br/>
SmallCaps </td>
	</tr>
	<tr class="row4">
		<td class="col0"> Stretch </td><td class="col1"> UltraCondensed<br/>
ExtraCondensed<br/>
Condensed<br/>
SemiCondensed<br/>
Normal<br/>
SemiExpanded<br/>
Expanded<br/>
ExtraExpanded<br/>
UltraExpanded </td>
	</tr>
</table></div>
<!-- EDIT19 TABLE [16724-17072] -->
</div>
<!-- EDIT18 SECTION "Fonts" [15143-17074] -->
<h2 class="sectionedit20"><a name="examples" id="examples">Examples</a></h2>
<div class="level2">

</div>
<!-- EDIT20 SECTION "Examples" [17075-17095] -->
<h3 class="sectionedit21"><a name="set_up_exporting" id="set_up_exporting">Set up exporting</a></h3>
<div class="level3">

<p>
Use the “landscape” layout by default for a local project:
</p>
<pre class="code">gaf config --project export layout landscape</pre>

<p>
Use the “letter” paper size by default for all your printouts:
</p>
<pre class="code">gaf config --user export paper na_letter</pre>

<p>
Set paper size to the definite value of 1&times;2 inch for a local
project:
</p>
<pre class="code">gaf config --project export size &quot;72;144&quot;</pre>

<p>
Set margins as a half of inch for left and right sides and as a
quarter of inch for top and bottom for a local project:
</p>
<pre class="code">gaf config --project export margins &quot;18;36;18;36&quot;</pre>

<p>
This command will align your project&#039;s schematics to the right.
</p>
<pre class="code">gaf config --project export align &quot;1.0;0.5&quot;</pre>

<p>
This command is wrong, it doesn&#039;t work for you even if your locale
uses comma as a separator for floating point numbers:
</p>
<pre class="code">gaf config --project export align &quot;1,0;0,0&quot;</pre>

<p>
This command, though, works in this case (e.g., in the ru_RU.UTF-8
locale):
</p>
<pre class="code">gaf export -a 0,0:1.0 -o file.pdf file.sch</pre>

<p>
Note, that I use <strong><code>gaf export</code></strong> here, not <strong><code>gaf config</code></strong>.
</p>

<p>
To print all your schematics in color (note: “False” or “FALSE”
will not work):
</p>
<pre class="code">gaf config --project export monochrome false</pre>

<p>
Set up a custom user font:
</p>
<pre class="code">gaf config --user export font &quot;OpenGost Type B TT Italic&quot;</pre>

<p>
Choose another font for a local project:
</p>
<pre class="code">gaf config --project export font &quot;Arial Bold&quot;</pre>

</div>
<!-- EDIT21 SECTION "Set up exporting" [17096-18390] -->
<h3 class="sectionedit22"><a name="set_up_netlisting" id="set_up_netlisting">Set up netlisting</a></h3>
<div class="level3">

<p>
Use more short net and bus names in all netlists created by the
user:
</p>
<pre class="code">gaf config --user gnetlist default-net-name net
gaf config --user gnetlist default-bus-name bus</pre>

<p>
Ensure that a local project will use hierarchical net
names despite of settings in <em><code>geda-user.conf</code></em>:
</p>
<pre class="code">gaf config --project gnetlist traverse-hierarchy true</pre>

<p>
Rename nets connecting to <em><code>gnd-1.sym</code></em> (and other symbols
having the <code>net</code> attribute) if they have the <code>netname</code>
attribute:
</p>
<pre class="code">gaf config --project gnetlist net-naming-priority netname-attribute</pre>

</div>
<!-- EDIT22 SECTION "Set up netlisting" [18391-18955] -->
<h3 class="sectionedit23"><a name="set_up_gschem" id="set_up_gschem">Set up gschem</a></h3>
<div class="level3">

<p>
Use shorter names for new files:
</p>
<pre class="code">gaf config --user gschem default-filename empty</pre>

</div>
<!-- EDIT23 SECTION "Set up gschem" [18956-19063] -->
<h3 class="sectionedit24"><a name="set_up_gschem_library_view" id="set_up_gschem_library_view">Set up gschem library view</a></h3>
<div class="level3">

<p>
This command explicitly tells that you want to always show
all attributes:
</p>
<pre class="code">gaf config --project gschem.library component-attributes &quot;*&quot;</pre>

<p>
Please be careful when using this command in the command line. If
you forget the quotes, your shell will substitute the first file
name in the working directory file list for the
attribute name. This is most likely not what you want.
</p>

<p>
Display only attributes that are in the filter list:
</p>
<pre class="code">gaf config --project gschem.library component-attributes &quot;refdes;device;description&quot;</pre>

<p>
Don&#039;t show any attributes in the component select dialog:
</p>
<pre class="code">gaf config --project gschem.library component-attributes &quot;&quot;</pre>

<p>
The same as before. However, this command will not work because the
specified string separates values with commas instead semicolons,
so the whole string will be considered one attribute name:
</p>
<pre class="code">gaf config --project gschem.library component-attributes &quot;refdes,device,description&quot;</pre>

<p>
Sort the component library in <strong>gschem</strong> alphabetically:
</p>
<pre class="code">gaf config --user gschem.library sort true</pre>

</div>
<!-- EDIT24 SECTION "Set up gschem library view" [19064-20116] -->
<h3 class="sectionedit25"><a name="set_up_gschem_printing" id="set_up_gschem_printing">Set up gschem printing</a></h3>
<div class="level3">

<p>
Choose <code>landscape</code> as the default orientation for a local
project when printing from within <strong>gschem</strong>:
</p>
<pre class="code">gaf config --project gschem.printing layout landscape</pre>

<p>
Use the A5 paper size when printing from within <strong>gschem</strong>:
</p>
<pre class="code">gaf config --project gschem.printing paper iso_a5</pre>

<p>
Always use B&amp;W printing output from within <strong>gschem</strong>:
</p>
<pre class="code">gaf config --user gschem.printing monochrome true</pre>

</div>
<!-- EDIT25 SECTION "Set up gschem printing" [20117-20531] -->
<h3 class="sectionedit26"><a name="set_up_gschem_dialogs" id="set_up_gschem_dialogs">Set up gschem dialogs</a></h3>
<div class="level3">

<p>
Don&#039;t show any inherited attributes in the multiattrib dialog:
</p>
<pre class="code">gaf config --user gschem.dialog-geometry.multiattrib show_inherited false</pre>

<p>
Note that you cannot use the <code>--project</code> (<code>-p</code>) key in the
command above. This command works only in the user context and has
no sense for local projects.
</p>

</div>
<!-- EDIT26 SECTION "Set up gschem dialogs" [20532-20866] -->
<h3 class="sectionedit27"><a name="using_gaf_shell" id="using_gaf_shell">Using gaf shell</a></h3>
<div class="level3">

<p>
Find out the path to the gEDA user configuration directory,
type:
</p>
<pre class="code">gaf shell -c &quot;(display (user-config-dir))&quot;</pre>

<p>
The same for the system configuration directories:
</p>
<pre class="code">gaf shell -c &quot;(display (sys-config-dirs))&quot;</pre>

</div>
<!-- EDIT27 SECTION "Using gaf shell" [20867-] --></div>
</body>
</html>