Subversion Repositories configs

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
200 - 1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<!DOCTYPE thresholds [
3
  <!ELEMENT thresholds (threshold)+>
4
  <!ATTLIST thresholds xmlns CDATA #FIXED ''>
5
  <!ELEMENT threshold (description,levels)>
6
  <!ATTLIST threshold xmlns CDATA #FIXED '' alias NMTOKEN #IMPLIED
7
    map NMTOKEN #REQUIRED>
8
  <!ELEMENT description (#PCDATA)>
9
  <!ATTLIST description xmlns CDATA #FIXED ''>
10
  <!ELEMENT levels (#PCDATA)>
11
  <!ATTLIST levels xmlns CDATA #FIXED '' divisor CDATA #REQUIRED
12
    height CDATA #REQUIRED width CDATA #REQUIRED>
13
]>
14
<!--
15
  Threshold Maps for Ordered Posterized Dither
16
 
17
  Each "<threshold>" element defines the map name, description, and an array
18
  of "levels" used to provide the threshold map for ordered dithering and
19
  digital halftoning.
20
 
21
  The "alias" attribute provides a backward compatible name for this threshold
22
  map (pre-dating IM v6.2.9-6), and are deprecated.
23
 
24
  The description is a english description of what the threshold map achieves
25
  and is only used for 'listing' the maps.
26
 
27
  The map itself is a rectangular array of integers or threshold "levels"
28
  of the given "width" and "height" declared within the enclosing <levels>
29
  element.  That is "width*height" integers or "levels" *must* be provided
30
  within each map.
31
 
32
  Each of the "levels" integer values (each value representing the threshold
33
  intensity "level/divisor" at which that pixel is turned on.  The "levels"
34
  integers given can be any postive integers between "0" and the "divisor",
35
  excluding those limits.
36
 
37
  The "divisor" not only defines the upper limit and threshold divisor for each
38
  "level" but also the total number of pseudo-levels the threshold mapping
39
  creates and fills with a dither pattern.  That is a ordered bitmap dither
40
  of a pure greyscale gradient will use a maximum of "divisor" ordered bitmap
41
  patterns, including the patterns with all the pixels 'on' and all the pixel
42
  'off'. It may define less patterns than that, but the color channels will
43
  be thresholded in units based on "divisor".
44
 
45
  Alternatively for a multi-level posterization, ImageMagick inserts
46
  "divisor-2" dither patterns (as defined by the threshold map) between each of
47
  channel color level produced.
48
 
49
  For example the map "o2x2" has a divisor of 5, which will define 3 bitmap
50
  patterns plus the patterns with all pixels 'on' and 'off'.  A greyscale
51
  gradient will thus have 5 distinct areas.
52
-->
53
<thresholds>
54
 
55
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
56
  Minimal Dither and Non-Dither Threshold Maps
57
-->
58
  <threshold map="threshold" alias="1x1">
59
    <description>Threshold 1x1 (non-dither)</description>
60
    <levels width="1" height="1" divisor="2">
61
        1
62
    </levels>
63
  </threshold>
64
 
65
  <threshold map="checks" alias="2x1">
66
    <description>Checkerboard 2x1 (dither)</description>
67
    <levels width="2" height="2" divisor="3">
68
       1 2
69
       2 1
70
    </levels>
71
  </threshold>
72
 
73
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
74
  (dispersed) Ordered Dither Patterns
75
-->
76
  <threshold map="o2x2" alias="2x2">
77
    <description>Ordered 2x2 (dispersed)</description>
78
    <levels width="2" height="2" divisor="5">
79
       1  3
80
       4  2
81
    </levels>
82
  </threshold>
83
 
84
  <threshold map="o3x3" alias="3x3">
85
    <description>Ordered 3x3 (dispersed)</description>
86
    <levels width="3" height="3" divisor="10">
87
        3  7  4
88
        6  1  9
89
        2  8  5
90
    </levels>
91
  </threshold>
92
 
93
  <threshold map="o4x4" alias="4x4">
94
    <!--
95
       From "Dithering Algorithms"
96
       http://www.efg2.com/Lab/Library/ImageProcessing/DHALF.TXT
97
     -->
98
    <description>Ordered 4x4 (dispersed)</description>
99
    <levels width="4" height="4" divisor="17">
100
       1   9   3  11
101
      13   5  15   7
102
       4  12   2  10
103
      16   8  14   6
104
    </levels>
105
  </threshold>
106
 
107
  <threshold map="o8x8" alias="8x8">
108
    <!-- Extracted from original 'OrderedDither()' Function -->
109
    <description>Ordered 8x8 (dispersed)</description>
110
    <levels width="8" height="8" divisor="65">
111
         1  49  13  61   4  52  16  64
112
        33  17  45  29  36  20  48  32
113
         9  57   5  53  12  60   8  56
114
        41  25  37  21  44  28  40  24
115
         3  51  15  63   2  50  14  62
116
        35  19  47  31  34  18  46  30
117
        11  59   7  55  10  58   6  54
118
        43  27  39  23  42  26  38  22
119
    </levels>
120
  </threshold>
121
 
122
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
123
  Halftones - Angled 45 degrees
124
 
125
  Initially added to ImageMagick by Glenn Randers-Pehrson, IM v6.2.8-6,
126
  modified to be more symmetrical with intensity by Anthony, IM v6.2.9-7
127
 
128
  These patterns initially start as circles, but then form diamonds
129
  pattern at the 50% threshold level, before forming negated circles,
130
  as it approached the other threshold extereme.
131
-->
132
  <threshold map="h4x4a" alias="4x1">
133
    <description>Halftone 4x4 (angled)</description>
134
    <levels width="4" height="4" divisor="9">
135
       4  2  7  5
136
       3  1  8  6
137
       7  5  4  2
138
       8  6  3  1
139
    </levels>
140
  </threshold>
141
 
142
  <threshold map="h6x6a" alias="6x1">
143
    <description>Halftone 6x6 (angled)</description>
144
    <levels width="6" height="6" divisor="19">
145
       14  13  10   8   2   3
146
       16  18  12   7   1   4
147
       15  17  11   9   6   5
148
        8   2   3  14  13  10
149
        7   1   4  16  18  12
150
        9   6   5  15  17  11
151
    </levels>
152
  </threshold>
153
 
154
  <threshold map="h8x8a" alias="8x1">
155
    <description>Halftone 8x8 (angled)</description>
156
    <levels width="8" height="8" divisor="33">
157
       13   7   8  14  17  21  22  18
158
        6   1   3   9  28  31  29  23
159
        5   2   4  10  27  32  30  24
160
       16  12  11  15  20  26  25  19
161
       17  21  22  18  13   7   8  14
162
       28  31  29  23   6   1   3   9
163
       27  32  30  24   5   2   4  10
164
       20  26  25  19  16  12  11  15
165
    </levels>
166
  </threshold>
167
 
168
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
169
  Halftones - Orthogonally Aligned, or Un-angled
170
 
171
  Initially added by Anthony Thyssen, IM v6.2.9-5 using techniques from
172
  "Dithering & Halftoning" by Gernot Haffmann
173
  http://www.fho-emden.de/~hoffmann/hilb010101.pdf
174
 
175
  These patterns initially start as circles, but then form square
176
  pattern at the 50% threshold level, before forming negated circles,
177
  as it approached the other threshold extereme.
178
-->
179
  <threshold map="h4x4o">
180
    <description>Halftone 4x4 (orthogonal)</description>
181
    <levels width="4" height="4" divisor="17">
182
        7  13  11   4
183
       12  16  14   8
184
       10  15   6   2
185
        5   9   3   1
186
    </levels>
187
  </threshold>
188
 
189
  <threshold map="h6x6o">
190
    <description>Halftone 6x6 (orthogonal)</description>
191
    <levels width="6" height="6" divisor="37">
192
        7  17  27  14   9   4
193
       21  29  33  31  18  11
194
       24  32  36  34  25  22
195
       19  30  35  28  20  10
196
        8  15  26  16   6   2
197
        5  13  23  12   3   1
198
    </levels>
199
  </threshold>
200
 
201
  <threshold map="h8x8o">
202
    <description>Halftone 8x8 (orthogonal)</description>
203
    <levels width="8" height="8" divisor="65">
204
        7  21  33  43  36  19   9   4
205
       16  27  51  55  49  29  14  11
206
       31  47  57  61  59  45  35  23
207
       41  53  60  64  62  52  40  38
208
       37  44  58  63  56  46  30  22
209
       15  28  48  54  50  26  17  10
210
        8  18  34  42  32  20   6   2
211
        5  13  25  39  24  12   3   1
212
    </levels>
213
  </threshold>
214
 
215
  <threshold map="h16x16o">
216
    <!--
217
       Direct extract from "Dithering & Halftoning" by Gernot Haffmann.
218
       This may need some fine tuning for symmetry of the halftone dots,
219
       as it was a mathematically formulated pattern.
220
    -->
221
    <description>Halftone 16x16 (orthogonal)</description>
222
    <levels width="16" height="16" divisor="257">
223
        4  12  24  44  72 100 136 152 150 134  98  70  42  23  11   3
224
        7  16  32  52  76 104 144 160 158 142 102  74  50  31  15   6
225
       19  27  40  60  92 132 168 180 178 166 130  90  58  39  26  18
226
       36  48  56  80 124 176 188 204 203 187 175 122  79  55  47  35
227
       64  68  84 116 164 200 212 224 223 211 199 162 114  83  67  63
228
       88  96 112 156 192 216 232 240 239 231 214 190 154 111  95  87
229
      108 120 148 184 208 228 244 252 251 243 226 206 182 147 119 107
230
      128 140 172 196 219 235 247 256 255 246 234 218 194 171 139 127
231
      126 138 170 195 220 236 248 253 254 245 233 217 193 169 137 125
232
      106 118 146 183 207 227 242 249 250 241 225 205 181 145 117 105
233
       86  94 110 155 191 215 229 238 237 230 213 189 153 109  93  85
234
       62  66  82 115 163 198 210 221 222 209 197 161 113  81  65  61
235
       34  46  54  78 123 174 186 202 201 185 173 121  77  53  45  33
236
       20  28  37  59  91 131 167 179 177 165 129  89  57  38  25  17
237
        8  13  29  51  75 103 143 159 157 141 101  73  49  30  14   5
238
        1   9  21  43  71  99 135 151 149 133  97  69  41  22  10   2
239
    </levels>
240
  </threshold>
241
 
242
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
243
  Halftones - Orthogonally Expanding Circle Patterns
244
 
245
  Added by Glenn Randers-Pehrson, 4 Nov 2010, ImageMagick 6.6.5-6
246
 
247
  Rather than producing a diamond 50% threshold pattern, these
248
  continue to generate larger (overlapping) circles.  They are
249
  more like a true halftone pattern formed by covering a surface
250
  with either pure white or pure black circular dots.
251
 
252
  WARNING: true halftone patterns only use true circles even in
253
  areas of highly varying intensity.  Threshold dither patterns
254
  can generate distorted circles in such areas.
255
-->
256
 
257
  <threshold map="c5x5b" alias="c5x5">
258
    <description>Circles 5x5 (black)</description>
259
    <levels width="5" height="5" divisor="26">
260
         1 21 16 15  4
261
         5 17 20 19 14
262
         6 21 25 24 12
263
         7 18 22 23 11
264
         2  8  9 10  3
265
    </levels>
266
  </threshold>
267
 
268
 
269
  <threshold map="c5x5w">
270
    <description>Circles 5x5 (white)</description>
271
    <levels width="5" height="5" divisor="26">
272
        25 21 10 11 22
273
        20  9  6  7 12
274
        19  5  1  2 13
275
        18  8  4  3 14
276
        24 17 16 15 23
277
    </levels>
278
  </threshold>
279
 
280
  <threshold map="c6x6b" alias="c6x6">
281
    <description>Circles 6x6 (black)</description>
282
    <levels width="6" height="6" divisor="37">
283
         1  5 14 13 12  4
284
         6 22 28 27 21 11
285
        15 29 35 34 26 20
286
        16 30 36 33 25 19
287
         7 23 31 32 24 10
288
         2  8 17 18  9  3
289
    </levels>
290
  </threshold>
291
 
292
  <threshold map="c6x6w">
293
    <description>Circles 6x6 (white)</description>
294
    <levels width="6" height="6" divisor="37">
295
        36 32 23 24 25 33
296
        31 15  9 10 16 26
297
        22  8  2  3 11 17
298
        21  7  1  4 12 18
299
        30 14  6  5 13 27
300
        35 29 20 19 28 34
301
    </levels>
302
  </threshold>
303
 
304
  <threshold map="c7x7b" alias="c7x7">
305
    <description>Circles 7x7 (black)</description>
306
    <levels width="7" height="7" divisor="50">
307
        3  9 18 28 17  8  2
308
       10 24 33 39 32 23  7
309
       19 34 44 48 43 31 16
310
       25 40 45 49 47 38 27
311
       20 35 41 46 42 29 15
312
       11 21 36 37 28 22  6
313
        4 12 13 26 14  5  1
314
    </levels>
315
  </threshold>
316
 
317
 
318
  <threshold map="c7x7w">
319
    <description>Circles 7x7 (white)</description>
320
    <levels width="7" height="7" divisor="50">
321
       47 41 32 22 33 42 48
322
       40 26 17 11 18 27 43
323
       31 16  6  2  7 19 34
324
       25 10  5  1  3 12 23
325
       30 15  9  4  8 20 35
326
       39 29 14 13 21 28 44
327
       46 38 37 24 36 45 49
328
    </levels>
329
  </threshold>
330
 
331
 
332
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
333
  Special Purpose Dithers
334
-->
335
 
336
</thresholds>