test_pdf417.c 729 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019
  1. /*
  2. libzint - the open source barcode library
  3. Copyright (C) 2019-2024 Robin Stuart <rstuart114@gmail.com>
  4. Redistribution and use in source and binary forms, with or without
  5. modification, are permitted provided that the following conditions
  6. are met:
  7. 1. Redistributions of source code must retain the above copyright
  8. notice, this list of conditions and the following disclaimer.
  9. 2. Redistributions in binary form must reproduce the above copyright
  10. notice, this list of conditions and the following disclaimer in the
  11. documentation and/or other materials provided with the distribution.
  12. 3. Neither the name of the project nor the names of its contributors
  13. may be used to endorse or promote products derived from this software
  14. without specific prior written permission.
  15. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  16. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  17. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  18. ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
  19. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  20. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  22. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  23. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  24. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  25. SUCH DAMAGE.
  26. */
  27. /* SPDX-License-Identifier: BSD-3-Clause */
  28. #include "testcommon.h"
  29. static void test_large(const testCtx *const p_ctx) {
  30. int debug = p_ctx->debug;
  31. struct item {
  32. int symbology;
  33. int option_1;
  34. int option_2;
  35. int option_3;
  36. char *pattern;
  37. int length;
  38. int ret;
  39. int expected_rows;
  40. int expected_width;
  41. char *expected_errtxt;
  42. };
  43. /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
  44. static const struct item data[] = {
  45. /* 0*/ { BARCODE_PDF417, 0, -1, -1, "A", 1850, 0, 32, 562, "" },
  46. /* 1*/ { BARCODE_PDF417, 0, -1, -1, "A", 1851, ZINT_ERROR_TOO_LONG, -1, -1, "Error 464: Input too long, requires too many codewords (maximum 928)" },
  47. /* 2*/ { BARCODE_PDF417, 0, -1, -1, "\200", 1108, 0, 32, 562, "" },
  48. /* 3*/ { BARCODE_PDF417, 0, -1, -1, "\200", 1109, ZINT_ERROR_TOO_LONG, -1, -1, "Error 464: Input too long, requires too many codewords (maximum 928)" },
  49. /* 4*/ { BARCODE_PDF417, 0, -1, -1, "1", 2710, 0, 32, 562, "" },
  50. /* 5*/ { BARCODE_PDF417, 0, -1, -1, "1", 2711, ZINT_ERROR_TOO_LONG, -1, -1, "Error 463: Input length 2711 too long (maximum 2710)" },
  51. /* 6*/ { BARCODE_PDF417, 0, -1, 59, "A", 1850, ZINT_ERROR_TOO_LONG, -1, -1, "Error 465: Input too long, requires too many codewords (maximum 928)" },
  52. /* 7*/ { BARCODE_PDF417, 0, 1, 3, "A", 1850, ZINT_ERROR_TOO_LONG, -1, -1, "Error 745: Input too long for number of columns '1'" },
  53. /* 8*/ { BARCODE_PDF417, 0, -1, 3, "A", 1850, ZINT_WARN_INVALID_OPTION, 32, 562, "Warning 746: Number of rows increased from 3 to 32" },
  54. /* 9*/ { BARCODE_PDF417, 0, 30, -1, "A", 1850, ZINT_ERROR_TOO_LONG, -1, -1, "Error 747: Input too long, requires too many codewords (maximum 928)" },
  55. /* 10*/ { BARCODE_MICROPDF417, 0, -1, -1, "A", 250, 0, 44, 99, "" },
  56. /* 11*/ { BARCODE_MICROPDF417, 0, -1, -1, "A", 251, ZINT_ERROR_TOO_LONG, -1, -1, "Error 467: Input too long, requires 127 codewords (maximum 126)" },
  57. };
  58. const int data_size = ARRAY_SIZE(data);
  59. int i, length, ret;
  60. struct zint_symbol *symbol = NULL;
  61. char data_buf[4096];
  62. testStartSymbol("test_large", &symbol);
  63. for (i = 0; i < data_size; i++) {
  64. if (testContinue(p_ctx, i)) continue;
  65. symbol = ZBarcode_Create();
  66. assert_nonnull(symbol, "Symbol not created\n");
  67. if (data[i].length != -1) {
  68. testUtilStrCpyRepeat(data_buf, data[i].pattern, data[i].length);
  69. assert_equal(data[i].length, (int) strlen(data_buf), "i:%d length %d != strlen(data_buf) %d\n", i, data[i].length, (int) strlen(data_buf));
  70. } else {
  71. strcpy(data_buf, data[i].pattern);
  72. }
  73. length = testUtilSetSymbol(symbol, data[i].symbology, -1 /*input_mode*/, -1 /*eci*/, data[i].option_1, data[i].option_2, data[i].option_3, -1 /*output_options*/, data_buf, data[i].length, debug);
  74. ret = ZBarcode_Encode(symbol, (unsigned char *) data_buf, length);
  75. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  76. if (ret < ZINT_ERROR) {
  77. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, symbol->errtxt);
  78. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d\n", i, symbol->width, data[i].expected_width);
  79. }
  80. assert_zero(strcmp(symbol->errtxt, data[i].expected_errtxt), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected_errtxt);
  81. /* FAST_MODE */
  82. length = testUtilSetSymbol(symbol, data[i].symbology, FAST_MODE, -1 /*eci*/, data[i].option_1, data[i].option_2, data[i].option_3, -1 /*output_options*/, data_buf, data[i].length, debug);
  83. ret = ZBarcode_Encode(symbol, (unsigned char *) data_buf, length);
  84. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  85. if (ret < ZINT_ERROR) {
  86. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, symbol->errtxt);
  87. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d\n", i, symbol->width, data[i].expected_width);
  88. }
  89. assert_zero(strcmp(symbol->errtxt, data[i].expected_errtxt), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected_errtxt);
  90. ZBarcode_Delete(symbol);
  91. }
  92. testFinish();
  93. }
  94. static void test_options(const testCtx *const p_ctx) {
  95. int debug = p_ctx->debug;
  96. struct item {
  97. int symbology;
  98. int option_1;
  99. int option_2;
  100. int option_3;
  101. int warn_level;
  102. struct zint_structapp structapp;
  103. char *data;
  104. int ret_encode;
  105. int ret_vector;
  106. int expected_rows;
  107. int expected_width;
  108. const char *expected_errtxt;
  109. int compare_previous;
  110. };
  111. /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
  112. static const struct item data[] = {
  113. /* 0*/ { BARCODE_PDF417, -1, -1, -1, 0, { 0, 0, "" }, "12345", 0, 0, 6, 103, "", -1 }, /* ECC auto-set to 2, cols auto-set to 2 */
  114. /* 1*/ { BARCODE_PDF417, -1, -1, 928, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 466: Number of rows '928' out of range (3 to 90)", -1 }, /* Option 3 no longer ignored */
  115. /* 2*/ { BARCODE_PDF417, -1, -1, 1, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 466: Number of rows '1' out of range (3 to 90)", -1 }, /* Option 3 no longer ignored */
  116. /* 3*/ { BARCODE_PDF417, 3, -1, -1, 0, { 0, 0, "" }, "12345", 0, 0, 7, 120, "", -1 }, /* ECC 3, cols auto-set to 3 */
  117. /* 4*/ { BARCODE_PDF417, 3, 2, -1, 0, { 0, 0, "" }, "12345", 0, 0, 10, 103, "", -1 }, /* ECC 3, cols 2 */
  118. /* 5*/ { BARCODE_PDF417, 8, 2, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 86, 171, "Warning 748: Number of columns increased from 2 to 6", -1 }, /* ECC 8, cols 2, used to fail, now auto-upped to 3 with warning */
  119. /* 6*/ { BARCODE_PDF417, 8, 2, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, 0, 86, 171, "Error 748: Number of columns increased from 2 to 6", -1 },
  120. /* 7*/ { BARCODE_PDF417, 7, 2, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 87, 120, "Warning 748: Number of columns increased from 2 to 3", -1 }, /* ECC 7, cols 2 auto-upped to 3 but now with warning */
  121. /* 8*/ { BARCODE_PDF417, 7, 2, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, 0, 87, 120, "Error 748: Number of columns increased from 2 to 3", -1 },
  122. /* 9*/ { BARCODE_PDF417, -1, 10, -1, 0, { 0, 0, "" }, "12345", 0, 0, 3, 239, "", -1 }, /* ECC auto-set to 2, cols 10 */
  123. /* 10*/ { BARCODE_PDF417, 9, -1, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 6, 103, "Warning 460: Error correction level '9' out of range (0 to 8), ignoring", -1 }, /* Invalid ECC, auto-set */
  124. /* 11*/ { BARCODE_PDF417, -1, 31, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 6, 103, "Warning 461: Number of columns '31' out of range (1 to 30), ignoring", 0 }, /* Invalid cols, auto-set */
  125. /* 12*/ { BARCODE_PDF417, -1, -1, 2, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 466: Number of rows '2' out of range (3 to 90)", -1 }, /* Invalid rows, error */
  126. /* 13*/ { BARCODE_PDF417, -1, -1, 91, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 466: Number of rows '91' out of range (3 to 90)", -1 }, /* Invalid rows, error */
  127. /* 14*/ { BARCODE_PDF417, 9, -1, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 460: Error correction level '9' out of range (0 to 8)", -1 }, /* Invalid ECC */
  128. /* 15*/ { BARCODE_PDF417, -1, 31, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 461: Number of columns '31' out of range (1 to 30)", -1 }, /* Invalid cols */
  129. /* 16*/ { BARCODE_PDF417, -1, 30, 31, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 475: Columns x rows value '930' out of range (1 to 928)", -1 }, /* Rows * cols (930) > 928 */
  130. /* 17*/ { BARCODE_PDF417, -1, 1, -1, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI", ZINT_WARN_INVALID_OPTION, 0, 65, 120, "Warning 748: Number of columns increased from 1 to 3", -1 }, /* Cols 1 too small, used to fail, now auto-upped to 3 with warning */
  131. /* 18*/ { BARCODE_PDF417, -1, -1, 4, 0, { 0, 0, "" }, "12345", 0, 0, 4, 120, "", -1 }, /* Specify rows 4 (cols 3) */
  132. /* 19*/ { BARCODE_PDF417, -1, 3, 4, 0, { 0, 0, "" }, "12345", 0, 0, 4, 120, "", 0 }, /* Specify cols 3 & rows 4 */
  133. /* 20*/ { BARCODE_PDF417, -1, -1, 90, 0, { 0, 0, "" }, "12345", 0, 0, 90, 86, "", -1 }, /* Specify rows 90 (cols 1) */
  134. /* 21*/ { BARCODE_PDF417, 0, -1, 3, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", 0, 0, 3, 579, "", -1 }, /* Specify rows 3, max cols 30 */
  135. /* 22*/ { BARCODE_PDF417, 0, 30, 3, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", 0, 0, 3, 579, "", 0 }, /* Specify rows 3, cols 30 */
  136. /* 23*/ { BARCODE_PDF417, 0, 29, 3, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", ZINT_WARN_INVALID_OPTION, 0, 4, 562, "Warning 746: Number of rows increased from 3 to 4", -1 }, /* Specify rows 3, cols 29, rows auto-upped to 4 */
  137. /* 24*/ { BARCODE_MICROPDF417, -1, 5, -1, 0, { 0, 0, "" }, "12345", ZINT_WARN_INVALID_OPTION, 0, 11, 38, "Warning 468: Number of columns '5' out of range (1 to 4), ignoring", -1 }, /* Invalid cols, auto-set to 1 */
  138. /* 25*/ { BARCODE_MICROPDF417, -1, 5, -1, WARN_FAIL_ALL, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 471: Number of columns '5' out of range (1 to 4)", -1 }, /* Invalid cols */
  139. /* 26*/ { BARCODE_MICROPDF417, -1, 5, 3, 0, { 0, 0, "" }, "12345", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 476: Cannot specify rows for MicroPDF417", -1 }, /* Rows option not available */
  140. /* 27*/ { BARCODE_MICROPDF417, -1, 1, -1, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLM", ZINT_WARN_INVALID_OPTION, 0, 17, 55, "Warning 470: Input too long for number of columns '1', ignoring", -1 }, /* Cols 1 too small, auto-upped to 2 with warning */
  141. /* 28*/ { BARCODE_MICROPDF417, -1, 1, -1, WARN_FAIL_ALL, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLM", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 469: Input too long for number of columns '1', requires 21 codewords (maximum 20)", -1 }, /* Cols 1 too small */
  142. /* 29*/ { BARCODE_MICROPDF417, -1, 2, -1, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWX", ZINT_WARN_INVALID_OPTION, 0, 15, 99, "Warning 470: Input too long for number of columns '2', ignoring", -1 }, /* Cols 2 too small, auto-upped to 4 with warning */
  143. /* 30*/ { BARCODE_MICROPDF417, -1, 2, -1, WARN_FAIL_ALL, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWX", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 469: Input too long for number of columns '2', requires 38 codewords (maximum 37)", -1 }, /* Cols 2 too small */
  144. /* 31*/ { BARCODE_MICROPDF417, -1, 3, -1, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKL", ZINT_WARN_INVALID_OPTION, 0, 32, 99, "Warning 470: Input too long for number of columns '3', ignoring", -1 }, /* Cols 3 too small, auto-upped to 4 with warning */
  145. /* 32*/ { BARCODE_MICROPDF417, -1, 3, -1, WARN_FAIL_ALL, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKL", ZINT_ERROR_INVALID_OPTION, ZINT_ERROR_INVALID_OPTION, 0, 0, "Error 469: Input too long for number of columns '3', requires 83 codewords (maximum 82)", -1 }, /* Cols 3 too small */
  146. /* 33*/ { BARCODE_PDF417, -1, 1, -1, 0, { 0, 0, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Cols 1 auto-upped to 2 just fits, now with warning */
  147. /* 34*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH", ZINT_WARN_INVALID_OPTION, 0, 67, 120, "Warning 748: Number of columns increased from 1 to 3", -1 }, /* Cols 1 too small with Structured Append, used to fail, now auto-upped to 3 with warning */
  148. /* 35*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Cols 1 with Structured Append auto-upped to 2 just fits, now with warning */
  149. /* 36*/ { BARCODE_PDF417, -1, 1, -1, 0, { 2, 2, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTU", ZINT_WARN_INVALID_OPTION, 0, 65, 120, "Warning 748: Number of columns increased from 1 to 3", -1 }, /* Cols 1 too small with Structured Append as last symbol (uses extra terminating codeword), used to fail, now auto-upped to 3 with warning */
  150. /* 37*/ { BARCODE_PDF417, -1, 1, -1, 0, { 2, 2, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Cols 1 with Structured Append as last symbol just fits with 1 less character pair when auto-upped to 2, now with warning */
  151. /* 38*/ { BARCODE_PDF417, -1, 1, -1, 0, { 3, 2, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 741: Structured Append index '3' out of range (1 to count 2)", -1 },
  152. /* 39*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 1, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 740: Structured Append count '1' out of range (2 to 99999)", -1 },
  153. /* 40*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 100000, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 740: Structured Append count '100000' out of range (2 to 99999)", -1 },
  154. /* 41*/ { BARCODE_PDF417, -1, 1, -1, 0, { 0, 2, "" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 741: Structured Append index '0' out of range (1 to count 2)", -1 },
  155. /* 42*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "1" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Now with warning */
  156. /* 43*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "123123" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Now with warning */
  157. /* 44*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "123123123123123123123123123123" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Now with warning */
  158. /* 45*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "1231231231231231231231231231231" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 742: Structured Append ID length 31 too long (30 digit maximum)", -1 },
  159. /* 46*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "23123123123123123123123123123" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", ZINT_WARN_INVALID_OPTION, 0, 89, 103, "Warning 748: Number of columns increased from 1 to 2", -1 }, /* Now with warning */
  160. /* 47*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "A" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 743: Invalid Structured Append ID (digits only)", -1 },
  161. /* 48*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "900" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 744: Structured Append ID triplet 1 value '900' out of range (000 to 899)", -1 },
  162. /* 49*/ { BARCODE_PDF417, -1, 1, -1, 0, { 1, 2, "123123123123123123123123901123" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 744: Structured Append ID triplet 9 value '901' out of range (000 to 899)", -1 },
  163. /* 50*/ { BARCODE_MICROPDF417, -1, -1, -1, 0, { 1, 2, "1231231231231231231231231231231" }, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH", ZINT_ERROR_INVALID_OPTION, -1, 0, 0, "Error 742: Structured Append ID length 31 too long (30 digit maximum)", -1 }, /* Micro PDF417 same error checking code */
  164. };
  165. const int data_size = ARRAY_SIZE(data);
  166. int i, length, ret;
  167. struct zint_symbol *symbol = NULL;
  168. struct zint_symbol previous_symbol;
  169. testStartSymbol("test_options", &symbol);
  170. for (i = 0; i < data_size; i++) {
  171. if (testContinue(p_ctx, i)) continue;
  172. symbol = ZBarcode_Create();
  173. assert_nonnull(symbol, "Symbol not created\n");
  174. length = testUtilSetSymbol(symbol, data[i].symbology, -1 /*input_mode*/, -1, data[i].option_1, data[i].option_2, data[i].option_3, -1 /*output_options*/, data[i].data, -1, debug);
  175. if (data[i].warn_level) {
  176. symbol->warn_level = data[i].warn_level;
  177. }
  178. if (data[i].structapp.count) {
  179. symbol->structapp = data[i].structapp;
  180. }
  181. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  182. assert_equal(ret, data[i].ret_encode, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret_encode, symbol->errtxt);
  183. if (data[i].option_3 != -1) {
  184. assert_equal(symbol->option_3, data[i].option_3, "i:%d symbol->option_3 %d != %d\n", i, symbol->option_3, data[i].option_3); /* Unchanged */
  185. } else {
  186. assert_zero(symbol->option_3, "i:%d symbol->option_3 %d != 0\n", i, symbol->option_3);
  187. }
  188. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, symbol->errtxt);
  189. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d (%s)\n", i, symbol->width, data[i].expected_width, symbol->errtxt);
  190. assert_zero(strcmp(symbol->errtxt, data[i].expected_errtxt), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected_errtxt);
  191. if (p_ctx->index == -1 && data[i].compare_previous != -1) {
  192. ret = testUtilSymbolCmp(symbol, &previous_symbol);
  193. assert_equal(!ret, !data[i].compare_previous, "i:%d testUtilSymbolCmp !ret %d != %d\n", i, ret, data[i].compare_previous);
  194. }
  195. memcpy(&previous_symbol, symbol, sizeof(previous_symbol));
  196. if (data[i].ret_vector != -1) {
  197. ret = ZBarcode_Buffer_Vector(symbol, 0);
  198. assert_equal(ret, data[i].ret_vector, "i:%d ZBarcode_Buffer_Vector ret %d != %d\n", i, ret, data[i].ret_vector);
  199. }
  200. ZBarcode_Delete(symbol);
  201. }
  202. testFinish();
  203. }
  204. static void test_reader_init(const testCtx *const p_ctx) {
  205. int debug = p_ctx->debug;
  206. struct item {
  207. int symbology;
  208. int input_mode;
  209. int output_options;
  210. char *data;
  211. int ret;
  212. int expected_rows;
  213. int expected_width;
  214. char *expected;
  215. char *comment;
  216. };
  217. static const struct item data[] = {
  218. /* 0*/ { BARCODE_PDF417, UNICODE_MODE, READER_INIT, "A", 0, 6, 103, "(12) 4 921 29 900 209 917 46 891 522 472 822 385", "Outputs Test Alpha flag 900" },
  219. /* 1*/ { BARCODE_MICROPDF417, UNICODE_MODE, READER_INIT, "A", 0, 11, 38, "(11) 921 900 29 900 179 499 922 262 777 478 300", "Outputs Test Alpha flag 900" },
  220. };
  221. const int data_size = ARRAY_SIZE(data);
  222. int i, length, ret;
  223. struct zint_symbol *symbol = NULL;
  224. char escaped[1024];
  225. char cmp_buf[32768];
  226. char cmp_msg[1024];
  227. int do_zxingcpp = (debug & ZINT_DEBUG_TEST_ZXINGCPP) && testUtilHaveZXingCPPDecoder(); /* Only do ZXing-C++ test if asked, too slow otherwise */
  228. testStartSymbol("test_reader_init", &symbol);
  229. for (i = 0; i < data_size; i++) {
  230. if (testContinue(p_ctx, i)) continue;
  231. symbol = ZBarcode_Create();
  232. assert_nonnull(symbol, "Symbol not created\n");
  233. symbol->debug = ZINT_DEBUG_TEST; /* Needed to get codeword dump in errtxt */
  234. length = testUtilSetSymbol(symbol, data[i].symbology, data[i].input_mode, -1 /*eci*/, -1 /*option_1*/, -1 /*option_2*/, -1, data[i].output_options, data[i].data, -1, debug);
  235. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  236. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  237. if (p_ctx->generate) {
  238. printf(" /*%3d*/ { %s, %s, %s, \"%s\", %s, %d, %d, \"%s\", \"%s\" },\n",
  239. i, testUtilBarcodeName(data[i].symbology), testUtilInputModeName(data[i].input_mode), testUtilOutputOptionsName(data[i].output_options),
  240. testUtilEscape(data[i].data, length, escaped, sizeof(escaped)),
  241. testUtilErrorName(data[i].ret), symbol->rows, symbol->width, symbol->errtxt, data[i].comment);
  242. } else {
  243. if (ret < ZINT_ERROR) {
  244. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, data[i].data);
  245. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d (%s)\n", i, symbol->width, data[i].expected_width, data[i].data);
  246. }
  247. assert_zero(strcmp(symbol->errtxt, data[i].expected), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected);
  248. if (ret < ZINT_ERROR) {
  249. if (do_zxingcpp && testUtilCanZXingCPP(i, symbol, data[i].data, length, debug)) {
  250. int cmp_len, ret_len;
  251. char modules_dump[32768];
  252. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  253. ret = testUtilZXingCPP(i, symbol, data[i].data, length, modules_dump, cmp_buf, sizeof(cmp_buf), &cmp_len);
  254. assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  255. ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data[i].data, length, NULL /*primary*/, escaped, &ret_len);
  256. assert_zero(ret, "i:%d %s testUtilZXingCPPCmp %d != 0 %s\n actual: %.*s\nexpected: %.*s\n",
  257. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_len, cmp_buf, ret_len, escaped);
  258. }
  259. }
  260. }
  261. ZBarcode_Delete(symbol);
  262. }
  263. testFinish();
  264. }
  265. static void test_input(const testCtx *const p_ctx) {
  266. int debug = p_ctx->debug;
  267. struct item {
  268. int symbology;
  269. int input_mode;
  270. int eci;
  271. int option_1;
  272. int option_2;
  273. struct zint_structapp structapp;
  274. char *data;
  275. int ret;
  276. int expected_eci;
  277. int expected_rows;
  278. int expected_width;
  279. char *expected;
  280. int bwipp_cmp;
  281. char *comment;
  282. };
  283. /* é U+00E9 (\351, 233), UTF-8 C3A9 */
  284. /* β U+03B2 in ISO 8859-7 Greek (but not other ISO 8859 or Win page) (\342, 226), UTF-8 CEB2 */
  285. static const struct item data[] = {
  286. /* 0*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "é", 0, 0, 6, 103, "(12) 4 913 233 900 398 878 279 350 217 295 231 77", 1, "" },
  287. /* 1*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "é", 0, 0, 6, 103, "(12) 4 913 233 900 398 878 279 350 217 295 231 77", 1, "" },
  288. /* 2*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 3, -1, -1, { 0, 0, "" }, "é", 0, 3, 7, 103, "(14) 6 927 3 913 233 900 162 81 551 529 607 384 164 108", 1, "" },
  289. /* 3*/ { BARCODE_PDF417, UNICODE_MODE, 3, -1, -1, { 0, 0, "" }, "é", 0, 3, 7, 103, "(14) 6 927 3 913 233 900 162 81 551 529 607 384 164 108", 1, "" },
  290. /* 4*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 26, -1, -1, { 0, 0, "" }, "é", 0, 26, 7, 103, "(14) 6 927 26 901 195 169 574 701 519 908 84 241 360 642", 1, "" },
  291. /* 5*/ { BARCODE_PDF417, UNICODE_MODE, 26, -1, -1, { 0, 0, "" }, "é", 0, 26, 7, 103, "(14) 6 927 26 901 195 169 574 701 519 908 84 241 360 642", 1, "" },
  292. /* 6*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 9, -1, -1, { 0, 0, "" }, "β", 0, 9, 7, 103, "(14) 6 927 9 913 226 900 487 92 418 278 838 500 576 84", 1, "" },
  293. /* 7*/ { BARCODE_PDF417, UNICODE_MODE, 9, -1, -1, { 0, 0, "" }, "β", 0, 9, 7, 103, "(14) 6 927 9 913 226 900 487 92 418 278 838 500 576 84", 1, "" },
  294. /* 8*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "β", ZINT_WARN_USES_ECI, 9, 7, 103, "Warning (14) 6 927 9 913 226 900 487 92 418 278 838 500 576 84", 1, "" },
  295. /* 9*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "β", ZINT_WARN_USES_ECI, 9, 7, 103, "Warning (14) 6 927 9 913 226 900 487 92 418 278 838 500 576 84", 1, "" },
  296. /* 10*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 3, -1, -1, { 0, 0, "" }, "β", ZINT_ERROR_INVALID_DATA, 3, 0, 0, "Error 244: Invalid character in input for ECI '3'", 1, "" },
  297. /* 11*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 899, -1, -1, { 0, 0, "" }, "A", 0, 899, 6, 103, "(12) 4 927 899 29 567 272 3 384 796 210 839 746", 0, "BWIPP BYTE1" },
  298. /* 12*/ { BARCODE_PDF417, UNICODE_MODE, 899, -1, -1, { 0, 0, "" }, "A", 0, 899, 6, 103, "(12) 4 927 899 29 567 272 3 384 796 210 839 746", 0, "BWIPP BYTE1" },
  299. /* 13*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 900, -1, -1, { 0, 0, "" }, "A", 0, 900, 7, 103, "(14) 6 926 0 0 29 900 205 526 248 527 915 616 104 416", 0, "BWIPP BYTE1" },
  300. /* 14*/ { BARCODE_PDF417, UNICODE_MODE, 900, -1, -1, { 0, 0, "" }, "A", 0, 900, 7, 103, "(14) 6 926 0 0 29 900 205 526 248 527 915 616 104 416", 0, "BWIPP BYTE1" },
  301. /* 15*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 810899, -1, -1, { 0, 0, "" }, "A", 0, 810899, 7, 103, "(14) 6 926 899 899 29 900 67 632 76 482 536 212 354 560", 0, "BWIPP BYTE1" },
  302. /* 16*/ { BARCODE_PDF417, UNICODE_MODE, 810899, -1, -1, { 0, 0, "" }, "A", 0, 810899, 7, 103, "(14) 6 926 899 899 29 900 67 632 76 482 536 212 354 560", 0, "BWIPP BYTE1" },
  303. /* 17*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 810900, -1, -1, { 0, 0, "" }, "A", 0, 810900, 6, 103, "(12) 4 925 0 29 682 61 599 519 256 742 797 153", 0, "BWIPP BYTE1" },
  304. /* 18*/ { BARCODE_PDF417, UNICODE_MODE, 810900, -1, -1, { 0, 0, "" }, "A", 0, 810900, 6, 103, "(12) 4 925 0 29 682 61 599 519 256 742 797 153", 0, "BWIPP BYTE1" },
  305. /* 19*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 811799, -1, -1, { 0, 0, "" }, "A", 0, 811799, 6, 103, "(12) 4 925 899 29 447 238 770 706 58 39 749 743", 0, "BWIPP BYTE1" },
  306. /* 20*/ { BARCODE_PDF417, UNICODE_MODE, 811799, -1, -1, { 0, 0, "" }, "A", 0, 811799, 6, 103, "(12) 4 925 899 29 447 238 770 706 58 39 749 743", 0, "BWIPP BYTE1" },
  307. /* 21*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, 811800, -1, -1, { 0, 0, "" }, "A", ZINT_ERROR_INVALID_OPTION, 811800, 0, 0, "Error 472: ECI code '811800' out of range (0 to 811799)", 1, "" },
  308. /* 22*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "é", 0, 0, 11, 38, "(11) 901 233 900 900 310 142 569 141 677 300 494", 1, "" },
  309. /* 23*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "é", 0, 0, 11, 38, "(11) 901 233 900 900 310 142 569 141 677 300 494", 1, "" },
  310. /* 24*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 3, -1, -1, { 0, 0, "" }, "é", 0, 3, 11, 38, "(11) 927 3 901 233 657 863 824 246 172 292 833", 1, "" },
  311. /* 25*/ { BARCODE_MICROPDF417, UNICODE_MODE, 3, -1, -1, { 0, 0, "" }, "é", 0, 3, 11, 38, "(11) 927 3 901 233 657 863 824 246 172 292 833", 1, "" },
  312. /* 26*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 26, -1, 3, { 0, 0, "" }, "é", 0, 26, 6, 82, "(18) 927 26 901 195 169 900 288 96 509 365 709 784 713 403 219 81 851 866", 1, "" },
  313. /* 27*/ { BARCODE_MICROPDF417, UNICODE_MODE, 26, -1, 3, { 0, 0, "" }, "é", 0, 26, 6, 82, "(18) 927 26 901 195 169 900 288 96 509 365 709 784 713 403 219 81 851 866", 1, "" },
  314. /* 28*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 9, -1, -1, { 0, 0, "" }, "β", 0, 9, 11, 38, "(11) 927 9 901 226 806 489 813 191 671 146 327", 1, "" },
  315. /* 29*/ { BARCODE_MICROPDF417, UNICODE_MODE, 9, -1, -1, { 0, 0, "" }, "β", 0, 9, 11, 38, "(11) 927 9 901 226 806 489 813 191 671 146 327", 1, "" },
  316. /* 30*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "β", ZINT_WARN_USES_ECI, 9, 11, 38, "Warning (11) 927 9 901 226 806 489 813 191 671 146 327", 1, "" },
  317. /* 31*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "β", ZINT_WARN_USES_ECI, 9, 11, 38, "Warning (11) 927 9 901 226 806 489 813 191 671 146 327", 1, "" },
  318. /* 32*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "β", ZINT_WARN_USES_ECI, 9, 11, 38, "Warning (11) 927 9 901 226 806 489 813 191 671 146 327", 1, "" },
  319. /* 33*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "β", ZINT_WARN_USES_ECI, 9, 11, 38, "Warning (11) 927 9 901 226 806 489 813 191 671 146 327", 1, "" },
  320. /* 34*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 3, -1, -1, { 0, 0, "" }, "β", ZINT_ERROR_INVALID_DATA, 3, 0, 0, "Error 244: Invalid character in input for ECI '3'", 1, "" },
  321. /* 35*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 899, -1, -1, { 0, 0, "" }, "A", 0, 899, 11, 38, "(11) 927 899 900 29 533 437 884 3 617 241 747", 0, "BWIPP BYTE" },
  322. /* 36*/ { BARCODE_MICROPDF417, UNICODE_MODE, 899, -1, -1, { 0, 0, "" }, "A", 0, 899, 11, 38, "(11) 927 899 900 29 533 437 884 3 617 241 747", 0, "BWIPP BYTE" },
  323. /* 37*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 900, -1, 3, { 0, 0, "" }, "A", 0, 900, 6, 82, "(18) 926 0 0 900 29 900 913 543 414 141 214 886 461 1 419 422 54 495", 0, "BWIPP BYTE" },
  324. /* 38*/ { BARCODE_MICROPDF417, UNICODE_MODE, 900, -1, 3, { 0, 0, "" }, "A", 0, 900, 6, 82, "(18) 926 0 0 900 29 900 913 543 414 141 214 886 461 1 419 422 54 495", 0, "BWIPP BYTE" },
  325. /* 39*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 810899, -1, 3, { 0, 0, "" }, "A", 0, 810899, 6, 82, "(18) 926 899 899 900 29 900 351 555 241 509 787 583 3 326 41 628 534 151", 0, "BWIPP BYTE" },
  326. /* 40*/ { BARCODE_MICROPDF417, UNICODE_MODE, 810899, -1, 3, { 0, 0, "" }, "A", 0, 810899, 6, 82, "(18) 926 899 899 900 29 900 351 555 241 509 787 583 3 326 41 628 534 151", 0, "BWIPP BYTE" },
  327. /* 41*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 810900, -1, 1, { 0, 0, "" }, "A", 0, 810900, 11, 38, "(11) 925 0 900 29 233 533 43 483 708 659 704", 0, "BWIPP BYTE" },
  328. /* 42*/ { BARCODE_MICROPDF417, UNICODE_MODE, 810900, -1, 1, { 0, 0, "" }, "A", 0, 810900, 11, 38, "(11) 925 0 900 29 233 533 43 483 708 659 704", 0, "BWIPP BYTE" },
  329. /* 43*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, 811800, -1, -1, { 0, 0, "" }, "A", ZINT_ERROR_INVALID_OPTION, 811800, 0, 0, "Error 472: ECI code '811800' out of range (0 to 811799)", 0, "BWIPP BYTE" },
  330. /* 44*/ { BARCODE_HIBC_PDF, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, ",", ZINT_ERROR_INVALID_DATA, 0, 0, 0, "Error 203: Invalid character at position 1 in input (alphanumerics, space and \"-.$/+%\" only)", 1, "" },
  331. /* 45*/ { BARCODE_HIBC_MICPDF, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, ",", ZINT_ERROR_INVALID_DATA, 0, 0, 0, "Error 203: Invalid character at position 1 in input (alphanumerics, space and \"-.$/+%\" only)", 1, "" },
  332. /* 46*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "AB{} C#+ de{} {}F 12{} G{} H", 0, 0, 12, 120, "(36) 28 1 865 807 896 782 855 626 807 94 865 807 896 808 776 839 176 808 32 776 839 806 208", 0, "BWIPP different encodation (3 codewords shorter)" },
  333. /* 47*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "AB{} C#+ de{} {}F 12{} G{} H", 0, 0, 11, 120, "(33) 25 1 896 897 806 88 470 806 813 149 809 836 809 809 837 178 806 32 776 839 806 209 809", 0, "BWIPP different encodation, same codeword count" },
  334. /* 48*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "{} #+ de{} 12{} {} H", 0, 0, 10, 120, "(30) 22 865 807 896 808 470 807 94 865 807 896 808 32 776 839 806 865 807 896 787 900 900", 0, "BWIPP different encodation" },
  335. /* 49*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "{} #+ de{} 12{} {} H", 0, 0, 9, 120, "(27) 19 896 897 866 795 626 813 149 809 838 806 32 776 839 806 896 897 806 239 325 656 122", 0, "BWIPP different encodation" },
  336. /* 50*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "A", 0, 0, 5, 103, "(10) 2 29 478 509 903 637 74 490 760 21", 0, "BWIPP BYTE1" },
  337. /* 51*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, "A", 0, 0, 5, 103, "(10) 2 29 478 509 903 637 74 490 760 21", 0, "BWIPP BYTE1" },
  338. /* 52*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 0, -1, { 0, 0, "" }, "A", 0, 0, 4, 86, "(4) 2 29 347 502", 0, "BWIPP BYTE1" },
  339. /* 53*/ { BARCODE_PDF417, UNICODE_MODE, -1, 0, -1, { 0, 0, "" }, "A", 0, 0, 4, 86, "(4) 2 29 347 502", 0, "BWIPP BYTE1" },
  340. /* 54*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 1, -1, { 0, 0, "" }, "A", 0, 0, 6, 86, "(6) 2 29 752 533 551 139", 0, "BWIPP BYTE1" },
  341. /* 55*/ { BARCODE_PDF417, UNICODE_MODE, -1, 1, -1, { 0, 0, "" }, "A", 0, 0, 6, 86, "(6) 2 29 752 533 551 139", 0, "BWIPP BYTE1" },
  342. /* 56*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 2, -1, { 0, 0, "" }, "A", 0, 0, 5, 103, "(10) 2 29 478 509 903 637 74 490 760 21", 0, "BWIPP BYTE1" },
  343. /* 57*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 3, -1, { 0, 0, "" }, "A", 0, 0, 9, 103, "(18) 2 29 290 888 64 789 390 182 22 197 347 41 298 467 387 917 455 196", 0, "BWIPP BYTE1" },
  344. /* 58*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 4, -1, { 0, 0, "" }, "A", 0, 0, 12, 120, "(36) 4 29 900 900 702 212 753 721 695 584 222 459 110 594 813 465 718 912 667 349 852 602", 0, "BWIPP BYTE1" },
  345. /* 59*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 5, -1, { 0, 0, "" }, "A", 0, 0, 14, 154, "(70) 6 29 900 900 900 900 774 599 527 418 850 374 921 763 922 772 572 661 584 902 578 696", 0, "BWIPP BYTE1" },
  346. /* 60*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 6, -1, { 0, 0, "" }, "A", 0, 0, 19, 188, "(133) 5 29 900 900 900 113 261 822 368 600 652 404 869 860 902 184 702 611 323 195 794 566", 0, "BWIPP BYTE1" },
  347. /* 61*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 7, -1, { 0, 0, "" }, "A", 0, 0, 29, 222, "(261) 5 29 900 900 900 384 614 456 20 422 177 78 492 215 859 765 864 755 572 621 891 97 538", 0, "BWIPP BYTE1" },
  348. /* 62*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 8, -1, { 0, 0, "" }, "A", 0, 0, 40, 290, "(520) 8 29 900 900 900 900 900 900 255 576 871 499 885 500 866 196 784 681 589 448 428 108", 0, "BWIPP BYTE1" },
  349. /* 63*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 8, -1, { 1, 4, "017053" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 900 928 111 100 17 53 923 1 111 104 903 71", 1, "H.4 example" },
  350. /* 64*/ { BARCODE_PDF417, UNICODE_MODE, -1, 8, -1, { 1, 4, "017053" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 900 928 111 100 17 53 923 1 111 104 903 71", 1, "H.4 example" },
  351. /* 65*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 8, -1, { 4, 4, "017053" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 928 111 103 17 53 923 1 111 104 922 772 754", 1, "H.4 example last segment" },
  352. /* 66*/ { BARCODE_PDF417, UNICODE_MODE, -1, 8, -1, { 4, 4, "017053" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 928 111 103 17 53 923 1 111 104 922 772 754", 1, "H.4 example last segment" },
  353. /* 67*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 8, -1, { 2, 4, "" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 900 900 900 928 111 101 923 1 111 104 583", 1, "No ID" },
  354. /* 68*/ { BARCODE_PDF417, UNICODE_MODE, -1, 8, -1, { 2, 4, "" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 900 900 900 928 111 101 923 1 111 104 583", 1, "No ID" },
  355. /* 69*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, 8, -1, { 99998, 99999, "12345" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 900 928 222 197 123 45 923 1 222 199 198", 1, "IDs '123', '045'" },
  356. /* 70*/ { BARCODE_PDF417, UNICODE_MODE, -1, 8, -1, { 99998, 99999, "12345" }, "A", 0, 0, 41, 290, "(533) 21 29 900 900 900 900 900 900 900 900 900 900 928 222 197 123 45 923 1 222 199 198", 1, "IDs '123', '045'" },
  357. /* 71*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 1, 4, "017053" }, "A", 0, 0, 6, 99, "(24) 900 29 900 928 111 100 17 53 923 1 111 104 430 136 328 218 796 853 32 421 712 477 363", 1, "H.4 example" },
  358. /* 72*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 1, 4, "017053" }, "A", 0, 0, 6, 99, "(24) 900 29 900 928 111 100 17 53 923 1 111 104 430 136 328 218 796 853 32 421 712 477 363", 1, "H.4 example" },
  359. /* 73*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 4, 4, "017053" }, "A", 0, 0, 6, 99, "(24) 900 29 928 111 103 17 53 923 1 111 104 922 837 837 774 835 701 445 926 428 285 851 334", 1, "H.4 example last segment" },
  360. /* 74*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 3, 4, "" }, "A", 0, 0, 17, 38, "(17) 900 29 900 928 111 102 923 1 111 104 343 717 634 693 618 860 618", 1, "No ID" },
  361. /* 75*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 3, 4, "" }, "A", 0, 0, 17, 38, "(17) 900 29 900 928 111 102 923 1 111 104 343 717 634 693 618 860 618", 1, "No ID" },
  362. /* 76*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 99999, 99999, "100200300" }, "A", 0, 0, 11, 55, "(22) 900 29 928 222 198 100 200 300 923 1 222 199 922 693 699 895 719 637 154 478 399 638", 1, "IDs '100', '200', '300'" },
  363. /* 77*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 99999, 99999, "100200300" }, "A", 0, 0, 11, 55, "(22) 900 29 928 222 198 100 200 300 923 1 222 199 922 693 699 895 719 637 154 478 399 638", 1, "IDs '100', '200', '300'" },
  364. /* 78*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "123456", 0, 0, 7, 103, "(14) 6 902 1 348 256 900 759 577 359 263 64 409 852 154", 0, "BWIPP BYTE" },
  365. /* 79*/ { BARCODE_PDF417, DATA_MODE, -1, -1, -1, { 0, 0, "" }, "123456", 0, 0, 7, 103, "(14) 6 841 63 125 209 900 889 730 746 451 470 371 667 636", 1, "" },
  366. /* 80*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "12345678901234567890", 0, 0, 9, 103, "(18) 10 902 211 358 354 304 269 753 190 900 327 902 163 367 231 586 808 731", 1, "" },
  367. /* 81*/ { BARCODE_PDF417, DATA_MODE, -1, -1, -1, { 0, 0, "" }, "12345678901234567890", 0, 0, 9, 103, "(18) 10 902 211 358 354 304 269 753 190 900 327 902 163 367 231 586 808 731", 1, "" },
  368. /* 82*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, 0, 12, 137, "(48) 40 902 491 81 137 450 302 67 15 174 492 862 667 475 869 12 434 685 326 422 57 117 339", 1, "" },
  369. /* 83*/ { BARCODE_PDF417, DATA_MODE, -1, -1, -1, { 0, 0, "" }, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, 0, 12, 137, "(48) 40 902 491 81 137 450 302 67 15 174 492 862 667 475 869 12 434 685 326 422 57 117 339", 1, "" },
  370. };
  371. const int data_size = ARRAY_SIZE(data);
  372. int i, length, ret;
  373. struct zint_symbol *symbol = NULL;
  374. int last_fast_num_cwds = 0; /* Keep clang-tidy happy */
  375. char escaped[1024];
  376. char cmp_buf[32768];
  377. char cmp_msg[1024];
  378. int do_bwipp = (debug & ZINT_DEBUG_TEST_BWIPP) && testUtilHaveGhostscript(); /* Only do BWIPP test if asked, too slow otherwise */
  379. int do_zxingcpp = (debug & ZINT_DEBUG_TEST_ZXINGCPP) && testUtilHaveZXingCPPDecoder(); /* Only do ZXing-C++ test if asked, too slow otherwise */
  380. testStartSymbol("test_input", &symbol);
  381. for (i = 0; i < data_size; i++) {
  382. if (testContinue(p_ctx, i)) continue;
  383. symbol = ZBarcode_Create();
  384. assert_nonnull(symbol, "Symbol not created\n");
  385. symbol->debug = ZINT_DEBUG_TEST; /* Needed to get codeword dump in errtxt */
  386. length = testUtilSetSymbol(symbol, data[i].symbology, data[i].input_mode, data[i].eci, data[i].option_1, data[i].option_2, -1, -1 /*output_options*/, data[i].data, -1, debug);
  387. if (data[i].structapp.count) {
  388. symbol->structapp = data[i].structapp;
  389. }
  390. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  391. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  392. if (p_ctx->generate) {
  393. printf(" /*%3d*/ { %s, %s, %d, %d, %d, { %d, %d, \"%s\" }, \"%s\", %s, %d, %d, %d, \"%s\", %d, \"%s\" },\n",
  394. i, testUtilBarcodeName(data[i].symbology), testUtilInputModeName(data[i].input_mode), data[i].eci, data[i].option_1, data[i].option_2,
  395. data[i].structapp.index, data[i].structapp.count, data[i].structapp.id,
  396. testUtilEscape(data[i].data, length, escaped, sizeof(escaped)), testUtilErrorName(data[i].ret),
  397. symbol->eci, symbol->rows, symbol->width, symbol->errtxt, data[i].bwipp_cmp, data[i].comment);
  398. } else {
  399. if (ret < ZINT_ERROR) {
  400. assert_equal(symbol->eci, data[i].expected_eci, "i:%d symbol->eci %d != %d (%s)\n", i, symbol->eci, data[i].expected_eci, data[i].data);
  401. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, data[i].data);
  402. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d (%s)\n", i, symbol->width, data[i].expected_width, data[i].data);
  403. }
  404. assert_zero(strcmp(symbol->errtxt, data[i].expected), "i:%d strcmp(%s, %s) != 0\n", i, symbol->errtxt, data[i].expected);
  405. if (ret < ZINT_ERROR) {
  406. if (ret == 0 && p_ctx->index == -1) {
  407. if (i && (data[i - 1].input_mode & FAST_MODE) && !(data[i].input_mode & FAST_MODE)
  408. && strcmp(data[i - 1].data, data[i].data) == 0) {
  409. int num_cwds;
  410. assert_equal(sscanf(symbol->errtxt, "(%d)", &num_cwds), 1, "i:%d num_cwds sscanf != 1 (%s)\n", i, symbol->errtxt);
  411. assert_nonzero(last_fast_num_cwds >= num_cwds, "i:%d last_fast_num_cwds %d < num_cwds %d\n", i, last_fast_num_cwds, num_cwds);
  412. if (num_cwds < last_fast_num_cwds && (debug & ZINT_DEBUG_TEST_PRINT) && !(debug & ZINT_DEBUG_TEST_LESS_NOISY)) {
  413. printf("i:%d diff %d\n", i, num_cwds - last_fast_num_cwds);
  414. }
  415. }
  416. if (data[i].input_mode & FAST_MODE) {
  417. assert_equal(sscanf(symbol->errtxt, "(%d)", &last_fast_num_cwds), 1, "i:%d last_fast sscanf != 1 (%s)\n", i, symbol->errtxt);
  418. }
  419. }
  420. if (do_bwipp && testUtilCanBwipp(i, symbol, data[i].option_1, data[i].option_2, -1, debug)) {
  421. if (!data[i].bwipp_cmp) {
  422. if (debug & ZINT_DEBUG_TEST_PRINT) printf("i:%d %s not BWIPP compatible (%s)\n", i, testUtilBarcodeName(symbol->symbology), data[i].comment);
  423. } else {
  424. char modules_dump[32768];
  425. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  426. ret = testUtilBwipp(i, symbol, data[i].option_1, data[i].option_2, -1, data[i].data, length, NULL, cmp_buf, sizeof(cmp_buf), NULL);
  427. assert_zero(ret, "i:%d %s testUtilBwipp ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  428. ret = testUtilBwippCmp(symbol, cmp_msg, cmp_buf, modules_dump);
  429. assert_zero(ret, "i:%d %s testUtilBwippCmp %d != 0 %s\n actual: %s\nexpected: %s\n",
  430. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_buf, modules_dump);
  431. }
  432. }
  433. if (do_zxingcpp && testUtilCanZXingCPP(i, symbol, data[i].data, length, debug)) {
  434. int cmp_len, ret_len;
  435. char modules_dump[32768];
  436. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  437. ret = testUtilZXingCPP(i, symbol, data[i].data, length, modules_dump, cmp_buf, sizeof(cmp_buf), &cmp_len);
  438. assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  439. ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data[i].data, length, NULL /*primary*/, escaped, &ret_len);
  440. assert_zero(ret, "i:%d %s testUtilZXingCPPCmp %d != 0 %s\n actual: %.*s\nexpected: %.*s\n",
  441. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_len, cmp_buf, ret_len, escaped);
  442. }
  443. }
  444. }
  445. ZBarcode_Delete(symbol);
  446. }
  447. testFinish();
  448. }
  449. static void test_encode(const testCtx *const p_ctx) {
  450. int debug = p_ctx->debug;
  451. struct item {
  452. int symbology;
  453. int eci;
  454. int input_mode;
  455. int option_1;
  456. int option_2;
  457. int option_3;
  458. char *data;
  459. int ret;
  460. int expected_rows;
  461. int expected_width;
  462. int bwipp_cmp;
  463. char *comment;
  464. char *expected;
  465. };
  466. static const struct item data[] = {
  467. /* 0*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 2, -1, "PDF417 Symbology Standard", 0, 10, 103, 0, "ISO 15438:2015 Figure 1, same, BWIPP uses different encodation, same codeword count",
  468. "1111111101010100011101010011100000111010110011110001110111011001100011110101011110000111111101000101001"
  469. "1111111101010100011111010100110000110100001110001001111010001010000011111010100110000111111101000101001"
  470. "1111111101010100011101010111111000101100110111100001110111111000101011010100111110000111111101000101001"
  471. "1111111101010100010101111101111100100000100100000101000101000100000010101111001111000111111101000101001"
  472. "1111111101010100011010111000100000111100100000101001001000011111011011010111000100000111111101000101001"
  473. "1111111101010100011110101111010000100111100001010001100111110010010011110101111001000111111101000101001"
  474. "1111111101010100010100111001110000101110001110100001111001101000111011010011101111000111111101000101001"
  475. "1111111101010100011010111111011110111101011001100001010011111101110011010111111011110111111101000101001"
  476. "1111111101010100011010011011111100110000101001111101101111100010001010100110011111000111111101000101001"
  477. "1111111101010100010100011000001100100010111101111001100011100011001011010001100011100111111101000101001"
  478. },
  479. /* 1*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 2, -1, "PDF417 Symbology Standard", 0, 10, 103, 0, "ISO 15438:2015 Figure 1, same, BWIPP uses different encodation, same codeword count",
  480. "1111111101010100011101010011100000111010110011110001110111011001100011110101011110000111111101000101001"
  481. "1111111101010100011111010100110000110100001110001001111010001010000011111010100110000111111101000101001"
  482. "1111111101010100011101010111111000101100110111100001110111111000101011010100111110000111111101000101001"
  483. "1111111101010100010101111101111100100000100100000101000101000100000010101111001111000111111101000101001"
  484. "1111111101010100011010111000100000111100100000101001001000011111011011010111000100000111111101000101001"
  485. "1111111101010100011110101111010000100111100001010001100111110010010011110101111001000111111101000101001"
  486. "1111111101010100010100111001110000101110001110100001111001101000111011010011101111000111111101000101001"
  487. "1111111101010100011010111111011110111101011001100001010011111101110011010111111011110111111101000101001"
  488. "1111111101010100011010011011111100110000101001111101101111100010001010100110011111000111111101000101001"
  489. "1111111101010100010100011000001100100010111101111001100011100011001011010001100011100111111101000101001"
  490. },
  491. /* 2*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 2, -1, "PDF417", 0, 5, 103, 1, "ISO 15438:2015 Annex Q example for generating ECC",
  492. "1111111101010100011110101011110000110101000110000001110111011001100011110101011110000111111101000101001"
  493. "1111111101010100011111101010011100110100001110001001111010001010000011111101010111000111111101000101001"
  494. "1111111101010100011101010111111000101100110011110001100011111001001011101010011111100111111101000101001"
  495. "1111111101010100010101111001111000101011101110000001100001101000100010101111001111000111111101000101001"
  496. "1111111101010100011101011100011000100001101011111101111110110001011011101011100110000111111101000101001"
  497. },
  498. /* 3*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 2, -1, "PDF417", 0, 5, 103, 1, "ISO 15438:2015 Annex Q example for generating ECC",
  499. "1111111101010100011110101011110000110101000110000001110111011001100011110101011110000111111101000101001"
  500. "1111111101010100011111101010011100110100001110001001111010001010000011111101010111000111111101000101001"
  501. "1111111101010100011101010111111000101100110011110001100011111001001011101010011111100111111101000101001"
  502. "1111111101010100010101111001111000101011101110000001100001101000100010101111001111000111111101000101001"
  503. "1111111101010100011101011100011000100001101011111101111110110001011011101011100110000111111101000101001"
  504. },
  505. /* 4*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 0, 1, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ ", 0, 17, 86, 1, "Text Compaction Alpha",
  506. "11111111010101000111110101001111101101011001110000011101010111000000111111101000101001"
  507. "11111111010101000111111010101110001111110101011100011110101000100000111111101000101001"
  508. "11111111010101000110101011111000001010011001111100011101010111111000111111101000101001"
  509. "11111111010101000111010010111000001101000001011000011010111101111100111111101000101001"
  510. "11111111010101000111010111001100001010000111110011011110101110001110111111101000101001"
  511. "11111111010101000111110101110000101011001110011111011110101111010000111111101000101001"
  512. "11111111010101000101001110001110001100100001101110010100111011100000111111101000101001"
  513. "11111111010101000101011111000011001101100111100100010101111110001110111111101000101001"
  514. "11111111010101000101001101111100001001100001000111011010011011111100111111101000101001"
  515. "11111111010101000110100011101111001001100111100111010100011000110000111111101000101001"
  516. "11111111010101000111010011101100001001100101111110011110100111001110111111101000101001"
  517. "11111111010101000110100010011111001000001010111100010100010001111000111111101000101001"
  518. "11111111010101000110100000101100001000110011001000010100001100001100111111101000101001"
  519. "11111111010101000111101000101000001110001100111010011111010001001100111111101000101001"
  520. "11111111010101000111101000011110101100011110010011011101000011111010111111101000101001"
  521. "11111111010101000110010110111000001100011000100001011100101000111000111111101000101001"
  522. "11111111010101000101000111100100001110000101100010010100011110000100111111101000101001"
  523. },
  524. /* 5*/ { BARCODE_PDF417, -1, UNICODE_MODE, 0, 1, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ ", 0, 17, 86, 1, "Text Compaction Alpha",
  525. "11111111010101000111110101001111101101011001110000011101010111000000111111101000101001"
  526. "11111111010101000111111010101110001111110101011100011110101000100000111111101000101001"
  527. "11111111010101000110101011111000001010011001111100011101010111111000111111101000101001"
  528. "11111111010101000111010010111000001101000001011000011010111101111100111111101000101001"
  529. "11111111010101000111010111001100001010000111110011011110101110001110111111101000101001"
  530. "11111111010101000111110101110000101011001110011111011110101111010000111111101000101001"
  531. "11111111010101000101001110001110001100100001101110010100111011100000111111101000101001"
  532. "11111111010101000101011111000011001101100111100100010101111110001110111111101000101001"
  533. "11111111010101000101001101111100001001100001000111011010011011111100111111101000101001"
  534. "11111111010101000110100011101111001001100111100111010100011000110000111111101000101001"
  535. "11111111010101000111010011101100001001100101111110011110100111001110111111101000101001"
  536. "11111111010101000110100010011111001000001010111100010100010001111000111111101000101001"
  537. "11111111010101000110100000101100001000110011001000010100001100001100111111101000101001"
  538. "11111111010101000111101000101000001110001100111010011111010001001100111111101000101001"
  539. "11111111010101000111101000011110101100011110010011011101000011111010111111101000101001"
  540. "11111111010101000110010110111000001100011000100001011100101000111000111111101000101001"
  541. "11111111010101000101000111100100001110000101100010010100011110000100111111101000101001"
  542. },
  543. /* 6*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 1, -1, "abcdefghijklmnopqrstuvwxyz ", 0, 19, 86, 1, "Text Compaction Lower",
  544. "11111111010101000110101000110000001101011001110000011101010111000000111111101000101001"
  545. "11111111010101000111110101001100001100000101110010011111010100011000111111101000101001"
  546. "11111111010101000110101011111000001111101011110110011010100111110000111111101000101001"
  547. "11111111010101000111101001011110001010001110111000011010111101111100111111101000101001"
  548. "11111111010101000110101110001000001010001111000001011010111000010000111111101000101001"
  549. "11111111010101000111110101110000101110010011111001011110101111001000111111101000101001"
  550. "11111111010101000110100111000111101011001111000111010100111011100000111111101000101001"
  551. "11111111010101000110101111110111101111101100100100011110100101000000111111101000101001"
  552. "11111111010101000101001101111100001011100100000011010100110011111000111111101000101001"
  553. "11111111010101000101000111001110001100010001001100010100011000110000111111101000101001"
  554. "11111111010101000110100111001000001110001001110011011010011100010000111111101000101001"
  555. "11111111010101000110100010011111001101111000100110010100010000111100111111101000101001"
  556. "11111111010101000111010000010111001000110111101110010100001100001100111111101000101001"
  557. "11111111010101000111111010001011101100011011110010011110100010001000111111101000101001"
  558. "11111111010101000111101000011110101000001100101110011010000010111110111111101000101001"
  559. "11111111010101000111001011011110001000010010000001011100101000111000111111101000101001"
  560. "11111111010101000101000111100010001111010000101000010100011110000010111111101000101001"
  561. "11111111010101000111111001011101101010000001001111010010111001111110111111101000101001"
  562. "11111111010101000111011010000110001000100111001110011110110100111000111111101000101001"
  563. },
  564. /* 7*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 1, -1, "abcdefghijklmnopqrstuvwxyz ", 0, 19, 86, 1, "Text Compaction Lower",
  565. "11111111010101000110101000110000001101011001110000011101010111000000111111101000101001"
  566. "11111111010101000111110101001100001100000101110010011111010100011000111111101000101001"
  567. "11111111010101000110101011111000001111101011110110011010100111110000111111101000101001"
  568. "11111111010101000111101001011110001010001110111000011010111101111100111111101000101001"
  569. "11111111010101000110101110001000001010001111000001011010111000010000111111101000101001"
  570. "11111111010101000111110101110000101110010011111001011110101111001000111111101000101001"
  571. "11111111010101000110100111000111101011001111000111010100111011100000111111101000101001"
  572. "11111111010101000110101111110111101111101100100100011110100101000000111111101000101001"
  573. "11111111010101000101001101111100001011100100000011010100110011111000111111101000101001"
  574. "11111111010101000101000111001110001100010001001100010100011000110000111111101000101001"
  575. "11111111010101000110100111001000001110001001110011011010011100010000111111101000101001"
  576. "11111111010101000110100010011111001101111000100110010100010000111100111111101000101001"
  577. "11111111010101000111010000010111001000110111101110010100001100001100111111101000101001"
  578. "11111111010101000111111010001011101100011011110010011110100010001000111111101000101001"
  579. "11111111010101000111101000011110101000001100101110011010000010111110111111101000101001"
  580. "11111111010101000111001011011110001000010010000001011100101000111000111111101000101001"
  581. "11111111010101000101000111100010001111010000101000010100011110000010111111101000101001"
  582. "11111111010101000111111001011101101010000001001111010010111001111110111111101000101001"
  583. "11111111010101000111011010000110001000100111001110011110110100111000111111101000101001"
  584. },
  585. /* 8*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 2, -1, "abcdefgABCDEFG", 0, 9, 103, 1, "Text Compaction Lower Alpha",
  586. "1111111101010100011111010101111100110101000001100001000001010000010011110101011110000111111101000101001"
  587. "1111111101010100011110101000010000111101011100111001110100111001100011110101001000000111111101000101001"
  588. "1111111101010100011101010111111000111110010111101101000001110100110010101000011110000111111101000101001"
  589. "1111111101010100011010111100111110111101010111100001010011100111000010101111001111000111111101000101001"
  590. "1111111101010100011010111000001000111110100010011001101000000111001011110101110011100111111101000101001"
  591. "1111111101010100011110101111010000100111111001110101011111000011010011110101111101100111111101000101001"
  592. "1111111101010100011101001110111110110010000101100001001110111101100011010011101111000111111101000101001"
  593. "1111111101010100011111101001011100111111011010110001011100111111010010101111110111000111111101000101001"
  594. "1111111101010100011010011011111100100011101100011101010111011111100011111010011101000111111101000101001"
  595. },
  596. /* 9*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 2, -1, "abcdefgABCDEFG", 0, 9, 103, 1, "Text Compaction Lower Alpha",
  597. "1111111101010100011111010101111100110101000001100001000001010000010011110101011110000111111101000101001"
  598. "1111111101010100011110101000010000111101011100111001110100111001100011110101001000000111111101000101001"
  599. "1111111101010100011101010111111000111110010111101101000001110100110010101000011110000111111101000101001"
  600. "1111111101010100011010111100111110111101010111100001010011100111000010101111001111000111111101000101001"
  601. "1111111101010100011010111000001000111110100010011001101000000111001011110101110011100111111101000101001"
  602. "1111111101010100011110101111010000100111111001110101011111000011010011110101111101100111111101000101001"
  603. "1111111101010100011101001110111110110010000101100001001110111101100011010011101111000111111101000101001"
  604. "1111111101010100011111101001011100111111011010110001011100111111010010101111110111000111111101000101001"
  605. "1111111101010100011010011011111100100011101100011101010111011111100011111010011101000111111101000101001"
  606. },
  607. /* 10*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 4, -1, "0123456&\015\011,:#-.$/+%*=^ 789", 0, 5, 137, 1, "Text Compaction Mixed",
  608. "11111111010101000111101010111100001110101100111100010000110111001100110101111001111101010001110111000011101010011100000111111101000101001"
  609. "11111111010101000111111010100111001010001111000001011101101111001100110110011110010001110010000011010011111101010111000111111101000101001"
  610. "11111111010101000110101001111100001100111010000111011011110010110000100000101011110001101111101010000011101010011111100111111101000101001"
  611. "11111111010101000101011110011110001000010000100001010010011000011000110010000100110001000011000110010010101111101111100111111101000101001"
  612. "11111111010101000111010111000110001001111001001111010000101111101100100011110010111101001111110110111011101011100110000111111101000101001"
  613. },
  614. /* 11*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 4, -1, "0123456&\015\011,:#-.$/+%*=^ 789", 0, 5, 137, 1, "Text Compaction Mixed",
  615. "11111111010101000111101010111100001110101100111100010000110111001100110101111001111101010001110111000011101010011100000111111101000101001"
  616. "11111111010101000111111010100111001010001111000001011101101111001100110110011110010001110010000011010011111101010111000111111101000101001"
  617. "11111111010101000110101001111100001100111010000111011011110010110000100000101011110001101111101010000011101010011111100111111101000101001"
  618. "11111111010101000101011110011110001000010000100001010010011000011000110010000100110001000011000110010010101111101111100111111101000101001"
  619. "11111111010101000111010111000110001001111001001111010000101111101100100011110010111101001111110110111011101011100110000111111101000101001"
  620. },
  621. /* 12*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 3, 2, -1, ";<>@[\\]_'~!\015\011,:\012-.$/\"|*()?{", 0, 16, 103, 1, "Text Compaction Punctuation",
  622. "1111111101010100011111010100111110111010110011110001000111011100100011110101011110000111111101000101001"
  623. "1111111101010100011111010100001100111111010101110001101011111101111011110101000100000111111101000101001"
  624. "1111111101010100011101010111111000101000001000111101011011001111000011010100001111100111111101000101001"
  625. "1111111101010100011101001011100000110000110010100001100100001101110010101111001111000111111101000101001"
  626. "1111111101010100011101011100000110110110011110010001110010000011010011110101110001110111111101000101001"
  627. "1111111101010100011110101111010000110011101000011101101111001011000011101011111001000111111101000101001"
  628. "1111111101010100010100111000111000110001101000100001000110011001000011010011101111000111111101000101001"
  629. "1111111101010100011110100100100000111000110011101001110000010111011010101111110001110111111101000101001"
  630. "1111111101010100011010011011111100110011111010100001001111000010010011111101001110110111111101000101001"
  631. "1111111101010100011010001110111100110101000110000001100011010010000011010001100011100111111101000101001"
  632. "1111111101010100011101001110000110110100111110011101001000011110100011110100111001110111111101000101001"
  633. "1111111101010100010100010001111000110010011011111101000101000001111010100011001111100111111101000101001"
  634. "1111111101010100011010000010110000110001011001110001100100010011000010100001100000110111111101000101001"
  635. "1111111101010100011110100010000010110000010001110101111010011000110011111010001001100111111101000101001"
  636. "1111111101010100011101000011111010111111010001101001011000010011100010010101111000000111111101000101001"
  637. "1111111101010100011001011011100000110011001100001101100100101100000011110010100011110111111101000101001"
  638. },
  639. /* 13*/ { BARCODE_PDF417, -1, UNICODE_MODE, 3, 2, -1, ";<>@[\\]_'~!\015\011,:\012-.$/\"|*()?{", 0, 16, 103, 1, "Text Compaction Punctuation",
  640. "1111111101010100011111010100111110111010110011110001000111011100100011110101011110000111111101000101001"
  641. "1111111101010100011111010100001100111111010101110001101011111101111011110101000100000111111101000101001"
  642. "1111111101010100011101010111111000101000001000111101011011001111000011010100001111100111111101000101001"
  643. "1111111101010100011101001011100000110000110010100001100100001101110010101111001111000111111101000101001"
  644. "1111111101010100011101011100000110110110011110010001110010000011010011110101110001110111111101000101001"
  645. "1111111101010100011110101111010000110011101000011101101111001011000011101011111001000111111101000101001"
  646. "1111111101010100010100111000111000110001101000100001000110011001000011010011101111000111111101000101001"
  647. "1111111101010100011110100100100000111000110011101001110000010111011010101111110001110111111101000101001"
  648. "1111111101010100011010011011111100110011111010100001001111000010010011111101001110110111111101000101001"
  649. "1111111101010100011010001110111100110101000110000001100011010010000011010001100011100111111101000101001"
  650. "1111111101010100011101001110000110110100111110011101001000011110100011110100111001110111111101000101001"
  651. "1111111101010100010100010001111000110010011011111101000101000001111010100011001111100111111101000101001"
  652. "1111111101010100011010000010110000110001011001110001100100010011000010100001100000110111111101000101001"
  653. "1111111101010100011110100010000010110000010001110101111010011000110011111010001001100111111101000101001"
  654. "1111111101010100011101000011111010111111010001101001011000010011100010010101111000000111111101000101001"
  655. "1111111101010100011001011011100000110011001100001101100100101100000011110010100011110111111101000101001"
  656. },
  657. /* 14*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 4, 2, -1, "\015\015\015\015\010\015", 0, 20, 103, 1, "Text Compaction Punctuation 1 Mixed -> Byte",
  658. "1111111101010100011010100011000000110101000011000001100011100011010011110101011110000111111101000101001"
  659. "1111111101010100011110101101100000111110101100011101110111101111101011111010100011000111111101000101001"
  660. "1111111101010100011101010111111000110100111111001001001111000101000011010110111111000111111101000101001"
  661. "1111111101010100011110100101111000111000101100111101000011000110010010101111001111000111111101000101001"
  662. "1111111101010100011110101111011110111001000110000101111101010000110011010111000010000111111101000101001"
  663. "1111111101010100011110101111010000100001111001101101000111100101000011010111111010000111111101000101001"
  664. "1111111101010100011010011100011110110001001001100001110100001001110011010011101111000111111101000101001"
  665. "1111111101010100011111010010001100111000101100001001111001010010000011110100101000000111111101000101001"
  666. "1111111101010100011010011011111100101000110111110001001110000001011011111010011100010111111101000101001"
  667. "1111111101010100010100011100111000110101000011000001100011010100000011010001100011100111111101000101001"
  668. "1111111101010100011010011110110000111101000111011101011100010011111011010011100010000111111101000101001"
  669. "1111111101010100010100010001111000111110110011110101011110000010001011111010001110010111111101000101001"
  670. "1111111101010100011101000001011100100101100000110001100010000110111010100001100000110111111101000101001"
  671. "1111111101010100011101000110010000111100110011000101111001000110011011110100010001000111111101000101001"
  672. "1111111101010100011101000011111010101110111000111101100010101111100011001010011111000111111101000101001"
  673. "1111111101010100011100101101111000111110101011111001110001100010011011110010100011110111111101000101001"
  674. "1111111101010100011111010000101100101111100100111001100001011101000010100011110000010111111101000101001"
  675. "1111111101010100010010111011111100100011000010011101001001000011110011001011111101000111111101000101001"
  676. "1111111101010100011101101000011000111010111011111001011001111000111011111011010011110111111101000101001"
  677. "1111111101010100011110100000110110100111111011011101101110001111101010100001111101100111111101000101001"
  678. },
  679. /* 15*/ { BARCODE_PDF417, -1, UNICODE_MODE, 4, 2, -1, "\015\015\015\015\010\015", 0, 20, 103, 0, "Text Compaction Punctuation 1 Mixed; BWIPP same as FAST_MODE",
  680. "1111111101010100011010100011000000110101000011000001110001110110110011110101011110000111111101000101001"
  681. "1111111101010100011110101101100000101100101111110001111001000110110011111010100011000111111101000101001"
  682. "1111111101010100011101010111111000100111111001110101010100001111000011010110111111000111111101000101001"
  683. "1111111101010100011110100101111000110001010011000001000011000110010010101111001111000111111101000101001"
  684. "1111111101010100011110101111011110111110011010001001011100010111110011010111000010000111111101000101001"
  685. "1111111101010100011110101111010000111110110011110101001001011110000011010111111010000111111101000101001"
  686. "1111111101010100011010011100011110110010100001100001110001100100110011010011101111000111111101000101001"
  687. "1111111101010100011111010010001100111001001110001101111000100110110011110100101000000111111101000101001"
  688. "1111111101010100011010011011111100101110000011011101001111011101110011111010011100010111111101000101001"
  689. "1111111101010100010100011100111000110001000010011001100111101110100011010001100011100111111101000101001"
  690. "1111111101010100011010011110110000110110000111101001110001100111010011010011100010000111111101000101001"
  691. "1111111101010100010100010001111000111101001111101101100111100100110011111010001110010111111101000101001"
  692. "1111111101010100011101000001011100100010111100111101110001100001011010100001100000110111111101000101001"
  693. "1111111101010100011101000110010000101000111110001101010000111110011011110100010001000111111101000101001"
  694. "1111111101010100011101000011111010111000100111110101100011100100111011001010011111000111111101000101001"
  695. "1111111101010100011100101101111000110111001100001001000010000101000011110010100011110111111101000101001"
  696. "1111111101010100011111010000101100111100100110110001100100111100110010100011110000010111111101000101001"
  697. "1111111101010100010010111011111100100010100111100001101110000101110011001011111101000111111101000101001"
  698. "1111111101010100011101101000011000110100000100001101001110000111010011111011010011110111111101000101001"
  699. "1111111101010100011110100000110110111000000100110101111100100001011010100001111101100111111101000101001"
  700. },
  701. /* 16*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 4, 3, -1, "??????ABCDEFG??????abcdef??????%%%%%%", 0, 19, 120, 1, "Text Compaction Punctuation Alpha Punctuation Lower Punctuation Mixed",
  702. "111111110101010001101010001100000011010111001111000100011101110010001100111000110010011111010101111100111111101000101001"
  703. "111111110101010001111010100000010011111001110011010111110011100110101101111100101111011111010100011000111111101000101001"
  704. "111111110101010001010100111100000011111010111101100101000100000111101111100101111011010101101111100000111111101000101001"
  705. "111111110101010001111010010111100010001110111001000110011100011001001100111000110010011010111100111110111111101000101001"
  706. "111111110101010001110101111011100011111001110011010100111110100011101111110101011100011010111000010000111111101000101001"
  707. "111111110101010001111101011110110010100110011111000101000001000111101000000110100111011101011111000010111111101000101001"
  708. "111111110101010001101001110001111011001110001100100110011100011001001100111000110010011101001110111110111111101000101001"
  709. "111111110101010001111010010001000010001111001011110111100010000010101111000100000101011110100101000000111111101000101001"
  710. "111111110101010001111110100110010010001110110001110100001001011110001001111001101100010100111001111110111111101000101001"
  711. "111111110101010001010001110011100011000110110000110110001011100111101100111001100001010100011000011000111111101000101001"
  712. "111111110101010001010011110100000011011110111111010100000101111000101110110111001000011010011100010000111111101000101001"
  713. "111111110101010001101000100011111011000101101111110110111110010001001011010011100000010100011101111110111111101000101001"
  714. "111111110101010001110100000101110010010001000000100100000100110110001100110001010000011010000111011110111111101000101001"
  715. "111111110101010001111101000110111010011110001011110111110101000011001111001001000010011110100010001000111111101000101001"
  716. "111111110101010001010000010111100010111100010001000111001001111101001110011111101010010010100111100000111111101000101001"
  717. "111111110101010001110010110111100010100011000110000110001110001100101000010010010000010010100001000000111111101000101001"
  718. "111111110101010001111010000101000010000010111101000111010001101000001111000001001001010100011110000010111111101000101001"
  719. "111111110101010001111100101110010010011100000100110100111010000110001100110100001111011100101111100010111111101000101001"
  720. "111111110101010001110110100001100010011001111001110101111011110001001011011100011000011011010001000000111111101000101001"
  721. },
  722. /* 17*/ { BARCODE_PDF417, -1, UNICODE_MODE, 4, 3, -1, "??????ABCDEFG??????abcdef??????%%%%%%", 0, 19, 120, 1, "Text Compaction Punctuation Alpha Punctuation Lower Punctuation Mixed",
  723. "111111110101010001101010001100000011010111001111000100011101110010001100111000110010011111010101111100111111101000101001"
  724. "111111110101010001111010100000010011111001110011010111110011100110101101111100101111011111010100011000111111101000101001"
  725. "111111110101010001010100111100000011111010111101100101000100000111101111100101111011010101101111100000111111101000101001"
  726. "111111110101010001111010010111100010001110111001000110011100011001001100111000110010011010111100111110111111101000101001"
  727. "111111110101010001110101111011100011111001110011010100111110100011101111110101011100011010111000010000111111101000101001"
  728. "111111110101010001111101011110110010100110011111000101000001000111101000000110100111011101011111000010111111101000101001"
  729. "111111110101010001101001110001111011001110001100100110011100011001001100111000110010011101001110111110111111101000101001"
  730. "111111110101010001111010010001000010001111001011110111100010000010101111000100000101011110100101000000111111101000101001"
  731. "111111110101010001111110100110010010001110110001110100001001011110001001111001101100010100111001111110111111101000101001"
  732. "111111110101010001010001110011100011000110110000110110001011100111101100111001100001010100011000011000111111101000101001"
  733. "111111110101010001010011110100000011011110111111010100000101111000101110110111001000011010011100010000111111101000101001"
  734. "111111110101010001101000100011111011000101101111110110111110010001001011010011100000010100011101111110111111101000101001"
  735. "111111110101010001110100000101110010010001000000100100000100110110001100110001010000011010000111011110111111101000101001"
  736. "111111110101010001111101000110111010011110001011110111110101000011001111001001000010011110100010001000111111101000101001"
  737. "111111110101010001010000010111100010111100010001000111001001111101001110011111101010010010100111100000111111101000101001"
  738. "111111110101010001110010110111100010100011000110000110001110001100101000010010010000010010100001000000111111101000101001"
  739. "111111110101010001111010000101000010000010111101000111010001101000001111000001001001010100011110000010111111101000101001"
  740. "111111110101010001111100101110010010011100000100110100111010000110001100110100001111011100101111100010111111101000101001"
  741. "111111110101010001110110100001100010011001111001110101111011110001001011011100011000011011010001000000111111101000101001"
  742. },
  743. /* 18*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, ";;;;;é;;;;;", 0, 10, 103, 1, "",
  744. "1111111101010100011101010011100000110101101110000001000111011100100011110101011110000111111101000101001"
  745. "1111111101010100011111010100011000111110101011000001111101010110000011111010100110000111111101000101001"
  746. "1111111101010100011101010111111000101011100011111101001111110011101011010100011111000111111101000101001"
  747. "1111111101010100010101111101111100111101100101110001000111011100100010101111001111000111111101000101001"
  748. "1111111101010100011010111000010000111110101011000001111101010110000011010111000100000111111101000101001"
  749. "1111111101010100011110101111010000101011100011111101100011111001001011110101111000010111111101000101001"
  750. "1111111101010100010100111001110000111011110011010001111010010111100011010011101111000111111101000101001"
  751. "1111111101010100011110100101000000111111011010011001111000001010001011010111111011110111111101000101001"
  752. "1111111101010100011010011011111100110111100110011101001101000001110010100110001111100111111101000101001"
  753. "1111111101010100010100011000001100100010001110111001001010000010000011010001100011100111111101000101001"
  754. },
  755. /* 19*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, ";;;;;é;;;;;", 0, 10, 103, 1, "",
  756. "1111111101010100011101010011100000110101101110000001000111011100100011110101011110000111111101000101001"
  757. "1111111101010100011111010100011000111110101011000001111101010110000011111010100110000111111101000101001"
  758. "1111111101010100011101010111111000101011100011111101001111110011101011010100011111000111111101000101001"
  759. "1111111101010100010101111101111100111101100101110001000111011100100010101111001111000111111101000101001"
  760. "1111111101010100011010111000010000111110101011000001111101010110000011010111000100000111111101000101001"
  761. "1111111101010100011110101111010000101011100011111101100011111001001011110101111000010111111101000101001"
  762. "1111111101010100010100111001110000111011110011010001111010010111100011010011101111000111111101000101001"
  763. "1111111101010100011110100101000000111111011010011001111000001010001011010111111011110111111101000101001"
  764. "1111111101010100011010011011111100110111100110011101001101000001110010100110001111100111111101000101001"
  765. "1111111101010100010100011000001100100010001110111001001010000010000011010001100011100111111101000101001"
  766. },
  767. /* 20*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 3, -1, "12345678", 0, 3, 120, 1, "Numeric Compaction (minimum)",
  768. "111111110101010001110101011100000011111010100111110100111101111010001010000001010000011111010101111100111111101000101001"
  769. "111111110101010001111010100010000011100010000110100111000101110001101011111000100111011111010101100000111111101000101001"
  770. "111111110101010001010100111100000010011001100011110101011000011111001000011000101110010101000111100000111111101000101001"
  771. },
  772. /* 21*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 3, -1, "12345678", 0, 3, 120, 1, "Numeric Compaction (minimum)",
  773. "111111110101010001110101011100000011111010100111110100111101111010001010000001010000011111010101111100111111101000101001"
  774. "111111110101010001111010100010000011100010000110100111000101110001101011111000100111011111010101100000111111101000101001"
  775. "111111110101010001010100111100000010011001100011110101011000011111001000011000101110010101000111100000111111101000101001"
  776. },
  777. /* 22*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "12345678901234", 0, 5, 120, 1, "Numeric Compaction",
  778. "111111110101010001111010101111000011101010001110000100111101111010001001011100001110011111010101111100111111101000101001"
  779. "111111110101010001111110101000111011010000001110010111111011010011001111010100000010011111101010111000111111101000101001"
  780. "111111110101010001010100111100000010111000110011100101110011000011101110001111110101011101010001111110111111101000101001"
  781. "111111110101010001010111100111100010001100001100010100001100011101101110101100111100011010111100111110111111101000101001"
  782. "111111110101010001110101110000110011000000101110010110001001110000101011001000111111011101011100110000111111101000101001"
  783. },
  784. /* 23*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 3, -1, "12345678901234", 0, 5, 120, 1, "Numeric Compaction",
  785. "111111110101010001111010101111000011101010001110000100111101111010001001011100001110011111010101111100111111101000101001"
  786. "111111110101010001111110101000111011010000001110010111111011010011001111010100000010011111101010111000111111101000101001"
  787. "111111110101010001010100111100000010111000110011100101110011000011101110001111110101011101010001111110111111101000101001"
  788. "111111110101010001010111100111100010001100001100010100001100011101101110101100111100011010111100111110111111101000101001"
  789. "111111110101010001110101110000110011000000101110010110001001110000101011001000111111011101011100110000111111101000101001"
  790. },
  791. /* 24*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "1234567890123456789012345678901234567890123", 0, 9, 120, 1, "Numeric Compaction 43 consecutive",
  792. "111111110101010001111101010111110011010110001110000100111101111010001101001101110000011111010101111100111111101000101001"
  793. "111111110101010001111010100001000011010011100001000110100111101100001110000101100001011110101001000000111111101000101001"
  794. "111111110101010001010100111100000011111010111000010110010010011111001000011010000111010101000011110000111111101000101001"
  795. "111111110101010001101011110011111011100010001001110110011011000110001001000110011000011010111100111110111111101000101001"
  796. "111111110101010001101011100000100010010111101000000111000010111011001001101111101000011110101110011100111111101000101001"
  797. "111111110101010001111101011110110010001111001000100110110010111100001100011111001001011110101111101100111111101000101001"
  798. "111111110101010001110100111011111010000110001100100110010001110111101001001110111000011101001110111110111111101000101001"
  799. "111111110101010001111110100101110010100111100001000110000101111001101110010110000100010101111110111000111111101000101001"
  800. "111111110101010001111110100110010011100100111110100100111110011000101001111000010001011111010011101000111111101000101001"
  801. },
  802. /* 25*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 3, -1, "1234567890123456789012345678901234567890123", 0, 9, 120, 1, "Numeric Compaction 43 consecutive",
  803. "111111110101010001111101010111110011010110001110000100111101111010001101001101110000011111010101111100111111101000101001"
  804. "111111110101010001111010100001000011010011100001000110100111101100001110000101100001011110101001000000111111101000101001"
  805. "111111110101010001010100111100000011111010111000010110010010011111001000011010000111010101000011110000111111101000101001"
  806. "111111110101010001101011110011111011100010001001110110011011000110001001000110011000011010111100111110111111101000101001"
  807. "111111110101010001101011100000100010010111101000000111000010111011001001101111101000011110101110011100111111101000101001"
  808. "111111110101010001111101011110110010001111001000100110110010111100001100011111001001011110101111101100111111101000101001"
  809. "111111110101010001110100111011111010000110001100100110010001110111101001001110111000011101001110111110111111101000101001"
  810. "111111110101010001111110100101110010100111100001000110000101111001101110010110000100010101111110111000111111101000101001"
  811. "111111110101010001111110100110010011100100111110100100111110011000101001111000010001011111010011101000111111101000101001"
  812. },
  813. /* 26*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "12345678901234567890123456789012345678901234", 0, 9, 120, 1, "Numeric Compaction 44 consecutive",
  814. "111111110101010001111101010111110011010110001110000100111101111010001000100011000011011111010101111100111111101000101001"
  815. "111111110101010001111010100001000011101001100100000111010001100001001110010000001101011110101001000000111111101000101001"
  816. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000010101000011110000111111101000101001"
  817. "111111110101010001101011110011111010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  818. "111111110101010001101011100000100011111000010100110110001011100100001011111001011100011110101110011100111111101000101001"
  819. "111111110101010001111101011110110010101101111100000101110001100111001100011111001001011110101111101100111111101000101001"
  820. "111111110101010001110100111011111010000110001100100100001011011000001000100000100100011101001110111110111111101000101001"
  821. "111111110101010001111110100101110011100110011101000100110001011111101101001110000001010101111110111000111111101000101001"
  822. "111111110101010001111110100110010010111001100011100101000110111110001001100001000111011111010011101000111111101000101001"
  823. },
  824. /* 27*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 3, -1, "12345678901234567890123456789012345678901234", 0, 9, 120, 1, "Numeric Compaction 44 consecutive",
  825. "111111110101010001111101010111110011010110001110000100111101111010001000100011000011011111010101111100111111101000101001"
  826. "111111110101010001111010100001000011101001100100000111010001100001001110010000001101011110101001000000111111101000101001"
  827. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000010101000011110000111111101000101001"
  828. "111111110101010001101011110011111010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  829. "111111110101010001101011100000100011111000010100110110001011100100001011111001011100011110101110011100111111101000101001"
  830. "111111110101010001111101011110110010101101111100000101110001100111001100011111001001011110101111101100111111101000101001"
  831. "111111110101010001110100111011111010000110001100100100001011011000001000100000100100011101001110111110111111101000101001"
  832. "111111110101010001111110100101110011100110011101000100110001011111101101001110000001010101111110111000111111101000101001"
  833. "111111110101010001111110100110010010111001100011100101000110111110001001100001000111011111010011101000111111101000101001"
  834. },
  835. /* 28*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "123456789012345678901234567890123456789012345", 0, 9, 120, 1, "Numeric Compaction 45 consecutive",
  836. "111111110101010001111101010111110011010110001110000100111101111010001000100011000011011111010101111100111111101000101001"
  837. "111111110101010001111010100001000011101001100100000111010001100001001110010000001101011110101001000000111111101000101001"
  838. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000010101000011110000111111101000101001"
  839. "111111110101010001101011110011111010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  840. "111111110101010001101011100000100011111000010100110110001011100100001011111001011100011110101110011100111111101000101001"
  841. "111111110101010001111101011110110010101101111100000101110001100111001010110011111000011110101111101100111111101000101001"
  842. "111111110101010001110100111011111010000110001100100100001001000010001000010001001000011101001110111110111111101000101001"
  843. "111111110101010001111110100101110011110001001101100111101001110011101101111010111110010101111110111000111111101000101001"
  844. "111111110101010001111110100110010011011110011001110110011100100011101100100100011111011111010011101000111111101000101001"
  845. },
  846. /* 29*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567", 0, 14, 120, 1, "Numeric Compaction 87 consecutive",
  847. "111111110101010001111010100111100011111010111111010100111101111010001000100011000011011111010101111100111111101000101001"
  848. "111111110101010001111110101000111011101001100100000111010001100001001110010000001101011111101010011100111111101000101001"
  849. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000011101010001111110111111101000101001"
  850. "111111110101010001111101011111101010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  851. "111111110101010001110101110000110011111000010100110110001011100100001011111001011100011101011100011000111111101000101001"
  852. "111111110101010001111101011110110010101101111100000101110001100111001111101001110100011101011111010000111111101000101001"
  853. "111111110101010001101001110011110011000100011011100111101110000101101101101000010000011101001110111110111111101000101001"
  854. "111111110101010001111101001011000010011000111110100101110000101111101100000100011101010101111110011100111111101000101001"
  855. "111111110101010001111110100110010010000110011011110110011111010001001000011110110110010100110000111110111111101000101001"
  856. "111111110101010001010001110111000011011110111000010100110001100000101111101011111101010100011000011000111111101000101001"
  857. "111111110101010001110100111000110010111101101111100111110000101001101011111101011000011101001110011000111111101000101001"
  858. "111111110101010001101000100011111011000111110010010100000100010111101011111001100100011010001101111110111111101000101001"
  859. "111111110101010001010000010100000011110111001001100110100000100110001110111100011010011010000111011110111111101000101001"
  860. "111111110101010001111101000100011011100101110011000111100011001101001000001011110001011110100010010000111111101000101001"
  861. },
  862. /* 30*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 3, -1, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567", 0, 14, 120, 1, "Numeric Compaction 87 consecutive",
  863. "111111110101010001111010100111100011111010111111010100111101111010001000100011000011011111010101111100111111101000101001"
  864. "111111110101010001111110101000111011101001100100000111010001100001001110010000001101011111101010011100111111101000101001"
  865. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000011101010001111110111111101000101001"
  866. "111111110101010001111101011111101010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  867. "111111110101010001110101110000110011111000010100110110001011100100001011111001011100011101011100011000111111101000101001"
  868. "111111110101010001111101011110110010101101111100000101110001100111001111101001110100011101011111010000111111101000101001"
  869. "111111110101010001101001110011110011000100011011100111101110000101101101101000010000011101001110111110111111101000101001"
  870. "111111110101010001111101001011000010011000111110100101110000101111101100000100011101010101111110011100111111101000101001"
  871. "111111110101010001111110100110010010000110011011110110011111010001001000011110110110010100110000111110111111101000101001"
  872. "111111110101010001010001110111000011011110111000010100110001100000101111101011111101010100011000011000111111101000101001"
  873. "111111110101010001110100111000110010111101101111100111110000101001101011111101011000011101001110011000111111101000101001"
  874. "111111110101010001101000100011111011000111110010010100000100010111101011111001100100011010001101111110111111101000101001"
  875. "111111110101010001010000010100000011110111001001100110100000100110001110111100011010011010000111011110111111101000101001"
  876. "111111110101010001111101000100011011100101110011000111100011001101001000001011110001011110100010010000111111101000101001"
  877. },
  878. /* 31*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678", 0, 14, 120, 1, "Numeric Compaction 88 consecutive",
  879. "111111110101010001111010100111100011111010111111010100111101111010001000100011000011011111010101111100111111101000101001"
  880. "111111110101010001111110101000111011101001100100000111010001100001001110010000001101011111101010011100111111101000101001"
  881. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000011101010001111110111111101000101001"
  882. "111111110101010001111101011111101010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  883. "111111110101010001110101110000110011111000010100110110001011100100001011111001011100011101011100011000111111101000101001"
  884. "111111110101010001111101011110110010101101111100000101110001100111001111011111010111011101011111010000111111101000101001"
  885. "111111110101010001101001110011110011101100001001100110001001100011101110100110001111011101001110111110111111101000101001"
  886. "111111110101010001111101001011000010100111110001100111110110010100001101100111100001010101111110011100111111101000101001"
  887. "111111110101010001111110100110010011001000100111110101111110111001001011111011001000010100110000111110111111101000101001"
  888. "111111110101010001010001110111000011111001010111110100000100011011001110110000010110010100011000011000111111101000101001"
  889. "111111110101010001110100111000110011100010011001000100100011110100001011111101011000011101001110011000111111101000101001"
  890. "111111110101010001101000100011111011000111110010010100011110100000101001110011011100011010001101111110111111101000101001"
  891. "111111110101010001010000010100000011100010110011110111011001100111001110011010000110011010000111011110111111101000101001"
  892. "111111110101010001111101000100011011110010110000110111011100111100101111010000110011011110100010010000111111101000101001"
  893. },
  894. /* 32*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 3, -1, "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678", 0, 14, 120, 1, "Numeric Compaction 88 consecutive",
  895. "111111110101010001111010100111100011111010111111010100111101111010001000100011000011011111010101111100111111101000101001"
  896. "111111110101010001111110101000111011101001100100000111010001100001001110010000001101011111101010011100111111101000101001"
  897. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000011101010001111110111111101000101001"
  898. "111111110101010001111101011111101010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  899. "111111110101010001110101110000110011111000010100110110001011100100001011111001011100011101011100011000111111101000101001"
  900. "111111110101010001111101011110110010101101111100000101110001100111001111011111010111011101011111010000111111101000101001"
  901. "111111110101010001101001110011110011101100001001100110001001100011101110100110001111011101001110111110111111101000101001"
  902. "111111110101010001111101001011000010100111110001100111110110010100001101100111100001010101111110011100111111101000101001"
  903. "111111110101010001111110100110010011001000100111110101111110111001001011111011001000010100110000111110111111101000101001"
  904. "111111110101010001010001110111000011111001010111110100000100011011001110110000010110010100011000011000111111101000101001"
  905. "111111110101010001110100111000110011100010011001000100100011110100001011111101011000011101001110011000111111101000101001"
  906. "111111110101010001101000100011111011000111110010010100011110100000101001110011011100011010001101111110111111101000101001"
  907. "111111110101010001010000010100000011100010110011110111011001100111001110011010000110011010000111011110111111101000101001"
  908. "111111110101010001111101000100011011110010110000110111011100111100101111010000110011011110100010010000111111101000101001"
  909. },
  910. /* 33*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 2, 3, -1, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", 0, 14, 120, 1, "Numeric Compaction 89 consecutive",
  911. "111111110101010001111010100111100011111010111111010100111101111010001000100011000011011111010101111100111111101000101001"
  912. "111111110101010001111110101000111011101001100100000111010001100001001110010000001101011111101010011100111111101000101001"
  913. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000011101010001111110111111101000101001"
  914. "111111110101010001111101011111101010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  915. "111111110101010001110101110000110011111000010100110110001011100100001011111001011100011101011100011000111111101000101001"
  916. "111111110101010001111101011110110010101101111100000101110001100111001111011111010111011101011111010000111111101000101001"
  917. "111111110101010001101001110011110011101100001001100110001001100011101110100110001111011101001110111110111111101000101001"
  918. "111111110101010001111101001011000010100111110001100111110110010100001101100111100001010101111110011100111111101000101001"
  919. "111111110101010001111110100110010011001000100111110101111110111001001011111011001000010100110000111110111111101000101001"
  920. "111111110101010001010001110111000011111001010111110100000100011011001110110000010110010100011000011000111111101000101001"
  921. "111111110101010001110100111000110011100010011001000100100011110100001110101100010000011101001110011000111111101000101001"
  922. "111111110101010001101000100011111011000111110010010110010001011111001111010011110001011010001101111110111111101000101001"
  923. "111111110101010001010000010100000011100110011001110100111011110110001100010000100110011010000111011110111111101000101001"
  924. "111111110101010001111101000100011011100101110001100110001001110100001010001111000001011110100010010000111111101000101001"
  925. },
  926. /* 34*/ { BARCODE_PDF417, -1, UNICODE_MODE, 2, 3, -1, "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", 0, 14, 120, 1, "Numeric Compaction 89 consecutive -> ML(1) NUM(88)",
  927. "111111110101010001111010100111100011111010111111010100111101111010001000100011000011011111010101111100111111101000101001"
  928. "111111110101010001111110101000111011101001100100000111010001100001001110010000001101011111101010011100111111101000101001"
  929. "111111110101010001010100111100000011111100010110100101001100001111101010110011111000011101010001111110111111101000101001"
  930. "111111110101010001111101011111101010010111100111100100110011100001101000111011101000011010111100111110111111101000101001"
  931. "111111110101010001110101110000110011111000010100110110001011100100001011111001011100011101011100011000111111101000101001"
  932. "111111110101010001111101011110110010101101111100000101110001100111001111011111010111011101011111010000111111101000101001"
  933. "111111110101010001101001110011110011101100001001100110001001100011101110100110001111011101001110111110111111101000101001"
  934. "111111110101010001111101001011000010100111110001100111110110010100001101100111100001010101111110011100111111101000101001"
  935. "111111110101010001111110100110010011001000100111110101111110111001001011111011001000010100110000111110111111101000101001"
  936. "111111110101010001010001110111000011111001010111110100000100011011001110110000010110010100011000011000111111101000101001"
  937. "111111110101010001110100111000110011100010011001000100100011110100001110101100010000011101001110011000111111101000101001"
  938. "111111110101010001101000100011111011000111110010010110010001011111001111010011110001011010001101111110111111101000101001"
  939. "111111110101010001010000010100000011100110011001110100111011110110001100010000100110011010000111011110111111101000101001"
  940. "111111110101010001111101000100011011100101110001100110001001110100001010001111000001011110100010010000111111101000101001"
  941. },
  942. /* 35*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 0, 3, -1, "AB{} C#+ de{} {}F 12{} G{} H", 0, 10, 120, 0, "Text Compaction newtable, BWIPP uses PUNCT_SHIFT better for less codewords",
  943. "111111110101010001110101001110000011010111000111100111101010111100001000111011100100011111010101111100111111101000101001"
  944. "111111110101010001111101010110000011100000101100010100111110100111001110001100011101011111010100110000111111101000101001"
  945. "111111110101010001010100111100000010111111001110100100001101011100001001111101101000011010101111100000111111101000101001"
  946. "111111110101010001010111110111110010100011101110000100011101110010001100000101001100011010111100111110111111101000101001"
  947. "111111110101010001101011100100000010011111010011100110000010111010001111101111011101011010111000100000111111101000101001"
  948. "111111110101010001111101011110110010111111011100100101101000011100001100111110110110011111010111000010111111101000101001"
  949. "111111110101010001010011100111000011010111100111110110001100001000101100001101110111011101001110111110111111101000101001"
  950. "111111110101010001101011111000111011100000101100100110100000011101001111101111011101011010111111011110111111101000101001"
  951. "111111110101010001111110100110010010111111011100100110001111001011001011001100111100010100110111110000111111101000101001"
  952. "111111110101010001010001100000110010000110001100100110011100110100001100100100110000010100011000011000111111101000101001"
  953. },
  954. /* 36*/ { BARCODE_PDF417, -1, UNICODE_MODE, 0, 3, -1, "AB{} C#+ de{} {}F 12{} G{} H", 0, 9, 120, 0, "Text Compaction newtable; BWIPP same except ML before spaces instead of after",
  955. "111111110101010001111101010111110011010111001111000111101010111100001100000100001011011111010101111100111111101000101001"
  956. "111111110101010001111010100100000010011111010001110111000001011001001110100110000010011110101001000000111111101000101001"
  957. "111111110101010001010100111100000010001101011100000110001111001011001000111100100001010101001111000000111111101000101001"
  958. "111111110101010001101011110011111011001010001100000100000101000010001000001001101100011010111100111110111111101000101001"
  959. "111111110101010001111010111001110011100000101110110111000001011101101000111010111110011110101110011100111111101000101001"
  960. "111111110101010001111101011110110010110100000111000110001111001011001111101011110110011111010111101100111111101000101001"
  961. "111111110101010001110100111011111011000110000100010110000110111011101000001010010000011101001110111110111111101000101001"
  962. "111111110101010001010111111011100011010000001110010111000001011101101111110001110101010101111110111000111111101000101001"
  963. "111111110101010001111110100110010010001111010000100110001010001111101010001101111100011111101001100100111111101000101001"
  964. },
  965. /* 37*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 4, -1, "\177\177\177\177\177", 0, 3, 137, 1, "Byte Compaction",
  966. "11111111010101000111010101110000001101010000110000010000010000100010101000001001000001010000010010000011101010011100000111111101000101001"
  967. "11111111010101000111101010001000001111101000100011011111010001000110111110100010001101011111101011000011111010101100000111111101000101001"
  968. "11111111010101000110101001111100001100011110101100011001101011110000100000111010110001011110011100111010101000111100000111111101000101001"
  969. },
  970. /* 38*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 4, -1, "\177\177\177\177\177", 0, 3, 137, 1, "Byte Compaction",
  971. "11111111010101000111010101110000001101010000110000010000010000100010101000001001000001010000010010000011101010011100000111111101000101001"
  972. "11111111010101000111101010001000001111101000100011011111010001000110111110100010001101011111101011000011111010101100000111111101000101001"
  973. "11111111010101000110101001111100001100011110101100011001101011110000100000111010110001011110011100111010101000111100000111111101000101001"
  974. },
  975. /* 39*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 4, -1, "\177\177\177\177\177\177", 0, 3, 137, 1, "Byte Compaction, mod 6 == 0 (924 emitted)",
  976. "11111111010101000111010101110000001101010000110000011000111000110100111001001100111101000010100001000011101010011100000111111101000101001"
  977. "11111111010101000111101010001000001110010000111011010100111110000110111101001100001101011111101011000011111010101100000111111101000101001"
  978. "11111111010101000110101001111100001011111011101100010000001110100110110000011010111101111010111100001010101000111100000111111101000101001"
  979. },
  980. /* 40*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 4, -1, "\177\177\177\177\177\177", 0, 3, 137, 1, "Byte Compaction, mod 6 == 0 (924 emitted)",
  981. "11111111010101000111010101110000001101010000110000011000111000110100111001001100111101000010100001000011101010011100000111111101000101001"
  982. "11111111010101000111101010001000001110010000111011010100111110000110111101001100001101011111101011000011111010101100000111111101000101001"
  983. "11111111010101000110101001111100001011111011101100010000001110100110110000011010111101111010111100001010101000111100000111111101000101001"
  984. },
  985. /* 41*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 4, -1, "\177\177\177\177\177\177\177", 0, 3, 137, 1, "Byte Compaction",
  986. "11111111010101000111010101110000001101010000110000010000010000100010111001001100111101000010100001000011101010011100000111111101000101001"
  987. "11111111010101000111101010001000001110010000111011010100111110000110111101001100001101111101000100011011111010101100000111111101000101001"
  988. "11111111010101000110101001111100001011000110011110010110001000111000100011010000111001001100100001110010101000111100000111111101000101001"
  989. },
  990. /* 42*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 4, -1, "\177\177\177\177\177\177\177", 0, 3, 137, 1, "Byte Compaction",
  991. "11111111010101000111010101110000001101010000110000010000010000100010111001001100111101000010100001000011101010011100000111111101000101001"
  992. "11111111010101000111101010001000001110010000111011010100111110000110111101001100001101111101000100011011111010101100000111111101000101001"
  993. "11111111010101000110101001111100001011000110011110010110001000111000100011010000111001001100100001110010101000111100000111111101000101001"
  994. },
  995. /* 43*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 4, -1, "\177\177\177\177\177\177\177\177\177\177\177", 0, 4, 137, 1, "Byte Compaction",
  996. "11111111010101000111101010111100001101011011100000010000010000100010111001001100111101000010100001000011101010011100000111111101000101001"
  997. "11111111010101000111110101001100001110010000111011010100111110000110111101001100001101111101000100011011111101010111000111111101000101001"
  998. "11111111010101000110101001111100001010000001011110010100000010111100101000000101111001010000001011110011010100111110000111111101000101001"
  999. "11111111010101000101011110011110001010001000001000011011000010100000111000110001001101100111000110010010101111101111100111111101000101001"
  1000. },
  1001. /* 44*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 4, -1, "\177\177\177\177\177\177\177\177\177\177\177", 0, 4, 137, 1, "Byte Compaction",
  1002. "11111111010101000111101010111100001101011011100000010000010000100010111001001100111101000010100001000011101010011100000111111101000101001"
  1003. "11111111010101000111110101001100001110010000111011010100111110000110111101001100001101111101000100011011111101010111000111111101000101001"
  1004. "11111111010101000110101001111100001010000001011110010100000010111100101000000101111001010000001011110011010100111110000111111101000101001"
  1005. "11111111010101000101011110011110001010001000001000011011000010100000111000110001001101100111000110010010101111101111100111111101000101001"
  1006. },
  1007. /* 45*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 1, 4, -1, "\177\177\177\177\177\177\177\177\177\177\177\177", 0, 4, 137, 1, "Byte Compaction, mod 6 == 0 (924 emitted)",
  1008. "11111111010101000111101010111100001101011011100000011000111000110100111001001100111101000010100001000011101010011100000111111101000101001"
  1009. "11111111010101000111110101001100001110010000111011010100111110000110111101001100001101111001010010000011111101010111000111111101000101001"
  1010. "11111111010101000110101001111100001001110000100110010011000100001110101000011001111101101000101111100011010100111110000111111101000101001"
  1011. "11111111010101000101011110011110001101000100011000010011000111001100110001100001000101110100010111000010101111101111100111111101000101001"
  1012. },
  1013. /* 46*/ { BARCODE_PDF417, -1, UNICODE_MODE, 1, 4, -1, "\177\177\177\177\177\177\177\177\177\177\177\177", 0, 4, 137, 1, "Byte Compaction, mod 6 == 0 (924 emitted)",
  1014. "11111111010101000111101010111100001101011011100000011000111000110100111001001100111101000010100001000011101010011100000111111101000101001"
  1015. "11111111010101000111110101001100001110010000111011010100111110000110111101001100001101111001010010000011111101010111000111111101000101001"
  1016. "11111111010101000110101001111100001001110000100110010011000100001110101000011001111101101000101111100011010100111110000111111101000101001"
  1017. "11111111010101000101011110011110001101000100011000010011000111001100110001100001000101110100010111000010101111101111100111111101000101001"
  1018. },
  1019. /* 47*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, 5, -1, "1\177", 0, 3, 154, 1, "Byte Compaction, 1 Numeric, 1 Byte",
  1020. "1111111101010100011101010111000000111010100011100001000001000010001011010011011100000101000001001000001000011000110010011110101001111000111111101000101001"
  1021. "1111111101010100011110101000010000101111110101100001011111101011000011101001110110000111000010110100001110000110011101011111010101100000111111101000101001"
  1022. "1111111101010100011101010011111100100111100000100101101100010011110010111100000110110101101110111110001001101011100000010101000011110000111111101000101001"
  1023. },
  1024. /* 48*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, 5, -1, "1\177", 0, 3, 154, 0, "Byte Compaction, 1 Numeric, 1 Byte; BWIPP same as FAST_MODE",
  1025. "1111111101010100011101010111000000111010100011100001000001001100011011110011110010100101000001001000001000011000110010011110101001111000111111101000101001"
  1026. "1111111101010100011110101000010000101111110101100001011111101011000011011011110001000100011100101111101110100111000110011111010101100000111111101000101001"
  1027. "1111111101010100011101010011111100100110011011110001001100010000111010000011110010100100000100010111101011111011010000010101000011110000111111101000101001"
  1028. },
  1029. /* 49*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, 5, -1, "ABCDEF1234567890123\177\177\177\177VWXYZ", 0, 6, 154, 1, "Text, Numeric, Byte, Text",
  1030. "1111111101010100011110101011110000110101110111100001111010101111000010100111001110000110100000101100001001111011110100011110101001111000111111101000101001"
  1031. "1111111101010100011110101000010000111101011001100001010011110000100011111100011101010110000010111000101111001011011000011111101010111000111111101000101001"
  1032. "1111111101010100011101010011111100110011111101100101010000001011110010100000010111100101000000101111001010000001011110010101000011110000111111101000101001"
  1033. "1111111101010100010101111001111000100001100011001001000110111101110011110111101101100110111100111000101000011000110010011111010111111010111111101000101001"
  1034. "1111111101010100011010111000001000101111110101100001011111101011000011001011111001110111100100100100001011111101011000011101011100110000111111101000101001"
  1035. "1111111101010100011111010111100110110111110110011001101001011111000010101110011111100100100001000111101011000000101110011110101111101100111111101000101001"
  1036. },
  1037. /* 50*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, 5, -1, "ABCDEF1234567890123\177\177\177\177VWXYZ", 0, 6, 154, 1, "Text, Numeric, Byte(7), Text",
  1038. "1111111101010100011110101011110000110101110111100001111010101111000010100111001110000110100000101100001001111011110100011110101001111000111111101000101001"
  1039. "1111111101010100011110101000010000111101011001100001010011110000100011111100011101010110000010111000101111001011011000011111101010111000111111101000101001"
  1040. "1111111101010100011101010011111100110011111101100101010000001011110010100000010111100101000000101111001010000001011110010101000011110000111111101000101001"
  1041. "1111111101010100010101111001111000100001100011001001000110111101110011110111101101100110111100111000101000011000110010011111010111111010111111101000101001"
  1042. "1111111101010100011010111000001000101111110101100001011111101011000011001011111001110111100100100100001011111101011000011101011100110000111111101000101001"
  1043. "1111111101010100011111010111100110110111110110011001101001011111000010101110011111100100100001000111101011000000101110011110101111101100111111101000101001"
  1044. },
  1045. /* 51*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 6, 5, -1, "ABCDEF1234567890123\177\177\177\177VWXYZ", 0, 30, 154, 1, "ECC 6: Text, Numeric, Byte, Text",
  1046. "1111111101010100010101000001000000110101110111100001111010101111000010100111001110000110100000101100001001111011110100011110101001111000111111101000101001"
  1047. "1111111101010100011110101100011000111101011001100001010011110000100011111100011101010110000010111000101111001011011000011111010100001100111111101000101001"
  1048. "1111111101010100011101010011111100110011111101100101010000001011110010100000010111100101000000101111001010000001011110011111101011000010111111101000101001"
  1049. "1111111101010100011101001001110000100001100011001001000110111101110011110111101101100110111100111000101000011000110010011111010111111010111111101000101001"
  1050. "1111111101010100010101111000010000101111110101100001011111101011000011110001010000010100001001111000101011110011011111011101011100000110111111101000101001"
  1051. "1111111101010100011111010111100110100111011000111001111010001111010011001111001011000111001111110100101101110000101110011101001011111100111111101000101001"
  1052. "1111111101010100010100111100111100110011000010000101010000100000100011110011110101000110111100111001001101000110111000011010011100111100111111101000101001"
  1053. "1111111101010100011111010011011100101000111100100001101001110010000010000001011110100110111001111101001001100010111111011110100100100000111111101000101001"
  1054. "1111111101010100011010011001111110111111001011101101011111000110100011010101111100000100001110010001101010111001111110011101001111100100111111101000101001"
  1055. "1111111101010100010100011110111100111101111010001001101000110001110011110100101111000111101100101110001001001000010000010100011101110000111111101000101001"
  1056. "1111111101010100010100111100001000111000010110010001110011000111001011100101100000100100111011111101001111110111001010011101001110000110111111101000101001"
  1057. "1111111101010100010100010000011110111001000111110101001111001100011010100001101111100100110000001011101011100110000111010100001011110000111111101000101001"
  1058. "1111111101010100011101000001001110100001011000001101101111000111001010100001110001110100010100001000001010000110110000010100000101000000111111101000101001"
  1059. "1111111101010100011101000111011000110011111101011101101001111011000010001110111111010111110111011000101111011101110010011110100010000010111111101000101001"
  1060. "1111111101010100010100000100111100110000111110100101101111010001100010001111000100100101110000010011001000101000111100011111100101101000111111101000101001"
  1061. "1111111101010100011001011001110000100111000111010001011000011010000011001100011001100100010100010000001010111110111110010010100000100000111111101000101001"
  1062. "1111111101010100011101000011001000101111110100110001111101011011100010011101001111100110000001001110101111100010101100010100011111001100111111101000101001"
  1063. "1111111101010100011111001011100010110000111010111001101010000111110011111010111000100101111011001100001000011101000110010110100111000000111111101000101001"
  1064. "1111111101010100011101101000001100101110011100010001111001111010100010110011110111000100101000001000001011110011110100011110110100011100111111101000101001"
  1065. "1111111101010100010100000111101000111110001010011001111100011001001010110111111000110111100100100100001111110001101011011111010000010110111111101000101001"
  1066. "1111111101010100010110110111100000101111000010100001000111101000010011011010000111100100011010011100001001111000001001010110111011111000111111101000101001"
  1067. "1111111101010100010110111000011000101111001111001001000011011100011011100001101000110110011000011001101101001000001100010110111001100000111111101000101001"
  1068. "1111111101010100011100101100001000110110011110000101110010011101100011110100011000110111110110010100001011100010011111011111001010000110111111101000101001"
  1069. "1111111101010100011110010011110010100011111001101001001111000110011010001110110011100110000101011111001111110101101000010110010000111000111111101000101001"
  1070. "1111111101010100011001000100110000110100111001111001011100111101100011010000100011000110011011000110001101011001110000011011001000000100111111101000101001"
  1071. "1111111101010100011001011111001110110110111110011001110001001100100010010001111010000111101000100100001011111101101110010010111100100000111111101000101001"
  1072. "1111111101010100011111100100011010110100000101111101011001110111110010111000110111000110001001111110101111011011111001010110001001110000111111101000101001"
  1073. "1111111101010100010010001110001110100110000110010001100001001100111011101001110111110110111100011100101110101001110000010010001110111000111111101000101001"
  1074. "1111111101010100011100100110100000110101111011000001100110011110100010000010001111010111001011001000001001000011110100011110110110100000111111101000101001"
  1075. "1111111101010100010110001110111110111110001011100101111101100111101010000111010110000110110010111100001111101011100100010110000011011110111111101000101001"
  1076. },
  1077. /* 52*/ { BARCODE_PDF417, -1, UNICODE_MODE, 6, 5, -1, "ABCDEF1234567890123\177\177\177\177VWXYZ", 0, 30, 154, 1, "ECC 6: Text, Numeric, Byte, Text",
  1078. "1111111101010100010101000001000000110101110111100001111010101111000010100111001110000110100000101100001001111011110100011110101001111000111111101000101001"
  1079. "1111111101010100011110101100011000111101011001100001010011110000100011111100011101010110000010111000101111001011011000011111010100001100111111101000101001"
  1080. "1111111101010100011101010011111100110011111101100101010000001011110010100000010111100101000000101111001010000001011110011111101011000010111111101000101001"
  1081. "1111111101010100011101001001110000100001100011001001000110111101110011110111101101100110111100111000101000011000110010011111010111111010111111101000101001"
  1082. "1111111101010100010101111000010000101111110101100001011111101011000011110001010000010100001001111000101011110011011111011101011100000110111111101000101001"
  1083. "1111111101010100011111010111100110100111011000111001111010001111010011001111001011000111001111110100101101110000101110011101001011111100111111101000101001"
  1084. "1111111101010100010100111100111100110011000010000101010000100000100011110011110101000110111100111001001101000110111000011010011100111100111111101000101001"
  1085. "1111111101010100011111010011011100101000111100100001101001110010000010000001011110100110111001111101001001100010111111011110100100100000111111101000101001"
  1086. "1111111101010100011010011001111110111111001011101101011111000110100011010101111100000100001110010001101010111001111110011101001111100100111111101000101001"
  1087. "1111111101010100010100011110111100111101111010001001101000110001110011110100101111000111101100101110001001001000010000010100011101110000111111101000101001"
  1088. "1111111101010100010100111100001000111000010110010001110011000111001011100101100000100100111011111101001111110111001010011101001110000110111111101000101001"
  1089. "1111111101010100010100010000011110111001000111110101001111001100011010100001101111100100110000001011101011100110000111010100001011110000111111101000101001"
  1090. "1111111101010100011101000001001110100001011000001101101111000111001010100001110001110100010100001000001010000110110000010100000101000000111111101000101001"
  1091. "1111111101010100011101000111011000110011111101011101101001111011000010001110111111010111110111011000101111011101110010011110100010000010111111101000101001"
  1092. "1111111101010100010100000100111100110000111110100101101111010001100010001111000100100101110000010011001000101000111100011111100101101000111111101000101001"
  1093. "1111111101010100011001011001110000100111000111010001011000011010000011001100011001100100010100010000001010111110111110010010100000100000111111101000101001"
  1094. "1111111101010100011101000011001000101111110100110001111101011011100010011101001111100110000001001110101111100010101100010100011111001100111111101000101001"
  1095. "1111111101010100011111001011100010110000111010111001101010000111110011111010111000100101111011001100001000011101000110010110100111000000111111101000101001"
  1096. "1111111101010100011101101000001100101110011100010001111001111010100010110011110111000100101000001000001011110011110100011110110100011100111111101000101001"
  1097. "1111111101010100010100000111101000111110001010011001111100011001001010110111111000110111100100100100001111110001101011011111010000010110111111101000101001"
  1098. "1111111101010100010110110111100000101111000010100001000111101000010011011010000111100100011010011100001001111000001001010110111011111000111111101000101001"
  1099. "1111111101010100010110111000011000101111001111001001000011011100011011100001101000110110011000011001101101001000001100010110111001100000111111101000101001"
  1100. "1111111101010100011100101100001000110110011110000101110010011101100011110100011000110111110110010100001011100010011111011111001010000110111111101000101001"
  1101. "1111111101010100011110010011110010100011111001101001001111000110011010001110110011100110000101011111001111110101101000010110010000111000111111101000101001"
  1102. "1111111101010100011001000100110000110100111001111001011100111101100011010000100011000110011011000110001101011001110000011011001000000100111111101000101001"
  1103. "1111111101010100011001011111001110110110111110011001110001001100100010010001111010000111101000100100001011111101101110010010111100100000111111101000101001"
  1104. "1111111101010100011111100100011010110100000101111101011001110111110010111000110111000110001001111110101111011011111001010110001001110000111111101000101001"
  1105. "1111111101010100010010001110001110100110000110010001100001001100111011101001110111110110111100011100101110101001110000010010001110111000111111101000101001"
  1106. "1111111101010100011100100110100000110101111011000001100110011110100010000010001111010111001011001000001001000011110100011110110110100000111111101000101001"
  1107. "1111111101010100010110001110111110111110001011100101111101100111101010000111010110000110110010111100001111101011100100010110000011011110111111101000101001"
  1108. },
  1109. /* 53*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, 5, -1, "ABCDEF1234567890123\177\177\177\177YZ1234567890123", 0, 7, 154, 0, "Text, Numeric, Byte, 2 Text, Numeric; BWIPP different encodation",
  1110. "1111111101010100011111010101111100101011100011100001111010101111000010100111001110000110100000101100001001111011110100011110101001111000111111101000101001"
  1111. "1111111101010100011111010100011000111101011001100001010011110000100011111100011101010110000010111000101111001011011000011110101001000000111111101000101001"
  1112. "1111111101010100011101010011111100110011111101100101010000001011110010100000010111100101000000101111001010000001011110011010100011111000111111101000101001"
  1113. "1111111101010100011010111100111110100001100011001001100111001110011010011110111101000111101011001111101101000010000110011111010111111010111111101000101001"
  1114. "1111111101010100011010111000010000111111000111010101100000101110001011110010110110000101111110101100001011111101011000011110101110011100111111101000101001"
  1115. "1111111101010100011111010111100110110001111100100101100011111001001010011100101100000110011101011100001111010111110110011110101111000010111111101000101001"
  1116. "1111111101010100011101001110111110110001001100011101010000111000111011101010011100000110100010001100001110111100110001011010011100111100111111101000101001"
  1117. },
  1118. /* 54*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, 5, -1, "ABCDEF1234567890123\177\177\177\177YZ1234567890123", 0, 6, 154, 1, "Text, Numeric, Byte, 2 Text, Numeric",
  1119. "1111111101010100011110101011110000110101110111100001111010101111000010100111001110000110100000101100001001111011110100011110101001111000111111101000101001"
  1120. "1111111101010100011110101000010000111101011001100001010011110000100011111100011101010110000010111000101111001011011000011111101010111000111111101000101001"
  1121. "1111111101010100011101010011111100100000111100101001111011011111010010011100001001100100110001000011101110100011111001010101000011110000111111101000101001"
  1122. "1111111101010100010101111001111000101101111011100001001111011110100011110101100111110110100001000011001000001001101100011111010111111010111111101000101001"
  1123. "1111111101010100011010111000001000110000010111000101111001011011000010110001111101000111010011100011001110110111010000011101011100110000111111101000101001"
  1124. "1111111101010100011111010111100110100001100110111101100110101111000010110011011110000111011100010111101001001001111000011110101111101100111111101000101001"
  1125. },
  1126. /* 55*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ", 0, 14, 154, 1, "ECC 3",
  1127. "1111111101010100011110101001111000111010011001111001111010101111000010100111001110000110100000101100001111011010000111011110101001111000111111101000101001"
  1128. "1111111101010100011110101000001000100101111001000001110110111100110011101100111100110111000101100100001110001001110011011111101010011100111111101000101001"
  1129. "1111111101010100011101010011111100110111100010011001000001000101111010011110011000110101111100011001001111101011110110010101000001111000111111101000101001"
  1130. "1111111101010100011111010111111010101000111011100001110010110111100010010011000011000101100111100011101011000011000010011111010111111010111111101000101001"
  1131. "1111111101010100011010111000000100111001000001101001001101011111100010011001011111100111110111001100101100001011110110011101011100011000111111101000101001"
  1132. "1111111101010100011111010111100110110111110001000101110101011111100010100110011111000101000001000111101011011001111000011110101111100110111111101000101001"
  1133. "1111111101010100011010011100111100110010001001100001100100001101110010001011000110000110001000100110001001100011001000011010011100111100111111101000101001"
  1134. "1111111101010100011111010010011000110011001111010001111001100001101011000110111100100110000100011101001111010111001110010101111110011100111111101000101001"
  1135. "1111111101010100011010011001111110101000100000111101111100101111011011100100111110010101100001000011101001101110111110010100111011111100111111101000101001"
  1136. "1111111101010100010100011101110000111101110101100001001100111100111011100110000100110110001101000100001000110011001000010100011101110000111111101000101001"
  1137. "1111111101010100011010011100000100111000110011101001011111101011000010111111010110000101111110101100001111010100001000011101001110011000111111101000101001"
  1138. "1111111101010100010100010000011110100100110001111101011011000111100011000111100101100110010101111100001111101000111010010100011000111110111111101000101001"
  1139. "1111111101010100010100000101000000111101100100011101000011011010000011001000000101100110100000010011001010000110000011010100000101000000111111101000101001"
  1140. "1111111101010100011101000110100000100111101001111001111100100101100011110101101100000111100010011001101111000100000101011110100010010000111111101000101001"
  1141. },
  1142. /* 56*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ", 0, 14, 154, 1, "ECC 3",
  1143. "1111111101010100011110101001111000111010011001111001111010101111000010100111001110000110100000101100001111011010000111011110101001111000111111101000101001"
  1144. "1111111101010100011110101000001000100101111001000001110110111100110011101100111100110111000101100100001110001001110011011111101010011100111111101000101001"
  1145. "1111111101010100011101010011111100110111100010011001000001000101111010011110011000110101111100011001001111101011110110010101000001111000111111101000101001"
  1146. "1111111101010100011111010111111010101000111011100001110010110111100010010011000011000101100111100011101011000011000010011111010111111010111111101000101001"
  1147. "1111111101010100011010111000000100111001000001101001001101011111100010011001011111100111110111001100101100001011110110011101011100011000111111101000101001"
  1148. "1111111101010100011111010111100110110111110001000101110101011111100010100110011111000101000001000111101011011001111000011110101111100110111111101000101001"
  1149. "1111111101010100011010011100111100110010001001100001100100001101110010001011000110000110001000100110001001100011001000011010011100111100111111101000101001"
  1150. "1111111101010100011111010010011000110011001111010001111001100001101011000110111100100110000100011101001111010111001110010101111110011100111111101000101001"
  1151. "1111111101010100011010011001111110101000100000111101111100101111011011100100111110010101100001000011101001101110111110010100111011111100111111101000101001"
  1152. "1111111101010100010100011101110000111101110101100001001100111100111011100110000100110110001101000100001000110011001000010100011101110000111111101000101001"
  1153. "1111111101010100011010011100000100111000110011101001011111101011000010111111010110000101111110101100001111010100001000011101001110011000111111101000101001"
  1154. "1111111101010100010100010000011110100100110001111101011011000111100011000111100101100110010101111100001111101000111010010100011000111110111111101000101001"
  1155. "1111111101010100010100000101000000111101100100011101000011011010000011001000000101100110100000010011001010000110000011010100000101000000111111101000101001"
  1156. "1111111101010100011101000110100000100111101001111001111100100101100011110101101100000111100010011001101111000100000101011110100010010000111111101000101001"
  1157. },
  1158. /* 57*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, 8, 29, 32, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 32, 562, 1, "Max codewords (with padding)",
  1159. "1111111101010100011010100000110000111000100110111101111010101111000010100111001110000110100000101100001111011010000111011001000100110000110010000110111001110001011001111011110111010110000100110011110011101110011000010011011000110100010000100011001100100001100111001110011010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010011010111000111100111111101000101001"
  1160. "1111111101010100011110101100000110101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011110101000001000111111101000101001"
  1161. "1111111101010100011111010111000100110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011111010111001000111111101000101001"
  1162. "1111111101010100011110100100111100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010100110000110000111111101000101001"
  1163. "1111111101010100011010111110111000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011010111000000100111111101000101001"
  1164. "1111111101010100010100100000111100110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011010010001111100111111101000101001"
  1165. "1111111101010100010100111100011110100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010011010001100111000111111101000101001"
  1166. "1111111101010100011110100110001100101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011111010010011000111111101000101001"
  1167. "1111111101010100011101000101111110110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011010011111100010111111101000101001"
  1168. "1111111101010100011010000101100000100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010100001100011000111111101000101001"
  1169. "1111111101010100010100111110011000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011010011100000100111111101000101001"
  1170. "1111111101010100010100001100111110110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001010100001000011110111111101000101001"
  1171. "1111111101010100010100000100010000100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010011110010100111100111111101000101001"
  1172. "1111111101010100011101000111000110101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011101000110100000111111101000101001"
  1173. "1111111101010100010010110000111110110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100001010111110010011000000101110110001111101001001100111111011001010000011100010110101100001101111001011110001100011011010110111111000100111110011000101111100101110100010001111000101000100010001101111101011110000011011011011110101100000111001110100111101011110001100110011001001011111000110010100001111101000110100001110011001011001111110111111101000101001"
  1174. "1111111101010100011100101100111100100110011010000001001011000011000010110001110110000101000110000110001000110111000110010110001111001110111010010000111001000001010100000011010000100011000101110011100010001010000010000010010100011000110000110000110100010001101101101100000011001001000011000110000100001011001100001100101000010000101000100000101110011111011101001000110000110010000010100000100100111011100100001101100010000001011110011110010010100110000111011001000110011110111011111001010111110100111001110010001101000111011110011111011010111100111111101000101001"
  1175. "1111111101010100011101000011101100110000001011101001011111010011100011111000110001010100010001111010001000110111110100010001101111100010111001011001000001101101111100110011111011001010000100100111111011101101110101111110011101000011010000110111101111110101111101101001000011100100111101110111110110001001001111110110101100011010111100110000101111100010011101111001101110011011100100110010000101011110000100001100001000011101011100100011100110110110011110001001110101100010000010011111011011110110001011111011101011111101101110010100011111000110111111101000101001"
  1176. "1111111101010100010110100000111000101111010000100001000001110100011010001111000010100110111110000101001000101011110000010100001100111110111111011001110101110100011111001011101111010011100111101011111001101001000010011110011111100101101000111011110100011101100111110100100010111000110011100110001111001011001000011110100100010000111101001000110100111111010001011110000100100010001111101100100100101100001111101011110000101000010111111011101000111001011111000101110100111110001010110011100111110111110010111001001011110000100010011101101000111110111111101000101001"
  1177. "1111111101010100011001001011000000111110101011111001110011110011001010001000110000110110011011100111001011100011100010010110111110111100100011000011101101100010000100011010001000010010000110110000100010001100010001001100011100111000100010110010000110111001101000011001110010111011100100000101000000101000001100001000110111011001101001000000110110010010000001110100001101111011100110010000110110010111101111101101000100001100010111000011101000110011001001000001101111001110010011101011100111110111110110010111101111101100101111011001001101110000111111101000101001"
  1178. "1111111101010100011110100000010010110001100111100101011111010001110011100000100011010101110111111001001111010001000010011101101110010000110101110010000001101000111010000010110101111110000101111100101110001100101110000001010111101100111110111001001110110001010001111110111011100011011101000110000100111101101110010011000010011100001101110100111101000010100001011000111111011010111011111100010110101111100011101111101110111011011111100101001110101110011011111101010001111101100010001111101011100110100011100100001101000011100010011110100000100100111111101000101001"
  1179. "1111111101010100011111011011110100100011110101000001010010111100000010001010000011110110111110001000101110110010011111011001111011001110110000011101011101011101110111100011111000101110100101100000101110001000110100001110011011110100000110101111101100001001000111000001011011000111100010110101110011000111001111000101111010010010111011111100110111100010001101101111000101100010000010101111000111111001011010001000111110011010010000111100101000101100111001111101001111001000010011111101001100100101111011100011101011100100000110010110111000111110111111101000101001"
  1180. "1111111101010100010010011101110000111001000100011101011000111100111011010000111011110111001100010110001100111001101000011010000010001100110110010000100001001000110110000011011011100111000110111000110001001000010000100100010001100110000100100100111100111101001111011110010011001101110011100110011000010100001011000110000010011110001101011100110001101100001101111101101001111010110000111011000111110101111110101001110000111010011000100010000110110000010010011001110100000100111011000110100000100100110011110111001100001100001001011011001000100000111111101000101001"
  1181. "1111111101010100011100101110110000110011011110100001111110111010100010111011001111110100110001111101001100001001110001011111010100110000111001100111001001001111101011100011110010001101100111110010101100001111000100100001011111010100011000111000001001100101111100110100010010110001111110110111110110110011001111101000100110010001100101111110101001111101100001111101000010011011111001000010110101110111111001001111101100110011010011110101111000111011001110000101110010110000001010111101000111100110001000111000101001011110001000011110010100000100111111101000101001"
  1182. "1111111101010100011001000100111110100111010001100001001101000001110010100110011111000110100001001111101100011010011110010011000010011100110111100001011001111010011110001011001111000010110101101001110000001000111100010100011101110100011110110011111001000101111001001111001010111100000100100100111001011000001110011010111110010110000110111100111111010011001001100111101000110011011101000111000101111000100010001101110000010111010000111011001110100111100001010001101000111111010010000001001011110100010010000111101101110110011110011001000101111100111111101000101001"
  1183. "1111111101010100011100100010011100110001110011000101100001100010100011000010001101110111010101110000001001000011011000010110111100011100110100001000110001010000110000110010111001110100000110110010001000001000101000100000010001101100001000111000110010001101101000010110000010011100111101100110101000001100001110110000101100011011001000000100111011100001000101000011011000010011000110100010000110010111001111001110110001001100011000010101100000111010001100111101000001000011011010110111011000000111011000001001101100010100110000010110011100110000111111101000101001"
  1184. "1111111101010100011111011010100000101101111110011001111001010001000011000100111101100111100101100011001111000101101100010001101111101000111101011000011001111000010110011011110000010010010111100101101100001110100011000010010111110100001110110001001110000101110100111100111011110101101100000111010011100011001101011110000110010011110110111110111100101110111001001111010011110011100101111011100111101110001110101111101000100110011000100111010000111101110111000101101000111000010010011111100101100111000101100000101100010001110010011001011110011000111111101000101001"
  1185. "1111111101010100010110001101111000111011110101110001100101111110010011000001101011110110111001000011101000010100011110010111000001001100110011110001011001011010000111000011111000100111010100110101110000001100110010011110011111010011101000111111010110000101101111100100100010000011110101000100100010000111101100011111010010010110000001011100110001101001111001000011100110111010110110111100000100111011101111001010000100011110011110010011110100111100010111101001100111101001100011100100101111110101100100000111001000111110011010010110001000001110111111101000101001"
  1186. "1111111101010100010110011110001110100111001111011001100011011100111010000101000010000110100001110111101111011110100100010000110111101110110110110110000001111011000100111010001000011101110100011000011001001110001100001011011110110000101110101110111001000001101100110110000011110011110010010110100010001100001100100000100011010110001110011000111000101000111001100111000110100010010111100111100100001001100001101010000100010000010111100011110100111000111011011001001000011000011011000110010100000111001100000101101101110011001000010010000100100000111111101000101001"
  1187. "1111111101010100011110010011001100101100010111111001111001001100011011101001100010000100111101101111101110100001110011011010000111010000111111011101101101001100011111001010100111111001110100010111100100001011000100111111011011111010011110110011011110100001110110000011101011001101111001000101100011111010001110110111001000011111000101001100101000111100100001100100011100100011101001101000000101000111100100001101111110100111010001111100101110100101111100001101000101111101100011011100011111010101110000101111101011010001111110011110010010010000111111101000101001"
  1188. "1111111101010100010001010001111000110101100111111001110100011111010010111100011000110110001110010011101000110101110000011111100100011010101100111011111001011001101111000011000111110100100101111011011000001010111011111100010011100011011100110111000101110001100011111001001010011010011100000100111001000001101111010111100010010111100010001000100111001000001101101000001011111010111001000110000110111101011000001011100110111000011101010111111000110011110001011001001110000010011010011100110111000100111000010001101111110101100100011100010101111110111111101000101001"
  1189. "1111111101010100010010000110110000110011010000010001010000100001000011010110111000000111011000001001101100010001001100011001100001010000111100010010111101101111011110011010001000110000110110110001000001001110110101100000011000110001001000110010001101110001010010000010000011111011110101100100010000010100001000010110001100011100010110111100110110010000001001111101100101111010000100001010000110010001100111001101110001101000011101000010111000111001000101110001000001000100100010101110001110000101000110000110001110011010000110011101100001000110111111101000101001"
  1190. "1111111101010100011011011111001100101111001001111001101110011111010011100110011100100110000100011101001111010011000110011110101110001110100010011110000101100101110000010010111101000111100111010011010000001101011111000111011110101101100000110001001111001101110100000011010010001000111101000111100010010100001111010110011000011001011111011100101000111101000001111001000001010011111001010001100111011100011110101110010000001101011011000011110010110000101110010001001001111001000010100001111100110110100111000010001011010011111100011011011110010000111111101000101001"
  1191. },
  1192. /* 58*/ { BARCODE_PDF417, -1, UNICODE_MODE, 8, 29, 32, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 32, 562, 1, "Max codewords (with padding)",
  1193. "1111111101010100011010100000110000111000100110111101111010101111000010100111001110000110100000101100001111011010000111011001000100110000110010000110111001110001011001111011110111010110000100110011110011101110011000010011011000110100010000100011001100100001100111001110011010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010011010111000111100111111101000101001"
  1194. "1111111101010100011110101100000110101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011110101000001000111111101000101001"
  1195. "1111111101010100011111010111000100110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011111010111001000111111101000101001"
  1196. "1111111101010100011110100100111100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010100110000110000111111101000101001"
  1197. "1111111101010100011010111110111000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011010111000000100111111101000101001"
  1198. "1111111101010100010100100000111100110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011010010001111100111111101000101001"
  1199. "1111111101010100010100111100011110100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010011010001100111000111111101000101001"
  1200. "1111111101010100011110100110001100101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011111010010011000111111101000101001"
  1201. "1111111101010100011101000101111110110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011010011111100010111111101000101001"
  1202. "1111111101010100011010000101100000100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010100001100011000111111101000101001"
  1203. "1111111101010100010100111110011000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011010011100000100111111101000101001"
  1204. "1111111101010100010100001100111110110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001010100001000011110111111101000101001"
  1205. "1111111101010100010100000100010000100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010010000110001100100100001100011001001000011000110010011110010100111100111111101000101001"
  1206. "1111111101010100011101000111000110101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000010111111010110000101111110101100001011111101011000011101000110100000111111101000101001"
  1207. "1111111101010100010010110000111110110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100011111001001011000111110010010110001111100100101100001010111110010011000000101110110001111101001001100111111011001010000011100010110101100001101111001011110001100011011010110111111000100111110011000101111100101110100010001111000101000100010001101111101011110000011011011011110101100000111001110100111101011110001100110011001001011111000110010100001111101000110100001110011001011001111110111111101000101001"
  1208. "1111111101010100011100101100111100100110011010000001001011000011000010110001110110000101000110000110001000110111000110010110001111001110111010010000111001000001010100000011010000100011000101110011100010001010000010000010010100011000110000110000110100010001101101101100000011001001000011000110000100001011001100001100101000010000101000100000101110011111011101001000110000110010000010100000100100111011100100001101100010000001011110011110010010100110000111011001000110011110111011111001010111110100111001110010001101000111011110011111011010111100111111101000101001"
  1209. "1111111101010100011101000011101100110000001011101001011111010011100011111000110001010100010001111010001000110111110100010001101111100010111001011001000001101101111100110011111011001010000100100111111011101101110101111110011101000011010000110111101111110101111101101001000011100100111101110111110110001001001111110110101100011010111100110000101111100010011101111001101110011011100100110010000101011110000100001100001000011101011100100011100110110110011110001001110101100010000010011111011011110110001011111011101011111101101110010100011111000110111111101000101001"
  1210. "1111111101010100010110100000111000101111010000100001000001110100011010001111000010100110111110000101001000101011110000010100001100111110111111011001110101110100011111001011101111010011100111101011111001101001000010011110011111100101101000111011110100011101100111110100100010111000110011100110001111001011001000011110100100010000111101001000110100111111010001011110000100100010001111101100100100101100001111101011110000101000010111111011101000111001011111000101110100111110001010110011100111110111110010111001001011110000100010011101101000111110111111101000101001"
  1211. "1111111101010100011001001011000000111110101011111001110011110011001010001000110000110110011011100111001011100011100010010110111110111100100011000011101101100010000100011010001000010010000110110000100010001100010001001100011100111000100010110010000110111001101000011001110010111011100100000101000000101000001100001000110111011001101001000000110110010010000001110100001101111011100110010000110110010111101111101101000100001100010111000011101000110011001001000001101111001110010011101011100111110111110110010111101111101100101111011001001101110000111111101000101001"
  1212. "1111111101010100011110100000010010110001100111100101011111010001110011100000100011010101110111111001001111010001000010011101101110010000110101110010000001101000111010000010110101111110000101111100101110001100101110000001010111101100111110111001001110110001010001111110111011100011011101000110000100111101101110010011000010011100001101110100111101000010100001011000111111011010111011111100010110101111100011101111101110111011011111100101001110101110011011111101010001111101100010001111101011100110100011100100001101000011100010011110100000100100111111101000101001"
  1213. "1111111101010100011111011011110100100011110101000001010010111100000010001010000011110110111110001000101110110010011111011001111011001110110000011101011101011101110111100011111000101110100101100000101110001000110100001110011011110100000110101111101100001001000111000001011011000111100010110101110011000111001111000101111010010010111011111100110111100010001101101111000101100010000010101111000111111001011010001000111110011010010000111100101000101100111001111101001111001000010011111101001100100101111011100011101011100100000110010110111000111110111111101000101001"
  1214. "1111111101010100010010011101110000111001000100011101011000111100111011010000111011110111001100010110001100111001101000011010000010001100110110010000100001001000110110000011011011100111000110111000110001001000010000100100010001100110000100100100111100111101001111011110010011001101110011100110011000010100001011000110000010011110001101011100110001101100001101111101101001111010110000111011000111110101111110101001110000111010011000100010000110110000010010011001110100000100111011000110100000100100110011110111001100001100001001011011001000100000111111101000101001"
  1215. "1111111101010100011100101110110000110011011110100001111110111010100010111011001111110100110001111101001100001001110001011111010100110000111001100111001001001111101011100011110010001101100111110010101100001111000100100001011111010100011000111000001001100101111100110100010010110001111110110111110110110011001111101000100110010001100101111110101001111101100001111101000010011011111001000010110101110111111001001111101100110011010011110101111000111011001110000101110010110000001010111101000111100110001000111000101001011110001000011110010100000100111111101000101001"
  1216. "1111111101010100011001000100111110100111010001100001001101000001110010100110011111000110100001001111101100011010011110010011000010011100110111100001011001111010011110001011001111000010110101101001110000001000111100010100011101110100011110110011111001000101111001001111001010111100000100100100111001011000001110011010111110010110000110111100111111010011001001100111101000110011011101000111000101111000100010001101110000010111010000111011001110100111100001010001101000111111010010000001001011110100010010000111101101110110011110011001000101111100111111101000101001"
  1217. "1111111101010100011100100010011100110001110011000101100001100010100011000010001101110111010101110000001001000011011000010110111100011100110100001000110001010000110000110010111001110100000110110010001000001000101000100000010001101100001000111000110010001101101000010110000010011100111101100110101000001100001110110000101100011011001000000100111011100001000101000011011000010011000110100010000110010111001111001110110001001100011000010101100000111010001100111101000001000011011010110111011000000111011000001001101100010100110000010110011100110000111111101000101001"
  1218. "1111111101010100011111011010100000101101111110011001111001010001000011000100111101100111100101100011001111000101101100010001101111101000111101011000011001111000010110011011110000010010010111100101101100001110100011000010010111110100001110110001001110000101110100111100111011110101101100000111010011100011001101011110000110010011110110111110111100101110111001001111010011110011100101111011100111101110001110101111101000100110011000100111010000111101110111000101101000111000010010011111100101100111000101100000101100010001110010011001011110011000111111101000101001"
  1219. "1111111101010100010110001101111000111011110101110001100101111110010011000001101011110110111001000011101000010100011110010111000001001100110011110001011001011010000111000011111000100111010100110101110000001100110010011110011111010011101000111111010110000101101111100100100010000011110101000100100010000111101100011111010010010110000001011100110001101001111001000011100110111010110110111100000100111011101111001010000100011110011110010011110100111100010111101001100111101001100011100100101111110101100100000111001000111110011010010110001000001110111111101000101001"
  1220. "1111111101010100010110011110001110100111001111011001100011011100111010000101000010000110100001110111101111011110100100010000110111101110110110110110000001111011000100111010001000011101110100011000011001001110001100001011011110110000101110101110111001000001101100110110000011110011110010010110100010001100001100100000100011010110001110011000111000101000111001100111000110100010010111100111100100001001100001101010000100010000010111100011110100111000111011011001001000011000011011000110010100000111001100000101101101110011001000010010000100100000111111101000101001"
  1221. "1111111101010100011110010011001100101100010111111001111001001100011011101001100010000100111101101111101110100001110011011010000111010000111111011101101101001100011111001010100111111001110100010111100100001011000100111111011011111010011110110011011110100001110110000011101011001101111001000101100011111010001110110111001000011111000101001100101000111100100001100100011100100011101001101000000101000111100100001101111110100111010001111100101110100101111100001101000101111101100011011100011111010101110000101111101011010001111110011110010010010000111111101000101001"
  1222. "1111111101010100010001010001111000110101100111111001110100011111010010111100011000110110001110010011101000110101110000011111100100011010101100111011111001011001101111000011000111110100100101111011011000001010111011111100010011100011011100110111000101110001100011111001001010011010011100000100111001000001101111010111100010010111100010001000100111001000001101101000001011111010111001000110000110111101011000001011100110111000011101010111111000110011110001011001001110000010011010011100110111000100111000010001101111110101100100011100010101111110111111101000101001"
  1223. "1111111101010100010010000110110000110011010000010001010000100001000011010110111000000111011000001001101100010001001100011001100001010000111100010010111101101111011110011010001000110000110110110001000001001110110101100000011000110001001000110010001101110001010010000010000011111011110101100100010000010100001000010110001100011100010110111100110110010000001001111101100101111010000100001010000110010001100111001101110001101000011101000010111000111001000101110001000001000100100010101110001110000101000110000110001110011010000110011101100001000110111111101000101001"
  1224. "1111111101010100011011011111001100101111001001111001101110011111010011100110011100100110000100011101001111010011000110011110101110001110100010011110000101100101110000010010111101000111100111010011010000001101011111000111011110101101100000110001001111001101110100000011010010001000111101000111100010010100001111010110011000011001011111011100101000111101000001111001000001010011111001010001100111011100011110101110010000001101011011000011110010110000101110010001001001111001000010100001111100110110100111000010001011010011111100011011011110010000111111101000101001"
  1225. },
  1226. /* 59*/ { BARCODE_PDF417COMP, -1, UNICODE_MODE | FAST_MODE, 1, 2, -1, "PDF417 APK\012", 0, 6, 69, 0, "ISO 15438:2015 Figure G.1, same, BWIPP uses different encodation (AL before <SP>), same codeword count",
  1227. "111111110101010001111010101111000011010100001100000111011101100110001"
  1228. "111111110101010001111010100010000011010000111000100111101000101000001"
  1229. "111111110101010001110101011111100010110011011110000100111110011000101"
  1230. "111111110101010001010111100111100011001100100000010110000110001010001"
  1231. "111111110101010001111010111000111011111011000100100101110111111000101"
  1232. "111111110101010001111010111101000010011111001110110100011100011011101"
  1233. },
  1234. /* 60*/ { BARCODE_PDF417COMP, -1, UNICODE_MODE, 1, 2, -1, "PDF417 APK\012", 0, 6, 69, 0, "ISO 15438:2015 Figure G.1, same, BWIPP uses different encodation (AL before <SP>), same codeword count",
  1235. "111111110101010001111010101111000011010100001100000111011101100110001"
  1236. "111111110101010001111010100010000011010000111000100111101000101000001"
  1237. "111111110101010001110101011111100010110011011110000100111110011000101"
  1238. "111111110101010001010111100111100011001100100000010110000110001010001"
  1239. "111111110101010001111010111000111011111011000100100101110111111000101"
  1240. "111111110101010001111010111101000010011111001110110100011100011011101"
  1241. },
  1242. /* 61*/ { BARCODE_PDF417COMP, -1, UNICODE_MODE | FAST_MODE, 4, 4, -1, "ABCDEFG", 0, 10, 103, 1, "",
  1243. "1111111101010100011101010011100000110101000011000001111010101111000010100111001110000110100000101100001"
  1244. "1111111101010100011110101000000100110100000011100101011111101011000010111111010110000101111110101100001"
  1245. "1111111101010100011010100111110000101111001100011001000001111010100010011111001100100111001011111001001"
  1246. "1111111101010100010101111101111100100001011000110001100011100110010011011011100111000101111000111100101"
  1247. "1111111101010100011101011110111000111110011010000101110000010110010011100100011001000100011111001011101"
  1248. "1111111101010100011110101111001000111111010111011001110111111010100010100000010011110100111100110001101"
  1249. "1111111101010100010100111001110000100001101101000001101100110000110011011000110011000101000000101000001"
  1250. "1111111101010100011110100100010000111101001000010001111101011011100011100100001100100101001111100011001"
  1251. "1111111101010100010100110011111000100110000110111101100111000010111010010001011110000110011111010001001"
  1252. "1111111101010100010100011000001100110001101010000001100011000110011011001001101110000111110111110101001"
  1253. },
  1254. /* 62*/ { BARCODE_PDF417COMP, -1, UNICODE_MODE, 4, 4, -1, "ABCDEFG", 0, 10, 103, 1, "",
  1255. "1111111101010100011101010011100000110101000011000001111010101111000010100111001110000110100000101100001"
  1256. "1111111101010100011110101000000100110100000011100101011111101011000010111111010110000101111110101100001"
  1257. "1111111101010100011010100111110000101111001100011001000001111010100010011111001100100111001011111001001"
  1258. "1111111101010100010101111101111100100001011000110001100011100110010011011011100111000101111000111100101"
  1259. "1111111101010100011101011110111000111110011010000101110000010110010011100100011001000100011111001011101"
  1260. "1111111101010100011110101111001000111111010111011001110111111010100010100000010011110100111100110001101"
  1261. "1111111101010100010100111001110000100001101101000001101100110000110011011000110011000101000000101000001"
  1262. "1111111101010100011110100100010000111101001000010001111101011011100011100100001100100101001111100011001"
  1263. "1111111101010100010100110011111000100110000110111101100111000010111010010001011110000110011111010001001"
  1264. "1111111101010100010100011000001100110001101010000001100011000110011011001001101110000111110111110101001"
  1265. },
  1266. /* 63*/ { BARCODE_HIBC_PDF, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "H123ABC01234567890D", 0, 8, 120, 0, "BWIPP uses different encodation, same codeword count but zint half-pad shorter",
  1267. "111111110101010001111101010111110011101011001111000100000100010010001110001110100010011111010101111100111111101000101001"
  1268. "111111110101010001111110101000111011110000010001010110101111110111101111100011101101011110101001000000111111101000101001"
  1269. "111111110101010001010100111100000011111010111101100100001111000101001100101000011111011101010001111110111111101000101001"
  1270. "111111110101010001101011110011111010000100000101000110001110110010001100100101100000011010111100111110111111101000101001"
  1271. "111111110101010001110101110000110010111111010110000110100111100110001011111101011000011110101110011100111111101000101001"
  1272. "111111110101010001111101011110110011000111110010010110010100111110001000001001001111011101011111010000111111101000101001"
  1273. "111111110101010001110100111011111010100110001100000110100011100111101111010010111100011101001110111110111111101000101001"
  1274. "111111110101010001111101001011000011100001001100100111010000011001001111011000110100010101111110111000111111101000101001"
  1275. },
  1276. /* 64*/ { BARCODE_HIBC_PDF, -1, UNICODE_MODE, -1, 3, -1, "H123ABC01234567890D", 0, 8, 120, 0, "BWIPP uses different encodation, same codeword count but zint half-pad shorter",
  1277. "111111110101010001111101010111110011101011001111000100000100010010001110001110100010011111010101111100111111101000101001"
  1278. "111111110101010001111110101000111011110000010001010110101111110111101111100011101101011110101001000000111111101000101001"
  1279. "111111110101010001010100111100000011111010111101100100001111000101001100101000011111011101010001111110111111101000101001"
  1280. "111111110101010001101011110011111010000100000101000110001110110010001100100101100000011010111100111110111111101000101001"
  1281. "111111110101010001110101110000110010111111010110000110100111100110001011111101011000011110101110011100111111101000101001"
  1282. "111111110101010001111101011110110011000111110010010110010100111110001000001001001111011101011111010000111111101000101001"
  1283. "111111110101010001110100111011111010100110001100000110100011100111101111010010111100011101001110111110111111101000101001"
  1284. "111111110101010001111101001011000011100001001100100111010000011001001111011000110100010101111110111000111111101000101001"
  1285. },
  1286. /* 65*/ { BARCODE_HIBC_PDF, -1, UNICODE_MODE | FAST_MODE, 1, 3, -1, "A123BJC5D6E71", 0, 6, 120, 1, "BWIPP example",
  1287. "111111110101010001111010101111000011110101101111100100000100010010001000011011100110011111010101111100111111101000101001"
  1288. "111111110101010001111010100010000011110000010001010110101111110111101111000001000101011111101010111000111111101000101001"
  1289. "111111110101010001010100111100000010110001100011110101111110111101101000111100011011010101000111100000111111101000101001"
  1290. "111111110101010001010111100111100011100011101001000100001101111011101110001110100010011010111100111110111111101000101001"
  1291. "111111110101010001111010111000111011010111110011100110100000011100101111110101000111011101011100110000111111101000101001"
  1292. "111111110101010001111101011110110010011100110011100100011110110011001011001011100000011110101111000100111111101000101001"
  1293. },
  1294. /* 66*/ { BARCODE_HIBC_PDF, -1, UNICODE_MODE, 1, 3, -1, "A123BJC5D6E71", 0, 6, 120, 1, "BWIPP example",
  1295. "111111110101010001111010101111000011110101101111100100000100010010001000011011100110011111010101111100111111101000101001"
  1296. "111111110101010001111010100010000011110000010001010110101111110111101111000001000101011111101010111000111111101000101001"
  1297. "111111110101010001010100111100000010110001100011110101111110111101101000111100011011010101000111100000111111101000101001"
  1298. "111111110101010001010111100111100011100011101001000100001101111011101110001110100010011010111100111110111111101000101001"
  1299. "111111110101010001111010111000111011010111110011100110100000011100101111110101000111011101011100110000111111101000101001"
  1300. "111111110101010001111101011110110010011100110011100100011110110011001011001011100000011110101111000100111111101000101001"
  1301. },
  1302. /* 67*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "ABCDEFGHIJKLMNOPQRSTUV", 0, 20, 38, 1, "ISO 24728:2006 Figure 1 1st 1x20, same",
  1303. "11110101001000011000110010011110101001"
  1304. "11100101001111110101011100011100101001"
  1305. "11101101001010011001111100011101101001"
  1306. "11101001001101000001011000011101001001"
  1307. "11101001101010000111110011011101001101"
  1308. "11101011101011001110011111011101011101"
  1309. "11101011001100100001101110011101011001"
  1310. "11101010001101100111100100011101010001"
  1311. "11001010001001100001000111011001010001"
  1312. "11001011001001100111100111011001011001"
  1313. "11001011101001100101111110011001011101"
  1314. "11001001101000001010111100011001001101"
  1315. "11001101101111001100100111011001101101"
  1316. "11101101101011100111111010011101101101"
  1317. "11100101101110011110100111011100101101"
  1318. "11000101101110001010011100011000101101"
  1319. "11000101001100010111100110011000101001"
  1320. "11001101001000011001000111011001101001"
  1321. "11011101001111011111011010011011101001"
  1322. "11011001001100010001110100011011001001"
  1323. },
  1324. /* 68*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "ABCDEFGHIJKLMNOPQRSTUV", 0, 20, 38, 1, "ISO 24728:2006 Figure 1 1st 1x20, same",
  1325. "11110101001000011000110010011110101001"
  1326. "11100101001111110101011100011100101001"
  1327. "11101101001010011001111100011101101001"
  1328. "11101001001101000001011000011101001001"
  1329. "11101001101010000111110011011101001101"
  1330. "11101011101011001110011111011101011101"
  1331. "11101011001100100001101110011101011001"
  1332. "11101010001101100111100100011101010001"
  1333. "11001010001001100001000111011001010001"
  1334. "11001011001001100111100111011001011001"
  1335. "11001011101001100101111110011001011101"
  1336. "11001001101000001010111100011001001101"
  1337. "11001101101111001100100111011001101101"
  1338. "11101101101011100111111010011101101101"
  1339. "11100101101110011110100111011100101101"
  1340. "11000101101110001010011100011000101101"
  1341. "11000101001100010111100110011000101001"
  1342. "11001101001000011001000111011001101001"
  1343. "11011101001111011111011010011011101001"
  1344. "11011001001100010001110100011011001001"
  1345. },
  1346. /* 69*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD", 0, 20, 55, 1, "ISO 24728:2006 Figure 1 2nd 2x20, same",
  1347. "1111010100100001100011001001111010101111000011110101001"
  1348. "1110010100110101111110111101111101000100110011100101001"
  1349. "1110110100101101100111100001011001110011111011101101001"
  1350. "1110100100110010000110111001110001011001111011101001001"
  1351. "1110100110111001000001101001001101011111100011101001101"
  1352. "1110101110110111100101100001000001010111100011101011101"
  1353. "1110101100100011001100100001100111001110011011101011001"
  1354. "1110101000111111010101110001101011111101111011101010001"
  1355. "1100101000101000001000111101011011001111000011001010001"
  1356. "1100101100110010001001100001100100001101110011001011001"
  1357. "1100101110110110011110010001110010000011010011001011101"
  1358. "1100100110110011101000011101101111001011000011001001101"
  1359. "1100110110110001101000100001000110011001000011001101101"
  1360. "1110110110111000110011101001111110101011100011101101101"
  1361. "1110010110101001100111110001000110010011100011100101101"
  1362. "1100010110110110011011000001100110100010000011000101101"
  1363. "1100010100111111001010011101110000100110100011000101001"
  1364. "1100110100111001111100101101111110010011010011001101001"
  1365. "1101110100111010110011110001000001001101100011011101001"
  1366. "1101100100111100110110100001001001111001000011011001001"
  1367. },
  1368. /* 70*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD", 0, 20, 55, 1, "ISO 24728:2006 Figure 1 2nd 2x20, same",
  1369. "1111010100100001100011001001111010101111000011110101001"
  1370. "1110010100110101111110111101111101000100110011100101001"
  1371. "1110110100101101100111100001011001110011111011101101001"
  1372. "1110100100110010000110111001110001011001111011101001001"
  1373. "1110100110111001000001101001001101011111100011101001101"
  1374. "1110101110110111100101100001000001010111100011101011101"
  1375. "1110101100100011001100100001100111001110011011101011001"
  1376. "1110101000111111010101110001101011111101111011101010001"
  1377. "1100101000101000001000111101011011001111000011001010001"
  1378. "1100101100110010001001100001100100001101110011001011001"
  1379. "1100101110110110011110010001110010000011010011001011101"
  1380. "1100100110110011101000011101101111001011000011001001101"
  1381. "1100110110110001101000100001000110011001000011001101101"
  1382. "1110110110111000110011101001111110101011100011101101101"
  1383. "1110010110101001100111110001000110010011100011100101101"
  1384. "1100010110110110011011000001100110100010000011000101101"
  1385. "1100010100111111001010011101110000100110100011000101001"
  1386. "1100110100111001111100101101111110010011010011001101001"
  1387. "1101110100111010110011110001000001001101100011011101001"
  1388. "1101100100111100110110100001001001111001000011011001001"
  1389. },
  1390. /* 71*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMN", 0, 20, 82, 1, "ISO 24728:2006 Figure 1 3rd 3x20",
  1391. "1100100010100001100011001001011110010111101010111100001010011100111000011100101101"
  1392. "1110100010111110100010011001011110110101000011111001101001011110010000011000101101"
  1393. "1110110010111100010111101001001110110110111011001111001001100001000111011000101001"
  1394. "1100110010100110011110011101001110100111001100001001101100011010001000011001101001"
  1395. "1101110010110000101111011001001100100111000110011101001111110101011100011011101001"
  1396. "1101111010101001100111110001001100110101000001000111101011011001111000011011001001"
  1397. "1100111010110010001001100001001000110110010000110111001110001011001111011011001101"
  1398. "1110111010111001000001101001001000010100110101111110001001100101111110011011011101"
  1399. "1110011010100000101011110001011000010110111110101000001101111100010001011011011001"
  1400. "1111011010111101010111100001011100010101001110011100001101000001011000011011010001"
  1401. "1111001010101000011111001101011100110100101111001000001110110111100110011010010001"
  1402. "1110001010110111011001111001011100100101111100110010001110011111010110011010110001"
  1403. "1100001010111100111101010001011101100111100111100101001111101110100111011010111001"
  1404. "1100011010111001101110010001001101100101001111000001001111010001100110011010111101"
  1405. "1100010010110010001111110101000101100110011100001011101111001000111101011010011101"
  1406. "1110010010100110001100000101000101000110111101110001001101100110110000011010011001"
  1407. "1111010010100111010001111101001101000100110111110100001111001110111010011010001001"
  1408. "1111010110101100100000011101011101000110001101000111101000000100101111011010001101"
  1409. "1111010100101111011110100001011001000111110011010111101011110111110110011010000101"
  1410. "1110010100110010001111011001011001100111000010111011001110001011100110011011000101"
  1411. },
  1412. /* 72*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMN", 0, 20, 82, 1, "ISO 24728:2006 Figure 1 3rd 3x20",
  1413. "1100100010100001100011001001011110010111101010111100001010011100111000011100101101"
  1414. "1110100010111110100010011001011110110101000011111001101001011110010000011000101101"
  1415. "1110110010111100010111101001001110110110111011001111001001100001000111011000101001"
  1416. "1100110010100110011110011101001110100111001100001001101100011010001000011001101001"
  1417. "1101110010110000101111011001001100100111000110011101001111110101011100011011101001"
  1418. "1101111010101001100111110001001100110101000001000111101011011001111000011011001001"
  1419. "1100111010110010001001100001001000110110010000110111001110001011001111011011001101"
  1420. "1110111010111001000001101001001000010100110101111110001001100101111110011011011101"
  1421. "1110011010100000101011110001011000010110111110101000001101111100010001011011011001"
  1422. "1111011010111101010111100001011100010101001110011100001101000001011000011011010001"
  1423. "1111001010101000011111001101011100110100101111001000001110110111100110011010010001"
  1424. "1110001010110111011001111001011100100101111100110010001110011111010110011010110001"
  1425. "1100001010111100111101010001011101100111100111100101001111101110100111011010111001"
  1426. "1100011010111001101110010001001101100101001111000001001111010001100110011010111101"
  1427. "1100010010110010001111110101000101100110011100001011101111001000111101011010011101"
  1428. "1110010010100110001100000101000101000110111101110001001101100110110000011010011001"
  1429. "1111010010100111010001111101001101000100110111110100001111001110111010011010001001"
  1430. "1111010110101100100000011101011101000110001101000111101000000100101111011010001101"
  1431. "1111010100101111011110100001011001000111110011010111101011110111110110011010000101"
  1432. "1110010100110010001111011001011001100111000010111011001110001011100110011011000101"
  1433. },
  1434. /* 73*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB", 0, 20, 99, 1, "ISO 24728:2006 Figure 1 4th 4x20, same",
  1435. "110010001010000110001100100111101010111100001011110010101001110011100001101000001011000011100101101"
  1436. "111010001010100001111100110100101111001000001011110110111011011110011001101100111100100011000101101"
  1437. "111011001010011000010001110110011101000011101001110110110111100101100001000001010111100011000101001"
  1438. "110011001010001100110010000110011100111001101001110100111101010111100001010011100111000011001101001"
  1439. "110111001011111010001001100101000011111001101001100100100101111001000001110110111100110011011101001"
  1440. "110111101011011101100111100100110000100011101001100110110011101000011101101111001011000011011001001"
  1441. "110011101011000110100010000100011001100100001001000110110011100111001101111010101111000011011001101"
  1442. "111011101011010111111011110111110100010011001001000010101000011111001101001011110010000011011011101"
  1443. "111001101011110001011110100110111011001111001011000010100110000100011101100111010000111011011011001"
  1444. "111101101011100110000100110110001101000100001011100010100011001100100001100111001110011011011010001"
  1445. "111100101011111101010111000110101111110111101011100110111110100010011001010000111110011011010010001"
  1446. "111000101010110011100111110111100010111101001011100100110111011001111001001100001000111011010110001"
  1447. "110000101010011001111001110111001100001001101011101100110001101000100001000110011001000011010111001"
  1448. "110001101011100011001110100111111010101110001001101100111101001110111001011111011001111011010111101"
  1449. "110001001011110101111101100101111001110011101000101100101110110111000001000010000101111011010011101"
  1450. "111001001010000010100000100111000111010010001000101000110010000010110001101100010000001011010011001"
  1451. "111101001011110111001110100110000010011100101001101000111101100110001001011110100001111011010001001"
  1452. "111101011010000001010011110100110110001111001011101000110000111100101101111010011110010011010001101"
  1453. "111101010011100011101010000110001011101111001011001000111110111101011001100101110111100011010000101"
  1454. "111001010010001000001111010111100010100001001011001100100111101101111101001110100111110011011000101"
  1455. },
  1456. /* 74*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB", 0, 20, 99, 1, "ISO 24728:2006 Figure 1 4th 4x20, same",
  1457. "110010001010000110001100100111101010111100001011110010101001110011100001101000001011000011100101101"
  1458. "111010001010100001111100110100101111001000001011110110111011011110011001101100111100100011000101101"
  1459. "111011001010011000010001110110011101000011101001110110110111100101100001000001010111100011000101001"
  1460. "110011001010001100110010000110011100111001101001110100111101010111100001010011100111000011001101001"
  1461. "110111001011111010001001100101000011111001101001100100100101111001000001110110111100110011011101001"
  1462. "110111101011011101100111100100110000100011101001100110110011101000011101101111001011000011011001001"
  1463. "110011101011000110100010000100011001100100001001000110110011100111001101111010101111000011011001101"
  1464. "111011101011010111111011110111110100010011001001000010101000011111001101001011110010000011011011101"
  1465. "111001101011110001011110100110111011001111001011000010100110000100011101100111010000111011011011001"
  1466. "111101101011100110000100110110001101000100001011100010100011001100100001100111001110011011011010001"
  1467. "111100101011111101010111000110101111110111101011100110111110100010011001010000111110011011010010001"
  1468. "111000101010110011100111110111100010111101001011100100110111011001111001001100001000111011010110001"
  1469. "110000101010011001111001110111001100001001101011101100110001101000100001000110011001000011010111001"
  1470. "110001101011100011001110100111111010101110001001101100111101001110111001011111011001111011010111101"
  1471. "110001001011110101111101100101111001110011101000101100101110110111000001000010000101111011010011101"
  1472. "111001001010000010100000100111000111010010001000101000110010000010110001101100010000001011010011001"
  1473. "111101001011110111001110100110000010011100101001101000111101100110001001011110100001111011010001001"
  1474. "111101011010000001010011110100110110001111001011101000110000111100101101111010011110010011010001101"
  1475. "111101010011100011101010000110001011101111001011001000111110111101011001100101110111100011010000101"
  1476. "111001010010001000001111010111100010100001001011001100100111101101111101001110100111110011011000101"
  1477. },
  1478. /* 75*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "123456789012345", 0, 14, 38, 1, "Number Compaction",
  1479. "11101110101011111101001100011101110101"
  1480. "11100110101110101011111100011100110101"
  1481. "11110110101000001011001100011110110101"
  1482. "11110010101111100100110111011110010101"
  1483. "11100010101000111110110010011100010101"
  1484. "11000010101010000010100000011000010101"
  1485. "11000110101110001100111010011000110101"
  1486. "11000100101000100001001111011000100101"
  1487. "11100100101011110011110010011100100101"
  1488. "11110100101110011000011101011110100101"
  1489. "11110101101000101000001111011110101101"
  1490. "11110101001111001010011110011110101001"
  1491. "11100101001101011110000110011100101001"
  1492. "11101101001101000111111001011101101001"
  1493. },
  1494. /* 76*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "123456789012345", 0, 14, 38, 1, "Number Compaction",
  1495. "11101110101011111101001100011101110101"
  1496. "11100110101110101011111100011100110101"
  1497. "11110110101000001011001100011110110101"
  1498. "11110010101111100100110111011110010101"
  1499. "11100010101000111110110010011100010101"
  1500. "11000010101010000010100000011000010101"
  1501. "11000110101110001100111010011000110101"
  1502. "11000100101000100001001111011000100101"
  1503. "11100100101011110011110010011100100101"
  1504. "11110100101110011000011101011110100101"
  1505. "11110101101000101000001111011110101101"
  1506. "11110101001111001010011110011110101001"
  1507. "11100101001101011110000110011100101001"
  1508. "11101101001101000111111001011101101001"
  1509. },
  1510. /* 77*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "+12345678901", 0, 14, 38, 0, "Single mixed + Number Compaction; BWIPP different encodation",
  1511. "11101110101011111101011000011101110101"
  1512. "11100110101101111110001101011100110101"
  1513. "11110110101001111011110100011110110101"
  1514. "11110010101101000111100011011110010101"
  1515. "11100010101111110100011001011100010101"
  1516. "11000010101100100000101100011000010101"
  1517. "11000110101101001110000001011000110101"
  1518. "11000100101001111011000110011000100101"
  1519. "11100100101010001110001110011100100101"
  1520. "11110100101110101111001110011110100101"
  1521. "11110101101110011110101110011110101101"
  1522. "11110101001001011000110000011110101001"
  1523. "11100101001101001110001000011100101001"
  1524. "11101101001000010011011111011101101001"
  1525. },
  1526. /* 78*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "+12345678901", 0, 14, 38, 0, "Single mixed + Number Compaction; BWIPP different encodation",
  1527. "11101110101011111101011000011101110101"
  1528. "11100110101101111110001101011100110101"
  1529. "11110110101001111011110100011110110101"
  1530. "11110010101101000111100011011110010101"
  1531. "11100010101111110100011001011100010101"
  1532. "11000010101100100000101100011000010101"
  1533. "11000110101101001110000001011000110101"
  1534. "11000100101001111011000110011000100101"
  1535. "11100100101010001110001110011100100101"
  1536. "11110100101110101111001110011110100101"
  1537. "11110101101110011110101110011110101101"
  1538. "11110101001001011000110000011110101001"
  1539. "11100101001101001110001000011100101001"
  1540. "11101101001000010011011111011101101001"
  1541. },
  1542. /* 79*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "\177\177\177", 0, 8, 55, 1, "Byte Compaction",
  1543. "1100100010100000100001000101010000010010000011001000101"
  1544. "1110100010111110100010001101111101000100011011101000101"
  1545. "1110110010110001111100100101100011111001001011101100101"
  1546. "1100110010100001100011001001000011000110010011001100101"
  1547. "1101110010111001000111011001011011111101100011011100101"
  1548. "1101111010111010011111101101001110010011000011011110101"
  1549. "1100111010111001111001100101000001001101100011001110101"
  1550. "1110111010111000101111011101110001000011010011101110101"
  1551. },
  1552. /* 80*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "\177\177\177", 0, 8, 55, 1, "Byte Compaction",
  1553. "1100100010100000100001000101010000010010000011001000101"
  1554. "1110100010111110100010001101111101000100011011101000101"
  1555. "1110110010110001111100100101100011111001001011101100101"
  1556. "1100110010100001100011001001000011000110010011001100101"
  1557. "1101110010111001000111011001011011111101100011011100101"
  1558. "1101111010111010011111101101001110010011000011011110101"
  1559. "1100111010111001111001100101000001001101100011001110101"
  1560. "1110111010111000101111011101110001000011010011101110101"
  1561. },
  1562. /* 81*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "\177\177\177\177\177\177", 0, 8, 55, 1, "Byte Compaction, mod 6 == 0 (924 emitted)",
  1563. "1100100010110001110001101001110010011001111011001000101"
  1564. "1110100010100010001111010001110010000111011011101000101"
  1565. "1110110010101000011001111101101000101111100011101100101"
  1566. "1100110010100001100011001001000011000110010011001100101"
  1567. "1101110010101110001001111101101000111000001011011100101"
  1568. "1101111010100011001101111001010010000111100011011110101"
  1569. "1100111010100100010000100001110111101100001011001110101"
  1570. "1110111010111110011010100001101100001111010011101110101"
  1571. },
  1572. /* 82*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "\177\177\177\177\177\177", 0, 8, 55, 1, "Byte Compaction, mod 6 == 0 (924 emitted)",
  1573. "1100100010110001110001101001110010011001111011001000101"
  1574. "1110100010100010001111010001110010000111011011101000101"
  1575. "1110110010101000011001111101101000101111100011101100101"
  1576. "1100110010100001100011001001000011000110010011001100101"
  1577. "1101110010101110001001111101101000111000001011011100101"
  1578. "1101111010100011001101111001010010000111100011011110101"
  1579. "1100111010100100010000100001110111101100001011001110101"
  1580. "1110111010111110011010100001101100001111010011101110101"
  1581. },
  1582. /* 83*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFG\177\177\177", 0, 8, 82, 1, "Text & Byte Compaction",
  1583. "1100111010100001100011001001000010110111101010111100001010011100111000011001110101"
  1584. "1110111010111110100010011001000010010110100000011100101101111110101110011101110101"
  1585. "1110011010101000000101111001000011010101000000101111001010000001011110011100110101"
  1586. "1111011010100001100011001001000111010100100001010000001111001110100011011110110101"
  1587. "1111001010111000001001100101000110010111010011000010001110100110000100011110010101"
  1588. "1110001010101111010001000001000100010101100010000011101000000111001011011100010101"
  1589. "1100001010111110111010111001001100010110011100011000101101100001100110011000010101"
  1590. "1100011010110100011100001001001110010110110000111101001100011011110010011000110101"
  1591. },
  1592. /* 84*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFG\177\177\177", 0, 8, 82, 1, "Text & Byte Compaction",
  1593. "1100111010100001100011001001000010110111101010111100001010011100111000011001110101"
  1594. "1110111010111110100010011001000010010110100000011100101101111110101110011101110101"
  1595. "1110011010101000000101111001000011010101000000101111001010000001011110011100110101"
  1596. "1111011010100001100011001001000111010100100001010000001111001110100011011110110101"
  1597. "1111001010111000001001100101000110010111010011000010001110100110000100011110010101"
  1598. "1110001010101111010001000001000100010101100010000011101000000111001011011100010101"
  1599. "1100001010111110111010111001001100010110011100011000101101100001100110011000010101"
  1600. "1100011010110100011100001001001110010110110000111101001100011011110010011000110101"
  1601. },
  1602. /* 85*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "\177\177\177abcd123456789", 0, 8, 99, 1, "Byte & Text & Numeric Compaction",
  1603. "110011101010000010000100010101000001001000001000010110101000001001000001010000010010000011001110101"
  1604. "111011101010111111010110000110000010111001001000010010111101011100111001010011111000011011101110101"
  1605. "111001101011111010111101100101000100000111101000011010111110010111101101110010011111001011100110101"
  1606. "111101101011001000010011000100001100011001001000111010100001100011001001000011000110010011110110101"
  1607. "111100101010111111010110000101111110101100001000110010100100001111001001001110010111110011110010101"
  1608. "111000101010010101111000000111111011011101001000100010101100000110111101000100011011111011100010101"
  1609. "110000101011100011001101110100001101110110001001100010100010110000110001101100110000110011000010101"
  1610. "110001101011101110011110100101000011111001101001110010110001011110011001110011011101000011000110101"
  1611. },
  1612. /* 86*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "\177\177\177abcd123456789", 0, 6, 99, 0, "Byte & Text & Numeric Compaction -> BYT(8) NUM(8); BWIPP same as FAST_MODE",
  1613. "110010001010000010000100010111001001100111101011001110100001010000100001100010010000110011001000101"
  1614. "111010001011110111001110100110010111100001101001001110110100111000001001011111101001100011101000101"
  1615. "111011001011101010111111000100001001101111101001101110110001111101000101001000000101111011101100101"
  1616. "110011001010001110011110110101001110011100001000101110100010000110110001000001000011011011001100101"
  1617. "110111001011101100011100010101001111100001101000100110111001100111010001111011000110100011011100101"
  1618. "110111101010111101000000100111011111100101001000110110101101001110000001011100010011000011011110101"
  1619. },
  1620. /* 87*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "\177\177\177abcdef12345", 0, 6, 99, 1, "Byte & Text & Numeric Compaction",
  1621. "110010001010000010000100010101000001001000001011001110101000001001000001010000010010000011001000101"
  1622. "111010001010111111010110000110000010111001001001001110111101011100111001110100111001100011101000101"
  1623. "111011001010110100000111000111110101111011001001101110101000100000111101101101000001111011101100101"
  1624. "110011001010011011000010000110010001000001101000101110101101110110000001010000011011000011001100101"
  1625. "110111001011001011101000000101001111110011101000100110111010111101110001111101110011001011011100101"
  1626. "110111101010011100110011100110100011111101001000110110100110100000111001100100100111110011011110101"
  1627. },
  1628. /* 88*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "\177\177\177abcd123456789", 0, 6, 99, 0, "Byte & Text & Numeric Compaction; BWIPP same as FAST_MODE",
  1629. "110010001010000010000100010111001001100111101011001110100001010000100001100010010000110011001000101"
  1630. "111010001011110111001110100110010111100001101001001110110100111000001001011111101001100011101000101"
  1631. "111011001011101010111111000100001001101111101001101110110001111101000101001000000101111011101100101"
  1632. "110011001010001110011110110101001110011100001000101110100010000110110001000001000011011011001100101"
  1633. "110111001011101100011100010101001111100001101000100110111001100111010001111011000110100011011100101"
  1634. "110111101010111101000000100111011111100101001000110110101101001110000001011100010011000011011110101"
  1635. },
  1636. /* 89*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "\177\177\177abcdefgh1234567890123", 0, 8, 99, 1, "Byte & Text & Numeric Compaction",
  1637. "110011101010000010000100010101000001001000001000010110101000001001000001010000010010000011001110101"
  1638. "111011101010111111010110000110000010111001001000010010111101011100111001110100111001100011101110101"
  1639. "111001101011111001011110110101100110011110001000011010100001111000101001111110101100010011100110101"
  1640. "111101101011010000100001100100000100110110001000111010100000101101100001001001110011100011110110101"
  1641. "111100101010111111010110000101111110101100001000110010101111101011100001110011000111010011110010101"
  1642. "111000101010111111011110110110111111000110101000100010100111000000101101001111101101000011100010101"
  1643. "110000101011000011010000100100000101101100001001100010101110111110111001111001110010110011000010101"
  1644. "110001101011101110111100010100100011110100001001110010100000101111000101111001010010000011000110101"
  1645. },
  1646. /* 90*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "\177\177\177abcdefgh1234567890123", 0, 8, 99, 1, "Byte(6) & Text & Numeric Compaction",
  1647. "110011101010000010000100010101000001001000001000010110101000001001000001010000010010000011001110101"
  1648. "111011101010111111010110000110000010111001001000010010111101011100111001110100111001100011101110101"
  1649. "111001101011111001011110110101100110011110001000011010100001111000101001111110101100010011100110101"
  1650. "111101101011010000100001100100000100110110001000111010100000101101100001001001110011100011110110101"
  1651. "111100101010111111010110000101111110101100001000110010101111101011100001110011000111010011110010101"
  1652. "111000101010111111011110110110111111000110101000100010100111000000101101001111101101000011100010101"
  1653. "110000101011000011010000100100000101101100001001100010101110111110111001111001110010110011000010101"
  1654. "110001101011101110111100010100100011110100001001110010100000101111000101111001010010000011000110101"
  1655. },
  1656. /* 91*/ { BARCODE_HIBC_MICPDF, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "H123ABC01234567890D", 0, 8, 99, 0, "BWIPP uses different encodation, same codeword count but zint full-pad shorter",
  1657. "110011101010000110001100100100000100010010001000010110111000111010001001000001001100011011001110101"
  1658. "111011101011010111111011110111110001110110101000010010111101011100111001011111101001100011101110101"
  1659. "111001101011001010000111110100011110101000001000011010100111110001101001011011000111100011100110101"
  1660. "111101101010000110001100100101000010001000001000111010100001100011001001000011000110010011110110101"
  1661. "111100101010111111010110000101111110101100001000110010111001001100001001111110001101011011110010101"
  1662. "111000101010001100101110000110010010011111001000100010100111100001101101111110101100010011100010101"
  1663. "110000101010110110001000000111000101100111101001100010110111101110000101100010101100000011000010101"
  1664. "110001101011110110000011010111100100001101101001110010101101011111100001111001000110011011000110101"
  1665. },
  1666. /* 92*/ { BARCODE_HIBC_MICPDF, -1, UNICODE_MODE, -1, 4, -1, "H123ABC01234567890D", 0, 8, 99, 0, "BWIPP uses different encodation, same codeword count but zint full-pad shorter",
  1667. "110011101010000110001100100100000100010010001000010110111000111010001001000001001100011011001110101"
  1668. "111011101011010111111011110111110001110110101000010010111101011100111001011111101001100011101110101"
  1669. "111001101011001010000111110100011110101000001000011010100111110001101001011011000111100011100110101"
  1670. "111101101010000110001100100101000010001000001000111010100001100011001001000011000110010011110110101"
  1671. "111100101010111111010110000101111110101100001000110010111001001100001001111110001101011011110010101"
  1672. "111000101010001100101110000110010010011111001000100010100111100001101101111110101100010011100010101"
  1673. "110000101010110110001000000111000101100111101001100010110111101110000101100010101100000011000010101"
  1674. "110001101011110110000011010111100100001101101001110010101101011111100001111001000110011011000110101"
  1675. },
  1676. /* 93*/ { BARCODE_HIBC_MICPDF, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "/EAH783", 0, 17, 38, 1, "HIBC Provider Applications Standard (PAS) example",
  1677. "11001101001100011111001001011001101001"
  1678. "11011101001000001000100100011011101001"
  1679. "11011001001000100011110100011011001001"
  1680. "11011001101111010000111101011011001101"
  1681. "11011011101101100100010000011011011101"
  1682. "11011011001111001010000100011011011001"
  1683. "11011010001010000110011111011011010001"
  1684. "11010010001101001100001110011010010001"
  1685. "11010110001011111101011000011010110001"
  1686. "11010111001100011111001001011010111001"
  1687. "11010111101100110001000010011010111101"
  1688. "11010011101100001000111001011010011101"
  1689. "11010011001011110111000111011010011001"
  1690. "11010001001110001100100011011010001001"
  1691. "11010001101110010000110100011010001101"
  1692. "11010000101101100100001111011010000101"
  1693. "11011000101110111000100010011011000101"
  1694. },
  1695. /* 94*/ { BARCODE_HIBC_MICPDF, -1, UNICODE_MODE, -1, 1, -1, "/EAH783", 0, 17, 38, 1, "HIBC Provider Applications Standard (PAS) example",
  1696. "11001101001100011111001001011001101001"
  1697. "11011101001000001000100100011011101001"
  1698. "11011001001000100011110100011011001001"
  1699. "11011001101111010000111101011011001101"
  1700. "11011011101101100100010000011011011101"
  1701. "11011011001111001010000100011011011001"
  1702. "11011010001010000110011111011011010001"
  1703. "11010010001101001100001110011010010001"
  1704. "11010110001011111101011000011010110001"
  1705. "11010111001100011111001001011010111001"
  1706. "11010111101100110001000010011010111101"
  1707. "11010011101100001000111001011010011101"
  1708. "11010011001011110111000111011010011001"
  1709. "11010001001110001100100011011010001001"
  1710. "11010001101110010000110100011010001101"
  1711. "11010000101101100100001111011010000101"
  1712. "11011000101110111000100010011011000101"
  1713. },
  1714. /* 95*/ { BARCODE_PDF417, 9, DATA_MODE, -1, -1, -1, "\342", 0, 7, 103, 1, "β",
  1715. "1111111101010100011111010101111100110101000110000001100011100011001011110101011110000111111101000101001"
  1716. "1111111101010100011111010100011000111110101000011001011111100100011011110101001000000111111101000101001"
  1717. "1111111101010100011101010111111000110110010011110001100011111001001011010100011111000111111101000101001"
  1718. "1111111101010100011010111100111110100110011100110001010001100001100010101111001111000111111101000101001"
  1719. "1111111101010100011010111000010000110110001111000101111110010010111011110101110011100111111101000101001"
  1720. "1111111101010100011110101111010000100011110001000101000110010111000011110101111000010111111101000101001"
  1721. "1111111101010100011101001110111110101110001110001001010001101100000011010011101111000111111101000101001"
  1722. },
  1723. /* 96*/ { BARCODE_PDF417, 9, DATA_MODE, -1, -1, -1, "\342", 0, 7, 103, 1, "β",
  1724. "1111111101010100011111010101111100110101000110000001100011100011001011110101011110000111111101000101001"
  1725. "1111111101010100011111010100011000111110101000011001011111100100011011110101001000000111111101000101001"
  1726. "1111111101010100011101010111111000110110010011110001100011111001001011010100011111000111111101000101001"
  1727. "1111111101010100011010111100111110100110011100110001010001100001100010101111001111000111111101000101001"
  1728. "1111111101010100011010111000010000110110001111000101111110010010111011110101110011100111111101000101001"
  1729. "1111111101010100011110101111010000100011110001000101000110010111000011110101111000010111111101000101001"
  1730. "1111111101010100011101001110111110101110001110001001010001101100000011010011101111000111111101000101001"
  1731. },
  1732. /* 97*/ { BARCODE_MICROPDF417, 9, DATA_MODE, -1, 1, -1, "\342\343", 0, 14, 38, 1, "βγ",
  1733. "11101110101001111110010110011101110101"
  1734. "11100110101101010000111110011100110101"
  1735. "11110110101000001000010001011110110101"
  1736. "11110010101111001011001100011110010101"
  1737. "11100010101110110010011111011100010101"
  1738. "11000010101000011000110010011000010101"
  1739. "11000110101011111101011000011000110101"
  1740. "11000100101001111000101000011000100101"
  1741. "11100100101000100000101000011100100101"
  1742. "11110100101101110010111111011110100101"
  1743. "11110101101101100101111000011110101101"
  1744. "11110101001101011100111100011110101001"
  1745. "11100101001011100101111100011100101001"
  1746. "11101101001101001001111100011101101001"
  1747. },
  1748. /* 98*/ { BARCODE_MICROPDF417, 9, DATA_MODE, -1, 1, -1, "\342\343", 0, 14, 38, 1, "βγ",
  1749. "11101110101001111110010110011101110101"
  1750. "11100110101101010000111110011100110101"
  1751. "11110110101000001000010001011110110101"
  1752. "11110010101111001011001100011110010101"
  1753. "11100010101110110010011111011100010101"
  1754. "11000010101000011000110010011000010101"
  1755. "11000110101011111101011000011000110101"
  1756. "11000100101001111000101000011000100101"
  1757. "11100100101000100000101000011100100101"
  1758. "11110100101101110010111111011110100101"
  1759. "11110101101101100101111000011110101101"
  1760. "11110101001101011100111100011110101001"
  1761. "11100101001011100101111100011100101001"
  1762. "11101101001101001001111100011101101001"
  1763. },
  1764. /* 99*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "12345678", 0, 11, 38, 1, "1 columns x 11 rows, variant 1",
  1765. "11001000101001111011110100011100110101"
  1766. "11101000101110100011000001011110110101"
  1767. "11101100101000011010011100011110010101"
  1768. "11001100101100110011000011011100010101"
  1769. "11011100101111100001010110011000010101"
  1770. "11011110101101100100111100011000110101"
  1771. "11001110101011110011111011011000100101"
  1772. "11101110101000110111110010011100100101"
  1773. "11100110101011011110111111011110100101"
  1774. "11110110101001000001000010011110101101"
  1775. "11110010101110001001110110011110101001"
  1776. },
  1777. /*100*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "12345678", 0, 11, 38, 1, "1 columns x 11 rows, variant 1",
  1778. "11001000101001111011110100011100110101"
  1779. "11101000101110100011000001011110110101"
  1780. "11101100101000011010011100011110010101"
  1781. "11001100101100110011000011011100010101"
  1782. "11011100101111100001010110011000010101"
  1783. "11011110101101100100111100011000110101"
  1784. "11001110101011110011111011011000100101"
  1785. "11101110101000110111110010011100100101"
  1786. "11100110101011011110111111011110100101"
  1787. "11110110101001000001000010011110101101"
  1788. "11110010101110001001110110011110101001"
  1789. },
  1790. /*101*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "123456789012345678901234567890", 0, 20, 38, 1, "1 columns x 20 rows, variant 4",
  1791. "11110101001001111011110100011110101001"
  1792. "11100101001111101010011000011100101001"
  1793. "11101101001111110010011001011101101001"
  1794. "11101001001001110011110110011101001001"
  1795. "11101001101111100010100110011101001101"
  1796. "11101011101010000010111100011101011101"
  1797. "11101011001011000111100111011101011001"
  1798. "11101010001110100000111011011101010001"
  1799. "11001010001110011101001111011001010001"
  1800. "11001011001100101110011110011001011001"
  1801. "11001011101100111011111010011001011101"
  1802. "11001001101011011000111100011001001101"
  1803. "11001101101100110000010010011001101101"
  1804. "11101101101100100011110110011101101101"
  1805. "11100101101001111110111001011100101101"
  1806. "11000101101001110011100100011000101101"
  1807. "11000101001010000111100100011000101001"
  1808. "11001101001011111101110001011001101001"
  1809. "11011101001011110111101000011011101001"
  1810. "11011001001010001111000010011011001001"
  1811. },
  1812. /*102*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "123456789012345678901234567890", 0, 20, 38, 1, "1 columns x 20 rows, variant 4",
  1813. "11110101001001111011110100011110101001"
  1814. "11100101001111101010011000011100101001"
  1815. "11101101001111110010011001011101101001"
  1816. "11101001001001110011110110011101001001"
  1817. "11101001101111100010100110011101001101"
  1818. "11101011101010000010111100011101011101"
  1819. "11101011001011000111100111011101011001"
  1820. "11101010001110100000111011011101010001"
  1821. "11001010001110011101001111011001010001"
  1822. "11001011001100101110011110011001011001"
  1823. "11001011101100111011111010011001011101"
  1824. "11001001101011011000111100011001001101"
  1825. "11001101101100110000010010011001101101"
  1826. "11101101101100100011110110011101101101"
  1827. "11100101101001111110111001011100101101"
  1828. "11000101101001110011100100011000101101"
  1829. "11000101001010000111100100011000101001"
  1830. "11001101001011111101110001011001101001"
  1831. "11011101001011110111101000011011101001"
  1832. "11011001001010001111000010011011001001"
  1833. },
  1834. /*103*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "1234567890123456789012345678901234567890", 0, 24, 38, 1, "1 columns x 24 rows, variant 5",
  1835. "11100110101000011110001010011110100101"
  1836. "11110110101101001000011000011110101101"
  1837. "11110010101101000011100010011110101001"
  1838. "11100010101001000011011111011100101001"
  1839. "11000010101011000011001000011101101001"
  1840. "11000110101100010111000100011101001001"
  1841. "11000100101110110101111100011101001101"
  1842. "11100100101101011100011110011101011101"
  1843. "11110100101001001111000001011101011001"
  1844. "11110101101110001110101111011101010001"
  1845. "11110101001101100001000010011001010001"
  1846. "11100101001110111011110100011001011001"
  1847. "11101101001111110100111011011001011101"
  1848. "11101001001000010000110011011001001101"
  1849. "11101001101111010000010010011001101101"
  1850. "11101011101100011111001001011101101101"
  1851. "11101011001000010011100111011100101101"
  1852. "11101010001111101100001001011000101101"
  1853. "11001010001011101101110000011000101001"
  1854. "11001011001000010011011000011001101001"
  1855. "11001011101100110111100100011011101001"
  1856. "11001001101001110011011100011011001001"
  1857. "11001101101000101101100000011011001101"
  1858. "11101101101111000010010010011011011101"
  1859. },
  1860. /*104*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "1234567890123456789012345678901234567890", 0, 24, 38, 1, "1 columns x 24 rows, variant 5",
  1861. "11100110101000011110001010011110100101"
  1862. "11110110101101001000011000011110101101"
  1863. "11110010101101000011100010011110101001"
  1864. "11100010101001000011011111011100101001"
  1865. "11000010101011000011001000011101101001"
  1866. "11000110101100010111000100011101001001"
  1867. "11000100101110110101111100011101001101"
  1868. "11100100101101011100011110011101011101"
  1869. "11110100101001001111000001011101011001"
  1870. "11110101101110001110101111011101010001"
  1871. "11110101001101100001000010011001010001"
  1872. "11100101001110111011110100011001011001"
  1873. "11101101001111110100111011011001011101"
  1874. "11101001001000010000110011011001001101"
  1875. "11101001101111010000010010011001101101"
  1876. "11101011101100011111001001011101101101"
  1877. "11101011001000010011100111011100101101"
  1878. "11101010001111101100001001011000101101"
  1879. "11001010001011101101110000011000101001"
  1880. "11001011001000010011011000011001101001"
  1881. "11001011101100110111100100011011101001"
  1882. "11001001101001110011011100011011001001"
  1883. "11001101101000101101100000011011001101"
  1884. "11101101101111000010010010011011011101"
  1885. },
  1886. /*105*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 1, -1, "12345678901234567890123456789012345678901234567890", 0, 28, 38, 1, "1 columns x 28 rows, variant 6",
  1887. "11101011001001111011110100011100101101"
  1888. "11101010001100010111110111011000101101"
  1889. "11001010001110100111110001011000101001"
  1890. "11001011001010000011000110011001101001"
  1891. "11001011101110010000001101011011101001"
  1892. "11001001101111110001011010011011001001"
  1893. "11001101101010011110111100011011001101"
  1894. "11101101101111110101101111011011011101"
  1895. "11100101101101101000111100011011011001"
  1896. "11000101101001100111000011011011010001"
  1897. "11000101001101111101001111011010010001"
  1898. "11001101001000111001011000011010110001"
  1899. "11011101001100010001000011011010111001"
  1900. "11011001001011111001011100011010111101"
  1901. "11011001101010110111110000011010011101"
  1902. "11011011101110111010100000011010011001"
  1903. "11011011001111110101011100011010001001"
  1904. "11011010001000011100001011011010001101"
  1905. "11010010001010001100011000011010000101"
  1906. "11010110001011111101011000011011000101"
  1907. "11010111001110111110101100011001000101"
  1908. "11010111101101011110111110011101000101"
  1909. "11010011101011110100111100011101100101"
  1910. "11010011001011101110111100011001100101"
  1911. "11010001001000101100001100011011100101"
  1912. "11010001101111101000100011011011110101"
  1913. "11010000101001111001100110011001110101"
  1914. "11011000101110101011100000011101110101"
  1915. },
  1916. /*106*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 1, -1, "12345678901234567890123456789012345678901234567890", 0, 28, 38, 1, "1 columns x 28 rows, variant 6",
  1917. "11101011001001111011110100011100101101"
  1918. "11101010001100010111110111011000101101"
  1919. "11001010001110100111110001011000101001"
  1920. "11001011001010000011000110011001101001"
  1921. "11001011101110010000001101011011101001"
  1922. "11001001101111110001011010011011001001"
  1923. "11001101101010011110111100011011001101"
  1924. "11101101101111110101101111011011011101"
  1925. "11100101101101101000111100011011011001"
  1926. "11000101101001100111000011011011010001"
  1927. "11000101001101111101001111011010010001"
  1928. "11001101001000111001011000011010110001"
  1929. "11011101001100010001000011011010111001"
  1930. "11011001001011111001011100011010111101"
  1931. "11011001101010110111110000011010011101"
  1932. "11011011101110111010100000011010011001"
  1933. "11011011001111110101011100011010001001"
  1934. "11011010001000011100001011011010001101"
  1935. "11010010001010001100011000011010000101"
  1936. "11010110001011111101011000011011000101"
  1937. "11010111001110111110101100011001000101"
  1938. "11010111101101011110111110011101000101"
  1939. "11010011101011110100111100011101100101"
  1940. "11010011001011101110111100011001100101"
  1941. "11010001001000101100001100011011100101"
  1942. "11010001101111101000100011011011110101"
  1943. "11010000101001111001100110011001110101"
  1944. "11011000101110101011100000011101110101"
  1945. },
  1946. /*107*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTU", 0, 11, 55, 1, "2 columns x 11 rows, variant 8",
  1947. "1100100010100001100011001001111010101111000011100110101"
  1948. "1110100010110101111110111101111101000100110011110110101"
  1949. "1110110010101101100111100001011001110011111011110010101"
  1950. "1100110010110010000110111001110001011001111011100010101"
  1951. "1101110010111001000001101001001101011111100011000010101"
  1952. "1101111010110111100101100001100001101001111011000110101"
  1953. "1100111010100001100011001001110010000101110011000100101"
  1954. "1110111010111101110111010001111100001010110011100100101"
  1955. "1110011010110010001001111101101100101111000011110100101"
  1956. "1111011010111000110100001101000101110111000011110101101"
  1957. "1111001010110001011100000101000100011110001011110101001"
  1958. },
  1959. /*108*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTU", 0, 11, 55, 1, "2 columns x 11 rows, variant 8",
  1960. "1100100010100001100011001001111010101111000011100110101"
  1961. "1110100010110101111110111101111101000100110011110110101"
  1962. "1110110010101101100111100001011001110011111011110010101"
  1963. "1100110010110010000110111001110001011001111011100010101"
  1964. "1101110010111001000001101001001101011111100011000010101"
  1965. "1101111010110111100101100001100001101001111011000110101"
  1966. "1100111010100001100011001001110010000101110011000100101"
  1967. "1110111010111101110111010001111100001010110011100100101"
  1968. "1110011010110010001001111101101100101111000011110100101"
  1969. "1111011010111000110100001101000101110111000011110101101"
  1970. "1111001010110001011100000101000100011110001011110101001"
  1971. },
  1972. /*109*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZA", 0, 14, 55, 1, "2 columns x 14 rows, variant 9",
  1973. "1110111010101111110101100001111110101011100011101110101"
  1974. "1110011010101001100111110001010000010001111011100110101"
  1975. "1111011010111101101000011101100100010011000011110110101"
  1976. "1111001010111011011110011001101100111100100011110010101"
  1977. "1110001010100110000100011101100111010000111011100010101"
  1978. "1100001010111001100001001101100011010001000011000010101"
  1979. "1100011010110000101111011001110001100111010011000110101"
  1980. "1100010010101011100011111101100011111001001011000100101"
  1981. "1110010010100001100011001001000011000110010011100100101"
  1982. "1111010010101111110101100001110111000111101011110100101"
  1983. "1111010110101111110111001001111001011110100011110101101"
  1984. "1111010100101010000010000001110100001001110011110101001"
  1985. "1110010100101111100110111101110110011110011011100101001"
  1986. "1110110100100000011010111001100111101000011011101101001"
  1987. },
  1988. /*110*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZA", 0, 14, 55, 1, "2 columns x 14 rows, variant 9",
  1989. "1110111010101111110101100001111110101011100011101110101"
  1990. "1110011010101001100111110001010000010001111011100110101"
  1991. "1111011010111101101000011101100100010011000011110110101"
  1992. "1111001010111011011110011001101100111100100011110010101"
  1993. "1110001010100110000100011101100111010000111011100010101"
  1994. "1100001010111001100001001101100011010001000011000010101"
  1995. "1100011010110000101111011001110001100111010011000110101"
  1996. "1100010010101011100011111101100011111001001011000100101"
  1997. "1110010010100001100011001001000011000110010011100100101"
  1998. "1111010010101111110101100001110111000111101011110100101"
  1999. "1111010110101111110111001001111001011110100011110101101"
  2000. "1111010100101010000010000001110100001001110011110101001"
  2001. "1110010100101111100110111101110110011110011011100101001"
  2002. "1110110100100000011010111001100111101000011011101101001"
  2003. },
  2004. /*111*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL", 0, 17, 55, 1, "2 columns x 17 rows, variant 10",
  2005. "1100110100110001111100100101110101011111100011001101001"
  2006. "1101110100101001110011100001101000001011000011011101001"
  2007. "1101100100101000011111001101001011110010000011011001001"
  2008. "1101100110111100010111101001101110110011110011011001101"
  2009. "1101101110111101110101100001001100111100111011011011101"
  2010. "1101101100100110010111111001111101110011001011011011001"
  2011. "1101101000110111110101000001101111100010001011011010001"
  2012. "1101001000111101010111100001010011100111000011010010001"
  2013. "1101011000111110100010011001010000111110011011010110001"
  2014. "1101011100101100111001111101111000101111010011010111001"
  2015. "1101011110100001100011001001000011000110010011010111101"
  2016. "1101001110101111110101100001011111101011000011010011101"
  2017. "1101001100101110100000110001001111001010000011010011001"
  2018. "1101000100111001000110111101110011000010011011010001001"
  2019. "1101000110111111001010111001111000101100110011010001101"
  2020. "1101000010101110011101111001010010011110000011010000101"
  2021. "1101100010100101111101111101000110000011010011011000101"
  2022. },
  2023. /*112*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL", 0, 17, 55, 1, "2 columns x 17 rows, variant 10",
  2024. "1100110100110001111100100101110101011111100011001101001"
  2025. "1101110100101001110011100001101000001011000011011101001"
  2026. "1101100100101000011111001101001011110010000011011001001"
  2027. "1101100110111100010111101001101110110011110011011001101"
  2028. "1101101110111101110101100001001100111100111011011011101"
  2029. "1101101100100110010111111001111101110011001011011011001"
  2030. "1101101000110111110101000001101111100010001011011010001"
  2031. "1101001000111101010111100001010011100111000011010010001"
  2032. "1101011000111110100010011001010000111110011011010110001"
  2033. "1101011100101100111001111101111000101111010011010111001"
  2034. "1101011110100001100011001001000011000110010011010111101"
  2035. "1101001110101111110101100001011111101011000011010011101"
  2036. "1101001100101110100000110001001111001010000011010011001"
  2037. "1101000100111001000110111101110011000010011011010001001"
  2038. "1101000110111111001010111001111000101100110011010001101"
  2039. "1101000010101110011101111001010010011110000011010000101"
  2040. "1101100010100101111101111101000110000011010011011000101"
  2041. },
  2042. /*113*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFG", 0, 23, 55, 1, "2 columns x 23 rows, variant 12",
  2043. "1110011010110001111100100101110101011111100011110100101"
  2044. "1111011010101001110011100001101000001011000011110101101"
  2045. "1111001010101000011111001101001011110010000011110101001"
  2046. "1110001010111100010111101001101110110011110011100101001"
  2047. "1100001010111101110101100001001100111100111011101101001"
  2048. "1100011010100110010111111001111101110011001011101001001"
  2049. "1100010010110111110101000001101111100010001011101001101"
  2050. "1110010010111101010111100001010011100111000011101011101"
  2051. "1111010010111110100010011001010000111110011011101011001"
  2052. "1111010110101100111001111101111000101111010011101010001"
  2053. "1111010100111000101100111101111011101011000011001010001"
  2054. "1110010100100110101111110001001100101111110011001011001"
  2055. "1110110100100000101011110001101111101010000011001011101"
  2056. "1110100100110011100111001101111010101111000011001001101"
  2057. "1110100110110101111110111101111101000100110011001101101"
  2058. "1110101110111110010011100101100011111001001011101101101"
  2059. "1110101100100001100011001001110111100110010011100101101"
  2060. "1110101000110111011111001001110000100011010011000101101"
  2061. "1100101000100011010011100001011000100000111011000101001"
  2062. "1100101100111010001001110001101000101100000011001101001"
  2063. "1100101110111010000001101001011001111100010011011101001"
  2064. "1100100110101100011011110001111101101111010011011001001"
  2065. "1100110110100001000010000101100010001000011011011001101"
  2066. },
  2067. /*114*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFG", 0, 23, 55, 1, "2 columns x 23 rows, variant 12",
  2068. "1110011010110001111100100101110101011111100011110100101"
  2069. "1111011010101001110011100001101000001011000011110101101"
  2070. "1111001010101000011111001101001011110010000011110101001"
  2071. "1110001010111100010111101001101110110011110011100101001"
  2072. "1100001010111101110101100001001100111100111011101101001"
  2073. "1100011010100110010111111001111101110011001011101001001"
  2074. "1100010010110111110101000001101111100010001011101001101"
  2075. "1110010010111101010111100001010011100111000011101011101"
  2076. "1111010010111110100010011001010000111110011011101011001"
  2077. "1111010110101100111001111101111000101111010011101010001"
  2078. "1111010100111000101100111101111011101011000011001010001"
  2079. "1110010100100110101111110001001100101111110011001011001"
  2080. "1110110100100000101011110001101111101010000011001011101"
  2081. "1110100100110011100111001101111010101111000011001001101"
  2082. "1110100110110101111110111101111101000100110011001101101"
  2083. "1110101110111110010011100101100011111001001011101101101"
  2084. "1110101100100001100011001001110111100110010011100101101"
  2085. "1110101000110111011111001001110000100011010011000101101"
  2086. "1100101000100011010011100001011000100000111011000101001"
  2087. "1100101100111010001001110001101000101100000011001101001"
  2088. "1100101110111010000001101001011001111100010011011101001"
  2089. "1100100110101100011011110001111101101111010011011001001"
  2090. "1100110110100001000010000101100010001000011011011001101"
  2091. },
  2092. /*115*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ", 0, 26, 55, 1, "2 columns x 26 rows, variant 13",
  2093. "1100101000110001111100100101110101011111100011000101001"
  2094. "1100101100101001110011100001101000001011000011001101001"
  2095. "1100101110101000011111001101001011110010000011011101001"
  2096. "1100100110111100010111101001101110110011110011011001001"
  2097. "1100110110111101110101100001001100111100111011011001101"
  2098. "1110110110100110010111111001111101110011001011011011101"
  2099. "1110010110110111110101000001101111100010001011011011001"
  2100. "1100010110111101010111100001010011100111000011011010001"
  2101. "1100010100111110100010011001010000111110011011010010001"
  2102. "1100110100101100111001111101111000101111010011010110001"
  2103. "1101110100111000101100111101111011101011000011010111001"
  2104. "1101100100100110101111110001001100101111110011010111101"
  2105. "1101100110100000101011110001101111101010000011010011101"
  2106. "1101101110110011100111001101111010101111000011010011001"
  2107. "1101101100110101111110111101111101000100110011010001001"
  2108. "1101101000101101100111100001011001110011111011010001101"
  2109. "1101001000110010000110111001110001011001111011010000101"
  2110. "1101011000111001000001101001111001101100100011011000101"
  2111. "1101011100110001111100100101101001000011111011001000101"
  2112. "1101011110100100001101100001011100011100010011101000101"
  2113. "1101001110100010011110100001111110110100110011101100101"
  2114. "1101001100111101011111001101100011101001110011001100101"
  2115. "1101000100110111011110011101011100011100010011011100101"
  2116. "1101000110100111011011111101110110011101000011011110101"
  2117. "1101000010100010111011111101010100011110000011001110101"
  2118. "1101100010110001000001011001110101000111000011101110101"
  2119. },
  2120. /*116*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 2, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ", 0, 26, 55, 1, "2 columns x 26 rows, variant 13",
  2121. "1100101000110001111100100101110101011111100011000101001"
  2122. "1100101100101001110011100001101000001011000011001101001"
  2123. "1100101110101000011111001101001011110010000011011101001"
  2124. "1100100110111100010111101001101110110011110011011001001"
  2125. "1100110110111101110101100001001100111100111011011001101"
  2126. "1110110110100110010111111001111101110011001011011011101"
  2127. "1110010110110111110101000001101111100010001011011011001"
  2128. "1100010110111101010111100001010011100111000011011010001"
  2129. "1100010100111110100010011001010000111110011011010010001"
  2130. "1100110100101100111001111101111000101111010011010110001"
  2131. "1101110100111000101100111101111011101011000011010111001"
  2132. "1101100100100110101111110001001100101111110011010111101"
  2133. "1101100110100000101011110001101111101010000011010011101"
  2134. "1101101110110011100111001101111010101111000011010011001"
  2135. "1101101100110101111110111101111101000100110011010001001"
  2136. "1101101000101101100111100001011001110011111011010001101"
  2137. "1101001000110010000110111001110001011001111011010000101"
  2138. "1101011000111001000001101001111001101100100011011000101"
  2139. "1101011100110001111100100101101001000011111011001000101"
  2140. "1101011110100100001101100001011100011100010011101000101"
  2141. "1101001110100010011110100001111110110100110011101100101"
  2142. "1101001100111101011111001101100011101001110011001100101"
  2143. "1101000100110111011110011101011100011100010011011100101"
  2144. "1101000110100111011011111101110110011101000011011110101"
  2145. "1101000010100010111011111101010100011110000011001110101"
  2146. "1101100010110001000001011001110101000111000011101110101"
  2147. },
  2148. /*117*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJ", 0, 6, 82, 1, "3 columns x 6 rows, variant 14",
  2149. "1100100010100001100011001001011001110111101010111100001010011100111000011001000101"
  2150. "1110100010111110100010011001001001110101000011111001101001011110010000011101000101"
  2151. "1110110010110100010001111101001101110110000101001111101001000100111100011101100101"
  2152. "1100110010111101101001110001000101110100100011101110001011110011110001011001100101"
  2153. "1101110010111010011110011101000100110111011100111100101110100111001100011011100101"
  2154. "1101111010100001111010000101000110110100110100000011101100100111111001011011110101"
  2155. },
  2156. /*118*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJ", 0, 6, 82, 1, "3 columns x 6 rows, variant 14",
  2157. "1100100010100001100011001001011001110111101010111100001010011100111000011001000101"
  2158. "1110100010111110100010011001001001110101000011111001101001011110010000011101000101"
  2159. "1110110010110100010001111101001101110110000101001111101001000100111100011101100101"
  2160. "1100110010111101101001110001000101110100100011101110001011110011110001011001100101"
  2161. "1101110010111010011110011101000100110111011100111100101110100111001100011011100101"
  2162. "1101111010100001111010000101000110110100110100000011101100100111111001011011110101"
  2163. },
  2164. /*119*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTU", 0, 10, 82, 1, "3 columns x 10 rows, variant 16",
  2165. "1100010010110001111100100101001111010111010101111110001010011001111100011000100101"
  2166. "1110010010110100000101100001011111010111101101000011101100100010011000011100100101"
  2167. "1111010010111011011110011001011110010110110011110010001110010000011010011110100101"
  2168. "1111010110110011101000011101011110110110111100101100001100001101001111011110101101"
  2169. "1111010100100001100011001001001110110100001100011001001101110001101000011110101001"
  2170. "1110010100110000100111010001001110100111010001110110001101011100000100011100101001"
  2171. "1110110100110100110011111101001100100110011100001011101000110010000111011101101001"
  2172. "1110100100101011110011110001001100110100001001001000001101101000001000011101001001"
  2173. "1110100110101011111001100001001000110101110010011111001111101100101000011101001101"
  2174. "1110101110110111101100111001001000010110111110000101001001110001101110011101011101"
  2175. },
  2176. /*120*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTU", 0, 10, 82, 1, "3 columns x 10 rows, variant 16",
  2177. "1100010010110001111100100101001111010111010101111110001010011001111100011000100101"
  2178. "1110010010110100000101100001011111010111101101000011101100100010011000011100100101"
  2179. "1111010010111011011110011001011110010110110011110010001110010000011010011110100101"
  2180. "1111010110110011101000011101011110110110111100101100001100001101001111011110101101"
  2181. "1111010100100001100011001001001110110100001100011001001101110001101000011110101001"
  2182. "1110010100110000100111010001001110100111010001110110001101011100000100011100101001"
  2183. "1110110100110100110011111101001100100110011100001011101000110010000111011101101001"
  2184. "1110100100101011110011110001001100110100001001001000001101101000001000011101001001"
  2185. "1110100110101011111001100001001000110101110010011111001111101100101000011101001101"
  2186. "1110101110110111101100111001001000010110111110000101001001110001101110011101011101"
  2187. },
  2188. /*121*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCD", 0, 12, 82, 1, "3 columns x 12 rows, variant 17",
  2189. "1110101100100001100011001001011000010111101010111100001010011100111000011101011001"
  2190. "1110101000111110100010011001011100010101000011111001101001011110010000011101010001"
  2191. "1100101000111100010111101001011100110110111011001111001001100001000111011001010001"
  2192. "1100101100100110011110011101011100100111001100001001101100011010001000011001011001"
  2193. "1100101110110000101111011001011101100111000110011101001111110101011100011001011101"
  2194. "1100100110101001100111110001001101100110001111100100101100011111001001011001001101"
  2195. "1100110110110011010000100001000101100100011101110010001101100100000010011001101101"
  2196. "1110110110111101011000110001000101000111101110111010001111110111010100011101101101"
  2197. "1110010110100011010111000001001101000101110000001011001110101111101000011100101101"
  2198. "1100010110101100001110001101011101000110111000111001101110001011011110011000101101"
  2199. "1100010100111101100011000101011001000110110001111000101100011001111001011000101001"
  2200. "1100110100101010000011110001011001100111001111101011001111010111100010011001101001"
  2201. },
  2202. /*122*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCD", 0, 12, 82, 1, "3 columns x 12 rows, variant 17",
  2203. "1110101100100001100011001001011000010111101010111100001010011100111000011101011001"
  2204. "1110101000111110100010011001011100010101000011111001101001011110010000011101010001"
  2205. "1100101000111100010111101001011100110110111011001111001001100001000111011001010001"
  2206. "1100101100100110011110011101011100100111001100001001101100011010001000011001011001"
  2207. "1100101110110000101111011001011101100111000110011101001111110101011100011001011101"
  2208. "1100100110101001100111110001001101100110001111100100101100011111001001011001001101"
  2209. "1100110110110011010000100001000101100100011101110010001101100100000010011001101101"
  2210. "1110110110111101011000110001000101000111101110111010001111110111010100011101101101"
  2211. "1110010110100011010111000001001101000101110000001011001110101111101000011100101101"
  2212. "1100010110101100001110001101011101000110111000111001101110001011011110011000101101"
  2213. "1100010100111101100011000101011001000110110001111000101100011001111001011000101001"
  2214. "1100110100101010000011110001011001100111001111101011001111010111100010011001101001"
  2215. },
  2216. /*123*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI", 0, 15, 82, 1, "3 columns x 15 rows, variant 18",
  2217. "1101110100100001100011001001011000100111101010111100001010011100111000011011101001"
  2218. "1101100100111110100010011001011000110101000011111001101001011110010000011011001001"
  2219. "1101100110111100010111101001010000110110111011001111001001100001000111011011001101"
  2220. "1101101110100110011110011101010001110111001100001001101100011010001000011011011101"
  2221. "1101101100110000101111011001010001100111000110011101001111110101011100011011011001"
  2222. "1101101000101001100111110001010011100101000001000111101011011001111000011011010001"
  2223. "1101001000110110011100111001010011000100001100011001001000011000110010011010010001"
  2224. "1101011000101111110101100001010111000101111110101100001011111101011000011010110001"
  2225. "1101011100110111100100001101010110000111011010011111001101111001011000011010111001"
  2226. "1101011110110011100110000101010010000100010110000011001011110001111001011010111101"
  2227. "1101001110111010001100100001011010000100111110100011101011010001111110011010011101"
  2228. "1101001100110011110010110001001010000110011111101100101000111000101100011010011001"
  2229. "1101000100100001100110010001001011000100000100001010001111010000101111011010001001"
  2230. "1101000110111110101101110001001011100101111110101100001111100110100001011010001101"
  2231. "1101000010111011101011110001011011100100011100000101101011000110001111011010000101"
  2232. },
  2233. /*124*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI", 0, 15, 82, 1, "3 columns x 15 rows, variant 18",
  2234. "1101110100100001100011001001011000100111101010111100001010011100111000011011101001"
  2235. "1101100100111110100010011001011000110101000011111001101001011110010000011011001001"
  2236. "1101100110111100010111101001010000110110111011001111001001100001000111011011001101"
  2237. "1101101110100110011110011101010001110111001100001001101100011010001000011011011101"
  2238. "1101101100110000101111011001010001100111000110011101001111110101011100011011011001"
  2239. "1101101000101001100111110001010011100101000001000111101011011001111000011011010001"
  2240. "1101001000110110011100111001010011000100001100011001001000011000110010011010010001"
  2241. "1101011000101111110101100001010111000101111110101100001011111101011000011010110001"
  2242. "1101011100110111100100001101010110000111011010011111001101111001011000011010111001"
  2243. "1101011110110011100110000101010010000100010110000011001011110001111001011010111101"
  2244. "1101001110111010001100100001011010000100111110100011101011010001111110011010011101"
  2245. "1101001100110011110010110001001010000110011111101100101000111000101100011010011001"
  2246. "1101000100100001100110010001001011000100000100001010001111010000101111011010001001"
  2247. "1101000110111110101101110001001011100101111110101100001111100110100001011010001101"
  2248. "1101000010111011101011110001011011100100011100000101101011000110001111011010000101"
  2249. },
  2250. /*125*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", 0, 26, 82, 1, "3 columns x 26 rows, variant 20",
  2251. "1100100010100001100011001001000011010111101010111100001010011100111000011110100101"
  2252. "1110100010111110100010011001000111010101000011111001101001011110010000011110101101"
  2253. "1110110010111100010111101001000110010110111011001111001001100001000111011110101001"
  2254. "1100110010100110011110011101000100010111001100001001101100011010001000011100101001"
  2255. "1101110010110000101111011001001100010111000110011101001111110101011100011101101001"
  2256. "1101111010101001100111110001001110010101000001000111101011011001111000011101001001"
  2257. "1100111010110010001001100001001111010110010000110111001110001011001111011101001101"
  2258. "1110111010111001000001101001011111010100110101111110001001100101111110011101011101"
  2259. "1110011010100000101011110001011110010110111110101000001101111100010001011101011001"
  2260. "1111011010111101010111100001011110110101001110011100001101000001011000011101010001"
  2261. "1111001010101000011111001101001110110100101111001000001110110111100110011001010001"
  2262. "1110001010110111011001111001001110100100110000100011101100111010000111011001011001"
  2263. "1100001010111001100001001101001100100100001100011001001000011000110010011001011101"
  2264. "1100011010101111110101100001001100110101111110101100001011111101011000011001001101"
  2265. "1100010010110001111100100101001000110110001111100100101100011111001001011001101101"
  2266. "1110010010100001100011001001001000010101000000100000101001111011110100011101101101"
  2267. "1111010010100111001011111001011000010111101101100100001111010111000111011100101101"
  2268. "1111010110101101001110000001011100010110011111101101001100011101000111011000101101"
  2269. "1111010100111001110001010001011100110100111000111010001111001101000111011000101001"
  2270. "1110010100111000101100001001011100100111000110011101001100011011110001011001101001"
  2271. "1110110100100111000010011001011101100100000110110111101010011011111000011011101001"
  2272. "1110100100110010000110011101001101100111001111011000101110010001011100011011001001"
  2273. "1110100110110001011110001101000101100111100001011001101111001101101000011011001101"
  2274. "1110101110110011110010001101000101000100111101001000001101111101100110011011011101"
  2275. "1110101100100110011010000001001101000111011110001100101100110000100100011011011001"
  2276. "1110101000111100010100100001011101000101111101001110001111100100010011011011010001"
  2277. },
  2278. /*126*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRST", 0, 26, 82, 1, "3 columns x 26 rows, variant 20",
  2279. "1100100010100001100011001001000011010111101010111100001010011100111000011110100101"
  2280. "1110100010111110100010011001000111010101000011111001101001011110010000011110101101"
  2281. "1110110010111100010111101001000110010110111011001111001001100001000111011110101001"
  2282. "1100110010100110011110011101000100010111001100001001101100011010001000011100101001"
  2283. "1101110010110000101111011001001100010111000110011101001111110101011100011101101001"
  2284. "1101111010101001100111110001001110010101000001000111101011011001111000011101001001"
  2285. "1100111010110010001001100001001111010110010000110111001110001011001111011101001101"
  2286. "1110111010111001000001101001011111010100110101111110001001100101111110011101011101"
  2287. "1110011010100000101011110001011110010110111110101000001101111100010001011101011001"
  2288. "1111011010111101010111100001011110110101001110011100001101000001011000011101010001"
  2289. "1111001010101000011111001101001110110100101111001000001110110111100110011001010001"
  2290. "1110001010110111011001111001001110100100110000100011101100111010000111011001011001"
  2291. "1100001010111001100001001101001100100100001100011001001000011000110010011001011101"
  2292. "1100011010101111110101100001001100110101111110101100001011111101011000011001001101"
  2293. "1100010010110001111100100101001000110110001111100100101100011111001001011001101101"
  2294. "1110010010100001100011001001001000010101000000100000101001111011110100011101101101"
  2295. "1111010010100111001011111001011000010111101101100100001111010111000111011100101101"
  2296. "1111010110101101001110000001011100010110011111101101001100011101000111011000101101"
  2297. "1111010100111001110001010001011100110100111000111010001111001101000111011000101001"
  2298. "1110010100111000101100001001011100100111000110011101001100011011110001011001101001"
  2299. "1110110100100111000010011001011101100100000110110111101010011011111000011011101001"
  2300. "1110100100110010000110011101001101100111001111011000101110010001011100011011001001"
  2301. "1110100110110001011110001101000101100111100001011001101111001101101000011011001101"
  2302. "1110101110110011110010001101000101000100111101001000001101111101100110011011011101"
  2303. "1110101100100110011010000001001101000111011110001100101100110000100100011011011001"
  2304. "1110101000111100010100100001011101000101111101001110001111100100010011011011010001"
  2305. },
  2306. /*127*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 32, 82, 1, "3 columns x 26 rows, variant 20",
  2307. "1110110100110001111100100101011101100111010101111110001010011001111100011011101001"
  2308. "1110100100110100000101100001001101100111101101000011101100100010011000011011001001"
  2309. "1110100110111011011110011001000101100110110011110010001110010000011010011011001101"
  2310. "1110101110110011101000011101000101000110111100101100001000001010111100011011011101"
  2311. "1110101100100011001100100001001101000110011100111001101111010101111000011011011001"
  2312. "1110101000110101111110111101011101000111110100010011001010000111110011011011010001"
  2313. "1100101000101100111001111101011001000111100010111101001101110110011110011010010001"
  2314. "1100101100111101110101100001011001100100110011110011101110011000010011011010110001"
  2315. "1100101110111110111001100101011000100110000101111011001110001100111010011010111001"
  2316. "1100100110111010101111110001011000110101001100111110001010000010001111011010111101"
  2317. "1100110110111101101000011101010000110110010001001100001100100001101110011010011101"
  2318. "1110110110110110011110010001010001110111001000001101001001101011111100011010011001"
  2319. "1110010110110111100101100001010001100100000101011110001101111101010000011010001001"
  2320. "1100010110110011100111001101010011100111101010111100001010011100111000011010001101"
  2321. "1100010100111110100010011001010011000101000011111001101001011110010000011010000101"
  2322. "1100110100111100010111101001010111000110111011001111001001100001000111011011000101"
  2323. "1101110100100110011110011101010110000111001100001001101100011010001000011001000101"
  2324. "1101100100110000101111011001010010000111000110011101001011111101011000011101000101"
  2325. "1101100110110001111100100101011010000110001111100100101100011111001001011101100101"
  2326. "1101101110100001100011001001001010000111101111101101001110110000100011011001100101"
  2327. "1101101100100001011111001101001011000111010000111001101110011011101000011011100101"
  2328. "1101101000110011111101100101001011100101111100011101101100100100111110011011110101"
  2329. "1101001000101000010001000001011011100100110111001100001110111010100000011001110101"
  2330. "1101011000101011111100111001011011110111110001110110101111110101001110011101110101"
  2331. "1101011100100011001001110001011001110100011110101000001100111110010010011100110101"
  2332. "1101011110111011100010000101001001110101101111001110001001100111000011011110110101"
  2333. "1101001110100111111010011001001101110100011001111101001111000100110011011110010101"
  2334. "1101001100100011101011000001000101110111010111110010001000010010011110011100010101"
  2335. "1101000100111000010010011101000100110100001011000001101000101111001111011000010101"
  2336. "1101000110111110010000101101000110110111001101111001101111110110001011011000110101"
  2337. "1101000010110010100001111101000010110100111100110011001111010000111101011000100101"
  2338. "1101100010101110011101000001000010010110000100010001101110001101000011011100100101"
  2339. },
  2340. /*128*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 32, 82, 1, "3 columns x 26 rows, variant 20",
  2341. "1110110100110001111100100101011101100111010101111110001010011001111100011011101001"
  2342. "1110100100110100000101100001001101100111101101000011101100100010011000011011001001"
  2343. "1110100110111011011110011001000101100110110011110010001110010000011010011011001101"
  2344. "1110101110110011101000011101000101000110111100101100001000001010111100011011011101"
  2345. "1110101100100011001100100001001101000110011100111001101111010101111000011011011001"
  2346. "1110101000110101111110111101011101000111110100010011001010000111110011011011010001"
  2347. "1100101000101100111001111101011001000111100010111101001101110110011110011010010001"
  2348. "1100101100111101110101100001011001100100110011110011101110011000010011011010110001"
  2349. "1100101110111110111001100101011000100110000101111011001110001100111010011010111001"
  2350. "1100100110111010101111110001011000110101001100111110001010000010001111011010111101"
  2351. "1100110110111101101000011101010000110110010001001100001100100001101110011010011101"
  2352. "1110110110110110011110010001010001110111001000001101001001101011111100011010011001"
  2353. "1110010110110111100101100001010001100100000101011110001101111101010000011010001001"
  2354. "1100010110110011100111001101010011100111101010111100001010011100111000011010001101"
  2355. "1100010100111110100010011001010011000101000011111001101001011110010000011010000101"
  2356. "1100110100111100010111101001010111000110111011001111001001100001000111011011000101"
  2357. "1101110100100110011110011101010110000111001100001001101100011010001000011001000101"
  2358. "1101100100110000101111011001010010000111000110011101001011111101011000011101000101"
  2359. "1101100110110001111100100101011010000110001111100100101100011111001001011101100101"
  2360. "1101101110100001100011001001001010000111101111101101001110110000100011011001100101"
  2361. "1101101100100001011111001101001011000111010000111001101110011011101000011011100101"
  2362. "1101101000110011111101100101001011100101111100011101101100100100111110011011110101"
  2363. "1101001000101000010001000001011011100100110111001100001110111010100000011001110101"
  2364. "1101011000101011111100111001011011110111110001110110101111110101001110011101110101"
  2365. "1101011100100011001001110001011001110100011110101000001100111110010010011100110101"
  2366. "1101011110111011100010000101001001110101101111001110001001100111000011011110110101"
  2367. "1101001110100111111010011001001101110100011001111101001111000100110011011110010101"
  2368. "1101001100100011101011000001000101110111010111110010001000010010011110011100010101"
  2369. "1101000100111000010010011101000100110100001011000001101000101111001111011000010101"
  2370. "1101000110111110010000101101000110110111001101111001101111110110001011011000110101"
  2371. "1101000010110010100001111101000010110100111100110011001111010000111101011000100101"
  2372. "1101100010101110011101000001000010010110000100010001101110001101000011011100100101"
  2373. },
  2374. /*129*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 38, 82, 1, "3 columns x 38 rows, variant 22",
  2375. "1100010010110001111100100101000101100111010101111110001010011001111100011010011101"
  2376. "1110010010110100000101100001000101000111101101000011101100100010011000011010011001"
  2377. "1111010010111011011110011001001101000110110011110010001110010000011010011010001001"
  2378. "1111010110110011101000011101011101000110111100101100001000001010111100011010001101"
  2379. "1111010100100011001100100001011001000110011100111001101111010101111000011010000101"
  2380. "1110010100110101111110111101011001100111110100010011001010000111110011011011000101"
  2381. "1110110100101100111001111101011000100111100010111101001101110110011110011001000101"
  2382. "1110100100111101110101100001011000110100110011110011101110011000010011011101000101"
  2383. "1110100110111110111001100101010000110110000101111011001110001100111010011101100101"
  2384. "1110101110111010101111110001010001110101001100111110001010000010001111011001100101"
  2385. "1110101100111101101000011101010001100110010001001100001100100001101110011011100101"
  2386. "1110101000110110011110010001010011100111001000001101001001101011111100011011110101"
  2387. "1100101000110111100101100001010011000100000101011110001101111101010000011001110101"
  2388. "1100101100110011100111001101010111000111101010111100001010011100111000011101110101"
  2389. "1100101110111110100010011001010110000101000011111001101001011110010000011100110101"
  2390. "1100100110111100010111101001010010000110111011001111001001100001000111011110110101"
  2391. "1100110110100110011110011101011010000111001100001001101100011010001000011110010101"
  2392. "1110110110110000101111011001001010000111000110011101001111110101011100011100010101"
  2393. "1110010110101001100111110001001011000101000001000111101011011001111000011000010101"
  2394. "1100010110110010001001100001001011100110010000110111001110001011001111011000110101"
  2395. "1100010100111001000001101001011011100100110101111110001001100101111110011000100101"
  2396. "1100110100100000101011110001011011110110111110101000001101111100010001011100100101"
  2397. "1101110100100001100011001001011001110100001100011001001000011000110010011110100101"
  2398. "1101100100101111110101100001001001110110110011110001001110000101100100011110101101"
  2399. "1101100110101111000001001001001101110111111001011000101000110001011100011110101001"
  2400. "1101101110110111000110010001000101110101001111001111001100100101100000011100101001"
  2401. "1101101100101100011111000101000100110101111110011011101011100011111101011101101001"
  2402. "1101101000101111010000001001000110110101110011101111001001110011101111011101001001"
  2403. "1101001000111110111010011101000010110110110011100111001100100001001100011101001101"
  2404. "1101011000100101111000010001000010010100111111001011001101001110010000011101011101"
  2405. "1101011100100011101000110001000011010110011100001011101011101001100000011101011001"
  2406. "1101011110110110000110011001000111010111000011010001101001000100001000011101010001"
  2407. "1101001110110101110000001001000110010110010011111011101111010001100110011001010001"
  2408. "1101001100111110001011101001000100010100011001001110001011111011100011011001011001"
  2409. "1101000100100100001100001101001100010111011000010001101001011100111000011001011101"
  2410. "1101000110110000010011100101001110010101100111110001001111010111000111011001001101"
  2411. "1101000010110100101111100001001111010101000000100111101011101111011111011001101101"
  2412. "1101100010111011101100001101011111010100000101000010001011110111100010011101101101"
  2413. },
  2414. /*130*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 38, 82, 1, "3 columns x 38 rows, variant 22",
  2415. "1100010010110001111100100101000101100111010101111110001010011001111100011010011101"
  2416. "1110010010110100000101100001000101000111101101000011101100100010011000011010011001"
  2417. "1111010010111011011110011001001101000110110011110010001110010000011010011010001001"
  2418. "1111010110110011101000011101011101000110111100101100001000001010111100011010001101"
  2419. "1111010100100011001100100001011001000110011100111001101111010101111000011010000101"
  2420. "1110010100110101111110111101011001100111110100010011001010000111110011011011000101"
  2421. "1110110100101100111001111101011000100111100010111101001101110110011110011001000101"
  2422. "1110100100111101110101100001011000110100110011110011101110011000010011011101000101"
  2423. "1110100110111110111001100101010000110110000101111011001110001100111010011101100101"
  2424. "1110101110111010101111110001010001110101001100111110001010000010001111011001100101"
  2425. "1110101100111101101000011101010001100110010001001100001100100001101110011011100101"
  2426. "1110101000110110011110010001010011100111001000001101001001101011111100011011110101"
  2427. "1100101000110111100101100001010011000100000101011110001101111101010000011001110101"
  2428. "1100101100110011100111001101010111000111101010111100001010011100111000011101110101"
  2429. "1100101110111110100010011001010110000101000011111001101001011110010000011100110101"
  2430. "1100100110111100010111101001010010000110111011001111001001100001000111011110110101"
  2431. "1100110110100110011110011101011010000111001100001001101100011010001000011110010101"
  2432. "1110110110110000101111011001001010000111000110011101001111110101011100011100010101"
  2433. "1110010110101001100111110001001011000101000001000111101011011001111000011000010101"
  2434. "1100010110110010001001100001001011100110010000110111001110001011001111011000110101"
  2435. "1100010100111001000001101001011011100100110101111110001001100101111110011000100101"
  2436. "1100110100100000101011110001011011110110111110101000001101111100010001011100100101"
  2437. "1101110100100001100011001001011001110100001100011001001000011000110010011110100101"
  2438. "1101100100101111110101100001001001110110110011110001001110000101100100011110101101"
  2439. "1101100110101111000001001001001101110111111001011000101000110001011100011110101001"
  2440. "1101101110110111000110010001000101110101001111001111001100100101100000011100101001"
  2441. "1101101100101100011111000101000100110101111110011011101011100011111101011101101001"
  2442. "1101101000101111010000001001000110110101110011101111001001110011101111011101001001"
  2443. "1101001000111110111010011101000010110110110011100111001100100001001100011101001101"
  2444. "1101011000100101111000010001000010010100111111001011001101001110010000011101011101"
  2445. "1101011100100011101000110001000011010110011100001011101011101001100000011101011001"
  2446. "1101011110110110000110011001000111010111000011010001101001000100001000011101010001"
  2447. "1101001110110101110000001001000110010110010011111011101111010001100110011001010001"
  2448. "1101001100111110001011101001000100010100011001001110001011111011100011011001011001"
  2449. "1101000100100100001100001101001100010111011000010001101001011100111000011001011101"
  2450. "1101000110110000010011100101001110010101100111110001001111010111000111011001001101"
  2451. "1101000010110100101111100001001111010101000000100111101011101111011111011001101101"
  2452. "1101100010111011101100001101011111010100000101000010001011110111100010011101101101"
  2453. },
  2454. /*131*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 44, 82, 1, "3 columns x 44 rows, variant 23",
  2455. "1100100010100001100011001001011000010111101010111100001010011100111000011010001001"
  2456. "1110100010111110100010011001011100010101000011111001101001011110010000011010001101"
  2457. "1110110010111100010111101001011100110110111011001111001001100001000111011010000101"
  2458. "1100110010100110011110011101011100100111001100001001101100011010001000011011000101"
  2459. "1101110010110000101111011001011101100111000110011101001111110101011100011001000101"
  2460. "1101111010101001100111110001001101100101000001000111101011011001111000011101000101"
  2461. "1100111010110010001001100001000101100110010000110111001110001011001111011101100101"
  2462. "1110111010111001000001101001000101000100110101111110001001100101111110011001100101"
  2463. "1110011010100000101011110001001101000110111110101000001101111100010001011011100101"
  2464. "1111011010111101010111100001011101000101001110011100001101000001011000011011110101"
  2465. "1111001010101000011111001101011001000100101111001000001110110111100110011001110101"
  2466. "1110001010110111011001111001011001100100110000100011101100111010000111011101110101"
  2467. "1100001010111001100001001101011000100110001101000100001000110011001000011100110101"
  2468. "1100011010111000110011101001011000110111111010101110001101011111101111011110110101"
  2469. "1100010010101000001000111101010000110101101100111100001011001110011111011110010101"
  2470. "1110010010110010000110111001010001110111000101100111101111011101011000011100010101"
  2471. "1111010010100110101111110001010001100100110010111111001111101110011001011000010101"
  2472. "1111010110110111110101000001010011100110111110001000101110101011111100011000110101"
  2473. "1111010100101001110011100001010011000110100000101100001111011010000111011000100101"
  2474. "1110010100100101111001000001010111000111011011110011001101100111100100011100100101"
  2475. "1110110100100110000100011101010110000110011101000011101101111001011000011110100101"
  2476. "1110100100110001101000100001010010000100011001100100001100111001110011011110101101"
  2477. "1110100110111111010101110001011010000110101111110111101111101000100110011110101001"
  2478. "1110101110101101100111100001001010000101100111001111101111000101111010011100101001"
  2479. "1110101100111000101100111101001011000111101110101100001001100111100111011101101001"
  2480. "1110101000100110010111111001001011100111110111001100101100001011110110011101001001"
  2481. "1100101000110111110001000101011011100110001111100100101100011111001001011101001101"
  2482. "1100101100100001100011001001011011110111100100100111101110010000101110011101011101"
  2483. "1100101110111100010001101101011001110111011100111101001111100010101100011101011001"
  2484. "1100100110111001100101111101001001110110010100001111101011000010000111011101010001"
  2485. "1100110110100011000110100001001101110101100110001000001110001001000111011001010001"
  2486. "1110110110101101001111110001000101110111011000111101101111000101000010011001011001"
  2487. "1110010110100111100000100101000100110111000100111110101001100010000111011001011101"
  2488. "1100010110100010000100100001000110110111010011001111001000101000010000011001001101"
  2489. "1100010100101111000100111101000010110110001011100100001111000001010001011001101101"
  2490. "1100110100101110100110000001000010010101111011000011001000110011001111011101101101"
  2491. "1101110100110001110110010001000011010100011011100110001001100001100100011100101101"
  2492. "1101100100100111110001011101000111010100011110101111001110100110000100011000101101"
  2493. "1101100110101100110111100001000110010111001001111100101011110010001000011000101001"
  2494. "1101101110111011000001011001000100010101000111000111001001110001110010011001101001"
  2495. "1101101100101111101100111101001100010111101000100000101110100111100111011011101001"
  2496. "1101101000110111100001011001001110010111110100001110101001100100001110011011001001"
  2497. "1101001000111000100010011101001111010110000010010011001111011101000110011011001101"
  2498. "1101011000100100011111011001011111010111011100111100101001011110100000011011011101"
  2499. },
  2500. /*132*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 3, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 44, 82, 1, "3 columns x 44 rows, variant 23",
  2501. "1100100010100001100011001001011000010111101010111100001010011100111000011010001001"
  2502. "1110100010111110100010011001011100010101000011111001101001011110010000011010001101"
  2503. "1110110010111100010111101001011100110110111011001111001001100001000111011010000101"
  2504. "1100110010100110011110011101011100100111001100001001101100011010001000011011000101"
  2505. "1101110010110000101111011001011101100111000110011101001111110101011100011001000101"
  2506. "1101111010101001100111110001001101100101000001000111101011011001111000011101000101"
  2507. "1100111010110010001001100001000101100110010000110111001110001011001111011101100101"
  2508. "1110111010111001000001101001000101000100110101111110001001100101111110011001100101"
  2509. "1110011010100000101011110001001101000110111110101000001101111100010001011011100101"
  2510. "1111011010111101010111100001011101000101001110011100001101000001011000011011110101"
  2511. "1111001010101000011111001101011001000100101111001000001110110111100110011001110101"
  2512. "1110001010110111011001111001011001100100110000100011101100111010000111011101110101"
  2513. "1100001010111001100001001101011000100110001101000100001000110011001000011100110101"
  2514. "1100011010111000110011101001011000110111111010101110001101011111101111011110110101"
  2515. "1100010010101000001000111101010000110101101100111100001011001110011111011110010101"
  2516. "1110010010110010000110111001010001110111000101100111101111011101011000011100010101"
  2517. "1111010010100110101111110001010001100100110010111111001111101110011001011000010101"
  2518. "1111010110110111110101000001010011100110111110001000101110101011111100011000110101"
  2519. "1111010100101001110011100001010011000110100000101100001111011010000111011000100101"
  2520. "1110010100100101111001000001010111000111011011110011001101100111100100011100100101"
  2521. "1110110100100110000100011101010110000110011101000011101101111001011000011110100101"
  2522. "1110100100110001101000100001010010000100011001100100001100111001110011011110101101"
  2523. "1110100110111111010101110001011010000110101111110111101111101000100110011110101001"
  2524. "1110101110101101100111100001001010000101100111001111101111000101111010011100101001"
  2525. "1110101100111000101100111101001011000111101110101100001001100111100111011101101001"
  2526. "1110101000100110010111111001001011100111110111001100101100001011110110011101001001"
  2527. "1100101000110111110001000101011011100110001111100100101100011111001001011101001101"
  2528. "1100101100100001100011001001011011110111100100100111101110010000101110011101011101"
  2529. "1100101110111100010001101101011001110111011100111101001111100010101100011101011001"
  2530. "1100100110111001100101111101001001110110010100001111101011000010000111011101010001"
  2531. "1100110110100011000110100001001101110101100110001000001110001001000111011001010001"
  2532. "1110110110101101001111110001000101110111011000111101101111000101000010011001011001"
  2533. "1110010110100111100000100101000100110111000100111110101001100010000111011001011101"
  2534. "1100010110100010000100100001000110110111010011001111001000101000010000011001001101"
  2535. "1100010100101111000100111101000010110110001011100100001111000001010001011001101101"
  2536. "1100110100101110100110000001000010010101111011000011001000110011001111011101101101"
  2537. "1101110100110001110110010001000011010100011011100110001001100001100100011100101101"
  2538. "1101100100100111110001011101000111010100011110101111001110100110000100011000101101"
  2539. "1101100110101100110111100001000110010111001001111100101011110010001000011000101001"
  2540. "1101101110111011000001011001000100010101000111000111001001110001110010011001101001"
  2541. "1101101100101111101100111101001100010111101000100000101110100111100111011011101001"
  2542. "1101101000110111100001011001001110010111110100001110101001100100001110011011001001"
  2543. "1101001000111000100010011101001111010110000010010011001111011101000110011011001101"
  2544. "1101011000100100011111011001011111010111011100111100101001011110100000011011011101"
  2545. },
  2546. /*133*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFG", 0, 4, 99, 1, "4 columns x 4 rows, variant 24",
  2547. "110100111010111111010110000111111010101110001001110110110101111110111101111101000100110011010010001"
  2548. "110100110011111001001110010110001111100100101001110100110001111100100101100011111001001011010110001"
  2549. "110100010011000110100010000101101111101111001001100100110100110000111001110011100101000011010111001"
  2550. "110100011011111011001001000110100111000010001001100110101011111101110001110110111100110011010111101"
  2551. },
  2552. /*134*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFG", 0, 4, 99, 1, "4 columns x 4 rows, variant 24",
  2553. "110100111010111111010110000111111010101110001001110110110101111110111101111101000100110011010010001"
  2554. "110100110011111001001110010110001111100100101001110100110001111100100101100011111001001011010110001"
  2555. "110100010011000110100010000101101111101111001001100100110100110000111001110011100101000011010111001"
  2556. "110100011011111011001001000110100111000010001001100110101011111101110001110110111100110011010111101"
  2557. },
  2558. /*135*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRS", 0, 6, 99, 1, "4 columns x 6 rows, variant 25",
  2559. "110010001010000110001100100111101010111100001011001110101001110011100001101000001011000011001000101"
  2560. "111010001010100001111100110100101111001000001001001110111011011110011001101100111100100011101000101"
  2561. "111011001010011000010001110110011101000011101001101110101111001000000101100011111001001011101100101"
  2562. "110011001010010001000000100110100001000011001000101110110111011000010001110010111011111011001100101"
  2563. "110111001011000110011110010101101111100001001000100110111110001010110001111101100010001011011100101"
  2564. "110111101010001110110001110100000100101111001000110110110111100000101101111000101111001011011110101"
  2565. },
  2566. /*136*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRS", 0, 6, 99, 1, "4 columns x 6 rows, variant 25",
  2567. "110010001010000110001100100111101010111100001011001110101001110011100001101000001011000011001000101"
  2568. "111010001010100001111100110100101111001000001001001110111011011110011001101100111100100011101000101"
  2569. "111011001010011000010001110110011101000011101001101110101111001000000101100011111001001011101100101"
  2570. "110011001010010001000000100110100001000011001000101110110111011000010001110010111011111011001100101"
  2571. "110111001011000110011110010101101111100001001000100110111110001010110001111101100010001011011100101"
  2572. "110111101010001110110001110100000100101111001000110110110111100000101101111000101111001011011110101"
  2573. },
  2574. /*137*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJK", 0, 10, 99, 1, "4 columns x 10 rows, variant 27",
  2575. "110001001011000111110010010111010101111110001001111010101001100111110001010000010001111011000100101"
  2576. "111001001011110110100001110110010001001100001011111010110010000110111001110001011001111011100100101"
  2577. "111101001011100100000110100100110101111110001011110010100110010111111001111101110011001011110100101"
  2578. "111101011011011111010100000110111110001000101011110110111010101111110001010011001111100011110101101"
  2579. "111101010011010000010110000111101101000011101001110110110010001001100001101100001000010011110101001"
  2580. "111001010010111111010110000101111110101100001001110100101111110101100001011111101011000011100101001"
  2581. "111011010010001110111011110111110101110001001001100100100110001000011101110010111111011011101101001"
  2582. "111010010010001000100000010100100010000100001001100110110110000100010001110001001000111011101001001"
  2583. "111010011011101100000111010110111111010111001001000110100010011111011001111010110000110011101001101"
  2584. "111010111011001111110110010100011101000011001001000010101111100110010001011100001100111011101011101"
  2585. },
  2586. /*138*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJK", 0, 10, 99, 1, "4 columns x 10 rows, variant 27",
  2587. "110001001011000111110010010111010101111110001001111010101001100111110001010000010001111011000100101"
  2588. "111001001011110110100001110110010001001100001011111010110010000110111001110001011001111011100100101"
  2589. "111101001011100100000110100100110101111110001011110010100110010111111001111101110011001011110100101"
  2590. "111101011011011111010100000110111110001000101011110110111010101111110001010011001111100011110101101"
  2591. "111101010011010000010110000111101101000011101001110110110010001001100001101100001000010011110101001"
  2592. "111001010010111111010110000101111110101100001001110100101111110101100001011111101011000011100101001"
  2593. "111011010010001110111011110111110101110001001001100100100110001000011101110010111111011011101101001"
  2594. "111010010010001000100000010100100010000100001001100110110110000100010001110001001000111011101001001"
  2595. "111010011011101100000111010110111111010111001001000110100010011111011001111010110000110011101001101"
  2596. "111010111011001111110110010100011101000011001001000010101111100110010001011100001100111011101011101"
  2597. },
  2598. /*139*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD", 0, 12, 99, 1, "4 columns x 12 rows, variant 28",
  2599. "111010110010000110001100100111101010111100001011000010101001110011100001101000001011000011101011001"
  2600. "111010100010100001111100110100101111001000001011100010111011011110011001101100111100100011101010001"
  2601. "110010100010011000010001110110011101000011101011100110110111100101100001000001010111100011001010001"
  2602. "110010110010001100110010000110011100111001101011100100111101010111100001010011100111000011001011001"
  2603. "110010111011111010001001100101000011111001101011101100100101111001000001110110111100110011001011101"
  2604. "110010011011011101100111100100110000100011101001101100110011101000011101101111001011000011001001101"
  2605. "110011011011000110100010000100011001100100001000101100110011100111001101111010101111000011001101101"
  2606. "111011011011010111111011110101111110101100001000101000111101100111001101011100100011111011101101101"
  2607. "111001011011101100100111110100010110001111101001101000111101011110000101110010111110001011100101101"
  2608. "110001011011000001000010110111010101110000001011101000111110100101111101101100011100111011000101101"
  2609. "110001010010001111001011110111101101100010001011001000111100111011101001111001100011001011000101001"
  2610. "110011010011101111110100100101011100111111001011001100100001111000101001001111101110110011001101001"
  2611. },
  2612. /*140*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD", 0, 12, 99, 1, "4 columns x 12 rows, variant 28",
  2613. "111010110010000110001100100111101010111100001011000010101001110011100001101000001011000011101011001"
  2614. "111010100010100001111100110100101111001000001011100010111011011110011001101100111100100011101010001"
  2615. "110010100010011000010001110110011101000011101011100110110111100101100001000001010111100011001010001"
  2616. "110010110010001100110010000110011100111001101011100100111101010111100001010011100111000011001011001"
  2617. "110010111011111010001001100101000011111001101011101100100101111001000001110110111100110011001011101"
  2618. "110010011011011101100111100100110000100011101001101100110011101000011101101111001011000011001001101"
  2619. "110011011011000110100010000100011001100100001000101100110011100111001101111010101111000011001101101"
  2620. "111011011011010111111011110101111110101100001000101000111101100111001101011100100011111011101101101"
  2621. "111001011011101100100111110100010110001111101001101000111101011110000101110010111110001011100101101"
  2622. "110001011011000001000010110111010101110000001011101000111110100101111101101100011100111011000101101"
  2623. "110001010010001111001011110111101101100010001011001000111100111011101001111001100011001011000101001"
  2624. "110011010011101111110100100101011100111111001011001100100001111000101001001111101110110011001101001"
  2625. },
  2626. /*141*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI", 0, 15, 99, 1, "4 columns x 15 rows, variant 29",
  2627. "110111010010000110001100100111101010111100001011000100101001110011100001101000001011000011011101001"
  2628. "110110010010100001111100110100101111001000001011000110111011011110011001101100111100100011011001001"
  2629. "110110011010011000010001110110011101000011101010000110110111100101100001000001010111100011011001101"
  2630. "110110111010001100110010000110011100111001101010001110111101010111100001010011100111000011011011101"
  2631. "110110110011111010001001100101000011111001101010001100100101111001000001110110111100110011011011001"
  2632. "110110100011011101100111100100110000100011101010011100110011101000011101101111001011000011011010001"
  2633. "110100100011000110100010000100011001100100001010011000110011100111001101111010101111000011010010001"
  2634. "110101100011010111111011110111110100010011001010111000101000011111001101111110110100110011010110001"
  2635. "110101110011000111110010010110001111100100101010110000110001111100100101100011111001001011010111001"
  2636. "110101111010000110001100100100001100011001001010010000100001100011001001110110100110000011010111101"
  2637. "110100111010111100101111000100111110100111001011010000111001101110100001011001111100010011010011101"
  2638. "110100110010000110010011100111001011111000101001010000110011100100111001110011111101001011010011001"
  2639. "110100010011000111011001000110100110000111001001011000111001000010111001111001101000111011010001001"
  2640. "110100011010111010000111110110001000111001001001011100111101100000110101100100011101000011010001101"
  2641. "110100001010011110100100000100111110011010001011011100111011111101001001011101100011100011010000101"
  2642. },
  2643. /*142*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI", 0, 15, 99, 1, "4 columns x 15 rows, variant 29",
  2644. "110111010010000110001100100111101010111100001011000100101001110011100001101000001011000011011101001"
  2645. "110110010010100001111100110100101111001000001011000110111011011110011001101100111100100011011001001"
  2646. "110110011010011000010001110110011101000011101010000110110111100101100001000001010111100011011001101"
  2647. "110110111010001100110010000110011100111001101010001110111101010111100001010011100111000011011011101"
  2648. "110110110011111010001001100101000011111001101010001100100101111001000001110110111100110011011011001"
  2649. "110110100011011101100111100100110000100011101010011100110011101000011101101111001011000011011010001"
  2650. "110100100011000110100010000100011001100100001010011000110011100111001101111010101111000011010010001"
  2651. "110101100011010111111011110111110100010011001010111000101000011111001101111110110100110011010110001"
  2652. "110101110011000111110010010110001111100100101010110000110001111100100101100011111001001011010111001"
  2653. "110101111010000110001100100100001100011001001010010000100001100011001001110110100110000011010111101"
  2654. "110100111010111100101111000100111110100111001011010000111001101110100001011001111100010011010011101"
  2655. "110100110010000110010011100111001011111000101001010000110011100100111001110011111101001011010011001"
  2656. "110100010011000111011001000110100110000111001001011000111001000010111001111001101000111011010001001"
  2657. "110100011010111010000111110110001000111001001001011100111101100000110101100100011101000011010001101"
  2658. "110100001010011110100100000100111110011010001011011100111011111101001001011101100011100011010000101"
  2659. },
  2660. /*143*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 20, 99, 1, "4 columns x 20 rows, variant 30",
  2661. "110010001010000110001100100111101010111100001011110010101001110011100001101000001011000011100101101"
  2662. "111010001010100001111100110100101111001000001011110110111011011110011001101100111100100011000101101"
  2663. "111011001010011000010001110110011101000011101001110110110111100101100001000001010111100011000101001"
  2664. "110011001010001100110010000110011100111001101001110100111101010111100001010011100111000011001101001"
  2665. "110111001011111010001001100101000011111001101001100100100101111001000001110110111100110011011101001"
  2666. "110111101011011101100111100100110000100011101001100110110011101000011101101111001011000011011001001"
  2667. "110011101011000110100010000100011001100100001001000110110011100111001101111010101111000011011001101"
  2668. "111011101011010111111011110111110100010011001001000010101000011111001101001011110010000011011011101"
  2669. "111001101011110001011110100110111011001111001011000010100110000100011101100111010000111011011011001"
  2670. "111101101011100110000100110110001101000100001011100010100011001100100001100111001110011011011010001"
  2671. "111100101010111111010110000101111110101100001011100110101111110101100001011111101011000011010010001"
  2672. "111000101011000111110010010110001111100100101011100100110001111100100101100011111001001011010110001"
  2673. "110000101010000110001100100100001100011001001011101100100001100011001001000011000110010011010111001"
  2674. "110001101010111111010110000101111110101100001001101100111110110010010001101111101001111011010111101"
  2675. "110001001011111101011100110111100010111100101000101100100011011011110001010010000011110011010011101"
  2676. "111001001010000100001100110110011100011010001000101000110111101111001101100001001100111011010011001"
  2677. "111101001010111101000011110111100011001101001001101000110100001110000101101111110100111011010001001"
  2678. "111101011010111100000110110100110001100111101011101000101100010000011101000001111011011011010001101"
  2679. "111101010011001100001010000100010001000000101011001000100001100110100001110111001000100011010000101"
  2680. "111001010011100101100100000111000110111000101011001100111110010010001101110001011101100011011000101"
  2681. },
  2682. /*144*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 20, 99, 1, "4 columns x 20 rows, variant 30",
  2683. "110010001010000110001100100111101010111100001011110010101001110011100001101000001011000011100101101"
  2684. "111010001010100001111100110100101111001000001011110110111011011110011001101100111100100011000101101"
  2685. "111011001010011000010001110110011101000011101001110110110111100101100001000001010111100011000101001"
  2686. "110011001010001100110010000110011100111001101001110100111101010111100001010011100111000011001101001"
  2687. "110111001011111010001001100101000011111001101001100100100101111001000001110110111100110011011101001"
  2688. "110111101011011101100111100100110000100011101001100110110011101000011101101111001011000011011001001"
  2689. "110011101011000110100010000100011001100100001001000110110011100111001101111010101111000011011001101"
  2690. "111011101011010111111011110111110100010011001001000010101000011111001101001011110010000011011011101"
  2691. "111001101011110001011110100110111011001111001011000010100110000100011101100111010000111011011011001"
  2692. "111101101011100110000100110110001101000100001011100010100011001100100001100111001110011011011010001"
  2693. "111100101010111111010110000101111110101100001011100110101111110101100001011111101011000011010010001"
  2694. "111000101011000111110010010110001111100100101011100100110001111100100101100011111001001011010110001"
  2695. "110000101010000110001100100100001100011001001011101100100001100011001001000011000110010011010111001"
  2696. "110001101010111111010110000101111110101100001001101100111110110010010001101111101001111011010111101"
  2697. "110001001011111101011100110111100010111100101000101100100011011011110001010010000011110011010011101"
  2698. "111001001010000100001100110110011100011010001000101000110111101111001101100001001100111011010011001"
  2699. "111101001010111101000011110111100011001101001001101000110100001110000101101111110100111011010001001"
  2700. "111101011010111100000110110100110001100111101011101000101100010000011101000001111011011011010001101"
  2701. "111101010011001100001010000100010001000000101011001000100001100110100001110111001000100011010000101"
  2702. "111001010011100101100100000111000110111000101011001100111110010010001101110001011101100011011000101"
  2703. },
  2704. /*145*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 26, 99, 1, "4 columns x 26 rows, variant 31",
  2705. "110010001010000110001100100111101010111100001000011010101001110011100001101000001011000011110100101"
  2706. "111010001010100001111100110100101111001000001000111010111011011110011001101100111100100011110101101"
  2707. "111011001010011000010001110110011101000011101000110010110111100101100001000001010111100011110101001"
  2708. "110011001010001100110010000110011100111001101000100010111101010111100001010011100111000011100101001"
  2709. "110111001011111010001001100101000011111001101001100010100101111001000001110110111100110011101101001"
  2710. "110111101011011101100111100100110000100011101001110010110011101000011101101111001011000011101001001"
  2711. "110011101011000110100010000100011001100100001001111010110011100111001101111010101111000011101001101"
  2712. "111011101011010111111011110111110100010011001011111010101000011111001101001011110010000011101011101"
  2713. "111001101011110001011110100110111011001111001011110010100110000100011101100111010000111011101011001"
  2714. "111101101011100110000100110110001101000100001011110110100011001100100001100111001110011011101010001"
  2715. "111100101011111101010111000110101111110111101001110110111110100010011001010000111110011011001010001"
  2716. "111000101010110011100111110111100010111101001001110100110111011001111001001100001000111011001011001"
  2717. "110000101010011001111001110111001100001001101001100100110001101000100001000110011001000011001011101"
  2718. "110001101011100011001110100111111010101110001001100110110101111110111101111101000100110011001001101"
  2719. "110001001010110110011110000101100111001111101001000110111100010111101001101110110011110011001101101"
  2720. "111001001011110111010110000100110011110011101001000010111001100001001101100011010001000011101101101"
  2721. "111101001011000010111101100111000110011101001011000010101111110101100001011111101011000011100101101"
  2722. "111101011011000111110010010110001111100100101011100010110001111100100101100011111001001011000101101"
  2723. "111101010011000111011000010101100001110011001011100110101100111011000001000010010000100011000101001"
  2724. "111001010011100100111000110110000100011100101011100100111100101010000001001111100100111011001101001"
  2725. "111011010010110100011100000101101000000111001011101100100000110010011101100111110001010011011101001"
  2726. "111010010010010000110000110110000100010110001001101100100001000110011001010011101110000011011001001"
  2727. "111010011011110001100110100110001000011100101000101100110000010111010001111101100110011011011001101"
  2728. "111010111010011111001100100100010100001111001000101000100111100000101001001111100111011011011011101"
  2729. "111010110011000110000100100100100001001000001001101000100000100011001101000011001100001011011011001"
  2730. "111010100011110100010010000111000001101110101011101000111001001110011001101111101001111011011010001"
  2731. },
  2732. /*146*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 26, 99, 1, "4 columns x 26 rows, variant 31",
  2733. "110010001010000110001100100111101010111100001000011010101001110011100001101000001011000011110100101"
  2734. "111010001010100001111100110100101111001000001000111010111011011110011001101100111100100011110101101"
  2735. "111011001010011000010001110110011101000011101000110010110111100101100001000001010111100011110101001"
  2736. "110011001010001100110010000110011100111001101000100010111101010111100001010011100111000011100101001"
  2737. "110111001011111010001001100101000011111001101001100010100101111001000001110110111100110011101101001"
  2738. "110111101011011101100111100100110000100011101001110010110011101000011101101111001011000011101001001"
  2739. "110011101011000110100010000100011001100100001001111010110011100111001101111010101111000011101001101"
  2740. "111011101011010111111011110111110100010011001011111010101000011111001101001011110010000011101011101"
  2741. "111001101011110001011110100110111011001111001011110010100110000100011101100111010000111011101011001"
  2742. "111101101011100110000100110110001101000100001011110110100011001100100001100111001110011011101010001"
  2743. "111100101011111101010111000110101111110111101001110110111110100010011001010000111110011011001010001"
  2744. "111000101010110011100111110111100010111101001001110100110111011001111001001100001000111011001011001"
  2745. "110000101010011001111001110111001100001001101001100100110001101000100001000110011001000011001011101"
  2746. "110001101011100011001110100111111010101110001001100110110101111110111101111101000100110011001001101"
  2747. "110001001010110110011110000101100111001111101001000110111100010111101001101110110011110011001101101"
  2748. "111001001011110111010110000100110011110011101001000010111001100001001101100011010001000011101101101"
  2749. "111101001011000010111101100111000110011101001011000010101111110101100001011111101011000011100101101"
  2750. "111101011011000111110010010110001111100100101011100010110001111100100101100011111001001011000101101"
  2751. "111101010011000111011000010101100001110011001011100110101100111011000001000010010000100011000101001"
  2752. "111001010011100100111000110110000100011100101011100100111100101010000001001111100100111011001101001"
  2753. "111011010010110100011100000101101000000111001011101100100000110010011101100111110001010011011101001"
  2754. "111010010010010000110000110110000100010110001001101100100001000110011001010011101110000011011001001"
  2755. "111010011011110001100110100110001000011100101000101100110000010111010001111101100110011011011001101"
  2756. "111010111010011111001100100100010100001111001000101000100111100000101001001111100111011011011011101"
  2757. "111010110011000110000100100100100001001000001001101000100000100011001101000011001100001011011011001"
  2758. "111010100011110100010010000111000001101110101011101000111001001110011001101111101001111011011010001"
  2759. },
  2760. /*147*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 32, 99, 1, "4 columns x 32 rows, variant 32",
  2761. "111011010011000111110010010111010101111110001011101100101001100111110001010000010001111011011101001"
  2762. "111010010011110110100001110110010001001100001001101100110010000110111001110001011001111011011001001"
  2763. "111010011011100100000110100100110101111110001000101100100110010111111001111101110011001011011001101"
  2764. "111010111011011111010100000110111110001000101000101000111010101111110001010011001111100011011011101"
  2765. "111010110011010000010110000111101101000011101001101000110010001001100001100100001101110011011011001"
  2766. "111010100011011001111001000111001000001101001011101000100110101111110001001100101111110011011010001"
  2767. "110010100010000010101111000110111110101000001011001000110111110001000101110101011111100011010010001"
  2768. "110010110010100111001110000110100000101100001011001100111101101000011101100100010011000011010110001"
  2769. "110010111011101101111001100110110011110010001011000100111001000001101001001101011111100011010111001"
  2770. "110010011011011110010110000100000101011110001011000110110111110101000001101111100010001011010111101"
  2771. "110011011011110101011110000101001110011100001010000110110100000101100001111011010000111011010011101"
  2772. "111011011010010111100100000111011011110011001010001110110110011110010001110010000011010011010011001"
  2773. "111001011011001110100001110110111100101100001010001100100000101011110001101111101010000011010001001"
  2774. "110001011011001110011100110111101010111100001010011100101001110011100001101000001011000011010001101"
  2775. "110001010010100001111100110100101111001000001010011000111011011110011001101100111100100011010000101"
  2776. "110011010010011000010001110110011101000011101010111000110111100101100001000001010111100011011000101"
  2777. "110111010010001100110010000110011100111001101010110000111101010111100001010011100111000011001000101"
  2778. "110110010011111010001001100101000011111001101010010000100101111001000001110110111100110011101000101"
  2779. "110110011011011101100111100100110000100011101011010000110011101000011101101111001011000011101100101"
  2780. "110110111011000110100010000100011001100100001001010000110011100111001101000011000110010011001100101"
  2781. "110110110010111111010110000101111110101100001001011000101111110101100001011111101011000011011100101"
  2782. "110110100011000111110010010110001111100100101001011100110001111100100101100011111001001011011110101"
  2783. "110100100010000110001100100100001100011001001011011100110111100111000101100001100010100011001110101"
  2784. "110101100011111010000101100111001000001101001011011110111100011011010001111101010001100011101110101"
  2785. "110101110010000001110010110101110100001100001011001110101001001111000001111110101100100011100110101"
  2786. "110101111011000010110011100101101111100111101001001110110011000100001001001101110110000011110110101"
  2787. "110100111011110100011011000100101111100110001001101110100100111100001001111000100100100011110010101"
  2788. "110100110011100111101001110111100101111101101000101110100000100100111101111110101100010011100010101"
  2789. "110100010010011000011010000100001100011001001000100110100110000110100001101100100100000011000010101"
  2790. "110100011010110111111000110111110000101011001000110110111010001100000101111000110110001011000110101"
  2791. "110100001010110000100001110101110000011011101000010110101110000010110001101111110011010011000100101"
  2792. "110110001010010000001001000110011101100001001000010010111110010101111101110001000100111011100100101"
  2793. },
  2794. /*148*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 32, 99, 1, "4 columns x 32 rows, variant 32",
  2795. "111011010011000111110010010111010101111110001011101100101001100111110001010000010001111011011101001"
  2796. "111010010011110110100001110110010001001100001001101100110010000110111001110001011001111011011001001"
  2797. "111010011011100100000110100100110101111110001000101100100110010111111001111101110011001011011001101"
  2798. "111010111011011111010100000110111110001000101000101000111010101111110001010011001111100011011011101"
  2799. "111010110011010000010110000111101101000011101001101000110010001001100001100100001101110011011011001"
  2800. "111010100011011001111001000111001000001101001011101000100110101111110001001100101111110011011010001"
  2801. "110010100010000010101111000110111110101000001011001000110111110001000101110101011111100011010010001"
  2802. "110010110010100111001110000110100000101100001011001100111101101000011101100100010011000011010110001"
  2803. "110010111011101101111001100110110011110010001011000100111001000001101001001101011111100011010111001"
  2804. "110010011011011110010110000100000101011110001011000110110111110101000001101111100010001011010111101"
  2805. "110011011011110101011110000101001110011100001010000110110100000101100001111011010000111011010011101"
  2806. "111011011010010111100100000111011011110011001010001110110110011110010001110010000011010011010011001"
  2807. "111001011011001110100001110110111100101100001010001100100000101011110001101111101010000011010001001"
  2808. "110001011011001110011100110111101010111100001010011100101001110011100001101000001011000011010001101"
  2809. "110001010010100001111100110100101111001000001010011000111011011110011001101100111100100011010000101"
  2810. "110011010010011000010001110110011101000011101010111000110111100101100001000001010111100011011000101"
  2811. "110111010010001100110010000110011100111001101010110000111101010111100001010011100111000011001000101"
  2812. "110110010011111010001001100101000011111001101010010000100101111001000001110110111100110011101000101"
  2813. "110110011011011101100111100100110000100011101011010000110011101000011101101111001011000011101100101"
  2814. "110110111011000110100010000100011001100100001001010000110011100111001101000011000110010011001100101"
  2815. "110110110010111111010110000101111110101100001001011000101111110101100001011111101011000011011100101"
  2816. "110110100011000111110010010110001111100100101001011100110001111100100101100011111001001011011110101"
  2817. "110100100010000110001100100100001100011001001011011100110111100111000101100001100010100011001110101"
  2818. "110101100011111010000101100111001000001101001011011110111100011011010001111101010001100011101110101"
  2819. "110101110010000001110010110101110100001100001011001110101001001111000001111110101100100011100110101"
  2820. "110101111011000010110011100101101111100111101001001110110011000100001001001101110110000011110110101"
  2821. "110100111011110100011011000100101111100110001001101110100100111100001001111000100100100011110010101"
  2822. "110100110011100111101001110111100101111101101000101110100000100100111101111110101100010011100010101"
  2823. "110100010010011000011010000100001100011001001000100110100110000110100001101100100100000011000010101"
  2824. "110100011010110111111000110111110000101011001000110110111010001100000101111000110110001011000110101"
  2825. "110100001010110000100001110101110000011011101000010110101110000010110001101111110011010011000100101"
  2826. "110110001010010000001001000110011101100001001000010010111110010101111101110001000100111011100100101"
  2827. },
  2828. /*149*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 38, 99, 1, "4 columns x 38 rows, variant 33",
  2829. "110001001011000111110010010111010101111110001000101100101001100111110001010000010001111011010011101"
  2830. "111001001011110110100001110110010001001100001000101000110010000110111001110001011001111011010011001"
  2831. "111101001011100100000110100100110101111110001001101000100110010111111001111101110011001011010001001"
  2832. "111101011011011111010100000110111110001000101011101000111010101111110001010011001111100011010001101"
  2833. "111101010011010000010110000111101101000011101011001000110010001001100001100100001101110011010000101"
  2834. "111001010011011001111001000111001000001101001011001100100110101111110001001100101111110011011000101"
  2835. "111011010010000010101111000110111110101000001011000100110111110001000101110101011111100011001000101"
  2836. "111010010010100111001110000110100000101100001011000110111101101000011101100100010011000011101000101"
  2837. "111010011011101101111001100110110011110010001010000110111001000001101001001101011111100011101100101"
  2838. "111010111011011110010110000100000101011110001010001110110111110101000001101111100010001011001100101"
  2839. "111010110011110101011110000101001110011100001010001100110100000101100001111011010000111011011100101"
  2840. "111010100010010111100100000111011011110011001010011100110110011110010001110010000011010011011110101"
  2841. "110010100011001110100001110110111100101100001010011000100000101011110001101111101010000011001110101"
  2842. "110010110011001110011100110111101010111100001010111000101001110011100001101000001011000011101110101"
  2843. "110010111010100001111100110100101111001000001010110000111011011110011001101100111100100011100110101"
  2844. "110010011010011000010001110110011101000011101010010000110111100101100001000001010111100011110110101"
  2845. "110011011010001100110010000110011100111001101011010000111101010111100001010011100111000011110010101"
  2846. "111011011011111010001001100101000011111001101001010000100101111001000001110110111100110011100010101"
  2847. "111001011011011101100111100100110000100011101001011000110011101000011101101111001011000011000010101"
  2848. "110001011011000110100010000100011001100100001001011100110011100111001101111010101111000011000110101"
  2849. "110001010011010111111011110111110100010011001011011100101000011111001101001011110010000011000100101"
  2850. "110011010011110001011110100110111011001111001011011110100110000100011101100111010000111011100100101"
  2851. "110111010011100110000100110110001101000100001011001110100011001100100001100111001110011011110100101"
  2852. "110110010010111111010110000101111110101100001001001110101111110101100001011111101011000011110101101"
  2853. "110110011011000111110010010110001111100100101001101110110001111100100101100011111001001011110101001"
  2854. "110110111010000110001100100100001100011001001000101110100001100011001001000011000110010011100101001"
  2855. "110110110010111111010110000101111110101100001000100110101111110101100001011111101011000011101101001"
  2856. "110110100011011111101101000100001100101110001000110110110110010111100001001111011000110011101001001"
  2857. "110100100011100011101000100110000010001001101000010110111101111010000101000001000011011011101001101"
  2858. "110101100011100010001110110110110001111000101000010010101111101000011101001000011110010011101011101"
  2859. "110101110011010100001111100101111101110011001000011010101110000010110001011000100000111011101011001"
  2860. "110101111010000100010100000110001101100001101000111010111101110100001101011101111001100011101010001"
  2861. "110100111011101001110000110100100111101000001000110010111111001010111001110100000011010011001010001"
  2862. "110100110010001111010000100111111010011000101000100010101001000011110001011110010001000011001011001"
  2863. "110100010011110111101001000110011110111000101001100010110011001010000001101110110000100011001011101"
  2864. "110100011011001011110000110100110001111100101001110010101110011011111101001011110100000011001001101"
  2865. "110100001011001111001011000110011111010001001001111010100100101111000001011100000100011011001101101"
  2866. "110110001011011101111001110111101101100111101011111010110100011001110001100110100001000011101101101"
  2867. },
  2868. /*150*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 38, 99, 1, "4 columns x 38 rows, variant 33",
  2869. "110001001011000111110010010111010101111110001000101100101001100111110001010000010001111011010011101"
  2870. "111001001011110110100001110110010001001100001000101000110010000110111001110001011001111011010011001"
  2871. "111101001011100100000110100100110101111110001001101000100110010111111001111101110011001011010001001"
  2872. "111101011011011111010100000110111110001000101011101000111010101111110001010011001111100011010001101"
  2873. "111101010011010000010110000111101101000011101011001000110010001001100001100100001101110011010000101"
  2874. "111001010011011001111001000111001000001101001011001100100110101111110001001100101111110011011000101"
  2875. "111011010010000010101111000110111110101000001011000100110111110001000101110101011111100011001000101"
  2876. "111010010010100111001110000110100000101100001011000110111101101000011101100100010011000011101000101"
  2877. "111010011011101101111001100110110011110010001010000110111001000001101001001101011111100011101100101"
  2878. "111010111011011110010110000100000101011110001010001110110111110101000001101111100010001011001100101"
  2879. "111010110011110101011110000101001110011100001010001100110100000101100001111011010000111011011100101"
  2880. "111010100010010111100100000111011011110011001010011100110110011110010001110010000011010011011110101"
  2881. "110010100011001110100001110110111100101100001010011000100000101011110001101111101010000011001110101"
  2882. "110010110011001110011100110111101010111100001010111000101001110011100001101000001011000011101110101"
  2883. "110010111010100001111100110100101111001000001010110000111011011110011001101100111100100011100110101"
  2884. "110010011010011000010001110110011101000011101010010000110111100101100001000001010111100011110110101"
  2885. "110011011010001100110010000110011100111001101011010000111101010111100001010011100111000011110010101"
  2886. "111011011011111010001001100101000011111001101001010000100101111001000001110110111100110011100010101"
  2887. "111001011011011101100111100100110000100011101001011000110011101000011101101111001011000011000010101"
  2888. "110001011011000110100010000100011001100100001001011100110011100111001101111010101111000011000110101"
  2889. "110001010011010111111011110111110100010011001011011100101000011111001101001011110010000011000100101"
  2890. "110011010011110001011110100110111011001111001011011110100110000100011101100111010000111011100100101"
  2891. "110111010011100110000100110110001101000100001011001110100011001100100001100111001110011011110100101"
  2892. "110110010010111111010110000101111110101100001001001110101111110101100001011111101011000011110101101"
  2893. "110110011011000111110010010110001111100100101001101110110001111100100101100011111001001011110101001"
  2894. "110110111010000110001100100100001100011001001000101110100001100011001001000011000110010011100101001"
  2895. "110110110010111111010110000101111110101100001000100110101111110101100001011111101011000011101101001"
  2896. "110110100011011111101101000100001100101110001000110110110110010111100001001111011000110011101001001"
  2897. "110100100011100011101000100110000010001001101000010110111101111010000101000001000011011011101001101"
  2898. "110101100011100010001110110110110001111000101000010010101111101000011101001000011110010011101011101"
  2899. "110101110011010100001111100101111101110011001000011010101110000010110001011000100000111011101011001"
  2900. "110101111010000100010100000110001101100001101000111010111101110100001101011101111001100011101010001"
  2901. "110100111011101001110000110100100111101000001000110010111111001010111001110100000011010011001010001"
  2902. "110100110010001111010000100111111010011000101000100010101001000011110001011110010001000011001011001"
  2903. "110100010011110111101001000110011110111000101001100010110011001010000001101110110000100011001011101"
  2904. "110100011011001011110000110100110001111100101001110010101110011011111101001011110100000011001001101"
  2905. "110100001011001111001011000110011111010001001001111010100100101111000001011100000100011011001101101"
  2906. "110110001011011101111001110111101101100111101011111010110100011001110001100110100001000011101101101"
  2907. },
  2908. /*151*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE | FAST_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 44, 99, 1, "4 columns x 44 rows, variant 34",
  2909. "110010001010000110001100100111101010111100001011000010101001110011100001101000001011000011010001001"
  2910. "111010001010100001111100110100101111001000001011100010111011011110011001101100111100100011010001101"
  2911. "111011001010011000010001110110011101000011101011100110110111100101100001000001010111100011010000101"
  2912. "110011001010001100110010000110011100111001101011100100111101010111100001010011100111000011011000101"
  2913. "110111001011111010001001100101000011111001101011101100100101111001000001110110111100110011001000101"
  2914. "110111101011011101100111100100110000100011101001101100110011101000011101101111001011000011101000101"
  2915. "110011101011000110100010000100011001100100001000101100110011100111001101111010101111000011101100101"
  2916. "111011101011010111111011110111110100010011001000101000101000011111001101001011110010000011001100101"
  2917. "111001101011110001011110100110111011001111001001101000100110000100011101100111010000111011011100101"
  2918. "111101101011100110000100110110001101000100001011101000100011001100100001100111001110011011011110101"
  2919. "111100101011111101010111000110101111110111101011001000111110100010011001010000111110011011001110101"
  2920. "111000101010110011100111110111100010111101001011001100110111011001111001001100001000111011101110101"
  2921. "110000101010011001111001110111001100001001101011000100110001101000100001000110011001000011100110101"
  2922. "110001101011100011001110100111111010101110001011000110110101111110111101111101000100110011110110101"
  2923. "110001001010110110011110000101100111001111101010000110111100010111101001101110110011110011110010101"
  2924. "111001001011110111010110000100110011110011101010001110111001100001001101100011010001000011100010101"
  2925. "111101001011000010111101100111000110011101001010001100111111010101110001101011111101111011000010101"
  2926. "111101011010100000100011110101101100111100001010011100101100111001111101111000101111010011000110101"
  2927. "111101010011100010110011110111101110101100001010011000100110011110011101110011000010011011000100101"
  2928. "111001010011111011100110010110000101111011001010111000111000110011101001111110101011100011100100101"
  2929. "111011010010100110011111000101000001000111101010110000101101100111100001011001110011111011110100101"
  2930. "111010010011001000011011100111000101100111101010010000111101110101100001001100111100111011110101101"
  2931. "111010011010011001011111100111110111001100101011010000110000101111011001110001100111010011110101001"
  2932. "111010111011101010111111000101001100111110001001010000101000001000111101011011001111000011100101001"
  2933. "111010110011001000100110000110010000110111001001011000111000101100111101111011101011000011101101001"
  2934. "111010100010011010111111000100110010111111001001011100111110111001100101100001011110110011101001001"
  2935. "110010100011011111000100010111010101111110001011011100101001100111110001010000010001111011101001101"
  2936. "110010110011110110100001110110010001001100001011011110110010000110111001110001011001111011101011101"
  2937. "110010111011100100000110100100110101111110001011001110100110010111111001111101110011001011101011001"
  2938. "110010011011011111010100000110111110001000101001001110110001111100100101100011111001001011101010001"
  2939. "110011011010000110001100100100001100011001001001101110100001100011001001000011000110010011001010001"
  2940. "111011011010111111010110000101111110101100001000101110111000100001101001111011110111101011001011001"
  2941. "111001011010101100011111000101111000010010001000100110101000100011110001101110110011110011001011101"
  2942. "110001011010001011000110000111001000110111101000110110111101010111100001011000011100110011001001101"
  2943. "110001010011001001110100000111100010100000101000010110111100111011101001111001010000001011001101101"
  2944. "110011010010011110110001100100011101101110001000010010100101000001111001111010111110110011101101101"
  2945. "110111010011100011001011000110000110110011001000011010101111001111010001100001001100111011100101101"
  2946. "110110010011110001000110110111101001000010001000111010110001001110100001011111010000111011000101101"
  2947. "110110011010001101001110000101110000010001101000110010100111000110011101000011010000111011000101001"
  2948. "110110111010000010100010000110001110110000101000100010110110110110000001000011000110100011001101001"
  2949. "110110110011110001100110010111101001110111001001100010111000100110100001001110100111110011011101001"
  2950. "110110100011000101101111110100100001101111101001110010110000011101011101001011011111000011011001001"
  2951. "110100100011100011101100110111010111001111101001111010100001000110110001110100110111100011011001101"
  2952. "110101100011001000011101000111110100101100001011111010110101111101110001101101111010000011011011101"
  2953. },
  2954. /*152*/ { BARCODE_MICROPDF417, -1, UNICODE_MODE, -1, 4, -1, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ", 0, 44, 99, 1, "4 columns x 44 rows, variant 34",
  2955. "110010001010000110001100100111101010111100001011000010101001110011100001101000001011000011010001001"
  2956. "111010001010100001111100110100101111001000001011100010111011011110011001101100111100100011010001101"
  2957. "111011001010011000010001110110011101000011101011100110110111100101100001000001010111100011010000101"
  2958. "110011001010001100110010000110011100111001101011100100111101010111100001010011100111000011011000101"
  2959. "110111001011111010001001100101000011111001101011101100100101111001000001110110111100110011001000101"
  2960. "110111101011011101100111100100110000100011101001101100110011101000011101101111001011000011101000101"
  2961. "110011101011000110100010000100011001100100001000101100110011100111001101111010101111000011101100101"
  2962. "111011101011010111111011110111110100010011001000101000101000011111001101001011110010000011001100101"
  2963. "111001101011110001011110100110111011001111001001101000100110000100011101100111010000111011011100101"
  2964. "111101101011100110000100110110001101000100001011101000100011001100100001100111001110011011011110101"
  2965. "111100101011111101010111000110101111110111101011001000111110100010011001010000111110011011001110101"
  2966. "111000101010110011100111110111100010111101001011001100110111011001111001001100001000111011101110101"
  2967. "110000101010011001111001110111001100001001101011000100110001101000100001000110011001000011100110101"
  2968. "110001101011100011001110100111111010101110001011000110110101111110111101111101000100110011110110101"
  2969. "110001001010110110011110000101100111001111101010000110111100010111101001101110110011110011110010101"
  2970. "111001001011110111010110000100110011110011101010001110111001100001001101100011010001000011100010101"
  2971. "111101001011000010111101100111000110011101001010001100111111010101110001101011111101111011000010101"
  2972. "111101011010100000100011110101101100111100001010011100101100111001111101111000101111010011000110101"
  2973. "111101010011100010110011110111101110101100001010011000100110011110011101110011000010011011000100101"
  2974. "111001010011111011100110010110000101111011001010111000111000110011101001111110101011100011100100101"
  2975. "111011010010100110011111000101000001000111101010110000101101100111100001011001110011111011110100101"
  2976. "111010010011001000011011100111000101100111101010010000111101110101100001001100111100111011110101101"
  2977. "111010011010011001011111100111110111001100101011010000110000101111011001110001100111010011110101001"
  2978. "111010111011101010111111000101001100111110001001010000101000001000111101011011001111000011100101001"
  2979. "111010110011001000100110000110010000110111001001011000111000101100111101111011101011000011101101001"
  2980. "111010100010011010111111000100110010111111001001011100111110111001100101100001011110110011101001001"
  2981. "110010100011011111000100010111010101111110001011011100101001100111110001010000010001111011101001101"
  2982. "110010110011110110100001110110010001001100001011011110110010000110111001110001011001111011101011101"
  2983. "110010111011100100000110100100110101111110001011001110100110010111111001111101110011001011101011001"
  2984. "110010011011011111010100000110111110001000101001001110110001111100100101100011111001001011101010001"
  2985. "110011011010000110001100100100001100011001001001101110100001100011001001000011000110010011001010001"
  2986. "111011011010111111010110000101111110101100001000101110111000100001101001111011110111101011001011001"
  2987. "111001011010101100011111000101111000010010001000100110101000100011110001101110110011110011001011101"
  2988. "110001011010001011000110000111001000110111101000110110111101010111100001011000011100110011001001101"
  2989. "110001010011001001110100000111100010100000101000010110111100111011101001111001010000001011001101101"
  2990. "110011010010011110110001100100011101101110001000010010100101000001111001111010111110110011101101101"
  2991. "110111010011100011001011000110000110110011001000011010101111001111010001100001001100111011100101101"
  2992. "110110010011110001000110110111101001000010001000111010110001001110100001011111010000111011000101101"
  2993. "110110011010001101001110000101110000010001101000110010100111000110011101000011010000111011000101001"
  2994. "110110111010000010100010000110001110110000101000100010110110110110000001000011000110100011001101001"
  2995. "110110110011110001100110010111101001110111001001100010111000100110100001001110100111110011011101001"
  2996. "110110100011000101101111110100100001101111101001110010110000011101011101001011011111000011011001001"
  2997. "110100100011100011101100110111010111001111101001111010100001000110110001110100110111100011011001101"
  2998. "110101100011001000011101000111110100101100001011111010110101111101110001101101111010000011011011101"
  2999. },
  3000. /*153*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "123\035", 0, 7, 103, 1, "MR #151 NUM BYTE1",
  3001. "1111111101010100011111010101111100110101000110000001000001000010001011110101011110000111111101000101001"
  3002. "1111111101010100011111010100011000111010111100011101010111100001000011110101001000000111111101000101001"
  3003. "1111111101010100011101010111111000101001001111000001010111000111111011010100011111000111111101000101001"
  3004. "1111111101010100011010111100111110110011110111000101100001011000111010101111001111000111111101000101001"
  3005. "1111111101010100011010111000010000111110110001001001000100001111001011110101110011100111111101000101001"
  3006. "1111111101010100011110101111010000110001100101111001000111100010010011110101111000010111111101000101001"
  3007. "1111111101010100011101001110111110100100001100001101100011000010100011010011101111000111111101000101001"
  3008. },
  3009. /*154*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "123\035", 0, 7, 103, 0, "MR #151 NUM BYTE1; BWIPP same as FAST_MODE",
  3010. "1111111101010100011111010101111100110101000110000001000001001100011011110101011110000111111101000101001"
  3011. "1111111101010100011111010100011000110101111110111101011111100100011011110101001000000111111101000101001"
  3012. "1111111101010100011101010111111000101011100011111101100011111001001011010100011111000111111101000101001"
  3013. "1111111101010100011010111100111110101100011000001001111011000010111010101111001111000111111101000101001"
  3014. "1111111101010100011010111000010000111100110011010001010011111100111011110101110011100111111101000101001"
  3015. "1111111101010100011110101111010000111110010011101001011101001100000011110101111000010111111101000101001"
  3016. "1111111101010100011101001110111110100110001100000101110111101101000011010011101111000111111101000101001"
  3017. },
  3018. /*155*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "+123456789012", 0, 8, 103, 1, "",
  3019. "1111111101010100011111010101111100110101000011000001000001000100100011110101011110000111111101000101001"
  3020. "1111111101010100011111101010001110111101011100111001110100111001100011110101001000000111111101000101001"
  3021. "1111111101010100011101010111111000111110010111101101110010011111001011101010001111110111111101000101001"
  3022. "1111111101010100011010111100111110110010001100011101101011110011111010101111001111000111111101000101001"
  3023. "1111111101010100011101011100001100110000100111000101011111100100011011110101110011100111111101000101001"
  3024. "1111111101010100011110101111010000110101111110001001100111110001001011101011111010000111111101000101001"
  3025. "1111111101010100011101001110111110110000110110110001001101111101111011010011101111000111111101000101001"
  3026. "1111111101010100011111010010110000111111011101101101111110100010111010101111110111000111111101000101001"
  3027. },
  3028. /*156*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "+123456789012", 0, 8, 103, 1, "",
  3029. "1111111101010100011111010101111100110101000011000001000001000100100011110101011110000111111101000101001"
  3030. "1111111101010100011111101010001110111101011100111001110100111001100011110101001000000111111101000101001"
  3031. "1111111101010100011101010111111000111110010111101101110010011111001011101010001111110111111101000101001"
  3032. "1111111101010100011010111100111110110010001100011101101011110011111010101111001111000111111101000101001"
  3033. "1111111101010100011101011100001100110000100111000101011111100100011011110101110011100111111101000101001"
  3034. "1111111101010100011110101111010000110101111110001001100111110001001011101011111010000111111101000101001"
  3035. "1111111101010100011101001110111110110000110110110001001101111101111011010011101111000111111101000101001"
  3036. "1111111101010100011111010010110000111111011101101101111110100010111010101111110111000111111101000101001"
  3037. },
  3038. /*157*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "+1234567890123", 0, 8, 103, 0, "BWIPP different encodation",
  3039. "1111111101010100011111010101111100110101000011000001000001000100100011110101011110000111111101000101001"
  3040. "1111111101010100011111101010001110101111110100110001111010110011000011110101001000000111111101000101001"
  3041. "1111111101010100011101010111111000101000010111100001011111101110100011101010001111110111111101000101001"
  3042. "1111111101010100011010111100111110100000101101100001001001110011100010101111001111000111111101000101001"
  3043. "1111111101010100011101011100001100111111001010111001001101111100001011110101110011100111111101000101001"
  3044. "1111111101010100011110101111010000100000111100100101011100100000011011101011111010000111111101000101001"
  3045. "1111111101010100011101001110111110110110000100001001110100100111000011010011101111000111111101000101001"
  3046. "1111111101010100011111010010110000100001011110000101000111110101110010101111110111000111111101000101001"
  3047. },
  3048. /*158*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "+1234567890123", 0, 8, 103, 0, "BWIPP different encodation",
  3049. "1111111101010100011111010101111100110101000011000001000001000100100011110101011110000111111101000101001"
  3050. "1111111101010100011111101010001110101111110100110001111010110011000011110101001000000111111101000101001"
  3051. "1111111101010100011101010111111000101000010111100001011111101110100011101010001111110111111101000101001"
  3052. "1111111101010100011010111100111110100000101101100001001001110011100010101111001111000111111101000101001"
  3053. "1111111101010100011101011100001100111111001010111001001101111100001011110101110011100111111101000101001"
  3054. "1111111101010100011110101111010000100000111100100101011100100000011011101011111010000111111101000101001"
  3055. "1111111101010100011101001110111110110110000100001001110100100111000011010011101111000111111101000101001"
  3056. "1111111101010100011111010010110000100001011110000101000111110101110010101111110111000111111101000101001"
  3057. },
  3058. /*159*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "90044030118100801265*D_2D+1.02+31351440315981", 0, 11, 120, 0, "BWIPP different encodation",
  3059. "111111110101010001110101001110000011010111001111000100111101111010001110001010111000011111010101111100111111101000101001"
  3060. "111111110101010001111110101000111010011011111000100111100101010000001001001111110111011111010100110000111111101000101001"
  3061. "111111110101010001010100111100000010011111000011010100001100101110001100000110101111011101010001111110111111101000101001"
  3062. "111111110101010001010111110111110010000110001100100110011110111001001101000011000111011010111100111110111111101000101001"
  3063. "111111110101010001110101110000110011100101110011000111010011000001001010011111000011011010111000100000111111101000101001"
  3064. "111111110101010001111101011110110010111100011000110100001000101111001110100111110010011101011111010000111111101000101001"
  3065. "111111110101010001010011100111000010011110111101000101101100010000001111011010011100011101001110111110111111101000101001"
  3066. "111111110101010001111101001011000011111011010001000110011111010111101000101111010000011010111111011110111111101000101001"
  3067. "111111110101010001111110100110010011000111110010010111101011110100001101111100100001010100110000111110111111101000101001"
  3068. "111111110101010001010001100000110010001110111001000101111000111100101100110011100111010100011000011000111111101000101001"
  3069. "111111110101010001110100111000110010100111100001000110100000111101101101011110000011011010011100100000111111101000101001"
  3070. },
  3071. /*160*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "90044030118100801265*D_2D+1.02+31351440315981", 0, 11, 120, 0, "BWIPP different encodation",
  3072. "111111110101010001110101001110000011010111001111000100111101111010001110001010111000011111010101111100111111101000101001"
  3073. "111111110101010001111110101000111010011011111000100111100101010000001001001111110111011111010100110000111111101000101001"
  3074. "111111110101010001010100111100000010011111000011010100001100101110001100000110101111011101010001111110111111101000101001"
  3075. "111111110101010001010111110111110010000110001100100110011110111001001101000011000111011010111100111110111111101000101001"
  3076. "111111110101010001110101110000110011100101110011000111010011000001001010011111000011011010111000100000111111101000101001"
  3077. "111111110101010001111101011110110010111100011000110100001000101111001110100111110010011101011111010000111111101000101001"
  3078. "111111110101010001010011100111000011010001100011100110100011101111001111101011111101011101001110111110111111101000101001"
  3079. "111111110101010001111101001011000010100111111001110111010011101100001010001111100110011010111111011110111111101000101001"
  3080. "111111110101010001111110100110010010110011000111100100101100001111101100111010011100010100110000111110111111101000101001"
  3081. "111111110101010001010001100000110010011101111001100111101101011100001111010010011110010100011000011000111111101000101001"
  3082. "111111110101010001110100111000110011110100101000000111111011101000101101011111001110011010011100100000111111101000101001"
  3083. },
  3084. /*161*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "+C910332+02032018+KXXXX CXXXX", 0, 9, 120, 1, "",
  3085. "111111110101010001111101010111110011010110001110000100000100010010001000011011100011011111010101111100111111101000101001"
  3086. "111111110101010001111010100001000011000111011111010110101110010000001101001110010000011110101001000000111111101000101001"
  3087. "111111110101010001010100111100000011101001111100100101010011110000001101010011111000010101000011110000111111101000101001"
  3088. "111111110101010001101011110011111010100111011100000110100100110000001110000100101110011010111100111110111111101000101001"
  3089. "111111110101010001101011100000100011001001111001100110000100111001001100011011110001011110101110011100111111101000101001"
  3090. "111111110101010001111101011110110011101001111110110101111101110011001011111011110111011110101111101100111111101000101001"
  3091. "111111110101010001110100111011111010000110001100100111001000001011101101011000111000011101001110111110111111101000101001"
  3092. "111111110101010001111110100101110011000101110000010110000101110010001110010000110001010101111110111000111111101000101001"
  3093. "111111110101010001111110100110010010000011100100110110111110001001001100010010111110011111010011101000111111101000101001"
  3094. },
  3095. /*162*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "+C910332+02032018+KXXXX CXXXX", 0, 9, 120, 1, "",
  3096. "111111110101010001111101010111110011010110001110000100000100010010001000011011100011011111010101111100111111101000101001"
  3097. "111111110101010001111010100001000011000111011111010110101110010000001101001110010000011110101001000000111111101000101001"
  3098. "111111110101010001010100111100000011101001111100100101010011110000001101010011111000010101000011110000111111101000101001"
  3099. "111111110101010001101011110011111010100111011100000110100100110000001110000100101110011010111100111110111111101000101001"
  3100. "111111110101010001101011100000100011001001111001100110000100111001001100011011110001011110101110011100111111101000101001"
  3101. "111111110101010001111101011110110011101001111110110101111101110011001011111011110111011110101111101100111111101000101001"
  3102. "111111110101010001110100111011111010000110001100100111001000001011101101011000111000011101001110111110111111101000101001"
  3103. "111111110101010001111110100101110011000101110000010110000101110010001110010000110001010101111110111000111111101000101001"
  3104. "111111110101010001111110100110010010000011100100110110111110001001001100010010111110011111010011101000111111101000101001"
  3105. },
  3106. /*163*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "BP2D+1.00+0005+FLE ESC BV+1.00+3.60*BX2D+1.00+0001+Casual shoes & apparel+90044030118100801265*D_2D+1.02+31351440315981+C910332+02032018+KXXXX CXXXX+UNIT 4 HXXXXXXXX BUSINESS PARK++ST ALBANS+ST ALBANS++AL2 3TA+0001+000001+001+00000000+00++N+N+N+0000++++++N+++N*DS2D+1.01+0001+0001+90044030118100801265+++++07852389322++E*F_2D+1.00+0005*", 0, 26, 222, 0, "MR #151 NUM -> BYTE Ex. 1; BWIPP different encodation",
  3107. "111111110101010001101010000110000011001001000011000111010010000111001000011011100011010000010011101110100000100010010001101001000001100011101010111000000100001010000010001110101011100000011010100001100000111111101000101001"
  3108. "111111110101010001111010110110000011101000011001000111000011001110101001001111100110011101111011111010100010011110000101110000100001101011001100001111010100010001111001001111100110110011011110101000010000111111101000101001"
  3109. "111111110101010001010100001111000011111101011000010111010001111100101011010000001110011011111010001000111010010011111101000011100001011010001111000110110110111111000110101101011111100010011010110111111000111111101000101001"
  3110. "111111110101010001101001001100000011101010111000000100001010000010001110101011100000011101001101111000100001101110001101000001010000010011011100011001000101010000001000001100111000011010011010010011000000111111101000101001"
  3111. "111111110101010001111010111101111011111001011011100111010001100000101100000101110100011001001111000110110000010111001001111100010110111011110101100110000111101000110110001101111101011110011010111000001000111111101000101001"
  3112. "111111110101010001111010111110110010000111100010100111011101001111001011110110000110010110111101111110100110110000111101001111100001101010000110010111000110000011010111101100011111001001011010111111010000111111101000101001"
  3113. "111111110101010001101001111011111011001111011100100110100001100011101101100100010000011010001100111000101000011000110001100001010000011011011100110100000101000100001000001001111011110100011010011110111110111111101000101001"
  3114. "111111110101010001111101001000110010100000111101000101000011110100001111101101000100011001111101011110100010111101000001011111101011000011011111010111100111100001100110101100011101111101011111101001011100111111101000101001"
  3115. "111111110101010001111101001110100011111010111000010101000100001111001110100111110010010101001111000000110101001111100001010011011111000011110101111101100100001101001110001001101000111000011111010011100010111111101000101001"
  3116. "111111110101010001010001110001110011101111011010000111011110110010001010001000000100011101111011010000111011110110001001110000100101110010000101110011100110110011000011001000001010001000010100011100011100111111101000101001"
  3117. "111111110101010001101001111011000011010001110000100110000010001110101100001001110010011000010011100100110000100111001001100001001110010011100001000011010111110111001101001100101111000110011010011100001000111111101000101001"
  3118. "111111110101010001111110100011001011001010000111110101111001000010001011100000101100011011110100110000110111111000110101000011010011100011011110010110000110001111001011001111110101101000011111010001110010111111101000101001"
  3119. "111111110101010001101000001001100011010111101111100100110110001000001000001000100100010000010001010000110000101000110001000010000010100010010000010100000111010110111100001000100000100100011010000010011000111111101000101001"
  3120. "111111110101010001110100011001000010111001101111110111110001110110101110010001101000011101001100001000101001111100001101111001100110100011011111010111100111110101011000001111110101011100011110100010000100111111101000101001"
  3121. "111111110101010001010000001001111010011100001000110110101011111000001101010111110000011101001011111100110101011111000001110100101111110011010101111100000110101011111000001101010111110000011001010011111000111111101000101001"
  3122. "111111110101010001001011001100000011101010111000000100001010000010001010110000110000011100001001011100100010011001100001110000100101110010001001100110000111000010010111001000100110011000010010110011000000111111101000101001"
  3123. "111111110101010001111101000010110010011001111101000111110101011000001111010110001100010111001101111110101110011011111101110001000011010011011000111100010101110011011111101110001000011010011010001111101110111111101000101001"
  3124. "111111110101010001111001011110001010011000110011110100111101000010001011110010000010011101000101111110101000011001111101011110001100011010000100010111100111010010111111001101010111110000011001011111101000111111101000101001"
  3125. "111111110101010001101101000001000011110101011110000100001010000010001110101011100000011101001101111000100111101111010001110001010111000010001000011001100101101110110000001101100001100110011011010000010000111111101000101001"
  3126. "111111110101010001111010000011011011011111010011110101110011111100101101111010011111010111111010110000110111110101111001011100110111111010111001101111110111111010100011101100101110000001011110100000101000111111101000101001"
  3127. "111111110101010001101101100111110010100110011111000101100111001111101101000100011111011101001111100100100001101001110001111100101110100010011110100000100100001111010000101000011100001011010010010000011110111111101000101001"
  3128. "111111110101010001001001100001100010000010011101110100000100010010001101001000001100011101010111000000100001010000010001110101011100000010010111101111000100001100011001001000011000110010010010011000011000111111101000101001"
  3129. "111111110101010001111001011011000010111111010110000101111110101100001011111101011000010111111010110000111101110111001001111101011000111011100100001100010111010011000010001001111100101110011110010100001000111111101000101001"
  3130. "111111110101010001110010011111001011110010111100010101111011100111001010000100001111010010001101111100100100000101111001100111100010011011011111000100010101110010011000001001001011110000011011001011110000111111101000101001"
  3131. "111111110101010001101100110110000010110001111001110101011111011111001001001100110000011011000010000010110110001100110001110100100011100010011011000010000111011010000110001100010111011110011011001101100000111111101000101001"
  3132. "111111110101010001100101111000110010111011011111100110001011100000101110001011000010010011100010111110111001001110011001110001011001000011110101111011110101011111011000001100110011110100011100101111011100111111101000101001"
  3133. },
  3134. /*164*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "BP2D+1.00+0005+FLE ESC BV+1.00+3.60*BX2D+1.00+0001+Casual shoes & apparel+90044030118100801265*D_2D+1.02+31351440315981+C910332+02032018+KXXXX CXXXX+UNIT 4 HXXXXXXXX BUSINESS PARK++ST ALBANS+ST ALBANS++AL2 3TA+0001+000001+001+00000000+00++N+N+N+0000++++++N+++N*DS2D+1.01+0001+0001+90044030118100801265+++++07852389322++E*F_2D+1.00+0005*", 0, 26, 222, 0, "MR #151 NUM -> BYTE Ex. 1; BWIPP different encodation",
  3135. "111111110101010001101010000110000011001001000011000111010010000111001000011011100011010000010011101110100000100010010001101001000001100011101010111000000100001010000010001110101011100000011010100001100000111111101000101001"
  3136. "111111110101010001111010110110000011101000011001000111000011001110101001001111100110011101111011111010100010011110000101110000100001101011001100001111010100010001111001001111100110110011011110101000010000111111101000101001"
  3137. "111111110101010001010100001111000011111101011000010111010001111100101011010000001110011011111010001000111010010011111101000011100001011010001111000110110110111111000110101101011111100010011010110111111000111111101000101001"
  3138. "111111110101010001101001001100000011101010111000000100001010000010001110101011100000011101001101111000100001101110001101000001010000010011011100011001000101010000001000001100111000011010011010010011000000111111101000101001"
  3139. "111111110101010001111010111101111011111001011011100111010001100000101100000101110100011001001111000110110000010111001001111100010110111011110101100110000111101000110110001101111101011110011010111000001000111111101000101001"
  3140. "111111110101010001111010111110110010000111100010100111011101001111001011110110000110010110111101111110100110110000111101001111100001101010000110010111000110000011010111101100011111001001011010111111010000111111101000101001"
  3141. "111111110101010001101001111011111011001111011100100110100001100011101101100100010000011010001100111000101000011000110001100001010000011011011100110100000101000100001000001101000110001110011010011110111110111111101000101001"
  3142. "111111110101010001111101001000110011110100111001110111010111000110001010011111100111011101001110110000101000111110011001110010111000110011100010000110100111010011000001001111101101000100011111101001011100111111101000101001"
  3143. "111111110101010001111101001110100011010100111110000110100010001111101001110000100011010100110111110000110100010001111101110101011111100010110001001110000110011111000100101011111011100110011111010011100010111111101000101001"
  3144. "111111110101010001010001110001110011101111011010000100011000011010001110111101101000011101111011010000100000100010010001000001000100100011000100101100000110000101000110001000011011110111010100011100011100111111101000101001"
  3145. "111111110101010001101001111011000011000001011101000111001011000000101100001001110010011000010011100100110000100111001001100011011110001010101111000010000111111011101010001011000101111110011010011100001000111111101000101001"
  3146. "111111110101010001111110100011001010111100101000000100011110110001101111110101100010010011010000001110101111000001101101110111111000101011001110000101110100011110101000001001101101111000011111010001110010111111101000101001"
  3147. "111111110101010001101000001001100011101011011110000100010000010010001110000100101110011100110000100110100000101001000001010100000010000011010111101111100100110110001000001000001000100100011010000010011000111111101000101001"
  3148. "111111110101010001110100011001000011100010000110100111110101000001101111000011001101011100111001111010101111101011100001111010111011100010011001111101000111110101011000001010111100001000011110100010000100111111101000101001"
  3149. "111111110101010001010000001001111011010101111100000110101011111000001110101011111100010011100001000110111010101111110001001110000100011011010101111100000110101011111000001101010111110000011001010011111000111111101000101001"
  3150. "111111110101010001001011001100000010101100001100000111010101110000001110001101001100011000111011001000100000100010010001100011101100100010000010001001000110001110110010001000001000100100010010110011000000111111101000101001"
  3151. "111111110101010001111101000010110011111010101100000111110101011000001011100110111111010111001101111110101110011011111101001111010111100011011111010111100101110011011111101001111010111100011010001111101110111111101000101001"
  3152. "111111110101010001111001011110001010001111101100010110100011111101001000011100001011010001111000110110110111111000110101101011111100010011101010111111000100111000010001101101010111110000011001011111101000111111101000101001"
  3153. "111111110101010001101101000001000011101001101111000111010101110000001111010101111000010000101100001100111010101110000001010000010100000011101010011100000111101010111100001101001001100000011011010000010000111111101000101001"
  3154. "111111110101010001111010000011011011010111001000000111101010000100001111110101011100011110100101000000111010000110010001011100110111111010111001101111110111111010100011101100101110000001011110100000101000111111101000101001"
  3155. "111111110101010001101101100111110010100110011111000101100111001111101101000100011111011101001111100100100001101001110001111100101110100010011110100000100100001111010000101000011100001011010010010000011110111111101000101001"
  3156. "111111110101010001001001100001100010000010011101110100000100010010001101001000001100011101010111000000100001010000010001110101011100000010010111101111000100001100011001001000011000110010010010011000011000111111101000101001"
  3157. "111111110101010001111001011011000010111111010110000101111110101100001011111101011000010111111010110000100010000111100101001111101011100011110100000100100111010111000011001010011110000100011110010100001000111111101000101001"
  3158. "111111110101010001110010011111001010100001001111000101110111011110001001000000101111010000011011011110111001111110100101100111111001101011110101111010000100111011101111001110011111100101011011001011110000111111101000101001"
  3159. "111111110101010001101100110110000011000111011001000101100011001000001000111001111011010110001110011000110010110011100001011001111001110011101111000110010110111100111010001111101111001011011011001101100000111111101000101001"
  3160. "111111110101010001100101111000110011110010110011000100010001111101101110001001101000011001011110001100111101110001110101111001110111001011100010011001000111000100011001001100100111101100011100101111011100111111101000101001"
  3161. },
  3162. /*165*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "[)>\03601\0350246290\035840\03501\0355622748502010201\035FDE\035605421261\035280\035\0351/1\0350.30LB\035N\035201 West 103rd St\035Indianapolis\035IN\035Recipient Name\03606\03510ZED006\03511ZSam's Publishing\03512Z1234567890\03515Z118561\03520Z0.00\0340\03531Z1001891751060004629000562274850201\03532Z02\03534Z01\035KShipment PO10001\035\036\004", 0, 26, 222, 0, "MR #151 NUM -> BYTE Ex. 2; BWIPP different encodation",
  3163. "111111110101010001101010000110000011001001000011000100000100001000101001010000100000010000100011011000100010100000100001000100001110111010010001000000100101011110111100001000011000110010011010100001100000111111101000101001"
  3164. "111111110101010001111010110110000011111000111011010101011111100111001010000111100100010110100111111000101111110010001101111101011101111011001011100000100111110101110111101011111100100011011110101000010000111111101000101001"
  3165. "111111110101010001010100001111000010101110001111110111010101111110001001111110011101010101110001111110100001111000101001111110101110011011011100110011110100001001001111001010111000111111011010110111111000111111101000101001"
  3166. "111111110101010001101001001100000010111000111000010111101010111100001000001000010001010101111011110000101001111000111101101001111011111010100111100111100101011110111100001000011000110010011010010011000000111111101000101001"
  3167. "111111110101010001111010111101111011100011101111010111101010001000001111101000101100011110101110011100110100001111011001011111100100011011111010111011110111111010010111001111101011101111011010111000001000111111101000101001"
  3168. "111111110101010001111010111110110010000011110010100101001011110000001001111001100110011110100001111010111011000101111101000100100001111011000111110010010100111110011000101001110111011110011010111111010000111111101000101001"
  3169. "111111110101010001101001111011111011010111000111100100100000101000001111001111001010010101111011110000111001101110111101111001111001010010101111011110000100001101110001101111010101111000011010011110111110111111101000101001"
  3170. "111111110101010001111101001000110011000001011101000100001011110000101110100011000001011001100111100010111100000100010101111101010011000011100001101110010110100111110011101100000100111010011111101001011100111111101000101001"
  3171. "111111110101010001111101001110100010111100011001100100111111001110101010111000111111010011111011101100101110010110000001101100110011111010001000110111110100001011011111001001101100001111011111010011100010111111101000101001"
  3172. "111111110101010001010001110001110011000100000100110111100111100101001010111101111000010001110111000100111011001100111001111001111001010010101111011110000100110001100000101101000011101111010100011100011100111111101000101001"
  3173. "111111110101010001101001111011000011001011110000110110010111000001001110110001110010011100000101100010100100011111001101111011001110011010111111001000110110101110010000001111100011101101011010011100001000111111101000101001"
  3174. "111111110101010001111110100011001011111001001110010100111111001110101010111000111111011111010111000010100000011010011101101000001011111010011111001100010110101000111110001001111110011101011111010001110010111111101000101001"
  3175. "111111110101010001101000001001100010101111011110000101011110011110001000111011100100010011000011010000110101101110000001100001100011011011000100000101100110000010010110001100001010000011011010000010011000111111101000101001"
  3176. "111111110101010001110100011001000010010011111101110100110111111001101100101111000110011010000001110010101111110010001101111101011101111011110000010001010111010011000001001111000110001101011110100010000100111111101000101001"
  3177. "111111110101010001010000001001111011111010111101100101000100000111101111100101111011011100100111110010101100011001111001001111110011101010101110001111110111101011110001001000000110100111011001010011111000111111101000101001"
  3178. "111111110101010001001011001100000010000010011000110110100100110000001110010110111100011010011000011100111100111100101001010111101111000010100111011100000100011101110010001000011011100110010010110011000000111111101000101001"
  3179. "111111110101010001111101000010110011111001101100110111110101110111101011111100100011011110101110111000111110101110111101011111100100011011111010111011110111010011101100001001111001011110011010001111101110111111101000101001"
  3180. "111111110101010001111001011110001010000111100010100111101011110001001110100100111111011110100011110010100111000110011101101001111110010010000010100011110101111100110100001110111101011100011001011111101000111111101000101001"
  3181. "111111110101010001101101000001000010001110111100110100000100010001001010100000010000010110001100100000100000100001000101010111101111000010000110001100100100000100111011101101000110011100011011010000010000111111101000101001"
  3182. "111111110101010001111010000011011011110001100011010111101010010000001011111100100011011111010111011110111010011100110001001111001011110011111000111011010101011111000110001011111100100011011110100000101000111111101000101001"
  3183. "111111110101010001101101100111110010101110001111110110011111000100101101111001000011011100100111110010100001010001111001100101001111100011001110000101110100000111010011001000010110111110010010010000011110111111101000101001"
  3184. "111111110101010001001001100001100010000010011000110111010101110000001111010101111000010000010000100010101011110111100001101011110111110011110101001111000100001100011001001000011000110010010010011000011000111111101000101001"
  3185. "111111110101010001111001011011000010111111010110000101111110101100001011111101011000010111111010110000101000011110010001011001111100001010011100101111100111011101111010001101011111000111011110010100001000111111101000101001"
  3186. "111111110101010001110010011111001011001111101101100110001101001111001110001010111111011000001010111110101100011011110001101110100111000010101000001111000111001111110101001000110011011110011011001011110000111111101000101001"
  3187. "111111110101010001101100110110000010011000011101100100111101111010001100011011001100011110111101001000111100110100111001101000010011000011100110010110000100100110000110001100001000001011011011001101100000111111101000101001"
  3188. "111111110101010001100101111000110011101000011000010100110111111011001111100011001010010100111110001100100111011011111101111110010100111011111011000010010111101011011000001110101111101111011100101111011100111111101000101001"
  3189. },
  3190. /*166*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "[)>\03601\0350246290\035840\03501\0355622748502010201\035FDE\035605421261\035280\035\0351/1\0350.30LB\035N\035201 West 103rd St\035Indianapolis\035IN\035Recipient Name\03606\03510ZED006\03511ZSam's Publishing\03512Z1234567890\03515Z118561\03520Z0.00\0340\03531Z1001891751060004629000562274850201\03532Z02\03534Z01\035KShipment PO10001\035\036\004", 0, 25, 222, 0, "MR #151 NUM -> BYTE Ex. 2; BWIPP different encodation",
  3191. "111111110101010001101010000110000011011011011000000100000100001000101001010000100000010000100011011000100010100000100001000100001110111010010001000000100101011110111100001001111011110100011010100001100000111111101000101001"
  3192. "111111110101010001111010100000010011110101000000100111000100011000101111100011010100011011111101011100110101111000110001101111100101111011100101111011100111101001001000001100100001110100011110101000010000111111101000101001"
  3193. "111111110101010001010100001111000011010010111110000101011100011111101000011110001010011111101011100110110111001100111101000010010011110010101110001111110100111000100001101110101011111100010101101111100000111111101000101001"
  3194. "111111110101010001101001001100000011000111000110100110100110111000001101001100111000011101000011011110110010110001110001101110001110011010011110111101000101000001000100001010000010000010011010010011000000111111101000101001"
  3195. "111111110101010001110101111011100010011000011111010110111111010111001101011110001100010000110111110010111010110010000001100100111101100010001011110100000111101001100110001100100011110011011010111000001000111111101000101001"
  3196. "111111110101010001111010111110110011010001101111110110111110010010001001110000100110011010011111100010101111101100000101111010001111001010000111100101000100011100110111001010111000111111011101011111000010111111101000101001"
  3197. "111111110101010001101001111011111010000110001100100100001101110001101111010101111000010000010100010000110011101110011001010000001010000011000010100011000100000100110001101110101001110000011010011110111110111111101000101001"
  3198. "111111110101010001111010010001000011100001101110010110100111110011101100000100111010011000100011110110101111110010001101111101011101111010000110101111110111111011000101101100101110001000011111101001011100111111101000101001"
  3199. "111111110101010001111101001110100010001000110111110100001011011111001001101100001111010111100100000010100111111001110101010111000111111010000011101001100111101100111110101001111110011101010100111001111110111111101000101001"
  3200. "111111110101010001010001110001110010101111011110000100110001100000101101000011101111010110011000100000110110010000001001100110110001100011000001010011000111100110100111001000101000010000010100011100011100111111101000101001"
  3201. "111111110101010001010011110100000010011111101000110101011110000100001100110111100010010010001111100110101101000111111001100010001110100010111111010110000110001100111100101010011111000011011010011100001000111111101000101001"
  3202. "111111110101010001111110100011001011010101111100000111110010011100101001111110011101010101110001111110111101011110100001000000110100111011011110010000110101011011111000001100011111001010010100011101111110111111101000101001"
  3203. "111111110101010001101000001001100011000100000101100110000010010110001100001010000011011011000011001100100010000111011101110110011001110011100100110111100111100111100101001010111101111000011010000010011000111111101000101001"
  3204. "111111110101010001111101000110111011110000010001010111010011000001001111000110001101011110101110011100111010011100110001010001111000001011110010100001000101101001111110001011111100100011011110100010000100111111101000101001"
  3205. "111111110101010001010000001001111010101110001111110111101011110001001000000110100111010000111100010100111010101111110001001101110111110010111110000110010110011111101100101010010111100000010010100111100000111111101000101001"
  3206. "111111110101010001001011001100000010000010010000010100111001111011001010011001100000011100110010110000101000100001000001000110011010000011001000101100000101011110011110001100000101001100010010110011000000111111101000101001"
  3207. "111111110101010001111010000101000011101011110001110110100111010000001011111101001100011110101110001110110101111000001101010011110010000011100010001100010111010011000100001111000100001001011010001111101110111111101000101001"
  3208. "111111110101010001111001011110001010111110011010000111011110101110001100001111010011010000001101011100111111010110100001000101000001111011001111110110010101001011110000001001111100110001011100101111100010111111101000101001"
  3209. "111111110101010001101101000001000010011101111011000111000011010001101101000100011000010100100000010000100001101110011001100001000010011011101100011001110111101111010001001010111101111000011011010000010000111111101000101001"
  3210. "111111110101010001110100000110100010111111010110000100100111101000001111100001101010011001011110000110111101100111001101110110001110010011000001011101000100111101001111001111011000001101011110100000101000111111101000101001"
  3211. "111111110101010001101101100111110010000111100010100101000001011110001001001100111110011001111110110010101011100011111101111101011100001011101010011111100110001111100100101100011111001001010110110000111100111111101000101001"
  3212. "111111110101010001001001100001100010000110001100100100001100011001001000011000110010010000110001100100100111011100100001011100111000100011100100001011100100111011101000001101101100110000010010011000011000111111101000101001"
  3213. "111111110101010001110010110100000011001101111100110100100011110000101110111001111010010111111011011100101001111100001101011111000101110011110001010001000110010111000001001111010000100001011110010100001000111111101000101001"
  3214. "111111110101010001110010011111001010001111010000100100111110001100101100101100111111011001111010001100100111101100011001011111001100010011001110000101110101111101110110001011000011011110010110010111000000111111101000101001"
  3215. "111111110101010001101100110110000011010110111000000100001100110100001111101010011111010100001000100000111000010100011101011110011110001011110010100011110111011001100111001110001110110011011011001101100000111111101000101001"
  3216. },
  3217. /*167*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "[)>\03601\0350274310\035250\03570\0351111123177100430\035FDE\035630133769\035222\035\0351/1\035160.00KG\035N\03554 Some Paris St\035Paris\035 \035F. Consignee\03606\03510ZEIO05\03511ZThe French Company\03512Z9876543210\03514Z5th Floor - Receiving\03515Z113167\03531Z1010147571640963660600111112317710\03532Z02\035KMISC_REF1\03599ZEI0005\034US\034200\034USD\034Content DESCRIPTION\034\034Y\034NO EEI 30.37 (a)\0340\034\035\036\004", 0, 28, 239, 0, "MR #151 Ex. 3; BWIPP different encodation",
  3218. "11111111010101000101010000010000001101100110110000010000010000100010100101000010000001000010001101100010001010000010000100010000111011101001000100000010010101111011110000100001100011001001000011011100110010101000001000000111111101000101001"
  3219. "11111111010101000111101010000001001111101001011000011111101000101110110101110010000001011111100100011011111010111011110101011111100011101111101011101111010111111001000110111110101110111101111001010100000011111010100001100111111101000101001"
  3220. "11111111010101000110101000011111001001111110011101010101110001111110100001111000101001010110001111100010111110011000010111111010001101001110111101001110010100011000111110100110000101110001100111111011001010101101111100000111111101000101001"
  3221. "11111111010101000111010010011100001010111101111000010100111100011110110100111101111101010011110011110010101111011110000100001100011001001110001110100100010100011000110000101011111011111001101000111001111011101001001110000111111101000101001"
  3222. "11111111010101000111010111101110001111101000001011010111111001000110111110101110111101010111111011100011101001100000010100111111010001101101011110001100011100001001110110101001111110011101001011111001100011101011100000110111111101000101001"
  3223. "11111111010101000111010111110010001000100100001111011000111110010010101111110111000101011010000001110010000100010111100111110101110001001000101100111110010011111100111010101011100011111101001100011001111011101011111000010111111101000101001"
  3224. "11111111010101000101001111001111001111001111001010010101111011110000111000111010100001100101001100000010000010001010000100000100101000001000101000010000011000001010011000111101110110111001101110011000010010100111100111100111111101000101001"
  3225. "11111111010101000111101001000100001011101100111111011000001001110100110001000111101101011111100100011011111010111011110111000011011101001111010110011000011001011111011100101111110010001101111101011101111011110100100100000111111101000101001"
  3226. "11111111010101000111111010011101101100011110010110010011111100111010101011100011111101000011100010110010111111001110010110011111011011001101000101111100010011000010011100101111011101110001001001000001111010100111001111110111111101000101001"
  3227. "11111111010101000101000111101111001010000010100000011110011110010100110101111011111001000011011100110011100100110111100111100111100101001010111101111000011010111101111100100011101110010001101000001001100010100011110111100111111101000101001"
  3228. "11111111010101000101001111010000001111001000000101011110101000100000101111110010001101111101011101111011101011100110000100111100101111001101110111110001011111001010011000111000001011000101111010000100001011101001110000110111111101000101001"
  3229. "11111111010101000101000110011111001100101001111100010100110000111110100111110110100001111010011110100010111011000111000110101101111110001001111000010010010011111100111010101011100011111101011111101110001010100011101111110111111101000101001"
  3230. "11111111010101000111010000010011101101000110011100011001110001100010101100111100111001110110111001111010010100000100000101000110000110001101011110111110011110011110010100101011110111100001111101011111101011101000001001110111111101000101001"
  3231. "11111111010101000111110100011011101001111001011110011100001100111010110000110111101001111001011101110010000010111100010101100100111111001110010000011001011000001011101000111100110110100001000111001011111011110100010000010111111101000101001"
  3232. "11111111010101000100101011110000001001111101100001011010011001111110110110001001111001111011001111101011111001001110010100111111001110101010111000111111010111111011100010101101000001110001000001100100111010010100111100000111111101000101001"
  3233. "11111111010101000110010110011100001010111100111100011010001100011100111101101000011101111001111001010010101111011110000110100011000111001000111011100100010011110111101000111010010111000001111010001001111011001011001110000111111101000101001"
  3234. "11111111010101000111101000010100001100001001110001010010011110000100100100001111010001110100011100011010001001111000010111110111101110101001101111110110011001011110000110100111101011110001111010100000100010100011111001100111111101000101001"
  3235. "11111111010101000111001011111010001100111111011001010101110001111110110001111100100101000111100011011011101000101111110100000110010011101010100111100000010011111100111010101011100011111101100111110001001011100101111100010111111101000101001"
  3236. "11111111010101000111011010000011001000101101100000010111001111011000111100111101001001110111001100110011111011010111100110100110000111001111001111001010010101111011110000100100011100011101000111011100100011101101000001100111111101000101001"
  3237. "11111111010101000111010000011010001111010001000010011111000111011010111110101011000001101000011100001010111111001000110111101011101110001101111101011110011111000100010110101111110010001101111010111011100011111010000010110111111101000101001"
  3238. "11111111010101000110010010001111101000011100001011011010101111100000100111111001110101111101011100010011011111100011010101111011000001101001111110011101011111010111000100110100010111110001001100001001110010110110000111100111111101000101001"
  3239. "11111111010101000101101110000110001101110001110011011001101100011000100000101000100001000001001110111010100000010100000101000100010000001011001100010000010111000111000010100110111110111101000001000010001010110111000011000111111101000101001"
  3240. "11111111010101000111001011010000001111010111011100011110101110111000111010011000000101111010111011100010111111010110000111101100011000101110111101111101011110100010000100110000010111010001101001110100000011111001010000110111111101000101001"
  3241. "11111111010101000111011011111100101001110111011110010110011011110000100000111000101101001111101100100010000111100110110100111111001110101111101011100010010011111001100010110011111101100101111101011100010010110010111000000111111101000101001"
  3242. "11111111010101000110010001001100001010111101111000011010111101111100111101010011110001000011000110010010000110001100100100001100011001001000011000110010010000110001100100110111011001000001100001000101100011001000100110000111111101000101001"
  3243. "11111111010101000100101111000100001101100111100001010001011111011000110101111101110001110100011001000011110111001110100110010111000010001101110111110010010011111101101110110111100101111101011001111110110010010111100100000111111101000101001"
  3244. "11111111010101000101100111001111101110010111110100010110001001110000101110000100011001001110000001011010111100001000100100111000100001101000010011011111010000011101101110110011001011110001111010111100100011110010001111010111111101000101001"
  3245. "11111111010101000100100011100011101001000110011000011010001000110000111001011011110001000101110001110011001000100110000101100011101100001110001000100111011100100011011110110110001000100001010000001000001010010001110001110111111101000101001"
  3246. },
  3247. /*168*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "[)>\03601\0350274310\035250\03570\0351111123177100430\035FDE\035630133769\035222\035\0351/1\035160.00KG\035N\03554 Some Paris St\035Paris\035 \035F. Consignee\03606\03510ZEIO05\03511ZThe French Company\03512Z9876543210\03514Z5th Floor - Receiving\03515Z113167\03531Z1010147571640963660600111112317710\03532Z02\035KMISC_REF1\03599ZEI0005\034US\034200\034USD\034Content DESCRIPTION\034\034Y\034NO EEI 30.37 (a)\0340\034\035\036\004", 0, 30, 222, 0, "MR #151 Ex. 3; BWIPP different encodation",
  3248. "111111110101010001010100000100000011011001000100000100000100001000101001010000100000010000100011011000100010100000100001000100001110111010010001000000100101011110111100001001111011110100011010100001100000111111101000101001"
  3249. "111111110101010001111101011011100011110101000000100101110010001111101100000101110010011011111101011100110101111000110001000001001111001011001111010111110111010000011000101111000101000100011111010100001100111111101000101001"
  3250. "111111110101010001010100001111000010100101111000000101011100011111101000011110001010010101100011111000101111100110000101111110100011010011101111010011100101000110001111101001100001011100011111101011001000111111101000101001"
  3251. "111111110101010001110100100111000011000111000110100110100110111000001101001100111000011101000011011110110010110001110001101110001110011010011110111101000111001011001111001000010100100000011010010011000000111111101000101001"
  3252. "111111110101010001010111100100000011110100100100000100111111010001101101011110001100010000010011110010101111001011110001111100101000110010101111100110000111101001100110001100100011110011011101011100000110111111101000101001"
  3253. "111111110101010001111010111110110011010001101111110110111110010010001001111100001101011101001111100100100011100101100001000111100001001011011100100011100110110010000111101101001011111000011101011111101100111111101000101001"
  3254. "111111110101010001010011110011110010100011110111100110110000100100001100110011000011010011011000100000100001100011001001001100001101000010001001111011110110010100110000001100000100101100011010011110111110111111101000101001"
  3255. "111111110101010001111010010000100011110101100110000110010111110111001110000010110001010011001011111100101111110010001101111101011101111011100001101110100111101011001100001100101111101110011110100100100000111111101000101001"
  3256. "111111110101010001111101001110100010011111100111010101011100011111101100011110010110010011111100111010101011100011111101000011100010110011000011110010110100111110110100001111010011110100011110100111101000111111101000101001"
  3257. "111111110101010001010001111011110010011011000100000111001000101110001100110100001000011001010001100000110001110001101001110100110111100010111001110010000111100110100111001001000110000011010100011100011100111111101000101001"
  3258. "111111110101010001110100111101110011000100011101000101111110101100001100011001111001010010111100001000111110001110110101101000011100001010111111001000110111110101110111101110101110011000011101001110000110111111101000101001"
  3259. "111111110101010001111110100011001010000001101001110101111000110110001111001001111001010011111011010000110110101111000001100101001111100010100110000111110100111110110100001111010011110100011110100011110100111111101000101001"
  3260. "111111110101010001110100000100111011000101100011100111010110111100001000110001100001011110011110010100101011110111100001000001001100011011010001100111000110011100011000101011001111001110011010000010011000111111101000101001"
  3261. "111111110101010001111010001100110011110010100010000110100011110001101111010011101110011010111001000000101111110010001101111101011101111011101011100011000100111100101111001110000110011101011110100010000010111111101000101001"
  3262. "111111110101010001010000001001111011011111101100100101100110111100001000011100010110010011011100111110100010000010111101100011110010011010001100100011100110111111011010001010000010111100011100101001111110111111101000101001"
  3263. "111111110101010001100101100111000011010000010011000110000100100001101100110100000100011110011110010100101011110111100001000001001100011011111011010111100110011100011000101010111100111100010010110011000000111111101000101001"
  3264. "111111110101010001111010000100100011101001110110000101000011111001101011111100100011011111010111011110111010011101100001001111001011110010111111010011000111101011100011101111010010000010010100011111001100111111101000101001"
  3265. "111111110101010001111001011110001010111110111000110100110100000011101001100011001111011001011001111110100111001000001101000001100101110011000110001011110111011001111110101001111100011010011100101111110110111111101000101001"
  3266. "111111110101010001110110100000110011010100000110000100000100001000101010010000001000010000110111001100100111011110110001110000110100011011010001000110000101011110111100001000011000110010011011010000010000111111101000101001"
  3267. "111111110101010001110100000110010011100100111000110110010111110111001110100110000001011111001011001110111110100010011001111000001000101010111111001000110111110101110111101111011011010000011111010000010110111111101000101001"
  3268. "111111110101010001101101100111110010000001101001110101000000100111101000011110001010011111101011010000111101000111100101000001111001010011010111111000100100110000100111001101111011001110010110110000011110111111101000101001"
  3269. "111111110101010001011011100001100011011011000011000100101111011110001010001000010000011011100011000100100011001101000001100001101100110011000011010001000100001100011001001010001100110000010010011000011000111111101000101001"
  3270. "111111110101010001111100101101110011110010000010010111100010001000101110110001110010011000001011101000111100011101110101110100011000001011110100100000010110010111100001101110001000110100011111001010000110111111101000101001"
  3271. "111111110101010001110010011111001010011000010011100110011111101100101111101011100010011111010111000100101000100111100001111101011100010011000111110010010101110010000001101100011110100110011101100101111100111111101000101001"
  3272. "111111110101010001100100010011000011010000010011000100000101000100001010001100011000011011100110010000111011001001100001000001000010001010100111101111000100001011011000001100100010000110011011001101100000111111101000101001"
  3273. "111111110101010001001011110000100011000100111101100111101100001101001111101011101111011010111001000000111111010100111001011111101011000010111111010110000101111110101100001011111101011000010010111100100000111111101000101001"
  3274. "111111110101010001001000110011111011000111110010010110001111100100101100011111001001011000111110010010100001111000100101101110001011100010100100000111100101111000010010001110101000111111011100100011111010111111101000101001"
  3275. "111111110101010001001000111000111010110111001100000100110001100000101000010010000001011000110101000000100010000110001101001011111011111011100100101110000110100000010001101100111001100001010110011110011100111111101000101001"
  3276. "111111110101010001111100100100011010101111100011000110100011100000101001110100111110011111010010011000110110111100001001111110111001010011110010000110110101110011111101001100010011101000011110110110100000111111101000101001"
  3277. "111111110101010001101100001001111010011001000001110101001100111110001011100010001100011011110100000110111001110101111001000111100100010010101100111110000110011000100111101000011001101111010110000110011110111111101000101001"
  3278. },
  3279. /*169*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "[)>\03601\0350278759\035840\03503\0355659756807730201\035FDE\035604081602\035169\035\0351/1\0355.00LB\035N\0351234\035Austin\035TX\035Test Co\03606\03510ZED007\03511ZTest Co\03512Z8005553333\03515Z119534\03520Z0.00\034134\03531Z1001901752720007875900565975680773\03532Z02\03534Z01\03539ZNOHA\035\03609\035FDX\035z\0358\035-]\021\020<2\177B\036\004", 0, 25, 222, 0, "MR #151 Ex. 4; BWIPP different encodation",
  3280. "111111110101010001101010000110000011011011011000000100000100001000101001010000100000010000100011011000100010100000100001000100001110111010010001000000100101011110111100001000011000110010011010100001100000111111101000101001"
  3281. "111111110101010001111010100000010011111000111011010111110100101100001100101111011000010100011111001100101111110010001101111101011101111011001011100000100111110101110111101011111100100011011110101000010000111111101000101001"
  3282. "111111110101010001010100001111000010101110001111110110101001111100001001111110011101010101110001111110100001111000101001111110101110011011110000101111010111011111100100101000111101100011010101101111100000111111101000101001"
  3283. "111111110101010001101001001100000010000110011000100100011000001101001000001000010001010101111011110000101001111000111101101001111011111010100111100111100101011110111100001000011000110010011010010011000000111111101000101001"
  3284. "111111110101010001110101111011100011100011101111010111111010100111001111010100001000011010111000010000111101010010000001011111100100011011111010111011110110101110000100001110110111000100011010111000001000111111101000101001"
  3285. "111111110101010001111010111110110010000011110010100101001011110000001001111001100110011110100001111010111011000101111101000100100001111011000111110010010101111110111101101000010001011110011101011111000010111111101000101001"
  3286. "111111110101010001101001111011111011010111000111100100100000101000001111001111001010010101111011110000111001101110111101111001111001010010101111011110000100000100110001101010011100111000011010011110111110111111101000101001"
  3287. "111111110101010001111010010001000011010001111011000101111110010001101111101011101111011111000111011010110000010011100101001100101111110011001011110001100101111110010001101111101011101111011111101001011100111111101000101001"
  3288. "111111110101010001111101001110100010000011101001100101111000100001001001111110011101010101110001111110101111000110110001100101000011111011001110000101110100111110110001001011100001100111010100111001111110111111101000101001"
  3289. "111111110101010001010001110001110011110011110010100110101111011111001000011011100110011100100110111100111100111100101001010111101111000011010111101111100100011101110010001010000111000111010100011100011100111111101000101001"
  3290. "111111110101010001010011110100000011111000111011010111111010100011101011111100100011011111010111011110111010111001100001001111001011110011011101111100010111010001100000101100110011110001011010011100001000111111101000101001"
  3291. "111111110101010001111110100011001010011111011000100101110000110011101001111110011101010101110001111110101111110111000101110100010111111010000011001001110110110011001111101010100011110000010100011101111110111111101000101001"
  3292. "111111110101010001101000001001100011001011011100000101000110000011001010001100000110011110011110010100101011110111100001110100101110000010001110111001000100000100110001101110100100111000011010000010011000111111101000101001"
  3293. "111111110101010001111101000110111010100011110001000110100011110110001011111100100011011111010111011110110101111100011101001111001011110011111000111011010111110011011001101111101011101111011110100010000100111111101000101001"
  3294. "111111110101010001010000001001111010011111100111010111110101110001001111010111100100011111001011101000100111111001110101010111000111111010100010001111000100000011010011101000011110001010010010100111100000111111101000101001"
  3295. "111111110101010001001011001100000011101001011100000110100110011100001101000001000110010001001100110000111001100110011101111100101011111011100100000101110110000100110111001110111101100010010010110011000000111111101000101001"
  3296. "111111110101010001111010000101000011011011110001000111101000010000101110001011101100011011111101011100111110101110111101011111101011000011110001110111010111010011000001001111000110001101011010001111101110111111101000101001"
  3297. "111111110101010001111001011110001010101001111000000100111111001110101010111000111111010100010000011110100000011010011101001111100110001011111101001101000100111111001110101010111000111111011100101111100010111111101000101001"
  3298. "111111110101010001101101000001000010100011110111100100011101110010001001101100100000010110111011000000100000100001000101010010000001000011110111101100110111110101011111001101111011101000011011010000010000111111101000101001"
  3299. "111111110101010001110100000110100011110010000101000110100111110111001100010111000010011100000101101000111110100010011001100100000011101011010111100011000111000001011001001100100011101000011110100000101000111111101000101001"
  3300. "111111110101010001101101100111110011111101001101000111010011111001001110100101111110010100000010111100101001100011111001111101011100001011101010011111100110001111100100101100011111001001010110110000111100111111101000101001"
  3301. "111111110101010001001001100001100010000110001100100100001100011001001000011000110010010000110001100100110000110110110001110011101001000010111000111000010101000111001110001001101100001000010010011000011000111111101000101001"
  3302. "111111110101010001110010110100000011000100011100100111100100010010001011111101011000011000100111100110101001111101100001111101000100011011001100111100010111000100111011001110001001101000011110010100001000111111101000101001"
  3303. "111111110101010001110010011111001010111111001110100101111100001100101100111101001100011011111011001100101111001000100001011110010000001011011000010011110111011111101001001111001011110010010110010111000000111111101000101001"
  3304. "111111110101010001101100110110000010110011100110000110011101100100001110001110100010010001001110001110100100000100001001101000001000110011010000100011000111010000100111001000110110010000011011001101100000111111101000101001"
  3305. },
  3306. /*170*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "[)>\03601\0350278759\035840\03503\0355659756807730201\035FDE\035604081602\035169\035\0351/1\0355.00LB\035N\0351234\035Austin\035TX\035Test Co\03606\03510ZED007\03511ZTest Co\03512Z8005553333\03515Z119534\03520Z0.00\034134\03531Z1001901752720007875900565975680773\03532Z02\03534Z01\03539ZNOHA\035\03609\035FDX\035z\0358\035-]\021\020<2\177B\036\004", 0, 26, 205, 0, "MR #151 Ex. 4; BWIPP different encodation",
  3307. "1111111101010100011010100001100000111011010110000001000001000010001010010100001000000100001000110110001000101000001000010001000011101110100100010000001001010111101111000011101010001110000111111101000101001"
  3308. "1111111101010100011110101101100000101111110100110001111010100000010010111001101111110100111011111101001101111110101110011010111100011000110111110010111101110010111101110011110101000010000111111101000101001"
  3309. "1111111101010100011101010001111110111111010011101101011100110001110010100100111100000101011100011111101000011110001010011111101011100110111100001011110101110111111001001011010110111111000111111101000101001"
  3310. "1111111101010100011010010011000000111101111000100101000011001100010010001100000110100110001110001101001101001101110000011010011001110000111010000110111101100101100011100011111010010111110111111101000101001"
  3311. "1111111101010100011110101111011110111100010001000101011111101001100011110100010000100101100001111100101010000011110010010011111101000110110101111000110001100001101111010011010111000001000111111101000101001"
  3312. "1111111101010100011101011111010000111110100111000101111100100111010010110000100111000110100111111010001001100110111100011010001101111110110111110010001001110100111110100011010111111010000111111101000101001"
  3313. "1111111101010100011010011110111110101000100001000001000010001001000010110000110001000110000100101100001111011101101110010100100000010000110000010010011001100111101110100010100111101111000111111101000101001"
  3314. "1111111101010100011111010010001100110000010111001001100010111100110011010011110001100111101110011100101000001101111101011101001110001100111100011000110101110101111000111011111101001011100111111101000101001"
  3315. "1111111101010100010100110000111110110010100011111001010011011111000011111100100110100111110101110010001001001000001111010111000110111000101110000010011001000001001001111011111010011100010111111101000101001"
  3316. "1111111101010100010100011100011100111001000101110001010001000010000011110111101101100101110001111011001000101000001000010000100001001000100001100011001001010000111000111011010001110011110111111101000101001"
  3317. "1111111101010100011010011110110000111110001110110101111110101000111010111111001000110111110101110111101110101110011000010011110010111100110111011111000101110100011000001011010011100001000111111101000101001"
  3318. "1111111101010100011010001101111110110011100001011101001111101100010010111000011001110100111111001110101010111000111111010111111011100010111010001011111101000001100100111011111010001110010111111101000101001"
  3319. "1111111101010100011010000010011000111101100100011101111101010011111011001011011100000101000110000011001010001100000110011110011110010100101011110111100001110100101110000010100000100100000111111101000101001"
  3320. "1111111101010100011101000110010000100111100101111001111000001000101011101011100000110101000111100010001101000111101100010111111001000110111110101110111101101011111000111011110100010000100111111101000101001"
  3321. "1111111101010100010100000010111100100000011010011101001111100110001010000100010111100101011100011111101001111110011101011111010111000100111101011110010001111100101110100011001010011111000111111101000101001"
  3322. "1111111101010100010010110011000000111100111100101001010111101111000011010001100011100100011101110010001001111011110100011101001011100000110100110011100001101000001000110011110010110111110111111101000101001"
  3323. "1111111101010100011111010000101100110110001111000101110001011000001011101000111000110101101111110110001011100111111010011000010011110110110110111100010001111010000100001011010001111101110111111101000101001"
  3324. "1111111101010100011110010111100100100011010011100001100111111011001010100101111000000100111110011000101100111100100110011101111110101000111010011111010001010010111100000011001011111101000111111101000101001"
  3325. "1111111101010100011011010000010000100001101110011001100001000010011011101100011001110111101111010001001010010000001000010000110111001100100001101110001101110000110100110011110110100001110111111101000101001"
  3326. "1111111101010100011110100000110110111010011100001101111010001010000011110100100000010101101111100010001111000001010010011111101010111000111010111100011101101011110000011011110100000101000111111101000101001"
  3327. "1111111101010100010110110011110000111111010000110101100001100101111011011001001111000101001011110000001000001110100011011000111001001110101110011101111001010001001111000010010010000011110111111101000101001"
  3328. "1111111101010100010010011000011000101011100011100001110110100001100011000100001101110111011110011000101000011001110011011110101001111000100001100011001001000011000110010010110111000110000111111101000101001"
  3329. "1111111101010100011110010110110000100011011111101101101011100100000011000001011100100110111101001111101001000011110100011100001011000100110010111100110001101000111001000011110010100001000111111101000101001"
  3330. "1111111101010100011101101111110100101101100000111101111100010011101011100010011111010101111011110111101011110011000011010101000111100000100000111011011101001001100111110011011001011110000111111101000101001"
  3331. "1111111101010100011011001101100000100001010001000001111011101011000011101100000100110110010111001111001110111110111001011000100100110000110101000001100001010001110011100011110010001011110111111101000101001"
  3332. "1111111101010100011001011110001100101101111100001001111010001000010011000011011110100110111011111010001000000101111001010000100111101000111000010110000101100001001110001011100101111011100111111101000101001"
  3333. },
  3334. /*171*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "[)>\03601\0350285040\035840\03501\035D10011060813097\035EMSY\03537\03562\035\0351/1\0353LB\035N\0354440 E ELWOOD ST\035PHOENIX\035AZ\035CXXXXXX RXXX\03606\0353Z01\03511ZONTRAC - CXXXXXX RXXX\03512Z\03514ZSTE 102\03515Z90210\03520Z2000\034U\0341288\03521Z1\03522Z0\03524Z1\0359KRef-12549\035\036\004", 0, 25, 205, 0, "MR #151 Ex. 5; BWIPP different encodation",
  3335. "1111111101010100011010100001100000100101110011100001000001000010001010010100001000000100001000110110001000101000001000010001000011101110100100010000001001010111101111000011101010001110000111111101000101001"
  3336. "1111111101010100011110101000000100101111110101100001111100011101101011111101001011100111010001111011101010011111100111010111111001000110111110101110111101100101110000010011110101000010000111111101000101001"
  3337. "1111111101010100011101010001111110101011100011111101001111110011101010101110001111110111010101111110001001111110011101010101110001111110100011110001101101000011110001010010101101111100000111111101000101001"
  3338. "1111111101010100011010010011000000111001011101111101100001011001110011000110001001000100010011011000001001100111100111010000010000100010110100110111000001101001000001100011111010010111110111111101000101001"
  3339. "1111111101010100011101011110111000111101100011010001111011011000100011100100011001000111101001100011001110001100111010011100101111011100111000101110011001000101111100011011010111000001000111111101000101001"
  3340. "1111111101010100011101011111010000101001011110000001100111110010010011011111101101000100111001001100001100010100011111011110100111100100101001100011111001010111000111111011101011111000010111111101000101001"
  3341. "1111111101010100011010011110111110110100010001100001010111101111000010000110001100100100001101111011101010000010100000011101011100111110100001101111011101001110001110100010100111101111000111111101000101001"
  3342. "1111111101010100011110100100010000111110010001001101111011000011001011010011111001110100110010111111001011111100100011011111010111011110111100010100100001001000011110001011111101001011100111111101000101001"
  3343. "1111111101010100010100110000111110111011100100111101011111011110111010011111100111010101011100011111101111101011100100010011111100111010101011100011111101110100111111011010100111001111110111111101000101001"
  3344. "1111111101010100010100011100011100111011110110100001110111101101000011101111011001000100010000100001001110111101101000011110011110010100110101111011111001000011011100110011010001110011110111111101000101001"
  3345. "1111111101010100010100111101000000110100000011100101011111100100011011111010111011110101001111100001101111000110001101011111101010111000101111110010001101111101011101111011010011100001000111111101000101001"
  3346. "1111111101010100011010001101111110111101011110100001000000110100111010011000010011100110111100010110001010100111100000011001111101101100100011001000111001000011100001011010100011101111110111111101000101001"
  3347. "1111111101010100011010000010011000111011110110100001110111101101000011101111011010000111011110001100101110111101101000011100111001000010111100111100101001010111101111000010100000100100000111111101000101001"
  3348. "1111111101010100011111010001101110111100000100010101110100110000010011110011100111010101111110010001101111101011101111011110000010001010101000111101000001111110011100101011110100010000100111111101000101001"
  3349. "1111111101010100010100000010111100110011100010011101100111110110110011111010111000010101000100111100001001111110011101010101110001111110111101011110001001000000110100111010010100111100000111111101000101001"
  3350. "1111111101010100010010110011000000110000110010100001111101010111110011010111101111100111100111100101001010111101111000010100111011100000100011101110010001000011011100011011110010110111110111111101000101001"
  3351. "1111111101010100011110100001010000111110101011000001111101011101111010111111001000110111101011101110001101111101011110010111111001000110111101011101110001111000001000101011010001111101110111111101000101001"
  3352. "1111111101010100011110010111100100111110100111010001001000010011110010011111100111010101011100011111101101001101111110010000001101001110101111110111000101001111110011101011100101111100010111111101000101001"
  3353. "1111111101010100011011010000010000101011110111100001110100111011111010001110111001000100001101110011001111001111001010010101111011110000110100111001111001000111011100100011110110100001110111111101000101001"
  3354. "1111111101010100011101000001101000111100000100010101011111100100011011111010111011110111100100110001101101101111000001010000010111100100110100001110001001000101111010000011110100000101000111111101000101001"
  3355. "1111111101010100010110110011110000111111010011000101001010111100000011001111110110010101011100011111101111101011100001011101010011111100110001111100100101100011111001001010110110000111100111111101000101001"
  3356. "1111111101010100010010011000011000110101110011110001111101111101001011110011110100100100010000100001001001011000001100010010001000100000110011011011000001111001000101111010110111000110000111111101000101001"
  3357. "1111111101010100011100101101000000101111101101111001110100000011010011110100100100000110000101110010001011110000101111011111001100101000101110100111110001000100000111101011110010100001000111111101000101001"
  3358. "1111111101010100011101101111110100111111000101101001110011110010111011011111101100010101111100110000101011110100000010011111101000011010110110010011110001111110100011001010110010111000000111111101000101001"
  3359. "1111111101010100011011001101100000111011000010011001101001000011000010000101100000110110100010110000001101110111100111011100011101100110111011101100110001110010111011111011110010001011110111111101000101001"
  3360. },
  3361. /*172*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "[)>\03601\0350285040\035840\03501\035D10011060813097\035EMSY\03537\03562\035\0351/1\0353LB\035N\0354440 E ELWOOD ST\035PHOENIX\035AZ\035CXXXXXX RXXX\03606\0353Z01\03511ZONTRAC - CXXXXXX RXXX\03512Z\03514ZSTE 102\03515Z90210\03520Z2000\034U\0341288\03521Z1\03522Z0\03524Z1\0359KRef-12549\035\036\004", 0, 22, 205, 0, "MR #151 Ex. 5; BWIPP different encodation",
  3362. "1111111101010100011101010001110000111001011001111001000001000010001010010100001000000100001000110110001000101000001000010001000011101110100100010000001001010111101111000011101010001110000111111101000101001"
  3363. "1111111101010100011111010100001100101111110100110001111010100000010011110111001110010111100001000100101101111110101110011010111100011000110111110010111101110010111101110011111101010001110111111101000101001"
  3364. "1111111101010100011101010001111110111111010011101101011100110001110011010010111110000101011100011111101111101001110100010000111100010100110110101111000001101111000010110011010100001111100111111101000101001"
  3365. "1111111101010100011111010010111110110001100010010001000100110110000010011001111001110110001110001101001101001101110000011010010000011000111100010010111101101100010010000011111010010111110111111101000101001"
  3366. "1111111101010100011101011100000110111001000110010001111010011000110011100011001110100111001011110111001110001011100110010001011111000110110101111000110001100000100111010011101011100001100111111101000101001"
  3367. "1111111101010100011101011111010000110111111011010001001110010011000011000101000111110101000000101111001000011000010111011001001111110010110110010111100001110111010001111011101011111001000111111101000101001"
  3368. "1111111101010100010100111101111000100001100011001001000011011110111010100001100001100100000101000100001100101001100000011010000010001100110011101100001001001101110001100010100111101111000111111101000101001"
  3369. "1111111101010100011110100100100000101111000101111001100010001111011010111111001000110111110101110111101111000101001000010010000111100010111100100001010001000110111110100011111010010110000111111101000101001"
  3370. "1111111101010100010100110000111110100111111001110101010111000111111011111010111001000100111111001110101010111000111111011101001111110110101111101110011001011111011100110011111101001110110111111101000101001"
  3371. "1111111101010100011010001110011110111011110110010001000100001000010011101111011010000110001110001101001110100110111100010111001110010000111100110100111001001000111011100011010001110011110111111101000101001"
  3372. "1111111101010100011101001110000110110010111000010001111101001101110011000010111100110111010000110100001100101110010000010111001001111100101111110101100001111001000001001011101001110001100111111101000101001"
  3373. "1111111101010100011010001101111110110111100010110001010100111100000011000111100100110100011001000111001110100111111011010111110111001100101111101110011001000011000010111010100011001111100111111101000101001"
  3374. "1111111101010100010100000100100000100010000100001001110111101101000010000010000100010101001000000100001100000100100110011000111001100010101001000010000001110000110100011010100000100100000111111101000101001"
  3375. "1111111101010100011110100010000010101011110000010001011111101011000011111100111001010111100010001000101100000101110100011010111001000000111010011000000101011111100100011011111010001000110111111101000101001"
  3376. "1111111101010100010100000010111100101011100011111101111010111100010010000001101001110110111111001101001010100111100000011111010111000010100111111001110101010111000111111010010101111000000111111101000101001"
  3377. "1111111101010100011110010110111110101001110111000001000111011100100010011110111101000111010110111100001110010000100111011000111000110100110100100000110001000100111101111011110010110111110111111101000101001"
  3378. "1111111101010100010100011111001100111011011100010001000100000111101011101011111011110111010011100110001101011100010000011001110101111110111111000110101101110110111010000010100011111011000111111101000101001"
  3379. "1111111101010100011110010111100100101001011110000001001111100110100010001111011000110100110000100011101110010111110010011010011111100100111101000011110101001111011100111011100101111101000111111101000101001"
  3380. "1111111101010100011110110100001110100010001100110001101111001110010010000110001100100101100011100011001000001011000011011111011010111100100010001101100001010011100011100011110110100001110111111101000101001"
  3381. "1111111101010100011111010000010110111101000100000101101111110101110011111010111011110110101110010000001111110101001110010111111010110000101111110101100001011111101011000010100001111100110111111101000101001"
  3382. "1111111101010100010110110011110000101110001000001101101000100011111010011111011101100110110110011111001000000110100111011000011101001110110011110010110001010011000011111011001001000111110111111101000101001"
  3383. "1111111101010100010110111000110000110111000110001001110001110100010011011000110000110111011000100110001000110001100100010100110001100000110011100110100001100000100110111010110111000110000111111101000101001"
  3384. },
  3385. /*173*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "01\01130\011{)>\01194\011GSA/XE 7\0110200\01502\01107072017\0111Z291YX2AT50000027\01111\011P\011\0113\01110.0\011KGS\011\011\011F/D\011415.52\011USD\011\011\011\011US\011EFTA\011U\011\011\011\011\0112\01504\011SH\011PHILIPS HEALTHCARE\011ROERMOND\011\0116045GH \011NL\011291YX2\011MARIE CURIEWEG 20\011\011\011NL009076840B01\011PHS EMEA TOMS\011310475528727\011\011\011\01504\011ST\011PHILIPS MEDICAL SYSTEMS\011LOUISVILLE\011KY\01140219 \011US\011\0111920 OUTER LOOP DRIVE\011\011\011\011C/O UPS-SPS. DOCK 157\011\011\011\011\01505\011GSI\011MEDICAL EQUIPMENT\01507\0111Z291YX2AT50000027\01110.0\011\011\011\011\011\011\011\011\011\011\011\01508\0112\011EA\011103.88\011FILTER 603Y0066\011JP\011\011\011\011\011\011451213341491\01508\0112\011EA\011103.88\011FILTER 603Y0066\011JP\011\011\011\011\011\011451213341491\01513\011\011\011\0114509123000\0112\011415.52\011415.52\01599\015", 0, 32, 256, 0, "MR #151 Ex. 6; BWIPP different encodation",
  3386. "1111111101010100011010100000110000101100011110111001000011011100110011101001000111000101000110001100001110011010110000010111100011110010111010001011100001100001100011011010010001110111000110011010010000001110110110011100011010100000110000111111101000101001"
  3387. "1111111101010100011110101101100000111110101110111101100110011110010011010001110000100110000010001110101110110011101000011010111110001110111110101000001101111010100100000011101100111010000111100101010000001111110010101110011110101000001000111111101000101001"
  3388. "1111111101010100010101000001111000111010101111110001011001011100000010100100000111100100000110010011101111110100111011010100100000111100111011111000101101000011100001011010011111001100010100111000010011001111110010111011011010110111111000111111101000101001"
  3389. "1111111101010100011110100100111100111010101110000001110101011100000010100111101111000100010100010000001110100100011100011000111011000100111000011001001101110001010001110010001010001000000111101011001111101101011011100000011110100100111100111111101000101001"
  3390. "1111111101010100011110101111011110100000100011110101101000001110010010001110111111010111001000111001101110000110011101010000001001111010101001111100001101111011001110011011110101110001110111100010011011001111010010001000011010111000000100111111101000101001"
  3391. "1111111101010100011110101111100110110111111000110101011110110000011010001111000010100101110110011100001001100110001111010111100000100010110001111101010001010000010001111010011100010110000110001111101010001000011010011100011010111111010000111111101000101001"
  3392. "1111111101010100010100111100011110110001011001110001100010110011100011000101000110000110110000100000101010000010000100010000010001010000111011001000110001100010110001110010010011000011000110110000110011001011101110100000010100111100011110111111101000101001"
  3393. "1111111101010100011111010010001100110011100111110101010011111100111011111001000101100111111001010111001111010110011000011010001111011000110110011110000101001000011110001011100010011000010111100100000100101010011111000011011111010010011000111111101000101001"
  3394. "1111111101010100010100111011111100101110110011100001011010000001110010100000100011110111011111100101001011001101111000011000111100101100110001111101010001011100100001100010001111000010100111111010011101101010010000011110011111010011100010111111101000101001"
  3395. "1111111101010100011010000101100000101111011110100001000011011100011011001101001000000111000101001110001101110011000010011001010011000000101000100001000001101110011000010010100000010000010111010000010111001000001010001000011010000101100000111111101000101001"
  3396. "1111111101010100011010011110110000110101111100011101110010001110011010010001111101100111110110001101101111100011101101011111010100001100111111010100011101111010000010100010100111111001110111100000100010101111100011101101011010011100000100111111101000101001"
  3397. "1111111101010100010100011000111110111010111110000101011111100111010010110010001110000110001111010011001101110100000111011111101011100110100111000110011101001100100000111010001111000010100101000100011110001110101001111110011111010001110010111111101000101001"
  3398. "1111111101010100010100000100010000110110111001110001001010000100000011110010001011110101001111011110001100010110011100010001011001100000111101010011110001100110100100000011100110000100110111001111011001001110011001000011010100000100010000111111101000101001"
  3399. "1111111101010100011101000110010000111001011110011101100101111000011010111011001111110111101100111001101101001110000100011010111110001110111100100010000101111101110110010010011001011111100111110100011011101111100010001011011101000110100000111111101000101001"
  3400. "1111111101010100011001010111110000110011001001111001011100001011000011011000101111000111000111010111101111110011011101011111001011101000100110010011100001011111000110100011011101000001110101010011110000001110101111100100011001010011111000111111101000101001"
  3401. "1111111101010100011100101100111100100000101001000001000001010010000011001101001000000111100011010111001110000110010011010001010001000000100100011000011001110101110011111011100011101100110110001101001000001010000011000110011100101100111100111111101000101001"
  3402. "1111111101010100011111010000101100100111001111110101111011000011001011100010111001100111001110011110101111000100110011011000100001110100100011101111110101110010001110011010010001111101100111010011000000101110001000110001010100011111000110111111101000101001"
  3403. "1111111101010100011110010111110110111001111101011001110000101111101010000111100101000100011000110111101011110010000010010111101100110000100011110001101101101110001011100011001101000011110101111110111000101111001011110010011001011111101000111111101000101001"
  3404. "1111111101010100011001001011000000110001011001110001100010110011100011011000010000010110010110001110001110001110100100010111001111101110111001111011001001000101000010000010100011100011100101001110111000001100010101100000011001001011000000111111101000101001"
  3405. "1111111101010100011110100000110110111101000110001101000100011111011011110001010000010111010001100100001000100011110100010010011110000010111001011010000001101011111001110011110001100011010111101001001000001101011111001110011110100000100100111111101000101001"
  3406. "1111111101010100010110110001111000111011111000101101000011100001011010011111001100010100111000010011001111110010111011011010101111100000110101011111000001010011000011111010111010000110000111111010110001001010110111110000010010010000011110111111101000101001"
  3407. "1111111101010100010010011101110000110001011001110001100010110011100011000101100111000110001011001110001100010110011100011011000010000010100100010001000001110100010111000010000110111101110110101110001111001000101000100000010010011101110000111111101000101001"
  3408. "1111111101010100011110010110110000111110101001100001111000100110011010010111100010000111000011001110101110010111100111011110001000100010100110111110100001100000101110100010100001111010000101001111100001101110001100111001011110010100000100111111101000101001"
  3409. "1111111101010100011001001111110100110101011111000001100100100111110010011001100011110101100000101110001000111100001010010111011001110000101110110011100001101110100000111010010111011111100110100110111111001010001000011110011011001011110000111111101000101001"
  3410. "1111111101010100011100100010011100101000011000001101110100000100111011010010001100000110101000011000001100010100011000011001101001000000101000011000011001110000110010011011010111101111100110100001000110001101100110110000011100100010011100111111101000101001"
  3411. "1111111101010100011001011110001100100100011111011001101000111110111011111001000101100111010001100001001110000010110010011100011101111010111110101001100001011111010000111011111000111011010111110101000110001110100000110100011001011110011000111111101000101001"
  3412. "1111111101010100011111001000111010110111111001101001000110100000111010111011001110000101110110011100001011101100111000010100000100011110111110101111011001111010111100100010100010000011110111110101111001101001000010001111011110110011111010111111101000101001"
  3413. "1111111101010100010110011110001110100100000101000001111010000101111011000101100111000100010100001000001110010100011100010110011100011000101001110011100001110101011100000011010110111000000111010001011100001010000110000011010110011110001110111111101000101001"
  3414. "1111111101010100011111011011001100111101000010000101101000111100110011110110011100110111101011100011101111000100110110011111101001001110111101101101000001111001000110110010111111010110000101111110101100001011111101011000011110010010010000111111101000101001"
  3415. "1111111101010100010110000100001110110001111100100101001111011000011010000010100111100101111000010100001001111110111001011011110100011000111110101110010001110000101111101011001111101000010100100111011111101001111100001101010010000010011110111111101000101001"
  3416. "1111111101010100010010000110110000100100001101100001010000001010000011011001000100000101001110111000001000101000100000011001011011100000110101110111100001000001010000010010000010011101110110011110111010001110111101110011010010000110110000111111101000101001"
  3417. "1111111101010100011011011110001000100100001111001001111000100001010011111100110101100101011111100011101000001011110010011101000011000010101110011111101001011101111110001011100110001110010100110101111110001111110100010111011011011110010000111111101000101001"
  3418. },
  3419. /*174*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "01\01130\011{)>\01194\011GSA/XE 7\0110200\01502\01107072017\0111Z291YX2AT50000027\01111\011P\011\0113\01110.0\011KGS\011\011\011F/D\011415.52\011USD\011\011\011\011US\011EFTA\011U\011\011\011\011\0112\01504\011SH\011PHILIPS HEALTHCARE\011ROERMOND\011\0116045GH \011NL\011291YX2\011MARIE CURIEWEG 20\011\011\011NL009076840B01\011PHS EMEA TOMS\011310475528727\011\011\011\01504\011ST\011PHILIPS MEDICAL SYSTEMS\011LOUISVILLE\011KY\01140219 \011US\011\0111920 OUTER LOOP DRIVE\011\011\011\011C/O UPS-SPS. DOCK 157\011\011\011\011\01505\011GSI\011MEDICAL EQUIPMENT\01507\0111Z291YX2AT50000027\01110.0\011\011\011\011\011\011\011\011\011\011\011\01508\0112\011EA\011103.88\011FILTER 603Y0066\011JP\011\011\011\011\011\011451213341491\01508\0112\011EA\011103.88\011FILTER 603Y0066\011JP\011\011\011\011\011\011451213341491\01513\011\011\011\0114509123000\0112\011415.52\011415.52\01599\015", 0, 32, 256, 0, "MR #151 Ex. 6; BWIPP different encodation",
  3420. "1111111101010100011010100000110000101100011110111001000011011100110011101001000111000101000110001100001110011010011000010000010100001000100011000110000101110100010111000010010001110111000110011010010000001110110110011100011010100000110000111111101000101001"
  3421. "1111111101010100011110101101100000111110101110111101100110011110010011010001110000100110000010001110101110110011101000011010111110001110111110101000001101111010100100000011101100111010000111100101010000001111110010101110011110101000001000111111101000101001"
  3422. "1111111101010100010101000001111000111010101111110001011001011100000010100100000111100100000110010011101111110100111011010100100000111100111011111000101101000011100001011010011111001100010100111000010011001111110010111011011010110111111000111111101000101001"
  3423. "1111111101010100011110100100111100111010101110000001110101011100000010100111101111000100010100010000001110100100011100011000111011000100111000011001001101110001010001110010001010001000000111101011001111101101011011100000011110100100111100111111101000101001"
  3424. "1111111101010100011110101111011110100000100011110101101000001110010010001110111111010111001000111001101110000110011101010000001001111010101001111100001101111011001110011011110101110001110111100010011011001111010010001000011010111000000100111111101000101001"
  3425. "1111111101010100011110101111100110110111111000110101011110110000011010001111000010100101110110011100001001100110001111010111100000100010110001111101010001010000010001111010011100010110000110001111101010001000011010011100011010111111010000111111101000101001"
  3426. "1111111101010100010100111100011110110001011001110001100010110011100011000101000110000110110000100000101010000010000100010000010001010000111011001000110001100010110001110010010011000011000110110000110011001011101110100000010100111100011110111111101000101001"
  3427. "1111111101010100011111010010001100110011100111110101010011111100111011111001000101100111111001010111001111010110011000011010001111011000110110011110000101001000011110001011100010011000010111100100000100101010011111000011011111010010011000111111101000101001"
  3428. "1111111101010100010100111011111100101110110011100001011010000001110010100000100011110111011111100101001011001101111000011000111100101100110001111101010001011100100001100010001111000010100111111010011101101010010000011110011111010011100010111111101000101001"
  3429. "1111111101010100011010000101100000101111011110100001000011011100011011001101001000000111000101001110001101110011000010011001010011000000101000100001000001101110011000010010100000010000010111010000010111001000001010001000011010000101100000111111101000101001"
  3430. "1111111101010100011010011110110000110101111100011101110010001110011010010001111101100111110110001101101111100011101101011111010100001100111111010100011101111010000010100010100111111001110111100000100010101111100011101101011010011100000100111111101000101001"
  3431. "1111111101010100010100011000111110111010111110000101011111100111010010110010001110000110001111010011001101110100000111011111101011100110100111000110011101001100100000111010001111000010100101000100011110001110101001111110011111010001110010111111101000101001"
  3432. "1111111101010100010100000100010000110110111001110001001010000100000011110010001011110101001111011110001100010110011100010001011001100000111101010011110001100110100100000011100110000100110111001111011001001110011001000011010100000100010000111111101000101001"
  3433. "1111111101010100011101000110010000111001011110011101100101111000011010111011001111110111101100111001101101001110000100011010111110001110111100100010000101111101110110010010011001011111100111110100011011101111100010001011011101000110100000111111101000101001"
  3434. "1111111101010100011001010111110000110011001001111001011100001011000011011000101111000111000111010111101111110011011101011111001011101000100110010011100001011111000110100011011101000001110101010011110000001110101111100100011001010011111000111111101000101001"
  3435. "1111111101010100011100101100111100100000101001000001000001010010000011001101001000000111100011010111001110000110010011010001010001000000100100011000011001110101110011111011100011101100110110001101001000001010000011000110011100101100111100111111101000101001"
  3436. "1111111101010100011111010000101100100111001111110101111011000011001011100010111001100111001110011110101111000100110011011000100001110100100011101111110101110010001110011010010001111101100111010011000000101110001000110001010100011111000110111111101000101001"
  3437. "1111111101010100011110010111110110111001111101011001110000101111101010000111100101000100011000110111101011110010000001010111101100110000111101000111101001010011101111110011001111101101100111101011110001001011001011100000011001011111101000111111101000101001"
  3438. "1111111101010100011001001011000000110001011001110001000101100110000011111010100111110110011010010000001110110110011100011011001110011100110001011001110001010000111000111011101100100001100101010000001000001001110001110100011001001011000000111111101000101001"
  3439. "1111111101010100011110100000110110100110100111111001100101111000011011110110011100110111011000111001001000011001111101011111101010001110111001000110010001001111001011110011110000110011010111110110100010001011111010000111011110100000100100111111101000101001"
  3440. "1111111101010100010110110001111000100111100111011101110100010111111011010110001111110101111110111101101101010111110000011010101111100000101010011110000001011001011100000011111010111000010100001000101111001011101100111000010010010000011110111111101000101001"
  3441. "1111111101010100010010011101110000110001011001110001100010110011100011000101100111000110001011001110001000101100110000011010100001100000110001010001100001100110100100000010100001100001100111000011001001101101011110111110010010011101110000111111101000101001"
  3442. "1111111101010100011110010110110000111010011110011101110010111101110010010001111101100110100011111011101111100100010110011101000110000100111000001011001001110001110111101011111010100110000101111101000011101111100011101101011110010100000100111111101000101001"
  3443. "1111111101010100011001001111110100110101000111110001011011000011110011011111100110100100011010000011101011101100111000010111011001110000101110110011100001010000010001111011111010111101100111101011110010001010001000001111011011001011110000111111101000101001"
  3444. "1111111101010100011100100010011100111110101111110101011001110001100011011000010000010100100010001000001110100010111000010000110111101110110101110001111001000101000100000011101010011100000110111001100001001001000100010000011100100010011100111111101000101001"
  3445. "1111111101010100011001011110001100111000011001110101110010111100111011110001000100010100110111110100001100000101110100010100001111010000101001111100001101110001100111001011111010101100000101000011111011001001000111110110011001011110011000111111101000101001"
  3446. "1111111101010100011111001000111010101100000101110001000111100001010010111011001110000101110110011100001101110100000111010010111011111100110100110111111001010001000011110011101000011111010100101011110000001110101111100010011110110011111010111111101000101001"
  3447. "1111111101010100010110011110001110101011111011111001100010110011100011000101100111000110100000101100001010100000100000011010111100111110101000110001100001110101011100000011000101000110000100010100001000001110100101110000010110011110001110111111101000101001"
  3448. "1111111101010100011111011011001100111100010011011001111010010001000011110100010100000111101000010000101101000111100110011111011001010000111111011011011101011111101011000010111111010110000101111110101100001011111101011000011110010010010000111111101000101001"
  3449. "1111111101010100010110000100001110110001111100100101100011111001010010011001000001110110001111101000101001100011011110010001111010100000100111100110110001100011010001111010000111001011000100011110001000101110111110101100010010000010011110111111101000101001"
  3450. "1111111101010100010010000110110000100001001000010001010100000100000011001110110000010111010101110000001110000110100011010110011000100000100100000010010001110011001011000011011000011001100101110011110110001011001111000111010010000110110000111111101000101001"
  3451. "1111111101010100011011011110001000111011100111101001010001111000001011101101110001000101111101100111101000110100111111011110001101100100101100111110000101111010000001001011100100011101100111100100001101101110000101100010011011011110010000111111101000101001"
  3452. },
  3453. /*175*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC123456789ABC", 0, 9, 103, 1, "T3 N9 T3 -> T15",
  3454. "1111111101010100011111010101111100110101000001100001111010101111000011110101011110000111111101000101001"
  3455. "1111111101010100011110101000010000111010011000001001111010111001110011110101001000000111111101000101001"
  3456. "1111111101010100011101010111111000101000100000111101111100101111011010101000011110000111111101000101001"
  3457. "1111111101010100011010111100111110100100110000110001001000010010000010101111001111000111111101000101001"
  3458. "1111111101010100011010111000001000111111010101110001110100110000001011110101110011100111111101000101001"
  3459. "1111111101010100011110101111010000100111101001000001110110001011111011110101111101100111111101000101001"
  3460. "1111111101010100011101001110111110110111000110010001100110001001000011010011101111000111111101000101001"
  3461. "1111111101010100011111101001011100100100111110110001110110000111010010101111110111000111111101000101001"
  3462. "1111111101010100011010011011111100101111100110010001011110010100000011111010011101000111111101000101001"
  3463. },
  3464. /*176*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABC123456789ABC", 0, 9, 103, 1, "T3 N9 T3 -> T15",
  3465. "1111111101010100011111010101111100110101000001100001111010101111000011110101011110000111111101000101001"
  3466. "1111111101010100011110101000010000111010011000001001111010111001110011110101001000000111111101000101001"
  3467. "1111111101010100011101010111111000101000100000111101111100101111011010101000011110000111111101000101001"
  3468. "1111111101010100011010111100111110100100110000110001001000010010000010101111001111000111111101000101001"
  3469. "1111111101010100011010111000001000111111010101110001110100110000001011110101110011100111111101000101001"
  3470. "1111111101010100011110101111010000100111101001000001110110001011111011110101111101100111111101000101001"
  3471. "1111111101010100011101001110111110110111000110010001100110001001000011010011101111000111111101000101001"
  3472. "1111111101010100011111101001011100100100111110110001110110000111010010101111110111000111111101000101001"
  3473. "1111111101010100011010011011111100101111100110010001011110010100000011111010011101000111111101000101001"
  3474. },
  3475. /*177*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC1234567890ABC", 0, 9, 103, 1, "T3 N10 T3 -> T16",
  3476. "1111111101010100011111010101111100110101000001100001111010101111000011110101011110000111111101000101001"
  3477. "1111111101010100011110101000010000111010011000001001111010111001110011110101001000000111111101000101001"
  3478. "1111111101010100011101010111111000101000100000111101111100101111011010101000011110000111111101000101001"
  3479. "1111111101010100011010111100111110100100110000110001100100011000111010101111001111000111111101000101001"
  3480. "1111111101010100011010111000001000111110001110110101111010111001110011110101110011100111111101000101001"
  3481. "1111111101010100011110101111010000111011111101000101010011100111111011110101111101100111111101000101001"
  3482. "1111111101010100011101001110111110100001011011000001001000001101100011010011101111000111111101000101001"
  3483. "1111111101010100011111101001011100110100011111011101110000010111011010101111110111000111111101000101001"
  3484. "1111111101010100011010011011111100110001001111110101000111100001001011111010011101000111111101000101001"
  3485. },
  3486. /*178*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABC1234567890ABC", 0, 9, 103, 1, "T3 N10 T3 -> T16",
  3487. "1111111101010100011111010101111100110101000001100001111010101111000011110101011110000111111101000101001"
  3488. "1111111101010100011110101000010000111010011000001001111010111001110011110101001000000111111101000101001"
  3489. "1111111101010100011101010111111000101000100000111101111100101111011010101000011110000111111101000101001"
  3490. "1111111101010100011010111100111110100100110000110001100100011000111010101111001111000111111101000101001"
  3491. "1111111101010100011010111000001000111110001110110101111010111001110011110101110011100111111101000101001"
  3492. "1111111101010100011110101111010000111011111101000101010011100111111011110101111101100111111101000101001"
  3493. "1111111101010100011101001110111110100001011011000001001000001101100011010011101111000111111101000101001"
  3494. "1111111101010100011111101001011100110100011111011101110000010111011010101111110111000111111101000101001"
  3495. "1111111101010100011010011011111100110001001111110101000111100001001011111010011101000111111101000101001"
  3496. },
  3497. /*179*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC12345678901ABC", 0, 10, 103, 0, "T3 N11 T3; BWIPP -> T17",
  3498. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3499. "1111111101010100011111010100011000111010011000000101011111101001100011111010100110000111111101000101001"
  3500. "1111111101010100011101010111111000111110010111000101111110100011001011010100011111000111111101000101001"
  3501. "1111111101010100010101111101111100110010000010110001110100001011100010101111001111000111111101000101001"
  3502. "1111111101010100011010111000010000101111110101100001111110101011100011010111000100000111111101000101001"
  3503. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3504. "1111111101010100010100111001110000101000011000001101000100111011100011010011101111000111111101000101001"
  3505. "1111111101010100011110100101000000100110111110100001111100011010100011010111111011110111111101000101001"
  3506. "1111111101010100011010011011111100100111000101100001100110100111100010100110001111100111111101000101001"
  3507. "1111111101010100010100011000001100110111011000100001000110001100001011010001100011100111111101000101001"
  3508. },
  3509. /*180*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABC12345678901ABC", 0, 10, 103, 0, "T3 N11 T3; BWIPP -> T17",
  3510. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3511. "1111111101010100011111010100011000111010011000001001111010111001110011111010100110000111111101000101001"
  3512. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3513. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3514. "1111111101010100011010111000010000110101111100111001111110101011100011010111000100000111111101000101001"
  3515. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3516. "1111111101010100010100111001110000110001110011010001110001110110110011010011101111000111111101000101001"
  3517. "1111111101010100011110100101000000110001011100010001000111001011111011010111111011110111111101000101001"
  3518. "1111111101010100011010011011111100110111010111000001011100100000011010100110001111100111111101000101001"
  3519. "1111111101010100010100011000001100100010000111011101110010010011100011010001100011100111111101000101001"
  3520. },
  3521. /*181*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "AB+12345678901ABC", 0, 10, 103, 0, "T3 N11 T3; BWIPP -> T17",
  3522. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3523. "1111111101010100011111010100011000110111110101111001011111101001100011111010100110000111111101000101001"
  3524. "1111111101010100011101010111111000111110010111000101111110100011001011010100011111000111111101000101001"
  3525. "1111111101010100010101111101111100110010000010110001110100001011100010101111001111000111111101000101001"
  3526. "1111111101010100011010111000010000101111110101100001111110101011100011010111000100000111111101000101001"
  3527. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3528. "1111111101010100010100111001110000110001000010001101111010100111100011010011101111000111111101000101001"
  3529. "1111111101010100011110100101000000111101101101000001110001000011010011010111111011110111111101000101001"
  3530. "1111111101010100011010011011111100101000010001111001101111000101100010100110001111100111111101000101001"
  3531. "1111111101010100010100011000001100101100011100001101101100100010000011010001100011100111111101000101001"
  3532. },
  3533. /*182*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "AB+12345678901ABC", 0, 10, 103, 1, "T3 N11 T3",
  3534. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3535. "1111111101010100011111010100011000110111110101111001111010111001110011111010100110000111111101000101001"
  3536. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3537. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3538. "1111111101010100011010111000010000110101111100111001111110101011100011010111000100000111111101000101001"
  3539. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3540. "1111111101010100010100111001110000100011011010000001001001110111000011010011101111000111111101000101001"
  3541. "1111111101010100011110100101000000111110000110010101111100110001001011010111111011110111111101000101001"
  3542. "1111111101010100011010011011111100111101011111001101011110001010000010100110001111100111111101000101001"
  3543. "1111111101010100010100011000001100110011110111000101000100011011000011010001100011100111111101000101001"
  3544. },
  3545. /*183*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC12345678901+BC", 0, 10, 103, 1, "T3 N11 T3 -> T17",
  3546. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3547. "1111111101010100011111010100011000111010011000001001111010111001110011111010100110000111111101000101001"
  3548. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3549. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3550. "1111111101010100011010111000010000101011110000100001111000001000101011010111000100000111111101000101001"
  3551. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3552. "1111111101010100010100111001110000111000011010001101000110011010000011010011101111000111111101000101001"
  3553. "1111111101010100011110100101000000100110101111110001100000010111010011010111111011110111111101000101001"
  3554. "1111111101010100011010011011111100111110101110001001011110001010000010100110001111100111111101000101001"
  3555. "1111111101010100010100011000001100110001011000111001101011000111000011010001100011100111111101000101001"
  3556. },
  3557. /*184*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABC12345678901+BC", 0, 10, 103, 1, "T3 N11 T3 -> T17",
  3558. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3559. "1111111101010100011111010100011000111010011000001001111010111001110011111010100110000111111101000101001"
  3560. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3561. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3562. "1111111101010100011010111000010000101011110000100001111000001000101011010111000100000111111101000101001"
  3563. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3564. "1111111101010100010100111001110000111000011010001101000110011010000011010011101111000111111101000101001"
  3565. "1111111101010100011110100101000000100110101111110001100000010111010011010111111011110111111101000101001"
  3566. "1111111101010100011010011011111100111110101110001001011110001010000010100110001111100111111101000101001"
  3567. "1111111101010100010100011000001100110001011000111001101011000111000011010001100011100111111101000101001"
  3568. },
  3569. /*185*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "AB+12345678901+BC", 0, 10, 103, 1, "T3 N11 T3 -> T17",
  3570. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3571. "1111111101010100011111010100011000110111110101111001111010111001110011111010100110000111111101000101001"
  3572. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3573. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3574. "1111111101010100011010111000010000101011110000100001111000001000101011010111000100000111111101000101001"
  3575. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3576. "1111111101010100010100111001110000110011000010000101010010000001000011010011101111000111111101000101001"
  3577. "1111111101010100011110100101000000101111101011100001000100001111001011010111111011110111111101000101001"
  3578. "1111111101010100011010011011111100100001100101110001000000100101111010100110001111100111111101000101001"
  3579. "1111111101010100010100011000001100111000110001011001001000010000100011010001100011100111111101000101001"
  3580. },
  3581. /*186*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "AB+12345678901+BC", 0, 10, 103, 1, "T3 N11 T3 -> T17",
  3582. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3583. "1111111101010100011111010100011000110111110101111001111010111001110011111010100110000111111101000101001"
  3584. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3585. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3586. "1111111101010100011010111000010000101011110000100001111000001000101011010111000100000111111101000101001"
  3587. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3588. "1111111101010100010100111001110000110011000010000101010010000001000011010011101111000111111101000101001"
  3589. "1111111101010100011110100101000000101111101011100001000100001111001011010111111011110111111101000101001"
  3590. "1111111101010100011010011011111100100001100101110001000000100101111010100110001111100111111101000101001"
  3591. "1111111101010100010100011000001100111000110001011001001000010000100011010001100011100111111101000101001"
  3592. },
  3593. /*187*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC123456789012ABC", 0, 10, 103, 1, "T3 N12 T3 -> T18",
  3594. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3595. "1111111101010100011111010100011000111010011000001001111010111001110011111010100110000111111101000101001"
  3596. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3597. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3598. "1111111101010100011010111000010000111101011100111001111100011101101011010111000100000111111101000101001"
  3599. "1111111101010100011110101111010000111110101111011001100011111001001011110101111000010111111101000101001"
  3600. "1111111101010100010100111001110000110100001001100001011000011100110011010011101111000111111101000101001"
  3601. "1111111101010100011110100101000000110000011011110101000100011111011011010111111011110111111101000101001"
  3602. "1111111101010100011010011011111100110011101000111001100011110001011010100110001111100111111101000101001"
  3603. "1111111101010100010100011000001100101000110110000001001001111001111011010001100011100111111101000101001"
  3604. },
  3605. /*188*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABC123456789012ABC", 0, 10, 103, 1, "T3 N12 T3 -> T18",
  3606. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3607. "1111111101010100011111010100011000111010011000001001111010111001110011111010100110000111111101000101001"
  3608. "1111111101010100011101010111111000101000100000111101111100101111011011010100011111000111111101000101001"
  3609. "1111111101010100010101111101111100100100110000110001100100011000111010101111001111000111111101000101001"
  3610. "1111111101010100011010111000010000111101011100111001111100011101101011010111000100000111111101000101001"
  3611. "1111111101010100011110101111010000111110101111011001100011111001001011110101111000010111111101000101001"
  3612. "1111111101010100010100111001110000110100001001100001011000011100110011010011101111000111111101000101001"
  3613. "1111111101010100011110100101000000110000011011110101000100011111011011010111111011110111111101000101001"
  3614. "1111111101010100011010011011111100110011101000111001100011110001011010100110001111100111111101000101001"
  3615. "1111111101010100010100011000001100101000110110000001001001111001111011010001100011100111111101000101001"
  3616. },
  3617. /*189*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD123456789ABC", 0, 9, 103, 1, "T4 N9 T3 -> T16",
  3618. "1111111101010100011111010101111100110101000001100001111010101111000011110101011110000111111101000101001"
  3619. "1111111101010100011110101000010000110101111110111101111000001000101011110101001000000111111101000101001"
  3620. "1111111101010100011101010111111000101001100111110001010000010001111010101000011110000111111101000101001"
  3621. "1111111101010100011010111100111110111101101000011101100100010011000010101111001111000111111101000101001"
  3622. "1111111101010100011010111000001000111110001110110101111010111001110011110101110011100111111101000101001"
  3623. "1111111101010100011110101111010000110011111010010001110100111110001011110101111101100111111101000101001"
  3624. "1111111101010100011101001110111110101110011100010001110010100011100011010011101111000111111101000101001"
  3625. "1111111101010100011111101001011100100010000111100101111001001100011010101111110111000111111101000101001"
  3626. "1111111101010100011010011011111100100100010111100001001001100011111011111010011101000111111101000101001"
  3627. },
  3628. /*190*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD123456789ABC", 0, 9, 103, 1, "T4 N9 T3 -> T16",
  3629. "1111111101010100011111010101111100110101000001100001111010101111000011110101011110000111111101000101001"
  3630. "1111111101010100011110101000010000110101111110111101111000001000101011110101001000000111111101000101001"
  3631. "1111111101010100011101010111111000101001100111110001010000010001111010101000011110000111111101000101001"
  3632. "1111111101010100011010111100111110111101101000011101100100010011000010101111001111000111111101000101001"
  3633. "1111111101010100011010111000001000111110001110110101111010111001110011110101110011100111111101000101001"
  3634. "1111111101010100011110101111010000110011111010010001110100111110001011110101111101100111111101000101001"
  3635. "1111111101010100011101001110111110101110011100010001110010100011100011010011101111000111111101000101001"
  3636. "1111111101010100011111101001011100100010000111100101111001001100011010101111110111000111111101000101001"
  3637. "1111111101010100011010011011111100100100010111100001001001100011111011111010011101000111111101000101001"
  3638. },
  3639. /*191*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD1234567890ABC", 0, 10, 103, 1, "T4 N10 T3 -> T17",
  3640. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3641. "1111111101010100011111010100011000110101111110111101111000001000101011111010100110000111111101000101001"
  3642. "1111111101010100011101010111111000101001100111110001010000010001111011010100011111000111111101000101001"
  3643. "1111111101010100010101111101111100111101101000011101100100010011000010101111001111000111111101000101001"
  3644. "1111111101010100011010111000010000111101011101110001111110101011100011010111000100000111111101000101001"
  3645. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3646. "1111111101010100010100111001110000101100001101000001100100000010110011010011101111000111111101000101001"
  3647. "1111111101010100011110100101000000100000100111100101011011111010000011010111111011110111111101000101001"
  3648. "1111111101010100011010011011111100100001111000100101110111010011110010100110001111100111111101000101001"
  3649. "1111111101010100010100011000001100110010110111000001011001111011100011010001100011100111111101000101001"
  3650. },
  3651. /*192*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD1234567890ABC", 0, 10, 103, 1, "T4 N10 T3 -> T17",
  3652. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3653. "1111111101010100011111010100011000110101111110111101111000001000101011111010100110000111111101000101001"
  3654. "1111111101010100011101010111111000101001100111110001010000010001111011010100011111000111111101000101001"
  3655. "1111111101010100010101111101111100111101101000011101100100010011000010101111001111000111111101000101001"
  3656. "1111111101010100011010111000010000111101011101110001111110101011100011010111000100000111111101000101001"
  3657. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3658. "1111111101010100010100111001110000101100001101000001100100000010110011010011101111000111111101000101001"
  3659. "1111111101010100011110100101000000100000100111100101011011111010000011010111111011110111111101000101001"
  3660. "1111111101010100011010011011111100100001111000100101110111010011110010100110001111100111111101000101001"
  3661. "1111111101010100010100011000001100110010110111000001011001111011100011010001100011100111111101000101001"
  3662. },
  3663. /*193*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD12345678901ABC", 0, 10, 103, 0, "T4 N11 T3; BWIPP -> T18",
  3664. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3665. "1111111101010100011111010100011000110101111110111101011111101001100011111010100110000111111101000101001"
  3666. "1111111101010100011101010111111000111110010111000101111110100011001011010100011111000111111101000101001"
  3667. "1111111101010100010101111101111100110010000010110001110100001011100010101111001111000111111101000101001"
  3668. "1111111101010100011010111000010000101111110101100001111110101011100011010111000100000111111101000101001"
  3669. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3670. "1111111101010100010100111001110000100011000110010001110110001001100011010011101111000111111101000101001"
  3671. "1111111101010100011110100101000000111001011101100001111101110011001011010111111011110111111101000101001"
  3672. "1111111101010100011010011011111100100111001000001101000111011011100010100110001111100111111101000101001"
  3673. "1111111101010100010100011000001100100011100111001001000100010010000011010001100011100111111101000101001"
  3674. },
  3675. /*194*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD12345678901ABC", 0, 10, 103, 0, "T4 N11 T3; BWIPP -> T18",
  3676. "1111111101010100011101010011100000110101101110000001111010101111000011110101011110000111111101000101001"
  3677. "1111111101010100011111010100011000110101111110111101011111101001100011111010100110000111111101000101001"
  3678. "1111111101010100011101010111111000111110010111000101111110100011001011010100011111000111111101000101001"
  3679. "1111111101010100010101111101111100110010000010110001110100001011100010101111001111000111111101000101001"
  3680. "1111111101010100011010111000010000101111110101100001111110101011100011010111000100000111111101000101001"
  3681. "1111111101010100011110101111010000101000100111100001100011111001001011110101111000010111111101000101001"
  3682. "1111111101010100010100111001110000100011000110010001110110001001100011010011101111000111111101000101001"
  3683. "1111111101010100011110100101000000111001011101100001111101110011001011010111111011110111111101000101001"
  3684. "1111111101010100011010011011111100100111001000001101000111011011100010100110001111100111111101000101001"
  3685. "1111111101010100010100011000001100100011100111001001000100010010000011010001100011100111111101000101001"
  3686. },
  3687. /*195*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD123456789012ABC", 0, 7, 120, 0, "T4 N12 T3; BWIPP -> T19",
  3688. "111111110101010001111101010111110011101011011110000111101010111100001010011100111000011111010101111100111111101000101001"
  3689. "111111110101010001111101010001100010111111010011000111111010101110001001100011111010011110101001000000111111101000101001"
  3690. "111111110101010001010100111100000011101001111110110100000101011110001010000100111100011010100011111000111111101000101001"
  3691. "111111110101010001101011110011111010000110001100100111101010111100001110100011001111011010111100111110111111101000101001"
  3692. "111111110101010001101011100001000010111111010110000111100100100100001100010111001000011110101110011100111111101000101001"
  3693. "111111110101010001111101011110110010110100011100000100011110010001001101111000010110011110101111000010111111101000101001"
  3694. "111111110101010001110100111011111010011100011101000110110001000000101001100111011000011101001110111110111111101000101001"
  3695. },
  3696. /*196*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD123456789012ABC", 0, 7, 120, 1, "T5 N11 T3 -> T19",
  3697. "111111110101010001111101010111110011101011011110000111101010111100001010011100111000011111010101111100111111101000101001"
  3698. "111111110101010001111101010001100011110000010001010110101111110111101111101000100110011110101001000000111111101000101001"
  3699. "111111110101010001010100111100000010110110011110000101100111001111101110101011111100011010100011111000111111101000101001"
  3700. "111111110101010001101011110011111011010001100111000111101010111100001110100011001111011010111100111110111111101000101001"
  3701. "111111110101010001101011100001000010111111010110000100111011011111101110110011101000011110101110011100111111101000101001"
  3702. "111111110101010001111101011110110011011000010011110100011110101000001011111001100010011110101111000010111111101000101001"
  3703. "111111110101010001110100111011111010100001101100000111001100110011101010001110011100011101001110111110111111101000101001"
  3704. },
  3705. /*197*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD\177FGH", 0, 9, 103, 1, "BYTE1",
  3706. "1111111101010100011111010101111100110101000001100001000001000010001011110101011110000111111101000101001"
  3707. "1111111101010100011110101000010000110100111100011001100100111100011011110101001000000111111101000101001"
  3708. "1111111101010100011101010111111000111001100101111101111110010110010010101000011110000111111101000101001"
  3709. "1111111101010100011010111100111110110011100011000101101000101100000010101111001111000111111101000101001"
  3710. "1111111101010100011010111000001000111101001000100001011111101011000011110101110011100111111101000101001"
  3711. "1111111101010100011110101111010000101111100111011001001000100111100011110101111101100111111101000101001"
  3712. "1111111101010100011101001110111110100011000110010001010000001000001011010011101111000111111101000101001"
  3713. "1111111101010100011111101001011100111000010011001001111000101100011010101111110111000111111101000101001"
  3714. "1111111101010100011010011011111100100111000001001101100110110011111011111010011101000111111101000101001"
  3715. },
  3716. /*198*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD\177FGH", 0, 8, 103, 0, "BYTE1; BWIPP same as FAST_MODE",
  3717. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3718. "1111111101010100011111101010001110110101111110111101011111100100011011110101001000000111111101000101001"
  3719. "1111111101010100011101010111111000101000000101111001111100101111011011101010001111110111111101000101001"
  3720. "1111111101010100011010111100111110111011001000110001000011000110010010101111001111000111111101000101001"
  3721. "1111111101010100011101011100001100101111101000111001011001111110110011110101110011100111111101000101001"
  3722. "1111111101010100011110101111010000100011100010110001111011111101011011101011111010000111111101000101001"
  3723. "1111111101010100011101001110111110100010010000010001101000011101111011010011101111000111111101000101001"
  3724. "1111111101010100011111010010110000101111000100111101001100111110100010101111110111000111111101000101001"
  3725. },
  3726. /*199*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC+\177FGH", 0, 9, 103, 1, "BYTE1",
  3727. "1111111101010100011111010101111100110101000001100001000001000010001011110101011110000111111101000101001"
  3728. "1111111101010100011110101000010000110100111100011001100100111100011011110101001000000111111101000101001"
  3729. "1111111101010100011101010111111000100110010111000001101000001011111010101000011110000111111101000101001"
  3730. "1111111101010100011010111100111110100010111011100001101000101100000010101111001111000111111101000101001"
  3731. "1111111101010100011010111000001000111101001000100001011111101011000011110101110011100111111101000101001"
  3732. "1111111101010100011110101111010000110001100101111001010000001011110011110101111101100111111101000101001"
  3733. "1111111101010100011101001110111110100001001100110001101100010000010011010011101111000111111101000101001"
  3734. "1111111101010100011111101001011100111010000111001101110010011000001010101111110111000111111101000101001"
  3735. "1111111101010100011010011011111100100111101100001101001110110011100011111010011101000111111101000101001"
  3736. },
  3737. /*200*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD\177FGH", 0, 8, 103, 0, "BYTE1; BWIPP same as FAST_MODE",
  3738. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3739. "1111111101010100011111101010001110110101111110111101011111100100011011110101001000000111111101000101001"
  3740. "1111111101010100011101010111111000101000000101111001111100101111011011101010001111110111111101000101001"
  3741. "1111111101010100011010111100111110111011001000110001000011000110010010101111001111000111111101000101001"
  3742. "1111111101010100011101011100001100101111101000111001011001111110110011110101110011100111111101000101001"
  3743. "1111111101010100011110101111010000100011100010110001111011111101011011101011111010000111111101000101001"
  3744. "1111111101010100011101001110111110100010010000010001101000011101111011010011101111000111111101000101001"
  3745. "1111111101010100011111010010110000101111000100111101001100111110100010101111110111000111111101000101001"
  3746. },
  3747. /*201*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABC+\177+GH", 0, 9, 103, 1, "BYTE1",
  3748. "1111111101010100011111010101111100110101000001100001000001000010001011110101011110000111111101000101001"
  3749. "1111111101010100011110101000010000110100111100011001100100111100011011110101001000000111111101000101001"
  3750. "1111111101010100011101010111111000100110010111000001101000001011111010101000011110000111111101000101001"
  3751. "1111111101010100011010111100111110110010000001011001101000101100000010101111001111000111111101000101001"
  3752. "1111111101010100011010111000001000111101001000100001011111101011000011110101110011100111111101000101001"
  3753. "1111111101010100011110101111010000110001111101010001010000010011110011110101111101100111111101000101001"
  3754. "1111111101010100011101001110111110111101000100111101101000110111000011010011101111000111111101000101001"
  3755. "1111111101010100011111101001011100110110001111001001110110111001000010101111110111000111111101000101001"
  3756. "1111111101010100011010011011111100110110001011110001000000100101111011111010011101000111111101000101001"
  3757. },
  3758. /*202*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABC+\177+GH", 0, 8, 103, 0, "BYTE1; BWIPP same as FAST_MODE",
  3759. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3760. "1111111101010100011111101010001110111010011000001001110011000111010011110101001000000111111101000101001"
  3761. "1111111101010100011101010111111000100111111001110101010000001011110011101010001111110111111101000101001"
  3762. "1111111101010100011010111100111110111000010010111001111011010000111010101111001111000111111101000101001"
  3763. "1111111101010100011101011100001100111100001000010101111011011000010011110101110011100111111101000101001"
  3764. "1111111101010100011110101111010000110100011011111101101001000011111011101011111010000111111101000101001"
  3765. "1111111101010100011101001110111110110010000100110001110001000100111011010011101111000111111101000101001"
  3766. "1111111101010100011111010010110000100101111000001001110001101110001010101111110111000111111101000101001"
  3767. },
  3768. /*203*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD+\177GH", 0, 8, 103, 0, "BYTE1; BWIPP different encodation (A5 B3)",
  3769. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3770. "1111111101010100011111101010001110110101111110111101101111101011110011110101001000000111111101000101001"
  3771. "1111111101010100011101010111111000100111111001110101010000001011110011101010001111110111111101000101001"
  3772. "1111111101010100011010111100111110111000111010010001110110010001100010101111001111000111111101000101001"
  3773. "1111111101010100011101011100001100111101111011110101111000010100001011110101110011100111111101000101001"
  3774. "1111111101010100011110101111010000101110001000011001100111110100001011101011111010000111111101000101001"
  3775. "1111111101010100011101001110111110101000010000010001100110100000100011010011101111000111111101000101001"
  3776. "1111111101010100011111010010110000111100010001101101001001111100110010101111110111000111111101000101001"
  3777. },
  3778. /*204*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD+\177GH", 0, 8, 103, 0, "BYTE1; BWIPP different encodation (A5 B3)",
  3779. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3780. "1111111101010100011111101010001110110101111110111101101111101011110011110101001000000111111101000101001"
  3781. "1111111101010100011101010111111000100111111001110101010000001011110011101010001111110111111101000101001"
  3782. "1111111101010100011010111100111110111000111010010001110110010001100010101111001111000111111101000101001"
  3783. "1111111101010100011101011100001100111101111011110101111000010100001011110101110011100111111101000101001"
  3784. "1111111101010100011110101111010000101110001000011001100111110100001011101011111010000111111101000101001"
  3785. "1111111101010100011101001110111110101000010000010001100110100000100011010011101111000111111101000101001"
  3786. "1111111101010100011111010010110000111100010001101101001001111100110010101111110111000111111101000101001"
  3787. },
  3788. /*205*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD\177+GH", 0, 9, 103, 1, "BYTE1",
  3789. "1111111101010100011111010101111100110101000001100001000001000010001011110101011110000111111101000101001"
  3790. "1111111101010100011110101000010000110100111100011001100100111100011011110101001000000111111101000101001"
  3791. "1111111101010100011101010111111000111001100101111101111110010110010010101000011110000111111101000101001"
  3792. "1111111101010100011010111100111110100001000011011001101000101100000010101111001111000111111101000101001"
  3793. "1111111101010100011010111000001000111101001000100001011111101011000011110101110011100111111101000101001"
  3794. "1111111101010100011110101111010000100100100001111001001000101111000011110101111101100111111101000101001"
  3795. "1111111101010100011101001110111110100101111011110001000001000100010011010011101111000111111101000101001"
  3796. "1111111101010100011111101001011100111010110010000001110001011010000010101111110111000111111101000101001"
  3797. "1111111101010100011010011011111100111111001001101001001110000100110011111010011101000111111101000101001"
  3798. },
  3799. /*206*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD\177+GH", 0, 8, 103, 0, "BYTE1; BWIPP same as FAST_MODE",
  3800. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3801. "1111111101010100011111101010001110110101111110111101011111100100011011110101001000000111111101000101001"
  3802. "1111111101010100011101010111111000101000000101111001101111110001101011101010001111110111111101000101001"
  3803. "1111111101010100011010111100111110111000111010010001110110010001100010101111001111000111111101000101001"
  3804. "1111111101010100011101011100001100110011000111101001111101110111011011110101110011100111111101000101001"
  3805. "1111111101010100011110101111010000110001111000101101001110100011000011101011111010000111111101000101001"
  3806. "1111111101010100011101001110111110110011001100001101010010000100000011010011101111000111111101000101001"
  3807. "1111111101010100011111010010110000110101111101110001100010001110010010101111110111000111111101000101001"
  3808. },
  3809. /*207*/ { BARCODE_PDF417, -1, UNICODE_MODE | FAST_MODE, -1, -1, -1, "ABCD+\177+GH", 0, 8, 103, 0, "BYTE1; BWIPP different encodation (A5 B4)",
  3810. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3811. "1111111101010100011111101010001110110101111110111101101111101011110011110101001000000111111101000101001"
  3812. "1111111101010100011101010111111000100111111001110101010000001011110011101010001111110111111101000101001"
  3813. "1111111101010100011010111100111110111000010010111001111011010000111010101111001111000111111101000101001"
  3814. "1111111101010100011101011100001100101001111000001001100100111100110011110101110011100111111101000101001"
  3815. "1111111101010100011110101111010000100011110100001001111010111100100011101011111010000111111101000101001"
  3816. "1111111101010100011101001110111110100000101100110001010011001100000011010011101111000111111101000101001"
  3817. "1111111101010100011111010010110000111101000001101101110101110000011010101111110111000111111101000101001"
  3818. },
  3819. /*208*/ { BARCODE_PDF417, -1, UNICODE_MODE, -1, -1, -1, "ABCD+\177+GH", 0, 8, 103, 0, "BYTE1; BWIPP different encodation (A5 B4)",
  3820. "1111111101010100011111010101111100110101000011000001111010101111000011110101011110000111111101000101001"
  3821. "1111111101010100011111101010001110110101111110111101101111101011110011110101001000000111111101000101001"
  3822. "1111111101010100011101010111111000100111111001110101010000001011110011101010001111110111111101000101001"
  3823. "1111111101010100011010111100111110111000010010111001111011010000111010101111001111000111111101000101001"
  3824. "1111111101010100011101011100001100101001111000001001100100111100110011110101110011100111111101000101001"
  3825. "1111111101010100011110101111010000100011110100001001111010111100100011101011111010000111111101000101001"
  3826. "1111111101010100011101001110111110100000101100110001010011001100000011010011101111000111111101000101001"
  3827. "1111111101010100011111010010110000111101000001101101110101110000011010101111110111000111111101000101001"
  3828. },
  3829. /*209*/ { BARCODE_PDF417, 29, UNICODE_MODE | FAST_MODE, -1, -1, -1, "¥3149.79", 0, 10, 103, 1, "",
  3830. "1111111101010100011101010011100000110101101110000001100011100011001011110101011110000111111101000101001"
  3831. "1111111101010100011111010100011000111110101110111101101111110101110011111010100110000111111101000101001"
  3832. "1111111101010100011101010111111000110010111111010001110010111111011011010100011111000111111101000101001"
  3833. "1111111101010100010101111101111100100001100011001001000001001110111010101111001111000111111101000101001"
  3834. "1111111101010100011010111000010000111010111000110001111011011000010011010111000100000111111101000101001"
  3835. "1111111101010100011110101111010000111011011111100101100011111001001011110101111000010111111101000101001"
  3836. "1111111101010100010100111001110000110100100001100001110001101000110011010011101111000111111101000101001"
  3837. "1111111101010100011110100101000000111010110000010001000101111110111011010111111011110111111101000101001"
  3838. "1111111101010100011010011011111100111110101110100001001111101110110010100110001111100111111101000101001"
  3839. "1111111101010100010100011000001100111001000110111101000010110000011011010001100011100111111101000101001"
  3840. },
  3841. /*210*/ { BARCODE_PDF417, 29, UNICODE_MODE, -1, -1, -1, "¥3149.79", 0, 10, 103, 0, "BWIPP same as FAST_MODE",
  3842. "1111111101010100011101010011100000110101101110000001100011100011001011110101011110000111111101000101001"
  3843. "1111111101010100011111010100011000111110101110111101011111100100011011111010100110000111111101000101001"
  3844. "1111111101010100011101010111111000110010111111010001001111110011101011010100011111000111111101000101001"
  3845. "1111111101010100010101111101111100100101100000110001000001001110111010101111001111000111111101000101001"
  3846. "1111111101010100011010111000010000111010111000110001111011011000010011010111000100000111111101000101001"
  3847. "1111111101010100011110101111010000111011011111100101100011111001001011110101111000010111111101000101001"
  3848. "1111111101010100010100111001110000111001101000110001110110001011000011010011101111000111111101000101001"
  3849. "1111111101010100011110100101000000111110111011101101011111101100111011010111111011110111111101000101001"
  3850. "1111111101010100011010011011111100110011100001011101001111000100100010100110001111100111111101000101001"
  3851. "1111111101010100010100011000001100110100000100001101001011110111100011010001100011100111111101000101001"
  3852. },
  3853. };
  3854. const int data_size = ARRAY_SIZE(data);
  3855. int i, length, ret;
  3856. struct zint_symbol *symbol = NULL;
  3857. int last_fast_num_cwds = 0; /* Keep clang-tidy happy */
  3858. char escaped[1024];
  3859. char cmp_buf[32768];
  3860. char cmp_msg[1024];
  3861. int do_bwipp = (debug & ZINT_DEBUG_TEST_BWIPP) && testUtilHaveGhostscript(); /* Only do BWIPP test if asked, too slow otherwise */
  3862. int do_zxingcpp = (debug & ZINT_DEBUG_TEST_ZXINGCPP) && testUtilHaveZXingCPPDecoder(); /* Only do ZXing-C++ test if asked, too slow otherwise */
  3863. testStartSymbol("test_encode", &symbol);
  3864. for (i = 0; i < data_size; i++) {
  3865. if (testContinue(p_ctx, i)) continue;
  3866. symbol = ZBarcode_Create();
  3867. assert_nonnull(symbol, "Symbol not created\n");
  3868. symbol->debug = ZINT_DEBUG_TEST; /* Needed to get codeword dump in errtxt */
  3869. length = testUtilSetSymbol(symbol, data[i].symbology, data[i].input_mode, data[i].eci, data[i].option_1, data[i].option_2, data[i].option_3, -1 /*output_options*/, data[i].data, -1, debug);
  3870. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  3871. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  3872. if (p_ctx->generate) {
  3873. printf(" /*%3d*/ { %s, %d, %s, %d, %d, %d, \"%s\", %s, %d, %d, %d, \"%s\",\n",
  3874. i, testUtilBarcodeName(data[i].symbology), data[i].eci, testUtilInputModeName(data[i].input_mode),
  3875. data[i].option_1, data[i].option_2, data[i].option_3,
  3876. testUtilEscape(data[i].data, length, escaped, sizeof(escaped)), testUtilErrorName(data[i].ret),
  3877. symbol->rows, symbol->width, data[i].bwipp_cmp, data[i].comment);
  3878. testUtilModulesPrint(symbol, " ", "\n");
  3879. printf(" },\n");
  3880. } else {
  3881. if (ret < ZINT_ERROR) {
  3882. int width, row;
  3883. testUtilEscape(data[i].data, length, escaped, sizeof(escaped));
  3884. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, escaped);
  3885. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d (%s)\n", i, symbol->width, data[i].expected_width, escaped);
  3886. ret = testUtilModulesCmp(symbol, data[i].expected, &width, &row);
  3887. assert_zero(ret, "i:%d testUtilModulesCmp ret %d != 0 width %d row %d (%s)\n", i, ret, width, row, escaped);
  3888. if (ret == 0 && p_ctx->index == -1) {
  3889. if (i && (data[i - 1].input_mode & FAST_MODE) && !(data[i].input_mode & FAST_MODE)
  3890. && strcmp(data[i - 1].data, data[i].data) == 0) {
  3891. int num_cwds;
  3892. assert_equal(sscanf(symbol->errtxt, "(%d)", &num_cwds), 1, "i:%d num_cwds sscanf != 1 (%s)\n", i, symbol->errtxt);
  3893. assert_nonzero(last_fast_num_cwds >= num_cwds, "i:%d last_fast_num_cwds %d < num_cwds %d\n", i, last_fast_num_cwds, num_cwds);
  3894. if (num_cwds < last_fast_num_cwds && (debug & ZINT_DEBUG_TEST_PRINT) && !(debug & ZINT_DEBUG_TEST_LESS_NOISY)) {
  3895. printf("i:%d diff %d\n", i, num_cwds - last_fast_num_cwds);
  3896. }
  3897. }
  3898. if (data[i].input_mode & FAST_MODE) {
  3899. assert_equal(sscanf(symbol->errtxt, "(%d)", &last_fast_num_cwds), 1, "i:%d last_fast sscanf != 1 (%s)\n", i, symbol->errtxt);
  3900. }
  3901. }
  3902. if (do_bwipp && testUtilCanBwipp(i, symbol, data[i].option_1, data[i].option_2, data[i].option_3, debug)) {
  3903. if (!data[i].bwipp_cmp) {
  3904. if (debug & ZINT_DEBUG_TEST_PRINT) printf("i:%d %s not BWIPP compatible (%s)\n", i, testUtilBarcodeName(symbol->symbology), data[i].comment);
  3905. } else {
  3906. ret = testUtilBwipp(i, symbol, data[i].option_1, data[i].option_2, data[i].option_3, data[i].data, length, NULL, cmp_buf, sizeof(cmp_buf), NULL);
  3907. assert_zero(ret, "i:%d %s testUtilBwipp ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  3908. ret = testUtilBwippCmp(symbol, cmp_msg, cmp_buf, data[i].expected);
  3909. assert_zero(ret, "i:%d %s testUtilBwippCmp %d != 0 %s\n actual: %s\nexpected: %s\n",
  3910. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_buf, data[i].expected);
  3911. }
  3912. }
  3913. if (do_zxingcpp && testUtilCanZXingCPP(i, symbol, data[i].data, length, debug)) {
  3914. int cmp_len, ret_len;
  3915. char modules_dump[2710 * 8 + 1];
  3916. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  3917. ret = testUtilZXingCPP(i, symbol, data[i].data, length, modules_dump, cmp_buf, sizeof(cmp_buf), &cmp_len);
  3918. assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  3919. ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data[i].data, length, NULL /*primary*/, escaped, &ret_len);
  3920. assert_zero(ret, "i:%d %s testUtilZXingCPPCmp %d != 0 %s\n actual: %.*s\nexpected: %.*s\n",
  3921. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_len, cmp_buf, ret_len, escaped);
  3922. }
  3923. }
  3924. }
  3925. ZBarcode_Delete(symbol);
  3926. }
  3927. testFinish();
  3928. }
  3929. static void test_encode_segs(const testCtx *const p_ctx) {
  3930. int debug = p_ctx->debug;
  3931. struct item {
  3932. int symbology;
  3933. int input_mode;
  3934. int option_1;
  3935. int option_2;
  3936. int option_3;
  3937. struct zint_structapp structapp;
  3938. struct zint_seg segs[3];
  3939. int ret;
  3940. int expected_rows;
  3941. int expected_width;
  3942. int bwipp_cmp;
  3943. char *comment;
  3944. char *expected;
  3945. };
  3946. static const struct item data[] = {
  3947. /* 0*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("¶"), -1, 0 }, { TU("Ж"), -1, 7 }, { TU(""), 0, 0 } }, 0, 8, 103, 1, "Standard example",
  3948. "1111111101010100011111010101111100110101000011000001111001111001010011110101011110000111111101000101001"
  3949. "1111111101010100011111101010001110101000011110010001001111110010110011110101001000000111111101000101001"
  3950. "1111111101010100011101010111111000111010100011111101001111110011101011101010001111110111111101000101001"
  3951. "1111111101010100011010111100111110110110100010000001000011000110010010101111001111000111111101000101001"
  3952. "1111111101010100011101011100001100101110100011111001111000001001001011110101110011100111111101000101001"
  3953. "1111111101010100011110101111010000111011111000101101001111100001101011101011111010000111111101000101001"
  3954. "1111111101010100011101001110111110101000111011100001000111011100100011010011101111000111111101000101001"
  3955. "1111111101010100011111010010110000111000101110110001101011100001000010101111110111000111111101000101001"
  3956. },
  3957. /* 1*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("¶"), -1, 0 }, { TU("Ж"), -1, 7 }, { TU(""), 0, 0 } }, 0, 8, 103, 1, "Standard example",
  3958. "1111111101010100011111010101111100110101000011000001111001111001010011110101011110000111111101000101001"
  3959. "1111111101010100011111101010001110101000011110010001001111110010110011110101001000000111111101000101001"
  3960. "1111111101010100011101010111111000111010100011111101001111110011101011101010001111110111111101000101001"
  3961. "1111111101010100011010111100111110110110100010000001000011000110010010101111001111000111111101000101001"
  3962. "1111111101010100011101011100001100101110100011111001111000001001001011110101110011100111111101000101001"
  3963. "1111111101010100011110101111010000111011111000101101001111100001101011101011111010000111111101000101001"
  3964. "1111111101010100011101001110111110101000111011100001000111011100100011010011101111000111111101000101001"
  3965. "1111111101010100011111010010110000111000101110110001101011100001000010101111110111000111111101000101001"
  3966. },
  3967. /* 2*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("¶"), -1, 0 }, { TU("Ж"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 8, 103, 1, "Standard example auto-ECI",
  3968. "1111111101010100011111010101111100110101000011000001111001111001010011110101011110000111111101000101001"
  3969. "1111111101010100011111101010001110101000011110010001001111110010110011110101001000000111111101000101001"
  3970. "1111111101010100011101010111111000111010100011111101001111110011101011101010001111110111111101000101001"
  3971. "1111111101010100011010111100111110110110100010000001000011000110010010101111001111000111111101000101001"
  3972. "1111111101010100011101011100001100101110100011111001111000001001001011110101110011100111111101000101001"
  3973. "1111111101010100011110101111010000111011111000101101001111100001101011101011111010000111111101000101001"
  3974. "1111111101010100011101001110111110101000111011100001000111011100100011010011101111000111111101000101001"
  3975. "1111111101010100011111010010110000111000101110110001101011100001000010101111110111000111111101000101001"
  3976. },
  3977. /* 3*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("¶"), -1, 0 }, { TU("Ж"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 8, 103, 1, "Standard example auto-ECI",
  3978. "1111111101010100011111010101111100110101000011000001111001111001010011110101011110000111111101000101001"
  3979. "1111111101010100011111101010001110101000011110010001001111110010110011110101001000000111111101000101001"
  3980. "1111111101010100011101010111111000111010100011111101001111110011101011101010001111110111111101000101001"
  3981. "1111111101010100011010111100111110110110100010000001000011000110010010101111001111000111111101000101001"
  3982. "1111111101010100011101011100001100101110100011111001111000001001001011110101110011100111111101000101001"
  3983. "1111111101010100011110101111010000111011111000101101001111100001101011101011111010000111111101000101001"
  3984. "1111111101010100011101001110111110101000111011100001000111011100100011010011101111000111111101000101001"
  3985. "1111111101010100011111010010110000111000101110110001101011100001000010101111110111000111111101000101001"
  3986. },
  3987. /* 4*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Ж"), -1, 7 }, { TU("¶"), -1, 0 }, { TU(""), 0, 0 } }, 0, 9, 103, 1, "Standard example inverted",
  3988. "1111111101010100011111010101111100110101000001100001100011100011001011110101011110000111111101000101001"
  3989. "1111111101010100011110101000010000111111010100011101011111100100011011110101001000000111111101000101001"
  3990. "1111111101010100011101010111111000110010010111110001000011111011001010101000011110000111111101000101001"
  3991. "1111111101010100011010111100111110111010100111000001111001111001010010101111001111000111111101000101001"
  3992. "1111111101010100011010111000001000101000011110010001011111101011000011110101110011100111111101000101001"
  3993. "1111111101010100011110101111010000111000111111010101100111110100010011110101111101100111111101000101001"
  3994. "1111111101010100011101001110111110111110111010111001111001100101110011010011101111000111111101000101001"
  3995. "1111111101010100011111101001011100111100100010100001001111101011100010101111110111000111111101000101001"
  3996. "1111111101010100011010011011111100100111010011000001100011010011110011111010011101000111111101000101001"
  3997. },
  3998. /* 5*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Ж"), -1, 7 }, { TU("¶"), -1, 0 }, { TU(""), 0, 0 } }, 0, 9, 103, 1, "Standard example inverted",
  3999. "1111111101010100011111010101111100110101000001100001100011100011001011110101011110000111111101000101001"
  4000. "1111111101010100011110101000010000111111010100011101011111100100011011110101001000000111111101000101001"
  4001. "1111111101010100011101010111111000110010010111110001000011111011001010101000011110000111111101000101001"
  4002. "1111111101010100011010111100111110111010100111000001111001111001010010101111001111000111111101000101001"
  4003. "1111111101010100011010111000001000101000011110010001011111101011000011110101110011100111111101000101001"
  4004. "1111111101010100011110101111010000111000111111010101100111110100010011110101111101100111111101000101001"
  4005. "1111111101010100011101001110111110111110111010111001111001100101110011010011101111000111111101000101001"
  4006. "1111111101010100011111101001011100111100100010100001001111101011100010101111110111000111111101000101001"
  4007. "1111111101010100011010011011111100100111010011000001100011010011110011111010011101000111111101000101001"
  4008. },
  4009. /* 6*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Ж"), -1, 0 }, { TU("¶"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 9, 103, 1, "Standard example inverted auto-ECI",
  4010. "1111111101010100011111010101111100110101000001100001100011100011001011110101011110000111111101000101001"
  4011. "1111111101010100011110101000010000111111010100011101011111100100011011110101001000000111111101000101001"
  4012. "1111111101010100011101010111111000110010010111110001000011111011001010101000011110000111111101000101001"
  4013. "1111111101010100011010111100111110111010100111000001111001111001010010101111001111000111111101000101001"
  4014. "1111111101010100011010111000001000101000011110010001011111101011000011110101110011100111111101000101001"
  4015. "1111111101010100011110101111010000111000111111010101100111110100010011110101111101100111111101000101001"
  4016. "1111111101010100011101001110111110111110111010111001111001100101110011010011101111000111111101000101001"
  4017. "1111111101010100011111101001011100111100100010100001001111101011100010101111110111000111111101000101001"
  4018. "1111111101010100011010011011111100100111010011000001100011010011110011111010011101000111111101000101001"
  4019. },
  4020. /* 7*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Ж"), -1, 0 }, { TU("¶"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 9, 103, 1, "Standard example inverted auto-ECI",
  4021. "1111111101010100011111010101111100110101000001100001100011100011001011110101011110000111111101000101001"
  4022. "1111111101010100011110101000010000111111010100011101011111100100011011110101001000000111111101000101001"
  4023. "1111111101010100011101010111111000110010010111110001000011111011001010101000011110000111111101000101001"
  4024. "1111111101010100011010111100111110111010100111000001111001111001010010101111001111000111111101000101001"
  4025. "1111111101010100011010111000001000101000011110010001011111101011000011110101110011100111111101000101001"
  4026. "1111111101010100011110101111010000111000111111010101100111110100010011110101111101100111111101000101001"
  4027. "1111111101010100011101001110111110111110111010111001111001100101110011010011101111000111111101000101001"
  4028. "1111111101010100011111101001011100111100100010100001001111101011100010101111110111000111111101000101001"
  4029. "1111111101010100011010011011111100100111010011000001100011010011110011111010011101000111111101000101001"
  4030. },
  4031. /* 8*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("$439.97"), -1, 3 }, { TU("¥3149.79"), -1, 29 }, { TU("Produkt:444,90 €"), -1, 17 } }, 0, 10, 137, 0, "AIM ITS/04-023:2022 Annex A example (shortened); BWIPP different encodation (LL AS P instead of AL P LL)",
  4032. "11111111010101000111010100111000001101011110011111011000111000110010111010100111000001000001000101000011101010011100000111111101000101001"
  4033. "11111111010101000111110101000110001111110100010111011110110110000100111110010010110001001111110010110011111010100110000111111101000101001"
  4034. "11111111010101000110101001111100001010111000111111011001111110110010110010111111010001110010111111011011010100011111000111111101000101001"
  4035. "11111111010101000101011111011111001000011000110010010000010011101110111110101111110101111011000100111010101111101111100111111101000101001"
  4036. "11111111010101000110101110000100001111100101000011010011111100101100111101011001100001001111010011110011010111000100000111111101000101001"
  4037. "11111111010101000111101011110010001101111110110100011101110001011110101111000010000101001110000100110011110101111000010111111101000101001"
  4038. "11111111010101000101001110011100001000100110000110010100000101000000111000100101110001110101110011111010100111001110000111111101000101001"
  4039. "11111111010101000111101001010000001011111100100011011110100001001000101111110101100001011111101011000011010111111011110111111101000101001"
  4040. "11111111010101000101001100111110001100011110001011010110001100111100100001100100111001001111001001000010100110001111100111111101000101001"
  4041. "11111111010101000101000110000011001110111101110011011101110110011000111100111001001101101011110111110010100011000001100111111101000101001"
  4042. },
  4043. /* 9*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("$439.97"), -1, 3 }, { TU("¥3149.79"), -1, 29 }, { TU("Produkt:444,90 €"), -1, 17 } }, 0, 10, 137, 0, "AIM ITS/04-023:2022 Annex A example (shortened); BWIPP different encodation",
  4044. "11111111010101000111010100111000001101011110011111011000111000110010111010100111000001000001000101000011101010011100000111111101000101001"
  4045. "11111111010101000111110101000110001111110100010111011110110110000100111110010010110001001111110010110011111010100110000111111101000101001"
  4046. "11111111010101000110101001111100001010111000111111010011111100111010110010111111010001001111110011101011010100011111000111111101000101001"
  4047. "11111111010101000101011111011111001001011000001100011010001100011100111010000010011101100110001000010010101111101111100111111101000101001"
  4048. "11111111010101000110101110000100001111001001100011010011111100101100111101011001100001100010111000100011010111000100000111111101000101001"
  4049. "11111111010101000111101011110010001110111101000111010100001011110000111001101011111001000111100001001011110101111000010111111101000101001"
  4050. "11111111010101000101001110011100001010000010100000011010000010000110110010001100011101000001010000100010100111001110000111111101000101001"
  4051. "11111111010101000111101001010000001011111100100011011110100001001000101111110101100001011111101011000011010111111011110111111101000101001"
  4052. "11111111010101000101001100111110001100000101011111011011010001111000110001111001001101100000111101011010100110001111100111111101000101001"
  4053. "11111111010101000101000110000011001101000010000110010111011100010000111001000100011101111001100010111010100011000001100111111101000101001"
  4054. },
  4055. /* 10*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("$39.97"), -1, 3 }, { TU("¥149.79"), -1, 29 }, { TU("Produkt:44,90 €"), -1, 17 } }, 0, 13, 120, 0, "AIM ITS/04-023:2022 Annex A example (shortened), PS pad issue spanning ECIs; BWIPP different encodation (uses PS for 1st pad instead of ML)",
  4056. "111111110101010001111010100111100010101111001111000110001110001100101110101001110000011111010101111100111111101000101001"
  4057. "111111110101010001111101010001100010011110110111110111010011100001101110011011100100011111101010011100111111101000101001"
  4058. "111111110101010001010100111100000011001000100111110100001111101100101010111000111111011010100011111000111111101000101001"
  4059. "111111110101010001111101011111101010000010000100010100101100001100001001011000001100011010111100111110111111101000101001"
  4060. "111111110101010001101011100001000010111111010110000111100000100010101111010001000001011101011100011000111111101000101001"
  4061. "111111110101010001111101011110110011101111010111000100010100011110001000011111011001011110101111000010111111101000101001"
  4062. "111111110101010001101001110011110011110101100111110100110011000010001001100011010000011101001110111110111111101000101001"
  4063. "111111110101010001111010010100000010100111100001000110010011110110001100111101011111010101111110011100111111101000101001"
  4064. "111111110101010001111110100110010010100000100111100101110010001100001111110101110011010100110001111100111111101000101001"
  4065. "111111110101010001010001110111000011110011110010100100101100000110001000011000110010010100011000011000111111101000101001"
  4066. "111111110101010001101001110001000010111111010110000111110001100010101100000101110010011101001110011000111111101000101001"
  4067. "111111110101010001101000100011111011101101011111000100111110110100001001111000110011010100011011111000111111101000101001"
  4068. "111111110101010001010000010100000010110011100110000101000111001110001001000110110000011010000111011110111111101000101001"
  4069. },
  4070. /* 11*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("$39.97"), -1, 3 }, { TU("¥149.79"), -1, 29 }, { TU("Produkt:44,90 €"), -1, 17 } }, 0, 13, 120, 0, "AIM ITS/04-023:2022 Annex A example (shortened), PS pad issue spanning ECIs; BWIPP different encodation",
  4071. "111111110101010001111010100111100010101111001111000110001110001100101110101001110000011111010101111100111111101000101001"
  4072. "111111110101010001111101010001100010011110110111110111010011100001101110011011100100011111101010011100111111101000101001"
  4073. "111111110101010001010100111100000011001000100111110100001111101100101010111000111111011010100011111000111111101000101001"
  4074. "111111110101010001111101011111101011110011110010100100101100001100001111001111001010011010111100111110111111101000101001"
  4075. "111111110101010001101011100001000011110100001001000111100000100010101111010001000001011101011100011000111111101000101001"
  4076. "111111110101010001111101011110110011101111010111000100010100011110001000011111011001011110101111000010111111101000101001"
  4077. "111111110101010001101001110011110011110101100111110100110011000010001001100011010000011101001110111110111111101000101001"
  4078. "111111110101010001111010010100000010100111100001000110010011110110001100111101011111010101111110011100111111101000101001"
  4079. "111111110101010001111110100110010010100000100111100101110010001100001111110101110011010100110001111100111111101000101001"
  4080. "111111110101010001010001110111000011110011110010100100101100000110001000011000110010010100011000011000111111101000101001"
  4081. "111111110101010001101001110001000010111111010110000111110100100011001111000100011011011101001110011000111111101000101001"
  4082. "111111110101010001101000100011111010111010001100000100011110010001001111010111110110010100011011111000111111101000101001"
  4083. "111111110101010001010000010100000011011000010001000110001011100111101011100111001000011010000111011110111111101000101001"
  4084. },
  4085. /* 12*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("product:Google Pixel 4a - 128 GB of Storage - Black;price:$439.97"), -1, 3 }, { TU("品名:Google 谷歌 Pixel 4a -128 GB的存储空间-黑色;零售价:¥3149.79"), -1, 29 }, { TU("Produkt:Google Pixel 4a - 128 GB Speicher - Schwarz;Preis:444,90 €"), -1, 17 } }, 0, 23, 188, 0, "AIM ITS/04-023:2022 Annex A example; BWIPP different encodation",
  4086. "11111111010101000111010100011100001111100101011111011000111000110010111010100111000001100000100101100010011000110100000110100001000011001110100010001110011010100011000000111111101000101001"
  4087. "11111111010101000111101010000010001111000001101101010000010111110110111101100001100101111010000010001011010001110000100111000011011101001001011111101110011111101010001110111111101000101001"
  4088. "11111111010101000110101000111110001110010101111110011001111101101100100101100011111001111110101110011010011111000110010110001111010110001111101001110100010101000001111000111111101000101001"
  4089. "11111111010101000111110100101111101000001010001000011111011010011110110000010100110001001101110000110011000001010011000111001100001001101110111010010000011110100101111000111111101000101001"
  4090. "11111111010101000110101110000001001111101010001100011010001110000100100111101000111101100000101110100010101111100110000100100111100000101111101001001100011101011100001100111111101000101001"
  4091. "11111111010101000111101011110000101000000110010111011110000101111010100100010000111101001011000011111010011000011011110110100000101111101011000001001110011110101111100110111111101000101001"
  4092. "11111111010101000101001111011110001001000111001110011000111000110010101011110111100001000001000010001011101101100111000111011010001100001110010010011100011010011100011110111111101000101001"
  4093. "11111111010101000111110100100110001110010111100111010111111010110000111100000110110101110100000011001011110110000110010111101000001000101101000111000010011111010010110000111111101000101001"
  4094. "11111111010101000101001100011111001100111111011001010010010011110000101101110111110001011011011110000010110010000011100110001111100100101000111101100011010100111011111100111111101000101001"
  4095. "11111111010101000110100011100111101100001101001000011000010001101110110001010110000001000011011110111010000010100000100100000101000100001000100011011000010100011100111000111111101000101001"
  4096. "11111111010101000110100111000001001111110100101110011000001011101000110100001111011001101111110101110011001001110100000111111011101001001111000101000001011101001110001100111111101000101001"
  4097. "11111111010101000101000110111110001111110101100010011001110001001110110011010011110001011100011001110011011000001011110100110011000111101011110001010000010100011000111110111111101000101001"
  4098. "11111111010101000101000001001000001000101000001000011001100000100100110111100111000101010000010100000011011001100001100110010000010001101000001000100100011101000001011100111111101000101001"
  4099. "11111111010101000111010001101000001111101100101000010111011111101000111100111001110101111010000100100010111111010110000111100011101110101110101110001100011111010001000110111111101000101001"
  4100. "11111111010101000101000001101111101011000001001110011101101111110010100001111101100101111110101100010010111111001110100110111111011010001110111000101111011001010111110000111111101000101001"
  4101. "11111111010101000111100101101111101000010110000011011000010100001100111100110010111001100100100110000010001001110111000101100001101000001100000101001100011100101101111000111111101000101001"
  4102. "11111111010101000101000111110001101111100010100110010001101001111110111100100010000101110000010001101011000001011100100110000010111010001111001101101000010100011111011000111111101000101001"
  4103. "11111111010101000111110010111101101111101011110110010010000101111000111011111100101001010010000111100011011110010000110100110000001011101001000100001111011110010111110110111111101000101001"
  4104. "11111111010101000111101101000011101011011100110000010001000010000010110000110010000101000001010001000010011000011010000101001111011110001110011101000100011101101000011000111111101000101001"
  4105. "11111111010101000111101000001001001100010011110110011011111001011110111000011011101001110001001101000011001011111011100110011110101111101111010001001000010100001111100110111111101000101001"
  4106. "11111111010101000110010010011111001100101001111100010110001100111100110001111001001101001111110011101011100101111110110101011100111111001100100101111100010110110001111000111111101000101001"
  4107. "11111111010101000101101110001100001100111000110100010001100110010000111011110110001001111101110100111010000100100000010111000101101111001011100111010000011101101110011110111111101000101001"
  4108. "11111111010101000111100101000001001100000110111101011101001110001100111100010111011101101101111000010011111000011010010101101111101000001100100001111011011111001010001100111111101000101001"
  4109. },
  4110. /* 13*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("product:Google Pixel 4a - 128 GB of Storage - Black;price:$439.97"), -1, 3 }, { TU("品名:Google 谷歌 Pixel 4a -128 GB的存储空间-黑色;零售价:¥3149.79"), -1, 29 }, { TU("Produkt:Google Pixel 4a - 128 GB Speicher - Schwarz;Preis:444,90 €"), -1, 17 } }, 0, 23, 188, 0, "AIM ITS/04-023:2022 Annex A example; BWIPP different encodation",
  4111. "11111111010101000111010100011100001111100101011111011000111000110010111010100111000001100000100101100010011000110100000110100001000011001110100010001110011010100011000000111111101000101001"
  4112. "11111111010101000111101010000010001111000001101101010000010111110110111101100001100101111010000010001011010001110000100111000011011101001001011111101110011111101010001110111111101000101001"
  4113. "11111111010101000110101000111110001110010101111110011001111101101100100101100011111001111110101110011010011111000110010110001111010110001111101001110100010101000001111000111111101000101001"
  4114. "11111111010101000111110100101111101000001010001000011111011010011110110000010100110001001101110000110011000001010011000111001100001001101110111010010000011110100101111000111111101000101001"
  4115. "11111111010101000110101110000001001111101010001100011010001110000100111000001101110101110000010110001011010111101100000111101010010000001011011111000010011101011100001100111111101000101001"
  4116. "11111111010101000111101011110000101010110011111000011110111101011110110100110011111101000111100001001010001100010111000101000110011111001011110100100000011110101111100110111111101000101001"
  4117. "11111111010101000101001111011110001101100100010000011000111000110010101011110111100001000001000010001011100100000101110110101100111000001000100100000100011010011100011110111111101000101001"
  4118. "11111111010101000111110100100110001000010111100100010011100111111010101000011111011001111000010110110011110111001110010110110011110000101100011011110001011111010010110000111111101000101001"
  4119. "11111111010101000101001100011111001001001001111000010110111011111000101101101111000001011001000001110011000111110010010100011110110001101001111101110110010100111011111100111111101000101001"
  4120. "11111111010101000110100011100111101100001000110111011000101011000000100001101111011101000001010000010010000010100010000100010001101100001101001111011111010100011100111000111111101000101001"
  4121. "11111111010101000110100111000001001100000101110100011010000111101100110111111010111001100100111010000011111101110100100111100010100000101111010110011000011101001110001100111111101000101001"
  4122. "11111111010101000101000110111110001100111000100111011001101001111000101110001100111001101100000101111010011001100011110101111000101000001001100101110000010100011000111110111111101000101001"
  4123. "11111111010101000101000001001000001100110000010010011011110011100010101000001010000001101100110000110011001000001000110100000100010010001100100000100011011101000001011100111111101000101001"
  4124. "11111111010101000111010001101000001011101111110100011110011100111010111101000010010001011111101011000011110001110111010111010111000110001111011011000010011111010001000110111111101000101001"
  4125. "11111111010101000101000001101111101110110111111001010000111110110010111111010110001001011111100111010011011111101101000111011100010111101011110000100001011001010111110000111111101000101001"
  4126. "11111111010101000111100101101111101100001010000110011110011001011100110010010011000001000100111011100010110000110100000110000010100110001101110110000100011100101101111000111111101000101001"
  4127. "11111111010101000101000111110001101000110100111111011110010001000010111000001000110101100000101110010011000001011101000111100110110100001111010111001110010100011111011000111111101000101001"
  4128. "11111111010101000111110010111101101001000010111100011101111110010100101001000011110001101111001000011010011000000101110100100010000111101111001001111001011110010111110110111111101000101001"
  4129. "11111111010101000111101101000011101000100001000001011100001100010110110000010100110001011100111101100011101100101100000111101011001111101101111001110001011101101000011000111111101000101001"
  4130. "11111111010101000111101000001001001110101110110000011110001011001100111101000100001001111000100010100010010000111100010111101000100100001111100100001011010100001111100110111111101000101001"
  4131. "11111111010101000110010010011111001111110101110011010011111100111010111001011111101101100011111001001011000111110010010111011001011111001000111000010110010110110001111000111111101000101001"
  4132. "11111111010101000101101110001100001101100010000010010100011110111100100000100010000101111011110010001011101000000101110100010001010000001101011001110000011101101110011110111111101000101001"
  4133. "11111111010101000111100101000001001100011001111010011010011100100000101011111011000001101100001111010010110111110010000110100011110110001110010011000001011111001010001100111111101000101001"
  4134. },
  4135. /* 14*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("\357"), 1, 0 }, { TU("\357"), 1, 7 }, { TU("\357"), 1, 0 } }, 0, 10, 103, 1, "Standard example + extra seg, data mode",
  4136. "1111111101010100011101010011100000110101101110000001111001111001010011110101011110000111111101000101001"
  4137. "1111111101010100011111010100011000111100101110011101001111110010110011111010100110000111111101000101001"
  4138. "1111111101010100011101010111111000111010100011111101001111110011101011010100011111000111111101000101001"
  4139. "1111111101010100010101111101111100111011001000110001100011100011001010101111001111000111111101000101001"
  4140. "1111111101010100011010111000010000111110101001100001011111100100011011010111000100000111111101000101001"
  4141. "1111111101010100011110101111010000101100110011110001100011111001001011110101111000010111111101000101001"
  4142. "1111111101010100010100111001110000110101000011000001100100011001110011010011101111000111111101000101001"
  4143. "1111111101010100011110100101000000100001011110000101101011111101111011010111111011110111111101000101001"
  4144. "1111111101010100011010011011111100110100111111010001001011101111110010100110001111100111111101000101001"
  4145. "1111111101010100010100011000001100111100100100111101100011001010000011010001100011100111111101000101001"
  4146. },
  4147. /* 15*/ { BARCODE_PDF417, DATA_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("\357"), 1, 0 }, { TU("\357"), 1, 7 }, { TU("\357"), 1, 0 } }, 0, 10, 103, 1, "Standard example + extra seg, data mode",
  4148. "1111111101010100011101010011100000110101101110000001111001111001010011110101011110000111111101000101001"
  4149. "1111111101010100011111010100011000111100101110011101001111110010110011111010100110000111111101000101001"
  4150. "1111111101010100011101010111111000111010100011111101001111110011101011010100011111000111111101000101001"
  4151. "1111111101010100010101111101111100111011001000110001100011100011001010101111001111000111111101000101001"
  4152. "1111111101010100011010111000010000111110101001100001011111100100011011010111000100000111111101000101001"
  4153. "1111111101010100011110101111010000101100110011110001100011111001001011110101111000010111111101000101001"
  4154. "1111111101010100010100111001110000110101000011000001100100011001110011010011101111000111111101000101001"
  4155. "1111111101010100011110100101000000100001011110000101101011111101111011010111111011110111111101000101001"
  4156. "1111111101010100011010011011111100110100111111010001001011101111110010100110001111100111111101000101001"
  4157. "1111111101010100010100011000001100111100100100111101100011001010000011010001100011100111111101000101001"
  4158. },
  4159. /* 16*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 0 }, { TU("貫やぐ禁"), -1, 20 } }, ZINT_WARN_USES_ECI, 11, 120, 1, "Auto-ECI",
  4160. "111111110101010001110101001110000011010111001111000110001110001100101010100000100000011111010101111100111111101000101001"
  4161. "111111110101010001111110101000111011011111101011100111111001010111001111001011000110011111010100110000111111101000101001"
  4162. "111111110101010001010100111100000010110011101111100111111001000110101000011111011001011101010001111110111111101000101001"
  4163. "111111110101010001010111110111110011101011011110000100000100001000101001011000110000011010111100111110111111101000101001"
  4164. "111111110101010001110101110000110011110100001010000111010000001100101001111110010110011010111000100000111111101000101001"
  4165. "111111110101010001111101011110110011111101011000010110011111101100101011001000001110011101011111010000111111101000101001"
  4166. "111111110101010001010011100111000011001100001100110101100011110011101100111001110011011101001110111110111111101000101001"
  4167. "111111110101010001111101001011000011111010001011000110100011101000001111100101001100011010111111011110111111101000101001"
  4168. "111111110101010001111110100110010011000111110010010100111010011000001110101111100010010100110000111110111111101000101001"
  4169. "111111110101010001010001100000110011001000010011000110011000110011001011110011110010010100011000011000111111101000101001"
  4170. "111111110101010001110100111000110011010001111011000110000110111100101101001111000011011010011100100000111111101000101001"
  4171. },
  4172. /* 17*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 0 }, { TU("貫やぐ禁"), -1, 20 } }, ZINT_WARN_USES_ECI, 11, 120, 1, "Auto-ECI",
  4173. "111111110101010001110101001110000011010111001111000110001110001100101010100000100000011111010101111100111111101000101001"
  4174. "111111110101010001111110101000111011011111101011100111111001010111001111001011000110011111010100110000111111101000101001"
  4175. "111111110101010001010100111100000010110011101111100111111001000110101000011111011001011101010001111110111111101000101001"
  4176. "111111110101010001010111110111110011101011011110000100000100001000101001011000110000011010111100111110111111101000101001"
  4177. "111111110101010001110101110000110011110100001010000111010000001100101001111110010110011010111000100000111111101000101001"
  4178. "111111110101010001111101011110110011111101011000010110011111101100101011001000001110011101011111010000111111101000101001"
  4179. "111111110101010001010011100111000011001100001100110101100011110011101100111001110011011101001110111110111111101000101001"
  4180. "111111110101010001111101001011000011111010001011000110100011101000001111100101001100011010111111011110111111101000101001"
  4181. "111111110101010001111110100110010011000111110010010100111010011000001110101111100010010100110000111110111111101000101001"
  4182. "111111110101010001010001100000110011001000010011000110011000110011001011110011110010010100011000011000111111101000101001"
  4183. "111111110101010001110100111000110011010001111011000110000110111100101101001111000011011010011100100000111111101000101001"
  4184. },
  4185. /* 18*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("12345678"), -1, 0 }, { TU("ABCDEF"), -1, 4 }, { TU("\001\001\001\001"), -1, 0 } }, 0, 9, 120, 0, "NUM seg TEX seg BYT seg; BWIPP different encodation",
  4186. "111111110101010001111101010111110011010110001110000100111101111010001010000001010000011111010101111100111111101000101001"
  4187. "111111110101010001111010100001000011100010000110100111000101110001101001111110010110011110101001000000111111101000101001"
  4188. "111111110101010001010100111100000011101010011111100110001111100100101110101011111100010101000011110000111111101000101001"
  4189. "111111110101010001101011110011111010100111001110000110100000101100001100011100011001011010111100111110111111101000101001"
  4190. "111111110101010001101011100000100011111010100110000110111111010111001111110101011100011110101110011100111111101000101001"
  4191. "111111110101010001111101011110110011101010111111000111010101111110001110101011111100011110101111101100111111101000101001"
  4192. "111111110101010001110100111011111010000110001100100110011101100000101011011000010000011101001110111110111111101000101001"
  4193. "111111110101010001111110100101110011110011011100110110110000011110101000001011111011010101111110111000111111101000101001"
  4194. "111111110101010001111110100110010010011110010010000100000100010111101110001110101111011111010011101000111111101000101001"
  4195. },
  4196. /* 19*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("12345678"), -1, 0 }, { TU("ABCDEF"), -1, 4 }, { TU("\001\001\001\001"), -1, 0 } }, 0, 9, 120, 0, "NUM seg TEX seg BYT seg; BWIPP different encodation",
  4197. "111111110101010001111101010111110011010110001110000100111101111010001010000001010000011111010101111100111111101000101001"
  4198. "111111110101010001111010100001000011100010000110100111000101110001101001111110010110011110101001000000111111101000101001"
  4199. "111111110101010001010100111100000011101010011111100110001111100100101110101011111100010101000011110000111111101000101001"
  4200. "111111110101010001101011110011111010100111001110000110100000101100001100011100011001011010111100111110111111101000101001"
  4201. "111111110101010001101011100000100011111010100110000110111111010111001111110101011100011110101110011100111111101000101001"
  4202. "111111110101010001111101011110110011101010111111000111010101111110001110101011111100011110101111101100111111101000101001"
  4203. "111111110101010001110100111011111010000110001100100110011101100000101011011000010000011101001110111110111111101000101001"
  4204. "111111110101010001111110100101110011110011011100110110110000011110101000001011111011010101111110111000111111101000101001"
  4205. "111111110101010001111110100110010010011110010010000100000100010111101110001110101111011111010011101000111111101000101001"
  4206. },
  4207. /* 20*/ { BARCODE_PDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 2, 4, "017053" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 13 }, { TU("貫やぐ禁"), -1, 20 } }, 0, 11, 120, 1, "Structured Append",
  4208. "111111110101010001110101001110000011010111001111000110001110001100101010100000100000011111010101111100111111101000101001"
  4209. "111111110101010001111110101000111011011111101011100111111001010111001111001011000110011111010100110000111111101000101001"
  4210. "111111110101010001010100111100000010110011101111100111111001000110101000011111011001011101010001111110111111101000101001"
  4211. "111111110101010001010111110111110011101011011110000100000100001000101001011000110000011010111100111110111111101000101001"
  4212. "111111110101010001110101110000110011110100001010000111010000001100101001111110010110011010111000100000111111101000101001"
  4213. "111111110101010001111101011110110011111101011000010110011111101100101011001000001110011101011111010000111111101000101001"
  4214. "111111110101010001010011100111000011001100001100110101100011110011101100111001110011011101001110111110111111101000101001"
  4215. "111111110101010001111101001011000011111010001011000110100011101000001111100101001100011010111111011110111111101000101001"
  4216. "111111110101010001111110100110010011000111110010010100111010011000001110101111100010010100110000111110111111101000101001"
  4217. "111111110101010001010001100000110011001000010011000110011000110011001011110011110010010100011000011000111111101000101001"
  4218. "111111110101010001110100111000110011010001111011000110000110111100101101001111000011011010011100100000111111101000101001"
  4219. },
  4220. /* 21*/ { BARCODE_PDF417, UNICODE_MODE, -1, -1, -1, { 2, 4, "017053" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 13 }, { TU("貫やぐ禁"), -1, 20 } }, 0, 11, 120, 1, "Structured Append",
  4221. "111111110101010001110101001110000011010111001111000110001110001100101010100000100000011111010101111100111111101000101001"
  4222. "111111110101010001111110101000111011011111101011100111111001010111001111001011000110011111010100110000111111101000101001"
  4223. "111111110101010001010100111100000010110011101111100111111001000110101000011111011001011101010001111110111111101000101001"
  4224. "111111110101010001010111110111110011101011011110000100000100001000101001011000110000011010111100111110111111101000101001"
  4225. "111111110101010001110101110000110011110100001010000111010000001100101001111110010110011010111000100000111111101000101001"
  4226. "111111110101010001111101011110110011111101011000010110011111101100101011001000001110011101011111010000111111101000101001"
  4227. "111111110101010001010011100111000011001100001100110101100011110011101100111001110011011101001110111110111111101000101001"
  4228. "111111110101010001111101001011000011111010001011000110100011101000001111100101001100011010111111011110111111101000101001"
  4229. "111111110101010001111110100110010011000111110010010100111010011000001110101111100010010100110000111110111111101000101001"
  4230. "111111110101010001010001100000110011001000010011000110011000110011001011110011110010010100011000011000111111101000101001"
  4231. "111111110101010001110100111000110011010001111011000110000110111100101101001111000011011010011100100000111111101000101001"
  4232. },
  4233. /* 22*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("¶¶"), -1, 0 }, { TU("ЖЖ"), -1, 7 }, { TU(""), 0, 0 } }, 0, 8, 82, 1, "Standard example (doubled to avoid Byte Shift)",
  4234. "1100111010100000100001000101000010110110110100010000001101101000100000011001110101"
  4235. "1110111010100111111001011001000010010111111010100011101101111110101110011101110101"
  4236. "1110011010110010010111110001000011010110010010111110001100011111001001011100110101"
  4237. "1111011010100001100011001001000111010100001011101110001100010000010011011110110101"
  4238. "1111001010111001000011010001000110010110111001111101001101000011101000011110010101"
  4239. "1110001010101101101111000001000100010100111100001101101011011100011111011100010101"
  4240. "1100001010111011100010100001001100010101110001110010001100100111011110011000010101"
  4241. "1100011010101111100100111001001110010111010001100010001111000101000001011000110101"
  4242. },
  4243. /* 23*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("¶¶"), -1, 0 }, { TU("ЖЖ"), -1, 7 }, { TU(""), 0, 0 } }, 0, 8, 82, 1, "Standard example (doubled to avoid Byte Shift)",
  4244. "1100111010100000100001000101000010110110110100010000001101101000100000011001110101"
  4245. "1110111010100111111001011001000010010111111010100011101101111110101110011101110101"
  4246. "1110011010110010010111110001000011010110010010111110001100011111001001011100110101"
  4247. "1111011010100001100011001001000111010100001011101110001100010000010011011110110101"
  4248. "1111001010111001000011010001000110010110111001111101001101000011101000011110010101"
  4249. "1110001010101101101111000001000100010100111100001101101011011100011111011100010101"
  4250. "1100001010111011100010100001001100010101110001110010001100100111011110011000010101"
  4251. "1100011010101111100100111001001110010111010001100010001111000101000001011000110101"
  4252. },
  4253. /* 24*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("¶¶"), -1, 0 }, { TU("ЖЖ"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 8, 82, 1, "Standard example auto-ECI",
  4254. "1100111010100000100001000101000010110110110100010000001101101000100000011001110101"
  4255. "1110111010100111111001011001000010010111111010100011101101111110101110011101110101"
  4256. "1110011010110010010111110001000011010110010010111110001100011111001001011100110101"
  4257. "1111011010100001100011001001000111010100001011101110001100010000010011011110110101"
  4258. "1111001010111001000011010001000110010110111001111101001101000011101000011110010101"
  4259. "1110001010101101101111000001000100010100111100001101101011011100011111011100010101"
  4260. "1100001010111011100010100001001100010101110001110010001100100111011110011000010101"
  4261. "1100011010101111100100111001001110010111010001100010001111000101000001011000110101"
  4262. },
  4263. /* 25*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("¶¶"), -1, 0 }, { TU("ЖЖ"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 8, 82, 1, "Standard example auto-ECI",
  4264. "1100111010100000100001000101000010110110110100010000001101101000100000011001110101"
  4265. "1110111010100111111001011001000010010111111010100011101101111110101110011101110101"
  4266. "1110011010110010010111110001000011010110010010111110001100011111001001011100110101"
  4267. "1111011010100001100011001001000111010100001011101110001100010000010011011110110101"
  4268. "1111001010111001000011010001000110010110111001111101001101000011101000011110010101"
  4269. "1110001010101101101111000001000100010100111100001101101011011100011111011100010101"
  4270. "1100001010111011100010100001001100010101110001110010001100100111011110011000010101"
  4271. "1100011010101111100100111001001110010111010001100010001111000101000001011000110101"
  4272. },
  4273. /* 26*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("ЖЖ"), -1, 7 }, { TU("¶¶"), -1, 0 }, { TU(""), 0, 0 } }, 0, 8, 82, 1, "Standard example inverted",
  4274. "1100111010110001110001100101000010110111010100011100001000001000010001011001110101"
  4275. "1110111010101000011110010001000010010101000011110010001001111110010110011101110101"
  4276. "1110011010110101001111100001000011010110011111101100101100100101111100011100110101"
  4277. "1111011010110110100010000001000111010100000100111011101010000010100000011110110101"
  4278. "1111001010110111001111101001000110010110111011111010001011111010011100011110010101"
  4279. "1110001010101100010001110001000100010110111110010000101000000110101110011100010101"
  4280. "1100001010110100001000110001001100010111010010000111001110001100010011011000010101"
  4281. "1100011010111110111011000101001110010111011000111000101110100111000110011000110101"
  4282. },
  4283. /* 27*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("ЖЖ"), -1, 7 }, { TU("¶¶"), -1, 0 }, { TU(""), 0, 0 } }, 0, 8, 82, 1, "Standard example inverted",
  4284. "1100111010110001110001100101000010110111010100011100001000001000010001011001110101"
  4285. "1110111010101000011110010001000010010101000011110010001001111110010110011101110101"
  4286. "1110011010110101001111100001000011010110011111101100101100100101111100011100110101"
  4287. "1111011010110110100010000001000111010100000100111011101010000010100000011110110101"
  4288. "1111001010110111001111101001000110010110111011111010001011111010011100011110010101"
  4289. "1110001010101100010001110001000100010110111110010000101000000110101110011100010101"
  4290. "1100001010110100001000110001001100010111010010000111001110001100010011011000010101"
  4291. "1100011010111110111011000101001110010111011000111000101110100111000110011000110101"
  4292. },
  4293. /* 28*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("ЖЖ"), -1, 0 }, { TU("¶¶"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 8, 82, 1, "Standard example inverted auto-ECI",
  4294. "1100111010110001110001100101000010110111010100011100001000001000010001011001110101"
  4295. "1110111010101000011110010001000010010101000011110010001001111110010110011101110101"
  4296. "1110011010110101001111100001000011010110011111101100101100100101111100011100110101"
  4297. "1111011010110110100010000001000111010100000100111011101010000010100000011110110101"
  4298. "1111001010110111001111101001000110010110111011111010001011111010011100011110010101"
  4299. "1110001010101100010001110001000100010110111110010000101000000110101110011100010101"
  4300. "1100001010110100001000110001001100010111010010000111001110001100010011011000010101"
  4301. "1100011010111110111011000101001110010111011000111000101110100111000110011000110101"
  4302. },
  4303. /* 29*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("ЖЖ"), -1, 0 }, { TU("¶¶"), -1, 0 }, { TU(""), 0, 0 } }, ZINT_WARN_USES_ECI, 8, 82, 1, "Standard example inverted auto-ECI",
  4304. "1100111010110001110001100101000010110111010100011100001000001000010001011001110101"
  4305. "1110111010101000011110010001000010010101000011110010001001111110010110011101110101"
  4306. "1110011010110101001111100001000011010110011111101100101100100101111100011100110101"
  4307. "1111011010110110100010000001000111010100000100111011101010000010100000011110110101"
  4308. "1111001010110111001111101001000110010110111011111010001011111010011100011110010101"
  4309. "1110001010101100010001110001000100010110111110010000101000000110101110011100010101"
  4310. "1100001010110100001000110001001100010111010010000111001110001100010011011000010101"
  4311. "1100011010111110111011000101001110010111011000111000101110100111000110011000110101"
  4312. },
  4313. /* 30*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, 4, -1, { 0, 0, "" }, { { TU("product:Google Pixel 4a 128 GB Black;price:$439.97"), -1, 3 }, { TU("品名:Google 谷歌 Pixel 4a 128 GB 黑色;零售价:¥3149.79"), -1, 29 }, { TU("Produkt:Google Pixel 4a 128 GB Schwarz;Preis:444,90 €"), -1, 17 } }, 0, 44, 99, 0, "AIM ITS/04-023:2022 Annex A example (shortened); BWIPP different encodation",
  4314. "110010001011000111000110010111010100111000001011000010100001100011001001100000100101100011010001001"
  4315. "111010001011000100111010000101001111000010001011100010111101001101100001111000001101101011010001101"
  4316. "111011001010001111001101100101110001100111001011100110100100100001111001111110010110001011010000101"
  4317. "110011001011000001001011000110010001101110001011100100110100000100011001000001010001000011011000101"
  4318. "110111001011010001110000010111010110000001001011101100111100000100010101111110100101110011001000101"
  4319. "110111101011001111101101100100100101111000001001101100110001111010110001110111111010100011101000101"
  4320. "110011101011111010101111100110110000100001001000101100110101100111000001101110011000010011101100101"
  4321. "111011101010101111110011100110011110101111101000101000100010011111011001110100111000011011001100101"
  4322. "111001101010111101001000000110010001001111101001101000100001111101100101010111000111111011011100101"
  4323. "111101101010000010000100010111011011001110001011101000111011010001100001110010010011100011011110101"
  4324. "111100101011100101111001110101111110101100001011001000111100000110110101110100000011001011001110101"
  4325. "111000101010111000110011100100100100001111001011001100111111001011000101100111111011001011101110101"
  4326. "110000101011011010000100000101101100010000001011000100111101101000111001110110010110000011100110101"
  4327. "110001101010111111010110000101111001000111101011000110100001101011111101000110100111111011110110101"
  4328. "110001001011011101001110000100111110011101101010000110100111110110010001100111110110110011110010101"
  4329. "111001001011010111100111110100100011001100001010001110111000111010010001101001100011100011100010101"
  4330. "111101001011011111101011100110110111100010001010001100111110100010110001100011001111001011000010101"
  4331. "111101011010011001000011100110001111000101101010011100110001000101111101000111001011000011000110101"
  4332. "111101010010100010000010000111101000101111001010011000111101110100110001001011000011000011000100101"
  4333. "111001010011110100001001000101111110101100001010111000111100011101110101110101110001100011100100101"
  4334. "111011010010110000010011100111011011111100101010110000100001111101100101111110101100010011110100101"
  4335. "111010010011000111011000100110000110110110001010010000100110111000110001000010110000011011110101101"
  4336. "111010011011000100011110110111110110000010101011010000111010000011001001001000011111011011110101001"
  4337. "111010111010011011001111000100111110110100001001010000100001010111100001110011110010111011100101001"
  4338. "111010110011000101011000000100001101111011101001011000100000101000001001000001010001000011101101001"
  4339. "111010100011110101110011100111111011010110001001011100111000111011110101110101111101111011101001001"
  4340. "110010100011011110010000110101001100001111101011011100111001111010011101100111001001110011101001101"
  4341. "110010110010000010001101100110000010010110001011011110111011100110011001011001100001000011101011101"
  4342. "110010111011001111010111110111101000100100001011001110111010001100100001011010011111100011101011001"
  4343. "110010011011000111100100110100111111001110101001001110111001011111101101100011111001001011101010001"
  4344. "110011011010000110001100100100001100011001001001101110100001100011001001000011000110010011001010001"
  4345. "111011011010111111010110000101111110101100001000101110110001000111001001110001100111010011001011001"
  4346. "111001011011010010111110000111010100011111101000100110100011110000100101011100100110000011001011101"
  4347. "110001011011101100100011000111000111011011001000110110110001001110111101000011001100010011001001101"
  4348. "110001010011010001110000100101110011111100101000010110111101001100001101110100000110100011001101101"
  4349. "110011010010111001110011110100110111001111101000010010101110000001011001000110110001111011101101101"
  4350. "110111010010010000001001000101100011110111001000011010111001010011100001111101110100111011100101101"
  4351. "110110010011111010111011110101111110011011101000111010100010011110100001111000001101101011000101101"
  4352. "110110011010000111100101000100001111000101001000110010111101000011110101011000001011100011000101001"
  4353. "110110111010000100011000110110111110111101001000100010110010111011110001000010011001100011001101001"
  4354. "110110110011111011010100000111100100110011001001100010111110101000001101111011000011001011011101001"
  4355. "110110100011001110010001110101110100000011001001110010101110110011100001000110010000111011011001001"
  4356. "110100100011101110100000100110101110011110001001111010111101110100001101010000110001100011011001101"
  4357. "110101100011111010110011100111111010010111001011111010111100100100000101011111100101100011011011101"
  4358. },
  4359. /* 31*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, 4, -1, { 0, 0, "" }, { { TU("product:Google Pixel 4a 128 GB Black;price:$439.97"), -1, 3 }, { TU("品名:Google 谷歌 Pixel 4a 128 GB 黑色;零售价:¥3149.79"), -1, 29 }, { TU("Produkt:Google Pixel 4a 128 GB Schwarz;Preis:444,90 €"), -1, 17 } }, 0, 44, 99, 0, "AIM ITS/04-023:2022 Annex A example (shortened); BWIPP different encodation",
  4360. "110010001011000111000110010111010100111000001011000010100001100011001001100000100101100011010001001"
  4361. "111010001011000100111010000101001111000010001011100010111101001101100001111000001101101011010001101"
  4362. "111011001010001111001101100101110001100111001011100110100100100001111001111110010110001011010000101"
  4363. "110011001011000001001011000110010001101110001011100100110100000100011001000001010001000011011000101"
  4364. "110111001011010001110000010111010110000001001011101100111100000100010101111110100101110011001000101"
  4365. "110111101011001111101101100100100101111000001001101100110001111010110001110111111010100011101000101"
  4366. "110011101011111010101111100110110000100001001000101100110101100111000001101110011000010011101100101"
  4367. "111011101010101111110011100110011110101111101000101000100010011111011001110100111000011011001100101"
  4368. "111001101010111101001000000110010001001111101001101000100001111101100101010111000111111011011100101"
  4369. "111101101010000010000100010111001000001011101011101000110101100111000001000100100000100011011110101"
  4370. "111100101010000101111001000100111001111110101011001000101000011111011001111000010110110011001110101"
  4371. "111000101011000011010111100101110110000111001011001100100001100001011101001001001111000011101110101"
  4372. "110000101010110110001000000111101101000111001011000100111011001011000001000011000110010011100110101"
  4373. "110001101010111100100011110100001101011111101011000110100011010011111101111001000100001011110110101"
  4374. "110001001010011111001110110100111110110010001010000110110011111011011001111101011110110011110010101"
  4375. "111001001010010001100110000111000111010010001010001110110100110001110001000001000010001011100010101"
  4376. "111101001011011011110001000111110100010110001010001100110001100111100101100100011100001011000010101"
  4377. "111101011011000111100010110110001000101111101010011100100011100101100001101001111110100011000110101"
  4378. "111101010011110100010111100111101110100110001010011000100101100001100001001011000001100011000100101"
  4379. "111001010010111111010110000111100011101110101010111000111010111000110001111011011000010011100100101"
  4380. "111011010011101101111110010100001111101100101010110000111111010110001001011111100111010011110100101"
  4381. "111010010011000011011011000100110111000110001010010000100001011000001101100001010000110011110101101"
  4382. "111010011011111011000001010111010000011001001011010000100100001111101101001001111100110011110101001"
  4383. "111010111010011111011010000100001010111100001001010000111001111001011101101110100111000011100101001"
  4384. "111010110010000110111101110100000101000001001001011000100000101000100001101011110011111011101101001"
  4385. "111010100011111101101011000111000111011110101001011100111010111110111101111101110110001011101001001"
  4386. "110010100010100110000111110111001111010011101011011100110011100100111001000000110010111011101001101"
  4387. "110010110011000001001011000111011100110011001011011110101100110000100001110001110110011011101011101"
  4388. "110010111011110100010010000111010001100100001011001110101101001111110001110000010111011011101011001"
  4389. "110010011010011111100111010111001011111101101001001110110001111100100101100011111001001011101010001"
  4390. "110011011010000110001100100100001100011001001001101110100001100011001001000011000110010011001010001"
  4391. "111011011010111111010110000101111110101100001000101110101111000010111101111100100110111011001011001"
  4392. "111001011011101110010011110110011110001001101000100110110001011111101001011101100011100011001011101"
  4393. "110001011010001010000001000110001100100000101000110110110100001000011001101100100100000011001001101"
  4394. "110001010011110110110000010111101000010100001000010110100000010011110101100010111101100011001101101"
  4395. "110011010011100111110010110110001110100111001000010010110011011001111101101100110011111011101101101"
  4396. "110111010010000010011011000110100011011100001000011010110110010000100001101110011001000011100101101"
  4397. "110110010011110110000011010100001101111100101000111010110100001111001101101001111000110011000101101"
  4398. "110110011011011101100111100111111010000110101000110010100100110001111101100111010011100011000101001"
  4399. "110110111010111000011101000110010111001111001000100010100001001010000001010000011011000011001101001"
  4400. "110110110011000100000111010111111011010001101001100010100100111110011001010000011110100011011101001"
  4401. "110110100011110000101111010100111101100011001001110010110001111101010001100100101111100011011001001"
  4402. "110100100010011011111011110111001110100001001001111010110111011100110001011110001111010011011001101"
  4403. "110101100010101111110001110111100001100110101011111010111101000010000101011111000010111011011011101"
  4404. },
  4405. /* 32*/ { BARCODE_MICROPDF417, DATA_MODE | FAST_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("\357\357"), 2, 0 }, { TU("\357\357"), 2, 7 }, { TU("\357\357"), 2, 0 } }, 0, 10, 82, 1, "Standard example (doubled) + extra seg, data mode",
  4406. "1100010010110011111101100101001111010101100110011110001011001100111100011000100101"
  4407. "1110010010110001110001100101011111010111010100011100001000001000010001011100100101"
  4408. "1111010010111100101110011101011110010111100101110011101001111110010110011110100101"
  4409. "1111010110110101001111100001011110110110011111101100101011001100111100011110101101"
  4410. "1111010100111011001000110001001110110100001100011001001100111011001000011110101001"
  4411. "1110010100110001000001110101001110100111111011101010001101110111110100011100101001"
  4412. "1110110100110100010011111001001100100110010100001111101110011111101010011101101001"
  4413. "1110100100110110000010000101001100110101001000001000001110100000100111011101001001"
  4414. "1110100110111101000011001101001000110111101001000100001100100111010000011101001101"
  4415. "1110101110100000101101111101001000010111010011111000101001110111001111011101011101"
  4416. },
  4417. /* 33*/ { BARCODE_MICROPDF417, DATA_MODE, -1, 3, -1, { 0, 0, "" }, { { TU("\357\357"), 2, 0 }, { TU("\357\357"), 2, 7 }, { TU("\357\357"), 2, 0 } }, 0, 10, 82, 1, "Standard example (doubled) + extra seg, data mode",
  4418. "1100010010110011111101100101001111010101100110011110001011001100111100011000100101"
  4419. "1110010010110001110001100101011111010111010100011100001000001000010001011100100101"
  4420. "1111010010111100101110011101011110010111100101110011101001111110010110011110100101"
  4421. "1111010110110101001111100001011110110110011111101100101011001100111100011110101101"
  4422. "1111010100111011001000110001001110110100001100011001001100111011001000011110101001"
  4423. "1110010100110001000001110101001110100111111011101010001101110111110100011100101001"
  4424. "1110110100110100010011111001001100100110010100001111101110011111101010011101101001"
  4425. "1110100100110110000010000101001100110101001000001000001110100000100111011101001001"
  4426. "1110100110111101000011001101001000110111101001000100001100100111010000011101001101"
  4427. "1110101110100000101101111101001000010111010011111000101001110111001111011101011101"
  4428. },
  4429. /* 34*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 0 }, { TU("貫やぐ禁"), -1, 20 } }, ZINT_WARN_USES_ECI, 17, 55, 1, "Auto-ECI",
  4430. "1100110100100001111101100101101010000111110011001101001"
  4431. "1101110100100000100001000101100100110011100011011101001"
  4432. "1101100100111100101100011001100101111011000011011001001"
  4433. "1101100110111111001000110101000011111011001011011001101"
  4434. "1101101110111010110111100001000001000010001011011011101"
  4435. "1101101100101000111111011101111010000101000011011011001"
  4436. "1101101000100100111011111101000011111011001011011010001"
  4437. "1101001000101011000011000001000001000010001011010010001"
  4438. "1101011000111001011000001001111011101110100011010110001"
  4439. "1101011100110011010011110001101111100010001011010111001"
  4440. "1101011110110100001110111101110100000010111011010111101"
  4441. "1101001110111110010100110001011111101011000011010011101"
  4442. "1101001100101000011001111101000000110100111011010011001"
  4443. "1101000100110100110111000001000010000100100011010001001"
  4444. "1101000110111001011110011101101101111001000011010001101"
  4445. "1101000010110000011010111101100110010001111011010000101"
  4446. "1101100010100001001101100001001001110111000011011000101"
  4447. },
  4448. /* 35*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 0 }, { TU("貫やぐ禁"), -1, 20 } }, ZINT_WARN_USES_ECI, 17, 55, 1, "Auto-ECI",
  4449. "1100110100100001111101100101101010000111110011001101001"
  4450. "1101110100100000100001000101100100110011100011011101001"
  4451. "1101100100111100101100011001100101111011000011011001001"
  4452. "1101100110111111001000110101000011111011001011011001101"
  4453. "1101101110111010110111100001000001000010001011011011101"
  4454. "1101101100101000111111011101111010000101000011011011001"
  4455. "1101101000100100111011111101000011111011001011011010001"
  4456. "1101001000101011000011000001000001000010001011010010001"
  4457. "1101011000111001011000001001111011101110100011010110001"
  4458. "1101011100110011010011110001101111100010001011010111001"
  4459. "1101011110110100001110111101110100000010111011010111101"
  4460. "1101001110111110010100110001011111101011000011010011101"
  4461. "1101001100101000011001111101000000110100111011010011001"
  4462. "1101000100110100110111000001000010000100100011010001001"
  4463. "1101000110111001011110011101101101111001000011010001101"
  4464. "1101000010110000011010111101100110010001111011010000101"
  4465. "1101100010100001001101100001001001110111000011011000101"
  4466. },
  4467. /* 36*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("ABCDE"), -1, 0 }, { TU("fghij"), -1, 17 }, { TU(""), 0, 0 } }, 0, 17, 38, 0, "Pad spanning ECI; BWIPP uses LL (better) instead of ML",
  4468. "11001101001100011111001001011001101001"
  4469. "11011101001111010101111000011011101001"
  4470. "11011001001101011111101111011011001001"
  4471. "11011001101001011000011111011011001101"
  4472. "11011011101100011100011001011011011101"
  4473. "11011011001111010110011000011011011001"
  4474. "11011010001000011100010110011011010001"
  4475. "11010010001111011010000111011010010001"
  4476. "11010110001001011110010000011010110001"
  4477. "11010111001100011111001001011010111001"
  4478. "11010111101000111011100010011010111101"
  4479. "11010011101111010001100110011010011101"
  4480. "11010011001100110000101111011010011001"
  4481. "11010001001101110011001000011010001001"
  4482. "11010001101000101111100011011010001101"
  4483. "11010000101001111010000100011010000101"
  4484. "11011000101100110100100000011011000101"
  4485. },
  4486. /* 37*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("ABCDE"), -1, 0 }, { TU("fghij"), -1, 17 }, { TU(""), 0, 0 } }, 0, 17, 38, 0, "Pad spanning ECI; BWIPP uses LL (better) instead of ML",
  4487. "11001101001100011111001001011001101001"
  4488. "11011101001111010101111000011011101001"
  4489. "11011001001101011111101111011011001001"
  4490. "11011001101001011000011111011011001101"
  4491. "11011011101100011100011001011011011101"
  4492. "11011011001111010110011000011011011001"
  4493. "11011010001000011100010110011011010001"
  4494. "11010010001111011010000111011010010001"
  4495. "11010110001001011110010000011010110001"
  4496. "11010111001100011111001001011010111001"
  4497. "11010111101000111011100010011010111101"
  4498. "11010011101111010001100110011010011101"
  4499. "11010011001100110000101111011010011001"
  4500. "11010001001101110011001000011010001001"
  4501. "11010001101000101111100011011010001101"
  4502. "11010000101001111010000100011010000101"
  4503. "11011000101100110100100000011011000101"
  4504. },
  4505. /* 38*/ { BARCODE_MICROPDF417, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 3, 4, "017053" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 13 }, { TU("貫やぐ禁"), -1, 20 } }, 0, 17, 55, 1, "Structured Append",
  4506. "1100110100100001111101100101101010000111110011001101001"
  4507. "1101110100100000100001000101100100110011100011011101001"
  4508. "1101100100111100101100011001100101111011000011011001001"
  4509. "1101100110111111001000110101000011111011001011011001101"
  4510. "1101101110111010110111100001000001000010001011011011101"
  4511. "1101101100101000111111011101111010000101000011011011001"
  4512. "1101101000100100111011111101000011111011001011011010001"
  4513. "1101001000101011000011000001000001000010001011010010001"
  4514. "1101011000111001011000001001111011101110100011010110001"
  4515. "1101011100110011010011110001101111100010001011010111001"
  4516. "1101011110110100001110111101110100000010111011010111101"
  4517. "1101001110111110010100110001011111101011000011010011101"
  4518. "1101001100101000011001111101000000110100111011010011001"
  4519. "1101000100110100110111000001000010000100100011010001001"
  4520. "1101000110111001011110011101101101111001000011010001101"
  4521. "1101000010110000011010111101100110010001111011010000101"
  4522. "1101100010100001001101100001001001110111000011011000101"
  4523. },
  4524. /* 39*/ { BARCODE_MICROPDF417, UNICODE_MODE, -1, -1, -1, { 3, 4, "017053" }, { { TU("Τεχτ"), -1, 9 }, { TU("กขฯ"), -1, 13 }, { TU("貫やぐ禁"), -1, 20 } }, 0, 17, 55, 1, "Structured Append",
  4525. "1100110100100001111101100101101010000111110011001101001"
  4526. "1101110100100000100001000101100100110011100011011101001"
  4527. "1101100100111100101100011001100101111011000011011001001"
  4528. "1101100110111111001000110101000011111011001011011001101"
  4529. "1101101110111010110111100001000001000010001011011011101"
  4530. "1101101100101000111111011101111010000101000011011011001"
  4531. "1101101000100100111011111101000011111011001011011010001"
  4532. "1101001000101011000011000001000001000010001011010010001"
  4533. "1101011000111001011000001001111011101110100011010110001"
  4534. "1101011100110011010011110001101111100010001011010111001"
  4535. "1101011110110100001110111101110100000010111011010111101"
  4536. "1101001110111110010100110001011111101011000011010011101"
  4537. "1101001100101000011001111101000000110100111011010011001"
  4538. "1101000100110100110111000001000010000100100011010001001"
  4539. "1101000110111001011110011101101101111001000011010001101"
  4540. "1101000010110000011010111101100110010001111011010000101"
  4541. "1101100010100001001101100001001001110111000011011000101"
  4542. },
  4543. /* 40*/ { BARCODE_PDF417COMP, UNICODE_MODE | FAST_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("¶"), -1, 0 }, { TU("Ж"), -1, 7 }, { TU(""), 0, 0 } }, 0, 8, 69, 1, "Standard example",
  4544. "111111110101010001111101010111110011010100001100000111100111100101001"
  4545. "111111110101010001111110101000111010100001111001000100111111001011001"
  4546. "111111110101010001110101011111100011101010001111110100111111001110101"
  4547. "111111110101010001101011110011111011011010001000000100001100011001001"
  4548. "111111110101010001110101110000110010111010001111100111100000100100101"
  4549. "111111110101010001111010111101000011101111100010110100111110000110101"
  4550. "111111110101010001110100111011111010100011101110000100011101110010001"
  4551. "111111110101010001111101001011000011100010111011000110101110000100001"
  4552. },
  4553. /* 41*/ { BARCODE_PDF417COMP, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("¶"), -1, 0 }, { TU("Ж"), -1, 7 }, { TU(""), 0, 0 } }, 0, 8, 69, 1, "Standard example",
  4554. "111111110101010001111101010111110011010100001100000111100111100101001"
  4555. "111111110101010001111110101000111010100001111001000100111111001011001"
  4556. "111111110101010001110101011111100011101010001111110100111111001110101"
  4557. "111111110101010001101011110011111011011010001000000100001100011001001"
  4558. "111111110101010001110101110000110010111010001111100111100000100100101"
  4559. "111111110101010001111010111101000011101111100010110100111110000110101"
  4560. "111111110101010001110100111011111010100011101110000100011101110010001"
  4561. "111111110101010001111101001011000011100010111011000110101110000100001"
  4562. },
  4563. /* 42*/ { BARCODE_HIBC_PDF, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("H123ABC"), -1, 0 }, { TU("012345678"), -1, 0 }, { TU("90D"), -1, 20 } }, ZINT_ERROR_INVALID_OPTION, 0, 0, 1, "HIBC",
  4564. ""
  4565. },
  4566. /* 43*/ { BARCODE_HIBC_MICPDF, UNICODE_MODE, -1, -1, -1, { 0, 0, "" }, { { TU("H123ABC"), -1, 0 }, { TU("012345678"), -1, 0 }, { TU("90D"), -1, 20 } }, ZINT_ERROR_INVALID_OPTION, 0, 0, 1, "HIBC",
  4567. ""
  4568. },
  4569. };
  4570. const int data_size = ARRAY_SIZE(data);
  4571. int i, j, seg_count, ret;
  4572. struct zint_symbol *symbol = NULL;
  4573. int last_fast_num_cwds = 0; /* Keep clang-tidy happy */
  4574. char escaped[1024];
  4575. char cmp_buf[32768];
  4576. char cmp_msg[1024];
  4577. int do_bwipp = (debug & ZINT_DEBUG_TEST_BWIPP) && testUtilHaveGhostscript(); /* Only do BWIPP test if asked, too slow otherwise */
  4578. int do_zxingcpp = (debug & ZINT_DEBUG_TEST_ZXINGCPP) && testUtilHaveZXingCPPDecoder(); /* Only do ZXing-C++ test if asked, too slow otherwise */
  4579. testStartSymbol("test_encode_segs", &symbol);
  4580. for (i = 0; i < data_size; i++) {
  4581. if (testContinue(p_ctx, i)) continue;
  4582. symbol = ZBarcode_Create();
  4583. assert_nonnull(symbol, "Symbol not created\n");
  4584. symbol->debug = ZINT_DEBUG_TEST; /* Needed to get codeword dump in errtxt */
  4585. testUtilSetSymbol(symbol, data[i].symbology, data[i].input_mode, -1 /*eci*/,
  4586. data[i].option_1, data[i].option_2, data[i].option_3, -1 /*output_options*/, NULL, 0, debug);
  4587. for (j = 0, seg_count = 0; j < 3 && data[i].segs[j].length; j++, seg_count++);
  4588. ret = ZBarcode_Encode_Segs(symbol, data[i].segs, seg_count);
  4589. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode_Segs ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  4590. if (p_ctx->generate) {
  4591. char escaped1[4096];
  4592. char escaped2[4096];
  4593. int length = data[i].segs[0].length == -1 ? (int) ustrlen(data[i].segs[0].source) : data[i].segs[0].length;
  4594. int length1 = data[i].segs[1].length == -1 ? (int) ustrlen(data[i].segs[1].source) : data[i].segs[1].length;
  4595. int length2 = data[i].segs[2].length == -1 ? (int) ustrlen(data[i].segs[2].source) : data[i].segs[2].length;
  4596. printf(" /*%3d*/ { %s, %s, %d, %d, %d, { %d, %d, \"%s\" }, { { TU(\"%s\"), %d, %d }, { TU(\"%s\"), %d, %d }, { TU(\"%s\"), %d, %d } }, %s, %d, %d, %d, \"%s\",\n",
  4597. i, testUtilBarcodeName(data[i].symbology), testUtilInputModeName(data[i].input_mode),
  4598. data[i].option_1, data[i].option_2, data[i].option_3,
  4599. data[i].structapp.index, data[i].structapp.count, data[i].structapp.id,
  4600. testUtilEscape((const char *) data[i].segs[0].source, length, escaped, sizeof(escaped)), data[i].segs[0].length, data[i].segs[0].eci,
  4601. testUtilEscape((const char *) data[i].segs[1].source, length1, escaped1, sizeof(escaped1)), data[i].segs[1].length, data[i].segs[1].eci,
  4602. testUtilEscape((const char *) data[i].segs[2].source, length2, escaped2, sizeof(escaped2)), data[i].segs[2].length, data[i].segs[2].eci,
  4603. testUtilErrorName(data[i].ret), symbol->rows, symbol->width, data[i].bwipp_cmp, data[i].comment);
  4604. if (data[i].ret < ZINT_ERROR) {
  4605. testUtilModulesPrint(symbol, " ", "\n");
  4606. } else {
  4607. printf(" \"\"\n");
  4608. }
  4609. printf(" },\n");
  4610. } else {
  4611. if (ret < ZINT_ERROR) {
  4612. int width, row;
  4613. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d\n", i, symbol->rows, data[i].expected_rows);
  4614. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d\n", i, symbol->width, data[i].expected_width);
  4615. ret = testUtilModulesCmp(symbol, data[i].expected, &width, &row);
  4616. assert_zero(ret, "i:%d testUtilModulesCmp ret %d != 0 width %d row %d\n", i, ret, width, row);
  4617. if (data[i].ret == 0 && p_ctx->index == -1) {
  4618. if (i && (data[i - 1].input_mode & FAST_MODE) && !(data[i].input_mode & FAST_MODE)) {
  4619. int num_cwds;
  4620. assert_equal(sscanf(symbol->errtxt, "(%d)", &num_cwds), 1, "i:%d num_cwds sscanf != 1 (%s)\n", i, symbol->errtxt);
  4621. assert_nonzero(last_fast_num_cwds >= num_cwds, "i:%d last_fast_num_cwds %d < num_cwds %d\n", i, last_fast_num_cwds, num_cwds);
  4622. if (num_cwds < last_fast_num_cwds && (debug & ZINT_DEBUG_TEST_PRINT) && !(debug & ZINT_DEBUG_TEST_LESS_NOISY)) {
  4623. printf("i:%d diff %d\n", i, num_cwds - last_fast_num_cwds);
  4624. }
  4625. }
  4626. if (data[i].input_mode & FAST_MODE) {
  4627. assert_equal(sscanf(symbol->errtxt, "(%d)", &last_fast_num_cwds), 1, "i:%d last_fast sscanf != 1 (%s)\n", i, symbol->errtxt);
  4628. }
  4629. }
  4630. if (do_bwipp && testUtilCanBwipp(i, symbol, data[i].option_1, data[i].option_2, data[i].option_3, debug)) {
  4631. if (!data[i].bwipp_cmp) {
  4632. if (debug & ZINT_DEBUG_TEST_PRINT) printf("i:%d %s not BWIPP compatible (%s)\n", i, testUtilBarcodeName(symbol->symbology), data[i].comment);
  4633. } else {
  4634. ret = testUtilBwippSegs(i, symbol, data[i].option_1, data[i].option_2, data[i].option_3, data[i].segs, seg_count, NULL, cmp_buf, sizeof(cmp_buf));
  4635. assert_zero(ret, "i:%d %s testUtilBwippSegs ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  4636. ret = testUtilBwippCmp(symbol, cmp_msg, cmp_buf, data[i].expected);
  4637. assert_zero(ret, "i:%d %s testUtilBwippCmp %d != 0 %s\n actual: %s\nexpected: %s\n",
  4638. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_buf, data[i].expected);
  4639. }
  4640. }
  4641. if (do_zxingcpp && testUtilCanZXingCPP(i, symbol, (const char *) data[i].segs[0].source, data[i].segs[0].length, debug)) {
  4642. if ((data[i].input_mode & 0x07) == DATA_MODE) {
  4643. if (debug & ZINT_DEBUG_TEST_PRINT) {
  4644. printf("i:%d multiple segments in DATA_MODE not currently supported for ZXing-C++ testing (%s)\n",
  4645. i, testUtilBarcodeName(symbol->symbology));
  4646. }
  4647. } else {
  4648. int cmp_len, ret_len;
  4649. char modules_dump[2710 * 8 + 1];
  4650. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  4651. ret = testUtilZXingCPP(i, symbol, (const char *) data[i].segs[0].source, data[i].segs[0].length,
  4652. modules_dump, cmp_buf, sizeof(cmp_buf), &cmp_len);
  4653. assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  4654. ret = testUtilZXingCPPCmpSegs(symbol, cmp_msg, cmp_buf, cmp_len, data[i].segs, seg_count,
  4655. NULL /*primary*/, escaped, &ret_len);
  4656. assert_zero(ret, "i:%d %s testUtilZXingCPPCmpSegs %d != 0 %s\n actual: %.*s\nexpected: %.*s\n",
  4657. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_len, cmp_buf, ret_len, escaped);
  4658. }
  4659. }
  4660. }
  4661. }
  4662. ZBarcode_Delete(symbol);
  4663. }
  4664. testFinish();
  4665. }
  4666. /* #181 Nico Gunkel OSS-Fuzz and #300 Andre Maute */
  4667. static void test_fuzz(const testCtx *const p_ctx) {
  4668. int debug = p_ctx->debug;
  4669. struct item {
  4670. int symbology;
  4671. int input_mode;
  4672. int option_1;
  4673. int option_2;
  4674. char *data;
  4675. int length;
  4676. int ret;
  4677. int bwipp_cmp;
  4678. char *comment;
  4679. };
  4680. static const struct item data[] = {
  4681. /* 0*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1,
  4682. "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075"
  4683. "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060"
  4684. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4685. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4686. "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060"
  4687. "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075"
  4688. "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041"
  4689. "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060"
  4690. "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060"
  4691. "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060"
  4692. "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204"
  4693. "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060"
  4694. "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060"
  4695. "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060"
  4696. "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120"
  4697. "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060"
  4698. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4699. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4700. "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160"
  4701. "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075"
  4702. "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214"
  4703. "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204"
  4704. "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103"
  4705. "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060"
  4706. "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060",
  4707. 1001, ZINT_ERROR_TOO_LONG, 1, ""
  4708. }, /* Original OSS-Fuzz triggering data */
  4709. /* 1*/ { BARCODE_PDF417, DATA_MODE, -1, -1,
  4710. "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075"
  4711. "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060"
  4712. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4713. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4714. "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060"
  4715. "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075"
  4716. "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041"
  4717. "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060"
  4718. "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060"
  4719. "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060"
  4720. "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204"
  4721. "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060"
  4722. "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060"
  4723. "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060"
  4724. "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120"
  4725. "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060"
  4726. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4727. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4728. "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160"
  4729. "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075"
  4730. "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214"
  4731. "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204"
  4732. "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103"
  4733. "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060"
  4734. "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060",
  4735. 1001, 0, 0, "BWIPP different encodation"
  4736. }, /* Original OSS-Fuzz triggering data */
  4737. /* 2*/ { BARCODE_PDF417COMP, DATA_MODE | FAST_MODE, -1, -1,
  4738. "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075"
  4739. "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060"
  4740. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4741. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4742. "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060"
  4743. "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075"
  4744. "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041"
  4745. "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060"
  4746. "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060"
  4747. "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060"
  4748. "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204"
  4749. "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060"
  4750. "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060"
  4751. "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060"
  4752. "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120"
  4753. "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060"
  4754. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4755. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4756. "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160"
  4757. "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075"
  4758. "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214"
  4759. "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204"
  4760. "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103"
  4761. "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060"
  4762. "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060",
  4763. 1001, ZINT_ERROR_TOO_LONG, 1, ""
  4764. },
  4765. /* 3*/ { BARCODE_PDF417COMP, DATA_MODE, -1, -1,
  4766. "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075"
  4767. "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060"
  4768. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4769. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4770. "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060"
  4771. "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075"
  4772. "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041"
  4773. "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060"
  4774. "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060"
  4775. "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060"
  4776. "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204"
  4777. "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060"
  4778. "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060"
  4779. "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060"
  4780. "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120"
  4781. "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060"
  4782. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4783. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4784. "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160"
  4785. "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075"
  4786. "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214"
  4787. "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204"
  4788. "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103"
  4789. "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060"
  4790. "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060",
  4791. 1001, 0, 0, "BWIPP different encodation"
  4792. },
  4793. /* 4*/ { BARCODE_MICROPDF417, DATA_MODE | FAST_MODE, -1, -1,
  4794. "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075"
  4795. "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060"
  4796. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4797. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4798. "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060"
  4799. "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075"
  4800. "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041"
  4801. "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060"
  4802. "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060"
  4803. "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060"
  4804. "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204"
  4805. "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060"
  4806. "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060"
  4807. "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060"
  4808. "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120"
  4809. "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060"
  4810. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4811. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4812. "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160"
  4813. "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075"
  4814. "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214"
  4815. "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204"
  4816. "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103"
  4817. "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060"
  4818. "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060",
  4819. 1001, ZINT_ERROR_TOO_LONG, 1, ""
  4820. },
  4821. /* 5*/ { BARCODE_MICROPDF417, DATA_MODE, -1, -1,
  4822. "\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075"
  4823. "\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\073\060\025\060\075\060\204\060\103\204\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060"
  4824. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4825. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4826. "\000\075\060\226\060\100\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\110\060\160\060\075\060\075\204\060"
  4827. "\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\073\060\074\060\075"
  4828. "\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\120\214\060\204\060\074\204\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041"
  4829. "\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\120\214\060\204\060\075\060\204\060\075\204\060\204\060\204\075\060\075\060"
  4830. "\204\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060"
  4831. "\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\075\060\103\204\060\214\060\204\060\075\060"
  4832. "\200\060\204\075\060\075\060\204\060\000\075\060\226\060\100\204\060\204\060\075\204\060\204\060\204\075\060\075\060\204\060\134\060\075\204\060\040\060\103\204"
  4833. "\060\372\120\060\124\060\004\060\103\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\000\060\113\060\377\060\235\060\075\060"
  4834. "\204\060\103\204\060\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\211\060\214\060\204\060\075\060"
  4835. "\041\060\204\060\204\060\120\060\075\060\204\060\003\060\103\204\060\204\060\377\060\350\060\223\060\000\075\060\226\060\103\204\060\204\060\204\120\060\075\060"
  4836. "\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120"
  4837. "\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\031\060\155\060\000\075\060\226\060\100\204\060\204\060"
  4838. "\204\060\075\204\060\120\214\060\204\060\074\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\000\060\204\060\120\214\060\204\060\074\204"
  4839. "\060\377\060\075\204\060\075\060\103\204\060\214\060\204\060\075\060\041\060\204\060\204\060\126\060\075\060\204\060\177\060\103\204\060\204\060\377\060\262\060"
  4840. "\000\075\060\226\060\100\204\060\204\060\204\075\060\073\060\204\060\000\075\060\226\060\100\060\103\204\060\204\060\075\204\060\204\060\204\075\060\110\060\160"
  4841. "\060\075\060\075\204\060\075\060\103\204\060\204\060\372\120\060\124\060\000\060\204\060\074\204\060\204\060\075\204\060\075\060\103\204\060\214\060\204\060\075"
  4842. "\060\073\060\074\060\075\060\204\060\103\204\060\075\060\204\060\204\060\075\204\060\075\214\060\204\060\074\204\060\204\060\075\204\060\075\060\103\214\060\214"
  4843. "\060\204\060\075\060\041\060\000\060\000\060\200\060\204\060\214\060\204\060\075\060\141\060\000\060\204\060\075\214\060\204\060\075\060\204\060\075\204\060\204"
  4844. "\060\204\041\060\075\060\204\060\075\060\075\204\060\075\060\103\204\060\204\060\003\120\060\075\060\004\060\204\060\074\204\060\204\060\075\204\060\075\060\103"
  4845. "\204\060\214\060\204\060\075\060\073\060\075\060\204\060\103\204\060\075\060\204\060\204\060\122\060\000\060\075\060\000\076\060\100\000\060\004\060\103\204\060"
  4846. "\204\060\003\060\204\075\060\120\214\060\204\060\004\060\103\204\060\204\060\003\060\211\074\060\120\060\124\060\351\060\120\060\075\060\351\060\072\375\060\204\060",
  4847. 1001, ZINT_ERROR_TOO_LONG, 1, ""
  4848. },
  4849. /* 6*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, 0, -1,
  4850. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4851. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4852. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4853. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4854. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4855. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4856. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4857. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4858. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4859. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4860. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4861. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4862. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4863. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4864. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4865. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4866. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4867. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4868. "1234567890",
  4869. 2710, 0, 0, "BWIPP different encodation"
  4870. }, /* Max numerics with ECC 0 */
  4871. /* 7*/ { BARCODE_PDF417, DATA_MODE, 0, -1,
  4872. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4873. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4874. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4875. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4876. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4877. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4878. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4879. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4880. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4881. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4882. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4883. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4884. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4885. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4886. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4887. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4888. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4889. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4890. "1234567890",
  4891. 2710, 0, 0, "BWIPP different encodation"
  4892. }, /* Max numerics with ECC 0 */
  4893. /* 8*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, 0, -1,
  4894. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4895. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4896. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4897. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4898. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4899. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4900. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4901. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4902. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4903. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4904. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4905. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4906. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4907. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4908. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4909. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4910. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4911. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4912. "12345678901",
  4913. 2711, ZINT_ERROR_TOO_LONG, 1, ""
  4914. },
  4915. /* 9*/ { BARCODE_PDF417, DATA_MODE, 0, -1,
  4916. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4917. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4918. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4919. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4920. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4921. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4922. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4923. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4924. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4925. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4926. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4927. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4928. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4929. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4930. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4931. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4932. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4933. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4934. "12345678901",
  4935. 2711, ZINT_ERROR_TOO_LONG, 1, ""
  4936. },
  4937. /* 10*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1,
  4938. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4939. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4940. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4941. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4942. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4943. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4944. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4945. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4946. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4947. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4948. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4949. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4950. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4951. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4952. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4953. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4954. "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
  4955. 2528, 0, 0, "BWIPP different encodation"
  4956. }, /* Max numerics with ECC 5 */
  4957. /* 11*/ { BARCODE_PDF417, DATA_MODE, -1, -1,
  4958. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4959. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4960. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4961. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4962. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4963. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4964. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4965. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4966. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4967. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4968. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4969. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4970. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4971. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4972. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4973. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  4974. "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
  4975. 2528, 0, 0, "BWIPP different encodation"
  4976. }, /* Max numerics with ECC 5 */
  4977. /* 12*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, 0, -1,
  4978. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4979. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4980. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4981. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4982. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4983. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4984. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4985. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4986. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4987. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4988. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4989. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4990. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4991. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4992. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCD",
  4993. 1850, 0, 0, "BWIPP different encodation"
  4994. }, /* Max text with ECC 0 */
  4995. /* 13*/ { BARCODE_PDF417, DATA_MODE, 0, -1,
  4996. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4997. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4998. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4999. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5000. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5001. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5002. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5003. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5004. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5005. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5006. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5007. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5008. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5009. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5010. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCD",
  5011. 1850, 0, 0, "BWIPP different encodation"
  5012. }, /* Max text with ECC 0 */
  5013. /* 14*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, 0, -1,
  5014. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5015. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5016. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5017. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5018. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5019. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5020. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5021. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5022. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5023. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5024. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5025. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5026. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5027. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5028. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFG",
  5029. 1853, ZINT_ERROR_TOO_LONG, 1, ""
  5030. },
  5031. /* 15*/ { BARCODE_PDF417, DATA_MODE, 0, -1,
  5032. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5033. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5034. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5035. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5036. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5037. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5038. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5039. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5040. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5041. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5042. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5043. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5044. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5045. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5046. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFG",
  5047. 1853, ZINT_ERROR_TOO_LONG, 1, ""
  5048. },
  5049. /* 16*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, 0, -1,
  5050. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5051. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5052. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5053. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5054. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5055. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5056. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5057. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5058. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5059. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5060. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5061. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5062. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5063. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5064. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5065. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5066. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5067. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5068. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5069. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5070. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5071. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5072. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5073. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5074. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5075. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5076. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5077. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240",
  5078. 1108, 0, 0, "BWIPP different encodation"
  5079. }, /* Max bytes with ECC 0 */
  5080. /* 17*/ { BARCODE_PDF417, DATA_MODE, 0, -1,
  5081. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5082. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5083. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5084. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5085. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5086. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5087. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5088. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5089. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5090. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5091. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5092. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5093. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5094. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5095. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5096. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5097. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5098. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5099. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5100. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5101. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5102. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5103. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5104. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5105. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5106. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5107. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5108. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240",
  5109. 1108, 0, 0, "BWIPP different encodation"
  5110. }, /* Max bytes with ECC 0 */
  5111. /* 18*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, 0, -1,
  5112. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5113. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5114. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5115. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5116. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5117. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5118. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5119. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5120. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5121. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5122. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5123. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5124. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5125. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5126. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5127. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5128. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5129. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5130. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5131. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5132. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5133. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5134. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5135. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5136. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5137. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5138. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5139. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240",
  5140. 1111, ZINT_ERROR_TOO_LONG, 1, ""
  5141. },
  5142. /* 19*/ { BARCODE_PDF417, DATA_MODE, 0, -1,
  5143. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5144. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5145. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5146. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5147. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5148. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5149. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5150. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5151. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5152. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5153. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5154. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5155. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5156. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5157. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5158. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5159. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5160. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5161. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5162. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5163. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5164. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5165. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5166. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5167. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5168. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5169. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5170. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240",
  5171. 1111, ZINT_ERROR_TOO_LONG, 1, ""
  5172. },
  5173. /* 20*/ { BARCODE_MICROPDF417, DATA_MODE | FAST_MODE, -1, -1,
  5174. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5175. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5176. "123456789012345678901234567890123456789012345678901234567890123456",
  5177. 366, 0, 1, ""
  5178. }, /* Max numerics */
  5179. /* 21*/ { BARCODE_MICROPDF417, DATA_MODE, -1, -1,
  5180. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5181. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5182. "123456789012345678901234567890123456789012345678901234567890123456",
  5183. 366, 0, 1, ""
  5184. }, /* Max numerics */
  5185. /* 22*/ { BARCODE_MICROPDF417, DATA_MODE | FAST_MODE, -1, -1,
  5186. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5187. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5188. "1234567890123456789012345678901234567890123456789012345678901234567",
  5189. 367, ZINT_ERROR_TOO_LONG, 1, ""
  5190. },
  5191. /* 23*/ { BARCODE_MICROPDF417, DATA_MODE, -1, -1,
  5192. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5193. "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
  5194. "1234567890123456789012345678901234567890123456789012345678901234567",
  5195. 367, ZINT_ERROR_TOO_LONG, 1, ""
  5196. },
  5197. /* 24*/ { BARCODE_MICROPDF417, DATA_MODE | FAST_MODE, -1, -1,
  5198. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5199. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP",
  5200. 250, 0, 1, ""
  5201. }, /* Max text */
  5202. /* 25*/ { BARCODE_MICROPDF417, DATA_MODE, -1, -1,
  5203. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5204. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP",
  5205. 250, 0, 1, ""
  5206. }, /* Max text */
  5207. /* 26*/ { BARCODE_MICROPDF417, DATA_MODE | FAST_MODE, -1, -1,
  5208. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5209. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ",
  5210. 251, ZINT_ERROR_TOO_LONG, 1, ""
  5211. },
  5212. /* 27*/ { BARCODE_MICROPDF417, DATA_MODE, -1, -1,
  5213. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
  5214. "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQ",
  5215. 251, ZINT_ERROR_TOO_LONG, 1, ""
  5216. },
  5217. /* 28*/ { BARCODE_PDF417COMP, DATA_MODE | FAST_MODE, 0, -1,
  5218. "\000\000\000\377\377\010\002\000\000\033\005\031\000\000\002\000\000\000\000\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\374\000\101\101\101\000"
  5219. "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\056"
  5220. "\000\000\000\000\000\000\000\000\000\000\100\000\000\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000"
  5221. "\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\056\000\000\000\000"
  5222. "\000\000\000\000\000\000\000\000\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\010\000\000\000\010\000\000\000\000\165\000"
  5223. "\000\000\000\000\000\000\000\000\000\000\000\056\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\375\000\000\000\000\000"
  5224. "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\101\101\101\101\101\101\101\101\101\101\101\055\101\101\101\101\101\101\101\101\101"
  5225. "\101\101\101\060\151\003\000\000\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\137\101\101\101\101\101\101\101\101\000\000\000"
  5226. "\000\000\000\000\000\000\000\000\000\000\000\000\000\101\101\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\000\000\070\000\000\000\000\000\000\000"
  5227. "\000\000\000\377\377\010\002\000\000\033\005\031\000\000\002\000\000\000\000\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\374\000\101\101\101\000"
  5228. "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\010\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\056"
  5229. "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\375\000\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000"
  5230. "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\375\000\000\000\000\000\000\000\000\000\000\000\000\000"
  5231. "\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\101\101\101\101\101\101\101\101\101\101\101\101\101\055\101\101\101\101\101\101\101\101\101"
  5232. "\101\101\101\060\151\003\000\000\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\373\377\377\377\377\060"
  5233. "\060\060\060\060\060\060\060\060\060\060\060\051\060\060\060\060\060\060\377\377\377\377\000\000\000\000\377\161\000\151\151\250\122\141\012\377\377\021\021\021"
  5234. "\021\021\021\161\021\000\324\324\324\324\324\324\324\324\324\324\324\000\000\000\000\112\000\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324"
  5235. "\320\324\324\324\324\021\176\012\000\000\000\000\000\000\324\324\324\324\324\324\324\101\101\101\101\101\101\101\352\352\352\352\352\352\352\352\352\352\352\352"
  5236. "\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\352\000"
  5237. "\000\000\000\000\101\101\101\101\101\101\101\101\101\101\101\101\101\137\101\101\101\101\101\101\101\101\000\000\000\000\000\000\000\000\000\000\000\000\101\101"
  5238. "\101\101\041\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\324\324\324\324\324\324\324\324\324\077\324\324\324\324\324\324\324\324\324\324"
  5239. "\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\000\060\060\060\060\060"
  5240. "\060\060\060\060\060\060\060\060\060\060\060\051\060\060\060\060\060\060\377\377\377\377\000\000\000\000\377\161\000\151\151\250\122\141\012\377\377\021\021\021"
  5241. "\021\021\021\161\021\000\324\324\324\324\324\324\324\324\324\324\324\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\101\137\101\101\101\101\101"
  5242. "\101\000\000\000\000\374\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\323\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
  5243. "\000\000\000\000\000\000\000\000\323\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
  5244. "\000\000\000\000\000\000\000\000",
  5245. 1048, 0, 0, "BWIPP different encodation"
  5246. }, /* #300 (#1) Andre Maute (`pdf_text_submode_length()` not checking if previous/next BYT) */
  5247. /* 29*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, -1,
  5248. "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\067\066\164"
  5249. "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\153\153\164"
  5250. "\164\164\164\164\164\124\164\164\164\164\164\164\164\164\164\164\164\164\164\164\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162"
  5251. "\162\047\122\162\162\162\162\162\162\162\167\167\167\162\162\162\162\047\122\162\000\000\167\167\167\001\152\152\152\152\152\152\051\050\051\051\051\051\051\051"
  5252. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5253. "\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051"
  5254. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5255. "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\107\107\107\107\107\107\107\107"
  5256. "\107\107\162\107\107\107\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\152\152\152\152\152"
  5257. "\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152"
  5258. "\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5259. "\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050"
  5260. "\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051"
  5261. "\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5262. "\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051"
  5263. "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152"
  5264. "\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051"
  5265. "\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051"
  5266. "\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152"
  5267. "\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5268. "\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051"
  5269. "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051"
  5270. "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107"
  5271. "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5272. "\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051"
  5273. "\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051"
  5274. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152"
  5275. "\152\152\152\152\152\107\107\107\107\107\152\051\051\051\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5276. "\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051"
  5277. "\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5278. "\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051"
  5279. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5280. "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152"
  5281. "\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152"
  5282. "\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5283. "\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051"
  5284. "\051\051\051\051\051\051\051\051\051\051\051\051\050\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051"
  5285. "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152"
  5286. "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5287. "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051"
  5288. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051"
  5289. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051"
  5290. "\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5291. "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051"
  5292. "\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051"
  5293. "\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051"
  5294. "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051"
  5295. "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107"
  5296. "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152"
  5297. "\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152"
  5298. "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5299. "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051"
  5300. "\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051"
  5301. "\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051"
  5302. "\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051"
  5303. "\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051"
  5304. "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152"
  5305. "\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051"
  5306. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051"
  5307. "\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051"
  5308. "\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051"
  5309. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5310. "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051"
  5311. "\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5312. "\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\000\124\164\164\162\162\162\047\122\162\162"
  5313. "\162\162\001\100\167\167\001\044\204\167\167",
  5314. 2611, ZINT_ERROR_TOO_LONG, 1, ""
  5315. }, /* #300 (#7) Andre Maute */
  5316. /* 30*/ { BARCODE_PDF417, DATA_MODE, -1, -1,
  5317. "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\067\066\164"
  5318. "\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162\162\047\122\162\000\000\167\211\206\001\000\047\153\153\153\153\153\153\153\164"
  5319. "\164\164\164\164\164\124\164\164\164\164\164\164\164\164\164\164\164\164\164\164\060\060\060\060\060\060\060\060\060\060\060\162\162\162\162\162\162\162\162\162"
  5320. "\162\047\122\162\162\162\162\162\162\162\167\167\167\162\162\162\162\047\122\162\000\000\167\167\167\001\152\152\152\152\152\152\051\050\051\051\051\051\051\051"
  5321. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5322. "\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051"
  5323. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5324. "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\107\107\107\107\107\107\107\107"
  5325. "\107\107\162\107\107\107\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\152\152\152\152\152"
  5326. "\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152"
  5327. "\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5328. "\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050"
  5329. "\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051"
  5330. "\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5331. "\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051"
  5332. "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152"
  5333. "\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051"
  5334. "\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051"
  5335. "\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152"
  5336. "\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5337. "\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051"
  5338. "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051"
  5339. "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107"
  5340. "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5341. "\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051"
  5342. "\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051"
  5343. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152"
  5344. "\152\152\152\152\152\107\107\107\107\107\152\051\051\051\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5345. "\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051"
  5346. "\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5347. "\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051"
  5348. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5349. "\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152"
  5350. "\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152"
  5351. "\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5352. "\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051"
  5353. "\051\051\051\051\051\051\051\051\051\051\051\051\050\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051"
  5354. "\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152"
  5355. "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5356. "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051"
  5357. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051"
  5358. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051"
  5359. "\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5360. "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051"
  5361. "\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051"
  5362. "\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051"
  5363. "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051"
  5364. "\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107"
  5365. "\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\051\051\051\050\152"
  5366. "\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152"
  5367. "\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5368. "\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051"
  5369. "\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051"
  5370. "\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\050\051\051\051\051\051\051\051"
  5371. "\051\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051"
  5372. "\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051"
  5373. "\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152"
  5374. "\152\152\152\152\152\152\152\152\107\107\107\107\107\152\051\051\051\051\107\107\107\107\107\107\107\107\107\107\107\051\051\051\051\051\051\050\051\051\051\051"
  5375. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051"
  5376. "\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051"
  5377. "\051\051\051\051\051\051\051\152\152\152\152\152\152\152\152\152\152\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051"
  5378. "\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5379. "\051\051\051\051\051\051\050\152\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\152\152\051\051\051\051\051\051\051\051\051"
  5380. "\051\051\051\051\107\107\051\051\051\051\051\051\051\051\051\051\051\051\050\051\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051"
  5381. "\051\051\050\152\152\152\152\152\152\152\152\051\050\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\051\000\124\164\164\162\162\162\047\122\162\162"
  5382. "\162\162\001\100\167\167\001\044\204\167\167",
  5383. 2611, ZINT_ERROR_TOO_LONG, 1, ""
  5384. }, /* #300 (#7) Andre Maute !FAST_MODE */
  5385. /* 31*/ { BARCODE_PDF417, DATA_MODE | FAST_MODE, -1, 242,
  5386. "\000\000\000\000\000\000\000\000\000\000\000\212\377\000\000\153\153\153\153\153\153\153\060\047\047\043\047\057\153\000\153\153\137\377\153\153\000\134\000\000"
  5387. "\000\153\153\343\153\153\153\060\047\047\043\047\057\157\153\153\153\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\377\377\377\167"
  5388. "\001\100\000\377\004\002\000\000\000\000\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162"
  5389. "\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362"
  5390. "\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077"
  5391. "\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134"
  5392. "\162\362\162\162\162\072\176\000\162\134\134\126\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000"
  5393. "\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162"
  5394. "\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000"
  5395. "\162\162\377\377\377\377\377\377\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134"
  5396. "\134\134\142\134\162\362\162\162\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162"
  5397. "\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134"
  5398. "\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162"
  5399. "\162\162\077\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072"
  5400. "\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134\162\362\162\162\162\072\176\000\174\174\377\134\362\162\362\162\162\162"
  5401. "\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\162\362\162\162\162\134\134\134\142\134\162\162\162\162\077\173"
  5402. "\153\153\153\165\000\000\000\153\151\153\153\153\153\153\153\153\153\153\153\153\153\153\153\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362"
  5403. "\162\162\162\072\176\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362"
  5404. "\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\134\167\167\167\167\167\001\100\000\002\000\000\000\000\000\000\000"
  5405. "\000\153\153\067\000\000\000\153\153\300\000\000\000\000\000\000\000\000\000\000\000\000\212\377\000\000\153\153\153\153\153\153\153\060\047\047\043\047\057\153"
  5406. "\000\153\153\137\377\153\153\000\134\000\000\000\153\153\343\153\153\153\060\047\047\043\047\057\157\153\153\153\162\162\077\162\072\176\000\162\134\142\134\162"
  5407. "\162\162\162\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\377\377\377\167\001\100\000\377\004\002\000\000\000\000"
  5408. "\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377"
  5409. "\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162"
  5410. "\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377"
  5411. "\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134\162\362\162\162\162\072\176\000\162\162"
  5412. "\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162"
  5413. "\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377"
  5414. "\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162"
  5415. "\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162"
  5416. "\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162"
  5417. "\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162"
  5418. "\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162"
  5419. "\162\162\162\162\174\174\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\362\162\172\162\134\134\134\142\162\072\162"
  5420. "\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162"
  5421. "\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377"
  5422. "\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162"
  5423. "\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162"
  5424. "\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162"
  5425. "\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162"
  5426. "\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072"
  5427. "\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\126\142\134\162\362"
  5428. "\162\162\162\072\176\000\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000"
  5429. "\162\362\162\162\162\134\134\134\142\134\162\162\162\162\077\173\153\153\153\165\000\000\000\153\151\153\153\153\153\153\153\153\153\153\153\153\153\153\153\176"
  5430. "\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176"
  5431. "\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\377\134\134\134"
  5432. "\167\167\167\167\167\001\100\000\002\000\000\000\000\000\000\000\000\153\153\067\000\000\000\153\153\300\000\000\000\000\000\000\000\000\000\000\000\000\212\377"
  5433. "\000\000\153\153\153\153\153\153\153\060\047\047\043\047\057\153\000\153\153\137\377\153\153\000\134\000\000\000\153\153\343\153\153\153\060\047\047\043\047\057"
  5434. "\157\153\153\153\162\162\077\162\072\176\000\162\134\142\134\162\162\162\162\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134"
  5435. "\162\162\377\377\377\167\001\100\000\377\004\002\000\000\000\000\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134"
  5436. "\142\134\162\162\162\162\077\162\072\176\000\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377"
  5437. "\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142"
  5438. "\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362"
  5439. "\377\134\134\126\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377\134\362\162\362\162\162\162\072\176\000\162\362\162\162\162\174\174\377"
  5440. "\134\134\134\162\142\362\134\162\162\162\072\176\000\000\044\162\162\162\162\174\174\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162"
  5441. "\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377"
  5442. "\134\134\134\142\134\162\153\153\153\153\153\153\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162"
  5443. "\162\072\176\000\162\000\001\000\000\134\077\162\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000"
  5444. "\162\362\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\364\072\176\000\162\162\162\162\162\174\174\377\134\134\134\162\142\362\134\162\162\162\072"
  5445. "\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162"
  5446. "\162\377\377\377\377\377\377\134\134\134\162\162\072\176\000\162\162\162\162\162\174\174\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162"
  5447. "\162\174\174\377\134\362\162\172\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\171\072\176\000\162\162\162\162\162\162\377\053\377\377\377"
  5448. "\134\134\134\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\362\162\162\162"
  5449. "\174\174\377\134\134\134\162\142\362\134\162\162\162\072\176\000\162\362\162\162\162\134\134\142\134\162\362\162\162\162\072\176\000\044\162\162\162\162\174\174"
  5450. "\377\134\362\162\162\162\134\134\134\142\162\072\176\000\215\215\162\162\162\174\174\174\174\072\176\000\162\162\162\162\162\162\377\053\377\377\377\134\134\134"
  5451. "\142\134\162\162\162\162\077\162\072\176\000\162\162\377\377\377\377\377\377\134\134\134\142\134\162\362\162\162\162\072\176\000\162\162\162\162\162\174\174\377"
  5452. "\134\134\134\162\142\362\134\162\162\162\072\176\000\215\215\162\162\162\174\174\174\174\134\134\134\142\134\000\153\153\153\153\153\153\153\062\047\047\043\047"
  5453. "\057\262\054\377\134\134\142\153\330\153",
  5454. 2690, ZINT_ERROR_TOO_LONG, 1, ""
  5455. }, /* #300 (#10) Andre Maute */
  5456. };
  5457. const int data_size = ARRAY_SIZE(data);
  5458. int i, length, ret;
  5459. struct zint_symbol *symbol = NULL;
  5460. char escaped[16834];
  5461. char cmp_buf[32768];
  5462. char cmp_msg[32768];
  5463. int do_bwipp = (debug & ZINT_DEBUG_TEST_BWIPP) && testUtilHaveGhostscript(); /* Only do BWIPP test if asked, too slow otherwise */
  5464. int do_zxingcpp = (debug & ZINT_DEBUG_TEST_ZXINGCPP) && testUtilHaveZXingCPPDecoder(); /* Only do ZXing-C++ test if asked, too slow otherwise */
  5465. testStartSymbol("test_fuzz", &symbol);
  5466. for (i = 0; i < data_size; i++) {
  5467. if (testContinue(p_ctx, i)) continue;
  5468. symbol = ZBarcode_Create();
  5469. assert_nonnull(symbol, "Symbol not created\n");
  5470. length = testUtilSetSymbol(symbol, data[i].symbology, data[i].input_mode, -1 /*eci*/, data[i].option_1, data[i].option_2, -1, -1 /*output_options*/, data[i].data, data[i].length, debug);
  5471. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  5472. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  5473. if (ret < ZINT_ERROR) {
  5474. if (do_bwipp && testUtilCanBwipp(i, symbol, data[i].option_1, data[i].option_2, -1, debug)) {
  5475. if (!data[i].bwipp_cmp) {
  5476. if (debug & ZINT_DEBUG_TEST_PRINT) printf("i:%d %s not BWIPP compatible (%s)\n", i, testUtilBarcodeName(symbol->symbology), data[i].comment);
  5477. } else {
  5478. char modules_dump[32768];
  5479. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  5480. ret = testUtilBwipp(i, symbol, data[i].option_1, data[i].option_2, -1, data[i].data, length, NULL, cmp_buf, sizeof(cmp_buf), NULL);
  5481. assert_zero(ret, "i:%d %s testUtilBwipp ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  5482. ret = testUtilBwippCmp(symbol, cmp_msg, cmp_buf, modules_dump);
  5483. assert_zero(ret, "i:%d %s testUtilBwippCmp %d != 0 %s\n actual: %s\nexpected: %s\n",
  5484. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_buf, modules_dump);
  5485. }
  5486. }
  5487. if (do_zxingcpp && testUtilCanZXingCPP(i, symbol, data[i].data, length, debug)) {
  5488. int cmp_len, ret_len;
  5489. char modules_dump[32768];
  5490. assert_notequal(testUtilModulesDump(symbol, modules_dump, sizeof(modules_dump)), -1, "i:%d testUtilModulesDump == -1\n", i);
  5491. ret = testUtilZXingCPP(i, symbol, data[i].data, length, modules_dump, cmp_buf, sizeof(cmp_buf), &cmp_len);
  5492. assert_zero(ret, "i:%d %s testUtilZXingCPP ret %d != 0\n", i, testUtilBarcodeName(symbol->symbology), ret);
  5493. ret = testUtilZXingCPPCmp(symbol, cmp_msg, cmp_buf, cmp_len, data[i].data, length, NULL /*primary*/, escaped, &ret_len);
  5494. assert_zero(ret, "i:%d %s testUtilZXingCPPCmp %d != 0 %s\n actual: %.*s\nexpected: %.*s\n",
  5495. i, testUtilBarcodeName(symbol->symbology), ret, cmp_msg, cmp_len, cmp_buf, ret_len, escaped);
  5496. }
  5497. }
  5498. ZBarcode_Delete(symbol);
  5499. }
  5500. testFinish();
  5501. }
  5502. INTERNAL void pdf_numbprocess_test(short *chainemc, int *p_mclength, const unsigned char chaine[], const int start,
  5503. const int length);
  5504. #include "../large.h"
  5505. /* Max codewords 12 */
  5506. static int annex_d_decode_dump(short chainemc[], int mclength, unsigned char *chaine, int length, char *buf1, char *buf2) {
  5507. static const large_uint pow900s[] = {
  5508. { 0x1, 0 }, /*1*/
  5509. { 0x384, 0 }, /*900*/
  5510. { 0xC5C10, 0 }, /*810000*/
  5511. { 0x2B73A840, 0 }, /*729000000*/
  5512. { 0x98C29B8100, 0 }, /*656100000000*/
  5513. { 0x2190C2AB18400, 0 }, /*590490000000000*/
  5514. { 0x7600EC618141000, 0 }, /*531441000000000000*/
  5515. { 0xEDB3F06CA6884000, 0x19 }, /*478296900000000000000*/
  5516. { 0xAC993DF977010000, 0x5B27 }, /*430467210000000000000000*/
  5517. { 0xCABDE1065F840000, 0x140777A }, /*387420489000000000000000000*/
  5518. { 0xC38B1A67CC100000, 0x466A40BB0 }, /*348678440100000000000000000000*/
  5519. { 0x7508D4E968400000, 0xF78D8B9196F }, /*313810596090000000000000000000000*/
  5520. };
  5521. static const large_uint pow10s[] = {
  5522. { 1, 0 }, /*1*/
  5523. { 0xA, 0 }, /*10*/
  5524. { 0x64, 0 }, /*100*/
  5525. { 0x3E8, 0 }, /*1000*/
  5526. { 0x2710, 0 }, /*10000*/
  5527. { 0x186A0, 0 }, /*100000*/
  5528. { 0xF4240, 0 }, /*1000000*/
  5529. { 0x989680, 0 }, /*10000000*/
  5530. { 0x5F5E100, 0 }, /*100000000*/
  5531. { 0x3B9ACA00, 0 }, /*1000000000*/
  5532. { 0x2540BE400, 0 }, /*10000000000*/
  5533. { 0x174876E800, 0 }, /*100000000000*/
  5534. { 0xE8D4A51000, 0 }, /*1000000000000*/
  5535. { 0x9184E72A000, 0 }, /*10000000000000*/
  5536. { 0x5AF3107A4000, 0 }, /*100000000000000*/
  5537. { 0x38D7EA4C68000, 0 }, /*1000000000000000*/
  5538. { 0x2386F26FC10000, 0 }, /*10000000000000000*/
  5539. { 0x16345785D8A0000, 0 }, /*100000000000000000*/
  5540. { 0xDE0B6B3A7640000, 0 }, /*1000000000000000000*/
  5541. { 0x8AC7230489E80000, 0 }, /*10000000000000000000*/
  5542. { 0x6BC75E2D63100000, 0x5 }, /*100000000000000000000*/
  5543. { 0x35C9ADC5DEA00000, 0x36 }, /*1000000000000000000000*/
  5544. };
  5545. int i;
  5546. large_uint t, s, e;
  5547. if (mclength > 12 + 1) {
  5548. return -1;
  5549. }
  5550. large_load_u64(&t, 0);
  5551. for (i = 1; i < mclength; i++) {
  5552. large_load(&s, &pow900s[mclength - i - 1]);
  5553. large_mul_u64(&s, chainemc[i]);
  5554. large_add(&t, &s);
  5555. }
  5556. large_dump(&t, buf1);
  5557. large_load_str_u64(&e, chaine, length);
  5558. large_add(&e, &pow10s[length]); /* Add "1" prefix */
  5559. large_dump(&e, buf2);
  5560. return 0;
  5561. }
  5562. static void test_numbprocess(const testCtx *const p_ctx) {
  5563. struct item {
  5564. unsigned char *chaine;
  5565. int expected_len;
  5566. int expected[16];
  5567. };
  5568. /* s/\/\*[ 0-9]*\*\//\=printf("\/\*%3d*\/", line(".") - line("'<")): */
  5569. static const struct item data[] = {
  5570. /* 0*/ { TU("1"), 2, { 902, 11, }, },
  5571. /* 1*/ { TU("9"), 2, { 902, 19, }, },
  5572. /* 2*/ { TU("12"), 2, { 902, 112, }, },
  5573. /* 3*/ { TU("99"), 2, { 902, 199, }, },
  5574. /* 4*/ { TU("000"), 3, { 902, 1, 100, }, },
  5575. /* 5*/ { TU("123"), 3, { 902, 1, 223, }, },
  5576. /* 6*/ { TU("999"), 3, { 902, 2, 199, }, },
  5577. /* 7*/ { TU("1234"), 3, { 902, 12, 434, }, },
  5578. /* 8*/ { TU("9999"), 3, { 902, 22, 199, }, },
  5579. /* 9*/ { TU("12345"), 3, { 902, 124, 745, }, },
  5580. /* 10*/ { TU("99999"), 3, { 902, 222, 199, }, },
  5581. /* 11*/ { TU("000000"), 4, { 902, 1, 211, 100, }, },
  5582. /* 12*/ { TU("123456"), 4, { 902, 1, 348, 256, }, },
  5583. /* 13*/ { TU("999999"), 4, { 902, 2, 422, 199, }, },
  5584. /* 14*/ { TU("1234567"), 4, { 902, 13, 782, 767, }, },
  5585. /* 15*/ { TU("9999999"), 4, { 902, 24, 622, 199, }, },
  5586. /* 16*/ { TU("12345678"), 4, { 902, 138, 628, 478, }, },
  5587. /* 17*/ { TU("99999999"), 4, { 902, 246, 822, 199, }, },
  5588. /* 18*/ { TU("000000000"), 5, { 902, 1, 334, 511, 100, }, },
  5589. /* 19*/ { TU("123456789"), 5, { 902, 1, 486, 885, 289, }, },
  5590. /* 20*/ { TU("999999999"), 5, { 902, 2, 669, 122, 199, }, },
  5591. /* 21*/ { TU("1234567890"), 5, { 902, 15, 369, 753, 190, }, },
  5592. /* 22*/ { TU("9999999999"), 5, { 902, 27, 391, 322, 199, }, },
  5593. /* 23*/ { TU("12345678901"), 5, { 902, 154, 98, 332, 101, }, },
  5594. /* 24*/ { TU("99999999999"), 5, { 902, 274, 313, 522, 199, }, },
  5595. /* 25*/ { TU("000000000000"), 6, { 902, 1, 471, 667, 811, 100, }, },
  5596. /* 26*/ { TU("123456789012"), 6, { 902, 1, 641, 83, 621, 112, }, },
  5597. /* 27*/ { TU("999999999999"), 6, { 902, 3, 43, 435, 722, 199, }, },
  5598. /* 28*/ { TU("1234567890123"), 6, { 902, 17, 110, 836, 811, 223, }, },
  5599. /* 29*/ { TU("9999999999999"), 6, { 902, 30, 434, 758, 22, 199, }, },
  5600. /* 30*/ { TU("12345678901234"), 6, { 902, 171, 209, 269, 12, 434, }, },
  5601. /* 31*/ { TU("99999999999999"), 6, { 902, 304, 748, 380, 222, 199, }, },
  5602. /* 32*/ { TU("000000000000000"), 7, { 902, 1, 624, 142, 101, 211, 100, }, },
  5603. /* 33*/ { TU("123456789012345"), 7, { 902, 1, 812, 292, 890, 124, 745, }, },
  5604. /* 34*/ { TU("999999999999999"), 7, { 902, 3, 348, 284, 202, 422, 199, }, },
  5605. /* 35*/ { TU("000213298174000"), 7, { 902, 1, 624, 434, 632, 282, 200, }, }, /* ISO/IEC 15438:2015 Annex D example */
  5606. /* 36*/ { TU("12345678901234567"), 7, { 902, 190, 232, 498, 813, 782, 767, }, },
  5607. /* 37*/ { TU("99999999999999999"), 7, { 902, 338, 631, 522, 446, 822, 199, }, },
  5608. /* 38*/ { TU("000000000000000000"), 8, { 902, 1, 793, 457, 812, 434, 511, 100, }, },
  5609. /* 39*/ { TU("123456789012345678"), 8, { 902, 2, 102, 525, 489, 38, 628, 478, }, },
  5610. /* 40*/ { TU("1234567890123456789"), 8, { 902, 21, 125, 755, 390, 386, 885, 289, }, },
  5611. /* 41*/ { TU("9999999999999999999"), 8, { 902, 37, 570, 158, 49, 591, 322, 199, }, },
  5612. /* 42*/ { TU("12345678901234567890"), 8, { 902, 211, 358, 354, 304, 269, 753, 190, }, },
  5613. /* 43*/ { TU("99999999999999999999"), 8, { 902, 376, 301, 680, 496, 513, 522, 199, }, },
  5614. /* 44*/ { TU("000000000000000000000"), 9, { 902, 2, 81, 608, 702, 682, 767, 811, 100, }, },
  5615. /* 45*/ { TU("123456789012345678901"), 9, { 902, 2, 313, 883, 843, 342, 898, 332, 101, }, },
  5616. /* 46*/ { TU("999999999999999999999"), 9, { 902, 4, 163, 317, 505, 465, 635, 722, 199, }, },
  5617. /* 47*/ { TU("12345678901234567890123456789012345678901"), 15, { 902, 441, 883, 33, 675, 271, 780, 283, 607, 83, 596, 420, 698, 332, 101, }, },
  5618. /* 48*/ { TU("99999999999999999999999999999999999999999"), 15, { 902, 786, 741, 209, 58, 439, 392, 682, 346, 534, 445, 515, 80, 222, 199, }, },
  5619. /* 49*/ { TU("000000000000000000000000000000000000000000"), 16, { 902, 4, 334, 106, 145, 292, 397, 163, 711, 832, 872, 427, 775, 401, 211, 100, }, },
  5620. /* 50*/ { TU("12345678901234567890123456789012345678901234"), 16, { 902, 491, 81, 137, 450, 302, 67, 15, 174, 492, 862, 667, 475, 869, 12, 434, }, },
  5621. /* 51*/ { TU("99999999999999999999999999999999999999999999"), 16, { 902, 874, 223, 532, 264, 888, 236, 358, 185, 93, 795, 72, 289, 146, 822, 199, }, },
  5622. };
  5623. const int data_size = ARRAY_SIZE(data);
  5624. int i, length;
  5625. short chainemc[32];
  5626. int mclength;
  5627. testStart("test_numbprocess");
  5628. for (i = 0; i < data_size; i++) {
  5629. int j;
  5630. if (testContinue(p_ctx, i)) continue;
  5631. length = (int) ustrlen(data[i].chaine);
  5632. mclength = 0;
  5633. pdf_numbprocess_test(chainemc, &mclength, data[i].chaine, 0, length);
  5634. assert_nonzero(mclength < ARRAY_SIZE(chainemc), "i:%d mclength %d >= ARRAY_SIZE(chainemc) %d\n", i, mclength, ARRAY_SIZE(chainemc));
  5635. #if 0
  5636. for (j = 0; j < mclength; j++) { printf(" %d", chainemc[j]); } printf("\n");
  5637. #endif
  5638. assert_equal(mclength, data[i].expected_len, "i:%d mclength %d != expected_len %d\n", i, mclength, data[i].expected_len);
  5639. for (j = 0; j < mclength; j++) {
  5640. assert_equal(chainemc[j], data[i].expected[j], "i:%d chainemc[%d] %d != %d\n", i, j, chainemc[j], data[i].expected[j]);
  5641. }
  5642. if (length < 20) {
  5643. char buf1[64], buf2[64];
  5644. assert_zero(annex_d_decode_dump(chainemc, mclength, data[i].chaine, length, buf1, buf2), "i:%d annex_d_decode_dump() fail\n", i);
  5645. assert_zero(strcmp(buf1, buf2), "i:%d, strcmp(%s, %s) != 0\n", i, buf1, buf2);
  5646. }
  5647. }
  5648. testFinish();
  5649. }
  5650. #include <time.h>
  5651. #define TEST_PERF_ITER_MILLES 5
  5652. #define TEST_PERF_ITERATIONS (TEST_PERF_ITER_MILLES * 1000)
  5653. #define TEST_PERF_TIME(arg) (((arg) * 1000.0) / CLOCKS_PER_SEC)
  5654. /* Not a real test, just performance indicator */
  5655. static void test_perf(const testCtx *const p_ctx) {
  5656. int debug = p_ctx->debug;
  5657. struct item {
  5658. int symbology;
  5659. int input_mode;
  5660. int option_1;
  5661. int option_2;
  5662. char *data;
  5663. int ret;
  5664. int expected_rows;
  5665. int expected_width;
  5666. char *comment;
  5667. };
  5668. static const struct item data[] = {
  5669. /* 0*/ { BARCODE_PDF417, -1, -1, -1, "1234567890", 0, 7, 103, "10 numerics" },
  5670. /* 1*/ { BARCODE_PDF417, -1, -1, -1,
  5671. "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz&,:#-.$/+%*=^ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM"
  5672. "NOPQRSTUVWXYZ;<>@[]_`~!||()?{}'123456789012345678901234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJK"
  5673. "LMNOPQRSTUVWXYZ12345678912345678912345678912345678900001234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyzABCDEFG"
  5674. "HIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901234567"
  5675. "890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcde"
  5676. "fghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO",
  5677. 0, 43, 290, "960 chars, text/numeric" },
  5678. /* 2*/ { BARCODE_PDF417, DATA_MODE, -1, -1,
  5679. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5680. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5681. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5682. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5683. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5684. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5685. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5686. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5687. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5688. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5689. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5690. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5691. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5692. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5693. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5694. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5695. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5696. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5697. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5698. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5699. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5700. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5701. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240"
  5702. "\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240",
  5703. 0, 51, 358, "960 chars, byte" },
  5704. /* 3*/ { BARCODE_PDF417, -1, -1, -1,
  5705. "BP2D+1.00+0005+FLE ESC BV+1.00+3.60*BX2D+1.00+0001+Casual shoes & apparel+90044030118100801265*D_2D+1.02+31351440315981+C910332+02032018+KXXXX CXXXX+UNIT 4 HXXX"
  5706. "XXXXX BUSINESS PARK++ST ALBANS+ST ALBANS++AL2 3TA+0001+000001+001+00000000+00++N+N+N+0000++++++N+++N*DS2D+1.01+0001+0001+90044030118100801265+++++07852389322+"
  5707. "+E*F_2D+1.00+0005*",
  5708. 0, 26, 222, "338 chars, text/numeric/byte" },
  5709. };
  5710. const int data_size = ARRAY_SIZE(data);
  5711. int i, length, ret;
  5712. struct zint_symbol *symbol;
  5713. clock_t start;
  5714. clock_t total_create = 0, total_encode = 0, total_buffer = 0, total_buf_inter = 0, total_print = 0;
  5715. clock_t diff_create, diff_encode, diff_buffer, diff_buf_inter, diff_print;
  5716. int comment_max = 0;
  5717. if (!(debug & ZINT_DEBUG_TEST_PERFORMANCE)) { /* -d 256 */
  5718. return;
  5719. }
  5720. for (i = 0; i < data_size; i++) if ((int) strlen(data[i].comment) > comment_max) comment_max = (int) strlen(data[i].comment);
  5721. printf("Iterations %d\n", TEST_PERF_ITERATIONS);
  5722. printf("FAST_MODE\n");
  5723. for (i = 0; i < data_size; i++) {
  5724. int j;
  5725. if (testContinue(p_ctx, i)) continue;
  5726. diff_create = diff_encode = diff_buffer = diff_buf_inter = diff_print = 0;
  5727. for (j = 0; j < TEST_PERF_ITERATIONS; j++) {
  5728. int input_mode = data[i].input_mode == -1 ? FAST_MODE : (data[i].input_mode | FAST_MODE);
  5729. start = clock();
  5730. symbol = ZBarcode_Create();
  5731. diff_create += clock() - start;
  5732. assert_nonnull(symbol, "Symbol not created\n");
  5733. length = testUtilSetSymbol(symbol, data[i].symbology, input_mode, -1 /*eci*/, data[i].option_1, data[i].option_2, -1, -1 /*output_options*/, data[i].data, -1, debug);
  5734. start = clock();
  5735. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  5736. diff_encode += clock() - start;
  5737. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  5738. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, data[i].data);
  5739. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d (%s)\n", i, symbol->width, data[i].expected_width, data[i].data);
  5740. start = clock();
  5741. ret = ZBarcode_Buffer(symbol, 0 /*rotate_angle*/);
  5742. diff_buffer += clock() - start;
  5743. assert_zero(ret, "i:%d ZBarcode_Buffer ret %d != 0 (%s)\n", i, ret, symbol->errtxt);
  5744. symbol->output_options |= OUT_BUFFER_INTERMEDIATE;
  5745. start = clock();
  5746. ret = ZBarcode_Buffer(symbol, 0 /*rotate_angle*/);
  5747. diff_buf_inter += clock() - start;
  5748. assert_zero(ret, "i:%d ZBarcode_Buffer OUT_BUFFER_INTERMEDIATE ret %d != 0 (%s)\n", i, ret, symbol->errtxt);
  5749. symbol->output_options &= ~OUT_BUFFER_INTERMEDIATE; /* Undo */
  5750. start = clock();
  5751. ret = ZBarcode_Print(symbol, 0 /*rotate_angle*/);
  5752. diff_print += clock() - start;
  5753. assert_zero(ret, "i:%d ZBarcode_Print ret %d != 0 (%s)\n", i, ret, symbol->errtxt);
  5754. assert_zero(testUtilRemove(symbol->outfile), "i:%d testUtilRemove(%s) != 0\n", i, symbol->outfile);
  5755. ZBarcode_Delete(symbol);
  5756. }
  5757. printf("%*s: encode % 8gms, buffer % 8gms, buf_inter % 8gms, print % 8gms, create % 8gms\n", comment_max, data[i].comment,
  5758. TEST_PERF_TIME(diff_encode), TEST_PERF_TIME(diff_buffer), TEST_PERF_TIME(diff_buf_inter), TEST_PERF_TIME(diff_print), TEST_PERF_TIME(diff_create));
  5759. total_create += diff_create;
  5760. total_encode += diff_encode;
  5761. total_buffer += diff_buffer;
  5762. total_buf_inter += diff_buf_inter;
  5763. total_print += diff_print;
  5764. }
  5765. if (p_ctx->index == -1) {
  5766. printf("%*s: encode % 8gms, buffer % 8gms, buf_inter % 8gms, print % 8gms, create % 8gms\n", comment_max, "totals",
  5767. TEST_PERF_TIME(total_encode), TEST_PERF_TIME(total_buffer), TEST_PERF_TIME(total_buf_inter), TEST_PERF_TIME(total_print), TEST_PERF_TIME(total_create));
  5768. }
  5769. printf("OPTIMIZED\n");
  5770. total_create = 0, total_encode = 0, total_buffer = 0, total_buf_inter = 0, total_print = 0;
  5771. for (i = 0; i < data_size; i++) {
  5772. int j;
  5773. if (testContinue(p_ctx, i)) continue;
  5774. diff_create = diff_encode = diff_buffer = diff_buf_inter = diff_print = 0;
  5775. for (j = 0; j < TEST_PERF_ITERATIONS; j++) {
  5776. start = clock();
  5777. symbol = ZBarcode_Create();
  5778. diff_create += clock() - start;
  5779. assert_nonnull(symbol, "Symbol not created\n");
  5780. length = testUtilSetSymbol(symbol, data[i].symbology, data[i].input_mode, -1 /*eci*/, data[i].option_1, data[i].option_2, -1, -1 /*output_options*/, data[i].data, -1, debug);
  5781. start = clock();
  5782. ret = ZBarcode_Encode(symbol, (unsigned char *) data[i].data, length);
  5783. diff_encode += clock() - start;
  5784. assert_equal(ret, data[i].ret, "i:%d ZBarcode_Encode ret %d != %d (%s)\n", i, ret, data[i].ret, symbol->errtxt);
  5785. assert_equal(symbol->rows, data[i].expected_rows, "i:%d symbol->rows %d != %d (%s)\n", i, symbol->rows, data[i].expected_rows, data[i].data);
  5786. assert_equal(symbol->width, data[i].expected_width, "i:%d symbol->width %d != %d (%s)\n", i, symbol->width, data[i].expected_width, data[i].data);
  5787. start = clock();
  5788. ret = ZBarcode_Buffer(symbol, 0 /*rotate_angle*/);
  5789. diff_buffer += clock() - start;
  5790. assert_zero(ret, "i:%d ZBarcode_Buffer ret %d != 0 (%s)\n", i, ret, symbol->errtxt);
  5791. symbol->output_options |= OUT_BUFFER_INTERMEDIATE;
  5792. start = clock();
  5793. ret = ZBarcode_Buffer(symbol, 0 /*rotate_angle*/);
  5794. diff_buf_inter += clock() - start;
  5795. assert_zero(ret, "i:%d ZBarcode_Buffer OUT_BUFFER_INTERMEDIATE ret %d != 0 (%s)\n", i, ret, symbol->errtxt);
  5796. symbol->output_options &= ~OUT_BUFFER_INTERMEDIATE; /* Undo */
  5797. start = clock();
  5798. ret = ZBarcode_Print(symbol, 0 /*rotate_angle*/);
  5799. diff_print += clock() - start;
  5800. assert_zero(ret, "i:%d ZBarcode_Print ret %d != 0 (%s)\n", i, ret, symbol->errtxt);
  5801. assert_zero(testUtilRemove(symbol->outfile), "i:%d testUtilRemove(%s) != 0\n", i, symbol->outfile);
  5802. ZBarcode_Delete(symbol);
  5803. }
  5804. printf("%*s: encode % 8gms, buffer % 8gms, buf_inter % 8gms, print % 8gms, create % 8gms\n", comment_max, data[i].comment,
  5805. TEST_PERF_TIME(diff_encode), TEST_PERF_TIME(diff_buffer), TEST_PERF_TIME(diff_buf_inter), TEST_PERF_TIME(diff_print), TEST_PERF_TIME(diff_create));
  5806. total_create += diff_create;
  5807. total_encode += diff_encode;
  5808. total_buffer += diff_buffer;
  5809. total_buf_inter += diff_buf_inter;
  5810. total_print += diff_print;
  5811. }
  5812. if (p_ctx->index == -1) {
  5813. printf("%*s: encode % 8gms, buffer % 8gms, buf_inter % 8gms, print % 8gms, create % 8gms\n", comment_max, "totals",
  5814. TEST_PERF_TIME(total_encode), TEST_PERF_TIME(total_buffer), TEST_PERF_TIME(total_buf_inter), TEST_PERF_TIME(total_print), TEST_PERF_TIME(total_create));
  5815. }
  5816. }
  5817. int main(int argc, char *argv[]) {
  5818. testFunction funcs[] = { /* name, func */
  5819. { "test_large", test_large },
  5820. { "test_options", test_options },
  5821. { "test_reader_init", test_reader_init },
  5822. { "test_input", test_input },
  5823. { "test_encode", test_encode },
  5824. { "test_encode_segs", test_encode_segs },
  5825. { "test_fuzz", test_fuzz },
  5826. { "test_numbprocess", test_numbprocess },
  5827. { "test_perf", test_perf },
  5828. };
  5829. testRun(argc, argv, funcs, ARRAY_SIZE(funcs));
  5830. testReport();
  5831. return 0;
  5832. }
  5833. /* vim: set ts=4 sw=4 et : */