Skip to content

Commit eb40684

Browse files
Update Scribus and AsciiDoc docs for 2026-04-05
1 parent 8890070 commit eb40684

2 files changed

Lines changed: 321 additions & 46 deletions

File tree

adoc/bwipp-options.adoc

Lines changed: 179 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,15 @@ image:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
141141

142142
=== Symbol Dimensions
143143

144+
By default, symbols are rendered in normalised units: 1 point per narrow
145+
bar for linear barcodes and 2 points per module for most 2D symbologies.
146+
Bar heights default to 1 inch. These values produce pixel-locked output
147+
when rendered at 72 DPI, ensuring crisp bitmaps without anti-aliasing
148+
artefacts. For other resolutions, <<_gridfit,gridfit>> can snap modules
149+
to device pixel boundaries. For output that conforms to application
150+
specifications such as the GS1 Symbol Specification Tables, use
151+
<<_physspec,physspec>> mode.
152+
144153
==== height
145154

146155
Height of longest bar, in inches.
@@ -180,6 +189,162 @@ Encoder: code93
180189

181190
image:data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTkwIiBoZWlnaHQ9Ijc0IiB2aWV3Qm94PSIwIDAgMTkwIDc0Ij4KPHJlY3QgeD0iLTE5IiB5PSItNy40IiB3aWR0aD0iMjI4IiBoZWlnaHQ9Ijg4LjgiIGZpbGw9InJnYigxMDAlLCAxMDAlLCAxMDAlKSIgZmlsbC1vcGFjaXR5PSIxIi8+CjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0icmdiKDEwMCUsIDEwMCUsIDEwMCUpIiBmaWxsLW9wYWNpdHk9IjEiIGQ9Ik0gMC44MzU5MzggNzMgTCAxODkuMTY0MDYyIDczIEwgMTg5LjE2NDA2MiAxIEwgMC44MzU5MzggMSBaIE0gMC44MzU5MzggNzMgIi8+CjxwYXRoIGZpbGwtcnVsZT0ibm9uemVybyIgZmlsbD0icmdiKDAlLCAwJSwgMCUpIiBmaWxsLW9wYWNpdHk9IjEiIGQ9Ik0gMjMuMTY3OTY5IDEgTCAyNS4wODIwMzEgMSBMIDI1LjA4MjAzMSA3MyBMIDIzLjE2Nzk2OSA3MyBaIE0gMjcuNjY3OTY5IDEgTCAyOS41ODIwMzEgMSBMIDI5LjU4MjAzMSA3MyBMIDI3LjY2Nzk2OSA3MyBaIE0gMzIuMTY3OTY5IDEgTCA0MC44MzIwMzEgMSBMIDQwLjgzMjAzMSA3MyBMIDMyLjE2Nzk2OSA3MyBaIE0gNDMuNDE3OTY5IDEgTCA0Ny41ODIwMzEgMSBMIDQ3LjU4MjAzMSA3MyBMIDQzLjQxNzk2OSA3MyBaIE0gNTAuMTY3OTY5IDEgTCA1Mi4wODIwMzEgMSBMIDUyLjA4MjAzMSA3MyBMIDUwLjE2Nzk2OSA3MyBaIE0gNTYuOTE3OTY5IDEgTCA2MS4wODIwMzEgMSBMIDYxLjA4MjAzMSA3MyBMIDU2LjkxNzk2OSA3MyBaIE0gNjMuNjY3OTY5IDEgTCA2Ny44MzIwMzEgMSBMIDY3LjgzMjAzMSA3MyBMIDYzLjY2Nzk2OSA3MyBaIE0gNzIuNjY3OTY5IDEgTCA3NC41ODIwMzEgMSBMIDc0LjU4MjAzMSA3MyBMIDcyLjY2Nzk2OSA3MyBaIE0gNzkuNDE3OTY5IDEgTCA4MS4zMzIwMzEgMSBMIDgxLjMzMjAzMSA3MyBMIDc5LjQxNzk2OSA3MyBaIE0gODMuOTE3OTY5IDEgTCA4OC4wODIwMzEgMSBMIDg4LjA4MjAzMSA3MyBMIDgzLjkxNzk2OSA3MyBaIE0gOTAuNjY3OTY5IDEgTCA5NC44MzIwMzEgMSBMIDk0LjgzMjAzMSA3MyBMIDkwLjY2Nzk2OSA3MyBaIE0gOTkuNjY3OTY5IDEgTCAxMDEuNTgyMDMxIDEgTCAxMDEuNTgyMDMxIDczIEwgOTkuNjY3OTY5IDczIFogTSAxMDQuMTY3OTY5IDEgTCAxMDguMzMyMDMxIDEgTCAxMDguMzMyMDMxIDczIEwgMTA0LjE2Nzk2OSA3MyBaIE0gMTEwLjkxNzk2OSAxIEwgMTE1LjA4MjAzMSAxIEwgMTE1LjA4MjAzMSA3MyBMIDExMC45MTc5NjkgNzMgWiBNIDExOS45MTc5NjkgMSBMIDEyMS44MzIwMzEgMSBMIDEyMS44MzIwMzEgNzMgTCAxMTkuOTE3OTY5IDczIFogTSAxMjQuNDE3OTY5IDEgTCAxMjYuMzMyMDMxIDEgTCAxMjYuMzMyMDMxIDczIEwgMTI0LjQxNzk2OSA3MyBaIE0gMTMxLjE2Nzk2OSAxIEwgMTM1LjMzMjAzMSAxIEwgMTM1LjMzMjAzMSA3MyBMIDEzMS4xNjc5NjkgNzMgWiBNIDEzNy45MTc5NjkgMSBMIDE0Mi4wODIwMzEgMSBMIDE0Mi4wODIwMzEgNzMgTCAxMzcuOTE3OTY5IDczIFogTSAxNDQuNjY3OTY5IDEgTCAxNDYuNTgyMDMxIDEgTCAxNDYuNTgyMDMxIDczIEwgMTQ0LjY2Nzk2OSA3MyBaIE0gMTQ5LjE2Nzk2OSAxIEwgMTUxLjA4MjAzMSAxIEwgMTUxLjA4MjAzMSA3MyBMIDE0OS4xNjc5NjkgNzMgWiBNIDE1My42Njc5NjkgMSBMIDE2Mi4zMzIwMzEgMSBMIDE2Mi4zMzIwMzEgNzMgTCAxNTMuNjY3OTY5IDczIFogTSAxNjQuOTE3OTY5IDEgTCAxNjYuODMyMDMxIDEgTCAxNjYuODMyMDMxIDczIEwgMTY0LjkxNzk2OSA3MyBaIE0gMTY0LjkxNzk2OSAxICIvPgo8L3N2Zz4K[image]
182191

