/usr/share/gEDA/scheme/default-attrib-positions.scm is in geda-gschem 1:1.8.2-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | (define default-position-of-text-attributes
; Specifies the default position of text attributes.
; Each list entry is a list specifying the position of a text attribute.
; Dividing each list entry in two lines:
; - the first line is the attribute matching. It specifies the properties
; of the object and the attribute that should match in order to use
; that entry (all the specified properties should match).
; It has the following items:
; - attrib_name: the attribute's name for this entry.
; - direction: direction of the pin(s) (the arrow points to the inside
; of the symbol. The direction is specified by one character of
; v, ^, < or >. This item is a string with one or several direction
; characters. Including several directions here means that the
; object should have pins in all those directions if using this
; entry.
;
; - list of object attribute matching properties. It's a list with
; attribute_name, attribute_value pairs. A regular expression can be
; used in the attribute_values field.
; There is a special attribute name: "OBJ_TYPE" if you want to check
; the object type. However, the attribute_value field should be
; one of the already defined variables:
; OBJ_LINE, OBJ_BOX, OBJ_PICTURE, OBJ_CIRCLE, OBJ_NET, OBJ_BUS,
; OBJ_COMPLEX, OBJ_TEXT, OBJ_PIN, OBJ_ARC, OBJ_PLACEHOLDER
; converted into strings (for example using the function char2str).
;
; - the second line defines where and how the attribute will be placed.
; The attribute is going to be placed at a position of the
; component, given by the "reference" item.
; It has the following items:
; - x_offset, y_offset: the position offset to the reference point.
; The attribute position is offset by these amounts from the
; reference point. They can be positive or negative integers.
; - reference: the component's reference point where to place
; the attribute. The reference point is calculated using
; component's bounds, so pin's line width, for example, matter.
; Example: Pin from (100,50) to (400,50), pin's line width is 10.
; Pin bounds:
; top: 55
; bottom: 45
; left: 95
; right: 405
; "Lower left": (95,45)
; It is a string with the format "horizontal vertical", where:
; - "horizontal" is one of: "Left", "Middle", "Right".
; - "vertical" is one of: "Lower", "Middle", "Upper".
; Example: "Lower Right".
; - alignment: the attribute text's alignment.
; - angle: the attribute's angle.
;
; As a special case, the attributes can be automaticaly moved if
; they overlap with the pins or the pin connection direction, in
; order to avoid cluttering the schematic. Note that pinnames are
; also included when calculing the new position.
; By pin connection direction I mean the space in front of a pin
; where a net connecting to that pin is supposed to be drawn
; afterwards.
;
; For this purpose, two more items are added:
; - mov_dir: specify the movement directions, or where can the
; attribute be moved if overlapping.
; It is an empty string if no movement is allowed, or a string
; containing one or several horizontal/vertical directions.
; Each direction is specified with one character of v,^,< or >.
;
; When overlapping with vertical pins, the attribute will be
; moved horizontally (< or > characters).
; When overlapping with horizontal pins, the attribute will be
; moved vertically (v or ^ characters).
;
; Example: "<^" means that the attribute will be moved to the
; left if overlapping with vertical pins, or to the top if
; overlapping horizontal pins.
;
; - spacing: minimum spacing between the attributes and the pins.
; It sould be a positive integer number.
;
;Attrib_name Direct. Attribute_match <--- first line of each entry.
;X_offset Y_offset Reference Alignment Angle Mov_dir Spacing (>0)
;
(list
(list
"pinlabel" ">" (list "OBJ_TYPE" (char2str OBJ_PIN))
50 0 "Lower Right" "Lower Left" 0 "" 0)
(list
"pinlabel" "<" (list "OBJ_TYPE" (char2str OBJ_PIN))
-50 0 "Lower Left" "Lower Right" 0 "" 0)
(list
"pinlabel" "^" (list "OBJ_TYPE" (char2str OBJ_PIN))
0 50 "Upper Middle" "Lower Left" 90 "" 0)
(list
"pinlabel" "v" (list "OBJ_TYPE" (char2str OBJ_PIN))
0 -50 "Lower Middle" "Lower Right" 90 "" 0)
(list
"pinnumber" ">" (list "OBJ_TYPE" (char2str OBJ_PIN))
-100 50 "Lower Right" "Lower Right" 0 "" 0)
(list
"pinnumber" "<" (list "OBJ_TYPE" (char2str OBJ_PIN))
100 50 "Lower Left" "Lower Left" 0 "" 0)
(list
"pinnumber" "^" (list "OBJ_TYPE" (char2str OBJ_PIN))
-50 -100 "Upper Middle" "Lower Right" 90 "" 0)
(list
"pinnumber" "v" (list "OBJ_TYPE" (char2str OBJ_PIN))
-50 100 "Lower Middle" "Lower Left" 90 "" 0)
; Component attributes
; One direction
(list
"refdes" "<" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 50 "Upper Middle" "Lower Middle" 0 "" 0)
(list
"value" "<" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -50 "Lower Middle" "Upper Middle" 0 "" 0)
(list
"device" "<" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -50 "Lower Middle" "Upper Middle" 0 "" 0)
(list
"refdes" ">" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 50 "Upper Middle" "Lower Middle" 0 "" 0)
(list
"value" ">" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -50 "Lower Middle" "Upper Middle" 0 "" 0)
(list
"device" ">" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -50 "Lower Middle" "Upper Middle" 0 "" 0)
(list
"refdes" "^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 100 "Middle Left" "Lower Right" 0 "" 0)
(list
"value" "^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -100 "Middle Left" "Lower Right" 0 "" 0)
(list
"device" "^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -100 "Middle Left" "Lower Right" 0 "" 0)
(list
"refdes" "v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 100 "Middle Left" "Lower Right" 0 "" 0)
(list
"value" "v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -100 "Middle Left" "Lower Right" 0 "" 0)
(list
"device" "v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -100 "Middle Left" "Lower Right" 0 "" 0)
; Two directions
(list
"refdes" "<>" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 50 "Upper Middle" "Lower Middle" 0 "" 0)
(list
"value" "<>" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -50 "Lower Middle" "Upper Middle" 0 "" 0)
(list
"device" "<>" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
0 -50 "Lower Middle" "Upper Middle" 0 "" 0)
(list
"refdes" "^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 100 "Middle Right" "Lower Left" 0 "" 0)
(list
"value" "^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -100 "Middle Right" "Lower Left" 0 "" 0)
(list
"device" "^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -100 "Middle Right" "Lower Left" 0 "" 0)
; Three directions
(list
"refdes" "<^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
-50 100 "Middle Left" "Lower Right" 0 "" 0)
(list
"value" "<^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
-50 -100 "Middle Left" "Lower Right" 0 "" 0)
(list
"device" "<^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
-50 -100 "Middle Left" "Lower Right" 0 "" 0)
(list
"refdes" ">^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 100 "Middle Right" "Lower Left" 0 "" 0)
(list
"value" ">^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -100 "Middle Right" "Lower Left" 0 "" 0)
(list
"device" ">^v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -100 "Middle Right" "Lower Left" 0 "" 0)
(list
"refdes" "<>v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
-50 -50 "Lower Middle" "Upper Right" 0 "" 0)
(list
"value" "<>v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -50 "Lower Middle" "Upper Left" 0 "" 0)
(list
"device" "<>v" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -50 "Lower Middle" "Upper Left" 0 "" 0)
(list
"refdes" "<>^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
-50 50 "Upper Middle" "Lower Right" 0 "" 0)
(list
"value" "<>^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 50 "Upper Middle" "Lower Left" 0 "" 0)
(list
"device" "<>^" (list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 50 "Upper Middle" "Lower Left" 0 "" 0)
; Four directions
(list
"refdes" "<>^v"(list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 50 "Upper Left" "Lower Left" 0 "^<" 50)
(list
"value" "<>^v"(list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -50 "Lower Right" "Upper Right" 0 "v>" 50)
(list
"device" "<>^v"(list "OBJ_TYPE" (char2str OBJ_COMPLEX))
50 -50 "Lower Right" "Upper Right" 0 "v>" 50)
; Net attributes
; Two directions
(list
"netname" "<>" (list "OBJ_TYPE" (char2str OBJ_NET))
0 50 "Upper Middle" "Lower Middle" 0 "" 0)
(list
"netname" "^v" (list "OBJ_TYPE" (char2str OBJ_NET))
-50 0 "Middle Middle" "Lower Middle" 90 "" 0)
; Bus attributes
; Two directions
(list
"netname" "<>" (list "OBJ_TYPE" (char2str OBJ_BUS))
0 50 "Upper Middle" "Lower Middle" 0 "" 0)
(list
"netname" "^v" (list "OBJ_TYPE" (char2str OBJ_BUS))
-50 0 "Middle Middle" "Lower Middle" 90 "" 0)
))
; Position of parameters inside default-position-of-text-attributes
(define def-attrib-name-pos 0)
(define def-direction-pos 1)
(define def-attrib-match 2)
(define def-x-offset-pos 3)
(define def-y-offset-pos 4)
(define def-reference-pos 5)
(define def-alignment-pos 6)
(define def-angle-pos 7)
(define def-move-pos 8)
(define def-spacing-pos 9)
|