address line 2
✉ mailto:
⌂ https://
email@example.com
website.com
From 5d529cd0358ae586c06e5df663d8a3f30654ec50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= <4056726+mwaeckerlin@users.noreply.github.com> Date: Fri, 1 May 2026 17:16:22 +0200 Subject: [PATCH] fix ADDR bug --- businesscard-qrcode.cls | 25 ++--- examples/layout.html | 146 ++++++++++++++++++++++++++++ screenshots/photo-example.png | Bin 0 -> 48040 bytes screenshots/photo-in-qr-example.png | Bin 0 -> 784800 bytes screenshots/special-papersize.png | Bin 0 -> 26855 bytes screenshots/texstudio_d30266.png | Bin 0 -> 21818 bytes 6 files changed, 160 insertions(+), 11 deletions(-) create mode 100644 examples/layout.html create mode 100644 screenshots/photo-example.png create mode 100644 screenshots/photo-in-qr-example.png create mode 100644 screenshots/special-papersize.png create mode 100644 screenshots/texstudio_d30266.png diff --git a/businesscard-qrcode.cls b/businesscard-qrcode.cls index 21a1205..a0f7c36 100644 --- a/businesscard-qrcode.cls +++ b/businesscard-qrcode.cls @@ -520,6 +520,11 @@ \ifexists{Xfamilynames}{\Xfamilynames}% \ifexists{Xhonoricsuffix}{\ \Xhonoricsuffix}% } +\newcommand\personalnamefn{% + \ifexists{Xgivennames}{\Xgivennames\ }% + \ifexists{Xadditionalnames}{\Xadditionalnames\ }% + \ifexists{Xfamilynames}{\Xfamilynames}% +} \newcommand\personalname{% \ifvisible{Xhonoricprefix}{\Xhonoricprefix\ }{}% \ifvisible{Xgivennames}{\Xgivennames\ }{}% @@ -751,15 +756,13 @@ \newcommand\BCQ@vcardtel{% TEL;VALUE=uri;TYPE=\BCQ@vcardteltype,text:tel:\Xphone\BCQ@nl } -\newcommand\BCQ@vcardaddressfull{% - \ifcsdef{Xpobox}{\Xpobox\ }{}% - \ifcsdef{Xextaddr}{\Xextaddr\ }{}% - \ifcsdef{Xstreet}{\Xstreet\ }{}% - \ifcsdef{Xzip}{\Xzip\ }{}% - \ifcsdef{Xcity}{\Xcity\ }{}% - \ifcsdef{Xregion}{\Xregion\ }{}% - \ifcsdef{Xcountry}{\Xcountry}{}% -} +\newcommand\BCQ@vcardpobox{\ifcsdef{Xpobox}{\Xpobox}{}} +\newcommand\BCQ@vcardextaddr{\ifcsdef{Xextaddr}{\Xextaddr}{}} +\newcommand\BCQ@vcardstreet{\ifcsdef{Xstreet}{\Xstreet}{}} +\newcommand\BCQ@vcardcity{\ifcsdef{Xcity}{\Xcity}{}} +\newcommand\BCQ@vcardregion{\ifcsdef{Xregion}{\Xregion}{}} +\newcommand\BCQ@vcardzip{\ifcsdef{Xzip}{\Xzip}{}} +\newcommand\BCQ@vcardcountry{\ifcsdef{Xcountry}{\Xcountry}{}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % vcard - the content of the vcard % newline selection: default LF (robust for qrcode). Optional CRLF if crlf option set. @@ -774,11 +777,11 @@ \newcommand\vcard{BEGIN:VCARD\BCQ@nl VERSION:\BCQ@vcardversionline\BCQ@nl \ifhaspersonalnamevcard{N:\cond{Xfamilynames};\cond{Xgivennames};\cond{Xadditionalnames};\cond{Xhonoricprefix};\cond{Xhonoricsuffix}\BCQ@nl}{} -\ifhasfullnamevcard{FN:\name\BCQ@nl}{} +\ifhaspersonalnamevcard{FN:\personalnamefn\BCQ@nl}{\ifexists{Xcompany}{FN:\Xcompany\BCQ@nl}} \ifexists{Xcompany}{ORG:\Xcompany\BCQ@nl} \ifexists{Xtitle}{TITLE:\Xtitle\BCQ@nl} \ifexists{Xrole}{ROLE:\Xrole\BCQ@nl} -\ifexists{printaddress}{\ifhasaddressvcard{ADR:;;\BCQ@vcardaddressfull;;;;\BCQ@nl}{}} +\ifexists{printaddress}{\ifhasaddressvcard{ADR:\BCQ@vcardpobox;\BCQ@vcardextaddr;\BCQ@vcardstreet;\BCQ@vcardcity;\BCQ@vcardregion;\BCQ@vcardzip;\BCQ@vcardcountry\BCQ@nl}{}} \ifexists{Xphone}{\BCQ@vcardtel} \ifexists{Xemail}{EMAIL\BCQ@vcardtypeparam:\Xemail\BCQ@nl} \ifexists{Xjabber}{IMPP;TYPE=XMPP:\Xjabber\BCQ@nl} diff --git a/examples/layout.html b/examples/layout.html new file mode 100644 index 0000000..6b9e981 --- /dev/null +++ b/examples/layout.html @@ -0,0 +1,146 @@ +
+ loNykMEQ-3h2GCRj!6Oc98DbKGGMQ*##R-A7L@}%d=6(t#Lz;
z{IR7r!*5GEjjYK?SW~Gojc1-FpkjPzT$g&qLdd1n(DN$N?t%?KlQ_AgmmwwR?vuk~
zgsvI%pW1mk-KY#u2G?yF(d; P
z$Ga>Xc?8nd_7h(js!MUs=c)&qc!qy5H_V66K86wua| Zv-LF@C*O6botA069bZyQ0(5?fCUzSZ1{1+DG>lSCwIH+r|Xurfx3EF73;E7mNXnHy2cs>n9&w
zpdN&z-*z#A2@hj8CDuY1{rag?o^43lc2GAQ?#xaL>A}8ryS4f&s282tX7AOKZq!tY
zENHi%*_x{xw$VIgJ;#4ZAnDXGBYdCocSkRQXdjPQ=Q~_Hv$O9NTz*1>p{ha+Wi7_}
zOS(d5(P=h4li77P1oosO77YKxxf|}S$E@=ZJ-#dcfn+X_(VHqSGTqcTkX|G)@nK_j
z9M)M<%Yqjbag2`NRS1)P;{)4I8=2)1$|{_AzbfkJRUIW*DxKGiC2)j=?+eqI+UvIM
zTe!7oxLG%bc`r1|7qLHZyw0}fB@80^x<6)p8Z;M*MPuy8LQOcj?`7hK|FP+A2>S^8
zgY^)XuipYtSt-t8VnSQnBMl|fRWtsGSL8Mq?cuwy_w-SB^nVOF|EG1&!WO5fN-HJ@o5doirij%}=#Ewd>eu{l3>4*i<
z`E>U5D5K9pL$SY>mEFOJW0Z^IH7T1rI^5dgTU}jk*q!Irg0kvSucjOJ%c{60s%OK-
z(8Uyf>Pd;}HLxCjc23noIP#5;3^8}4(xqP<1+x;5qs_7Pvg#ekd9uO_?IH&eLicC)TiJh`gceqh{@f7wy_))`;!e}U-&c<1XgN9ZN8TLYw)a|S
zFn+eUm2la_?gZ-4RXuEux}0z&dS_6uO!UhfSSkU;1!Lt#KY@WC3dIp|*M0z<$-_yE
zvWfHsNWuD1hVX_Li;y`CeIzu=qsu_D7hG_@Sdq`qdh`S=nsnD#AxkFN){lu8
>RwRB&cPnt#my9-
z@EH2&PrOJ!I7AMzjz^pWgyI KR430)is!{+kyv1}fSgVxqvG
zqSB!*5eNlppq|hvSU9d+P@vq>*YqBT#aYlADpQs*y3cMj0GvSOheAdzlsY4HF7CYl
zwhYz+RX)4^`~{-W!$oGqe@RfZ(~@Dhn}+w=`z;{^rDh)nbx?Fz^a^oRGiu4L!zIJc
zR%_$$RX@z7`C7W3TD)p=HNB08?dThASklIqxT<6D1=mJkoV13e@A@y7RLUg@92P;W
z8D%+kj;!4dxap(Y!F`FMZ41!|m~IvtG6R!x#~!JbxwtQ`t*9k=p0O_p+J4b1yV
zjByUuUrkLDPErbW=l%ycf`5D;srx-46yUOZx^u!=soL|S!X~%ol(62k$j2kx=goXf
zIw=|jWne)^%eoX-gG&Y|3jB>lap-b^;Y%*)d2$W;o9oTh769h3?Y9j$g6sxU%mV5&
zu3vg2Jlx>LuT%m7WrOaq29G}?ffp)zG@!;?WPAgHQ7-_@Pk#BGY@8ithra=;)VvdX
zLQ}ptv1+WZ9uc?H@NA5l4buX3=b*DDN4u{6cb#(?yFvU8AVt*idhT%BT<6Co9pqTy
zBPZb87y-n9h9mO`iP4q&6)Ag3I@EM_xdZ-a+o{1o9D(zkT$^|t-2tQo
upUbWh2p|^d7}w$eYv@nXZ7;L$a(6Q^Fz@Cv1g$Qd@K*h
z*?o#CjspgF{3XrcKY*N1eY$oYhb#prSaT^9eu2YD`dEF$n>`<#FA^g40s3})b^!Lh
zJ5b@<4luP(3$E-AfY+xIM-;|Jy~o-}fQ~U@L%lkC#F|GrOTD}ZvOnEI!U6dO<~|?w
z@2>X*0M}4D3rJWS0Q=l@%v4s->o3iU8E+6(ZvC`+<~$9B;2C2NanGjJFht;+2M(zt-c{wR
z@&9DVJv6TnxRDn2`i9T-W=;Ol>82UN;$5@Ac%%(x%0{`iJ7b+M@5)eY&uTNm
zZ2YW3zmwqo#4j>@kJezP@0ei`a(lh7W^%L(7*`)}?)?#?=BVg(ojOwD5iKuyetz}J
z*Pn3C(l@u~2nYzAU(-JGc%5X*IJa}Mk9q021Ms2C8{_3ku`-i)OUs