192+
==== physspec
193+
194+
Enable physical specification mode. The symbol is rendered at the
195+
correct physical dimensions for the symbology, based on the nominal
196+
X-dimension and height from the symbology's specification or selected
197+
Application Specification Table (AST).
198+
199+
===== Notes
200+
201+
* When enabled, the output is dimensioned in millimetres according to
202+
the symbology's specification.
203+
* Use *mag* to scale the symbol by a magnification factor relative to
204+
nominal.
205+
* Use *xdim* or *hdim* to directly specify physical dimensions in mm,
206+
overriding the nominal values.
207+
* Inkspread is adjusted to maintain a fixed physical reduction
208+
regardless of magnification.
209+
* Not compatible with *width*.
210+
* The output is resolution-independent (EPS/PDF compatible) unless
211+
<<_gridfit,gridfit>> is also enabled.
212+
213+
===== Example
214+
215+
An EAN-13 at 100% specification dimensions:
216+
217+
....
218+
Data: 9520123456788
219+
Options: includetext physspec
220+
Encoder: ean13
221+
....
222+
223+
An EAN-13 at 150% magnification:
224+
225+
....
226+
Data: 9520123456788
227+
Options: includetext physspec mag=1.5
228+
Encoder: ean13
229+
....
230+
231+
==== propspec
232+
233+
Enable proportional specification mode. Adjusts bar heights to match the
234+
specification's height-to-width ratio without changing the physical
235+
scale.
236+
237+
===== Notes
238+
239+
* Useful for bitmap output at the normalised scale where correct
240+
height-to-width proportions are desired without physical scaling.
241+
* Requires the symbology to have both *xnom* and *hnom* defined (via AST
242+
or user override).
243+
* Linear barcodes only.
244+
245+
===== Example
246+
247+
....
248+
Data: 9520123456788
249+
Options: includetext propspec
250+
Encoder: ean13
251+
....
252+
253+
==== mag
254+
255+
Magnification factor for physical specification mode. Scales the symbol
256+
relative to its nominal specification dimensions. Default: `+1.0+`
257+
(100%).
258+
259+
===== Notes
260+
261+
* Only meaningful with *physspec*.
262+
* Mutually exclusive with *xdim* and *hdim*.
263+
264+
===== Example
265+
266+
A QR Code at twice the nominal X-dimension:
267+
268+
....
269+
Data: Hello
270+
Options: physspec mag=2.0 xnom=0.330
271+
Encoder: qrcode
272+
....
273+
274+
==== xdim
275+
276+
Directly specify the X-dimension (narrow bar width or module size) in
277+
millimetres. Overrides the nominal value from the AST.
278+
279+
===== Notes
280+
281+
* Only meaningful with *physspec*.
282+
* Mutually exclusive with *mag*.
283+
* If neither *xdim* nor *xnom* is available, an error is raised.
284+
285+
===== Example
286+
287+
....
288+
Data: 9520123456788
289+
Options: includetext physspec xdim=0.400
290+
Encoder: ean13
291+
....
292+
293+
==== hdim
294+
295+
Directly specify the bar height in millimetres. Overrides the nominal
296+
height from the AST. Linear barcodes only.
297+
298+
===== Notes
299+
300+
* Only meaningful with *physspec*.
301+
* Mutually exclusive with *mag*.
302+
303+
==== xnom
304+
305+
Override the nominal X-dimension in millimetres. Normally provided by
306+
the Application Specification Table (AST), but can be set by the user.
307+
308+
==== hnom
309+
310+
Override the nominal bar height in millimetres. Normally provided by the
311+
AST. Linear barcodes only.
312+
313+
==== xmin
314+
315+
Override the minimum allowed X-dimension in millimetres. Normally
316+
provided by the AST.
317+
318+
==== xmax
319+
320+
Override the maximum allowed X-dimension in millimetres. Normally
321+
provided by the AST.
322+
323+
==== ast
324+
325+
Select an Application Specification Table profile. The default profile
326+
(`+default+`) provides the symbology's own specification values. Named
327+
profiles (e.g., `+gs1.sst1+` through `+gs1.sst13+`) provide
328+
GS1-application-specific values.
329+
330+
===== Notes
331+
332+
* GS1 Symbol Specification Tables (SSTs) define X-dimension bounds and
333+
nominal heights for specific application contexts such as retail POS,
334+
general distribution, healthcare, and logistics.
335+
* See the GS1 General Specifications, Section 5.12.3 for the full list
336+
of SSTs.
337+
338+
===== Example
339+
340+
An EAN-13 at GS1 SST 2 (general distribution) specification:
341+
342+
....
343+
Data: 9520123456788
344+
Options: includetext physspec ast=gs1.sst2
345+
Encoder: ean13
346+
....
347+
183348
==== gridfit
184349

