diff options
author | Karl Berry <karl@freefriends.org> | 2019-12-05 21:23:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-12-05 21:23:07 +0000 |
commit | 0ed7b2cd92f7a81334f612df3e37211f8333ae75 (patch) | |
tree | 2bcbe01d8e86cbf57d64069a153346da4936b00a /Master/texmf-dist/doc/luatex/barracuda/test/test-code128/002-code128-test.tex | |
parent | 7f43f3692e1354166c0623faf83c84b23d041ea3 (diff) |
barracuda (5dec19)
git-svn-id: svn://tug.org/texlive/trunk@53034 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/luatex/barracuda/test/test-code128/002-code128-test.tex')
-rw-r--r-- | Master/texmf-dist/doc/luatex/barracuda/test/test-code128/002-code128-test.tex | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/luatex/barracuda/test/test-code128/002-code128-test.tex b/Master/texmf-dist/doc/luatex/barracuda/test/test-code128/002-code128-test.tex new file mode 100644 index 00000000000..eeaf60e4832 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/barracuda/test/test-code128/002-code128-test.tex @@ -0,0 +1,125 @@ +% !TeX program = LuaTeX +% Copyright (C) 2019 Roberto Giacomelli + +\newbox\mybox +\nopagenumbers + +Code 128 encoder test. + +Test 1: one simple barcode with default parameter: + +\directlua{ +barracuda = require "barracuda" +} + +\directlua{ +local barcode = barracuda:get_barcode_class() + +local c128, err = barcode:new_encoder("code128") +assert(not err, err) + +local symbo, err = c128:from_string("5465468132546812") +assert(not err, err) + +local canvas = barracuda:new_canvas() +symbo:append_ga(canvas) + +local drv = barracuda:get_driver() +drv:ga_to_hbox(canvas, "mybox") +} +\vrule A\vrule\box\mybox \vrule A\vrule + +Test 2: two symbols, different anchor. The first symbol (more longer than the +second one) takes the anchor parameters from the super class Barcode, while +the second one takes anchors from itself: + +\directlua{ +local barcode = barracuda:get_barcode_class() +local ok, err = barcode:set_param{ax = 1, ay = 1} % super class set up +assert(ok, err) +assert(barcode.ax == 1, "barcode ax is "..tostring(barcode.ax)) + +local c128, err = barcode:enc_by_name("code128") +assert(c128.ax == 1, "c128 ax is "..tostring(c128.ax)) + +local s1, err = c128:from_string("12345678901234567890"); assert(s1, err) +local s2, err = c128:from_string("0987654321", {ax = 0, ay = 0}); assert(s2, err) + +local s1_ax = s1:get_param("ax") +assert(s1.ax == 1, "1 ax is "..tostring(s1.ax)) +local s2_ax = s2:get_param("ax") +assert(s2.ax == 0, "0 ax is "..tostring(s2.ax)) + +local canvas = barracuda:new_canvas() +s1:append_ga(canvas) +s2:append_ga(canvas) + +local drv = barracuda:get_driver() +drv:ga_to_hbox(canvas, "mybox") +}\box\mybox + +Test 3: play with the barcodes height (ydim parameter). The vertical anchor ay +will take to super class Barcode, previously set to 1.0. So, the symbols will +be aligned to the top: + +\directlua{ +local c128, err = barracuda:get_barcode_class() + :enc_by_name "code128"; assert(c128, err) + +local s, err = c128:from_string("123456"); assert(s, err) +local canvas = barracuda:new_canvas() +s:append_ga(canvas) + +local ok, err = s:set_param("ydim", tex.sp "30mm") +s:append_ga(canvas, tex.sp "20mm") + +local ok, err = s:set_param("ydim", tex.sp "60mm") +s:append_ga(canvas, tex.sp "40mm") + +local drv = barracuda:get_driver() +drv:ga_to_hbox(canvas, "mybox") +}\box\mybox + +Test 4: set up vertical anchor globally to 0.0, locally to the encoder to 0.5 +and locally to 1.0: + +\directlua{ +local barcode = barracuda:get_barcode_class() +% set ay globally to 0.0 +local ok, err = barcode:set_param("ay", 0); assert(ok, err) + +local c128, err = barcode:enc_by_name "code128"; assert(c128, err) +local s, err = c128:from_string("ABCDEFGHI"); assert(s, err) + +local canvas = barracuda:new_canvas() +local _, err = s:append_ga(canvas); assert(not err, err) + +% set ay to 0.5 for the encoder +local ok, err = c128:set_param("ay", 0.5); assert(ok, err) +local _, err = s:append_ga(canvas, tex.sp "30mm"); assert(not err, err) +% set locally to the symbol ay to 1.0 +local ok, err = s:set_param("ay", 1) +local _, err = s:append_ga(canvas, tex.sp "60mm"); assert(not err, err) + +local drv = barracuda:get_driver() +drv:ga_to_hbox(canvas, "mybox") +}\box\mybox + +Test 5: uint() costructor and save a file with PDF literal code: + +\directlua{ +local barcode = barracuda:get_barcode_class() +local c128, err = barcode:enc_by_name("code128"); assert(c128, err) +local s, e = c128:from_uint(1234567890); assert(s, e) +local canvas = barracuda:new_canvas() +local _, errc = s:append_ga(canvas); assert(not errc, errc) +local drv = barracuda:get_driver() +drv:ga_to_hbox(canvas, "mybox") +drv:save("native", canvas, "02-05-pdfliteral") +}\box\mybox + +That's all folk! + +\bye + +function Driver:save(id_drv, ga, filename, ext) --> ok, err
\ No newline at end of file |