185350
When enabled, the renderer snaps symbol elements to device pixel
@@ -195,7 +360,17 @@ performance.
195360
** Symbologies with fractional bar widths (e.g. postal codes,
196361
Pharmacode).
197362
** Linear barcodes with a non-integer *barratio*.
198-
* The device resolution is probed Unless *gridfit* is provided.
363+
* The device resolution is probed automatically. If the user provides
364+
*griddpi* then this value is used directly without hardware probing,
365+
which also enables gridfit to operate on devices that would otherwise be
366+
skipped (e.g. nullpage).
367+
* When combined with <<_physspec,physspec>>:
368+
** The effective X-dimension after snapping is validated against
369+
<<_xmin,xmin>> and <<_xmax,xmax>> bounds.
370+
** If rounding to the nearest whole pixel produces an X-dimension
371+
outside the specification bounds, the alternate rounding direction
372+
(ceiling or floor) is tried automatically.
373+
** If neither direction produces an in-spec result, an error is raised.
199374

200375
===== Example
201376

@@ -240,6 +415,9 @@ hexagons to compensate for inkspread, in points.
240415
===== Notes
241416

242417
* Negative values will increase the bar width.
418+
* When <<_physspec,physspec>> is enabled, inkspread is automatically
419+
adjusted so that the physical reduction (in mm) remains constant
420+
regardless of magnification.
243421

244422
===== Example
245423

0 commit comments

Comments
 (0)