diff options
author | Kurt Jung <kurt.w.jung@gmail.com> | 2015-07-23 12:50:56 -0400 |
---|---|---|
committer | Kurt Jung <kurt.w.jung@gmail.com> | 2015-07-23 12:50:56 -0400 |
commit | 02abbc901712fc28375ea19b4dcb5d6ef3af0bb2 (patch) | |
tree | 1482e974275408bb9fd14e5e21d76aca9a7f51a8 | |
parent | a66d421172b03aa66a20d1a76e40d9b5e2f2798e (diff) |
Add a sample Type1 font and metric file pair for testing purposes
-rw-r--r-- | .gitignore | 3 | ||||
-rwxr-xr-x | cov | 1 | ||||
-rw-r--r-- | font.go | 6 | ||||
-rw-r--r-- | font/CalligrapherRegular.afm | 272 | ||||
-rw-r--r-- | font/CalligrapherRegular.pfb | bin | 0 -> 45189 bytes | |||
-rw-r--r-- | fpdf_test.go | 35 |
6 files changed, 301 insertions, 16 deletions
@@ -10,3 +10,6 @@ font/Ubuntu-* *.swp **/*.out **/*.test +font/CalligrapherRegular.json +font/CalligrapherRegular.z +coverage @@ -0,0 +1 @@ +go test -coverprofile=coverage && go tool cover -html=coverage @@ -374,8 +374,10 @@ func makeDefinitionFile(fileStr, tpStr, encodingFileStr string, embed bool, encL // gofpdf generates. See the makefont utility in the gofpdf package for a // command line interface to this function. // -// fontFileStr is the name of the TrueType (or OpenType based on TrueType) or -// Type1 file from which to generate a definition file. +// fontFileStr is the name of the TrueType (or OpenType based on TrueType, +// extension .ttf) or binary Type1 file (extension .pfb) from which to generate +// a definition file. If a Type1 file is specified, a metric file with the same +// pathname except with the extension .afm must be present. // // encodingFileStr is the name of the encoding file that corresponds to the // font. diff --git a/font/CalligrapherRegular.afm b/font/CalligrapherRegular.afm new file mode 100644 index 0000000..5e24959 --- /dev/null +++ b/font/CalligrapherRegular.afm @@ -0,0 +1,272 @@ +StartFontMetrics 2.0 +Comment Generated by FontForge 20141024 +Comment Creation Date: Thu Jul 23 17:38:06 2015 +FontName CalligrapherRegular +FullName Calligrapher Regular +FamilyName Calligrapher +Weight Thin +Notice (Generated by Fontographer 3.5) +ItalicAngle 0 +IsFixedPitch false +UnderlinePosition -190 +UnderlineThickness 20 +Version Altsys Fontographer 3.5 5/26/92 +EncodingScheme ISO10646-1 +FontBBox -173 -234 1328 899 +CapHeight 677 +XHeight 677 +Ascender 756 +Descender -219 +StartCharMetrics 250 +C 32 ; WX 282 ; N space ; B 0 0 0 0 ; +C 33 ; WX 324 ; N exclam ; B 67 -16 251 718 ; +C 34 ; WX 405 ; N quotedbl ; B 60 460 353 718 ; +C 35 ; WX 584 ; N numbersign ; B 35 0 549 701 ; +C 36 ; WX 632 ; N dollar ; B 32 -126 595 814 ; +C 37 ; WX 980 ; N percent ; B 35 -16 945 703 ; +C 38 ; WX 776 ; N ampersand ; B 41 -17 811 670 ; +C 39 ; WX 259 ; N quotesingle ; B 72 460 206 718 ; +C 40 ; WX 299 ; N parenleft ; B 57 -119 299 785 ; +C 41 ; WX 299 ; N parenright ; B 0 -119 242 785 ; +C 42 ; WX 377 ; N asterisk ; B 35 407 342 714 ; +C 43 ; WX 600 ; N plus ; B 47 0 553 506 ; +C 44 ; WX 259 ; N comma ; B 35 -67 224 162 ; +C 45 ; WX 432 ; N hyphen ; B 28 249 404 377 ; +C 46 ; WX 254 ; N period ; B 43 -16 227 162 ; +C 47 ; WX 597 ; N slash ; B 7 -14 591 714 ; +C 48 ; WX 529 ; N zero ; B 21 -18 508 583 ; +C 49 ; WX 298 ; N one ; B 8 -15 233 582 ; +C 50 ; WX 451 ; N two ; B 17 -8 430 588 ; +C 51 ; WX 359 ; N three ; B 11 -54 337 582 ; +C 52 ; WX 525 ; N four ; B 18 -20 519 602 ; +C 53 ; WX 423 ; N five ; B 10 -55 420 582 ; +C 54 ; WX 464 ; N six ; B 23 -14 447 589 ; +C 55 ; WX 417 ; N seven ; B 8 -18 415 589 ; +C 56 ; WX 457 ; N eight ; B 19 -16 432 583 ; +C 57 ; WX 479 ; N nine ; B 26 -16 450 588 ; +C 58 ; WX 275 ; N colon ; B 59 -16 242 491 ; +C 59 ; WX 282 ; N semicolon ; B 54 -67 245 491 ; +C 60 ; WX 600 ; N less ; B 47 -8 553 514 ; +C 61 ; WX 600 ; N equal ; B 47 98 553 408 ; +C 62 ; WX 600 ; N greater ; B 47 -8 553 514 ; +C 63 ; WX 501 ; N question ; B 21 -16 473 721 ; +C 64 ; WX 800 ; N at ; B 29 -12 771 730 ; +C 65 ; WX 743 ; N A ; B -23 -14 754 721 ; +C 66 ; WX 636 ; N B ; B -42 -7 608 706 ; +C 67 ; WX 598 ; N C ; B 27 -12 572 712 ; +C 68 ; WX 712 ; N D ; B -42 -11 684 705 ; +C 69 ; WX 608 ; N E ; B -21 0 608 708 ; +C 70 ; WX 562 ; N F ; B -21 -18 584 716 ; +C 71 ; WX 680 ; N G ; B 29 -8 668 714 ; +C 72 ; WX 756 ; N H ; B 70 -17 777 728 ; +C 73 ; WX 308 ; N I ; B 14 -15 238 718 ; +C 74 ; WX 314 ; N J ; B 7 -223 244 727 ; +C 75 ; WX 676 ; N K ; B 14 -16 683 725 ; +C 76 ; WX 552 ; N L ; B 14 -8 580 713 ; +C 77 ; WX 1041 ; N M ; B 42 -17 1017 739 ; +C 78 ; WX 817 ; N N ; B -42 -17 747 736 ; +C 79 ; WX 729 ; N O ; B 32 -16 698 709 ; +C 80 ; WX 569 ; N P ; B -35 -15 570 716 ; +C 81 ; WX 698 ; N Q ; B 27 -201 1328 715 ; +C 82 ; WX 674 ; N R ; B -35 -20 696 712 ; +C 83 ; WX 618 ; N S ; B 31 -16 589 709 ; +C 84 ; WX 673 ; N T ; B -21 -20 702 714 ; +C 85 ; WX 805 ; N U ; B 0 -19 804 722 ; +C 86 ; WX 753 ; N V ; B -28 -20 788 729 ; +C 87 ; WX 1238 ; N W ; B -28 -17 1273 736 ; +C 88 ; WX 716 ; N X ; B 7 -38 709 731 ; +C 89 ; WX 754 ; N Y ; B -35 -17 789 747 ; +C 90 ; WX 599 ; N Z ; B 30 -5 584 748 ; +C 91 ; WX 315 ; N bracketleft ; B 93 -124 322 718 ; +C 92 ; WX 463 ; N backslash ; B -21 -18 484 736 ; +C 93 ; WX 315 ; N bracketright ; B -7 -124 222 718 ; +C 94 ; WX 600 ; N asciicircum ; B 63 266 537 658 ; +C 95 ; WX 547 ; N underscore ; B -7 -198 554 -163 ; +C 96 ; WX 278 ; N grave ; B -1 541 214 693 ; +C 97 ; WX 581 ; N a ; B 21 -16 581 494 ; +C 98 ; WX 564 ; N b ; B -24 -17 543 792 ; +C 99 ; WX 440 ; N c ; B 21 -17 422 490 ; +C 100 ; WX 571 ; N d ; B 0 -15 550 659 ; +C 101 ; WX 450 ; N e ; B 28 -23 428 493 ; +C 102 ; WX 347 ; N f ; B -35 -14 474 785 ; +C 103 ; WX 628 ; N g ; B 19 -219 612 496 ; +C 104 ; WX 611 ; N h ; B -29 -18 569 785 ; +C 105 ; WX 283 ; N i ; B -14 -15 241 679 ; +C 106 ; WX 283 ; N j ; B -14 -234 241 679 ; +C 107 ; WX 560 ; N k ; B -24 -15 582 789 ; +C 108 ; WX 252 ; N l ; B -28 -15 210 789 ; +C 109 ; WX 976 ; N m ; B -21 -16 927 494 ; +C 110 ; WX 595 ; N n ; B -28 -15 574 493 ; +C 111 ; WX 508 ; N o ; B 27 -17 485 490 ; +C 112 ; WX 549 ; N p ; B -28 -216 526 496 ; +C 113 ; WX 540 ; N q ; B 28 -219 491 493 ; +C 114 ; WX 395 ; N r ; B -21 -19 430 492 ; +C 115 ; WX 441 ; N s ; B 34 -15 413 493 ; +C 116 ; WX 307 ; N t ; B -21 -16 378 621 ; +C 117 ; WX 614 ; N u ; B -14 -18 558 501 ; +C 118 ; WX 556 ; N v ; B -28 -20 569 483 ; +C 119 ; WX 915 ; N w ; B -28 -17 928 495 ; +C 120 ; WX 559 ; N x ; B 14 -17 546 500 ; +C 121 ; WX 597 ; N y ; B -21 -227 541 500 ; +C 122 ; WX 452 ; N z ; B 28 -5 442 515 ; +C 123 ; WX 315 ; N braceleft ; B 6 -118 309 718 ; +C 124 ; WX 222 ; N bar ; B 63 -18 159 730 ; +C 125 ; WX 315 ; N braceright ; B 6 -118 309 718 ; +C 126 ; WX 600 ; N asciitilde ; B 69 166 531 340 ; +C 160 ; WX 282 ; N nonbreakingspace ; B 0 0 0 0 ; +C 161 ; WX 324 ; N exclamdown ; B 69 -203 253 531 ; +C 162 ; WX 450 ; N cent ; B 27 -122 437 592 ; +C 163 ; WX 640 ; N sterling ; B 0 -9 619 716 ; +C 164 ; WX 518 ; N currency ; B 3 72 515 586 ; +C 165 ; WX 603 ; N yen ; B -28 -65 631 747 ; +C 166 ; WX 0 ; N brokenbar ; B 0 0 0 0 ; +C 167 ; WX 519 ; N section ; B -50 -216 524 762 ; +C 168 ; WX 254 ; N dieresis ; B -20 554 308 682 ; +C 169 ; WX 800 ; N copyright ; B 29 -12 771 730 ; +C 170 ; WX 349 ; N ordfeminine ; B 13 385 349 717 ; +C 171 ; WX 0 ; N guillemotleft ; B 0 0 0 0 ; +C 172 ; WX 0 ; N logicalnot ; B 0 0 0 0 ; +C 173 ; WX 432 ; N hyphen ; B 28 249 404 377 ; +C 174 ; WX 800 ; N registered ; B 29 -12 771 730 ; +C 175 ; WX 278 ; N macron ; B -47 584 325 665 ; +C 176 ; WX 0 ; N degree ; B 0 0 0 0 ; +C 177 ; WX 0 ; N plusminus ; B 0 0 0 0 ; +C 178 ; WX 0 ; N twosuperior ; B 0 0 0 0 ; +C 179 ; WX 0 ; N threesuperior ; B 0 0 0 0 ; +C 180 ; WX 278 ; N acute ; B 49 536 279 693 ; +C 181 ; WX 614 ; N mu ; B -14 -231 558 501 ; +C 182 ; WX 0 ; N paragraph ; B 0 0 0 0 ; +C 183 ; WX 254 ; N periodcentered ; B 43 278 227 456 ; +C 184 ; WX 278 ; N cedilla ; B -8 -216 231 6 ; +C 185 ; WX 0 ; N onesuperior ; B 0 0 0 0 ; +C 186 ; WX 305 ; N ordmasculine ; B 16 373 291 702 ; +C 187 ; WX 0 ; N guillemotright ; B 0 0 0 0 ; +C 188 ; WX 0 ; N onequarter ; B 0 0 0 0 ; +C 189 ; WX 0 ; N onehalf ; B 0 0 0 0 ; +C 190 ; WX 0 ; N threequarters ; B 0 0 0 0 ; +C 191 ; WX 501 ; N questiondown ; B 15 -196 467 541 ; +C 192 ; WX 743 ; N Agrave ; B -23 -14 754 893 ; +C 193 ; WX 743 ; N Aacute ; B -23 -14 754 893 ; +C 194 ; WX 743 ; N Acircumflex ; B -23 -14 754 877 ; +C 195 ; WX 743 ; N Atilde ; B -23 -14 754 889 ; +C 196 ; WX 743 ; N Adieresis ; B -23 -14 754 882 ; +C 197 ; WX 743 ; N Aring ; B -23 -14 754 899 ; +C 198 ; WX 1060 ; N AE ; B -29 -14 1053 708 ; +C 199 ; WX 598 ; N Ccedilla ; B 27 -183 572 712 ; +C 200 ; WX 608 ; N Egrave ; B -21 0 608 893 ; +C 201 ; WX 608 ; N Eacute ; B -21 0 608 893 ; +C 202 ; WX 608 ; N Ecircumflex ; B -21 0 608 877 ; +C 203 ; WX 608 ; N Edieresis ; B -21 0 608 882 ; +C 204 ; WX 308 ; N Igrave ; B 14 -15 264 893 ; +C 205 ; WX 308 ; N Iacute ; B 14 -15 274 893 ; +C 206 ; WX 308 ; N Icircumflex ; B 1 -15 307 877 ; +C 207 ; WX 308 ; N Idieresis ; B -15 -15 313 882 ; +C 208 ; WX 0 ; N Eth ; B 0 0 0 0 ; +C 209 ; WX 817 ; N Ntilde ; B -42 -17 747 889 ; +C 210 ; WX 729 ; N Ograve ; B 32 -16 698 893 ; +C 211 ; WX 729 ; N Oacute ; B 32 -16 698 893 ; +C 212 ; WX 729 ; N Ocircumflex ; B 32 -16 698 877 ; +C 213 ; WX 729 ; N Otilde ; B 32 -16 698 889 ; +C 214 ; WX 729 ; N Odieresis ; B 32 -16 698 882 ; +C 215 ; WX 0 ; N multiply ; B 0 0 0 0 ; +C 216 ; WX 729 ; N Oslash ; B 14 -24 724 709 ; +C 217 ; WX 805 ; N Ugrave ; B 0 -19 804 893 ; +C 218 ; WX 805 ; N Uacute ; B 0 -19 804 893 ; +C 219 ; WX 805 ; N Ucircumflex ; B 0 -19 804 877 ; +C 220 ; WX 805 ; N Udieresis ; B 0 -19 804 882 ; +C 221 ; WX 0 ; N Yacute ; B 0 0 0 0 ; +C 222 ; WX 0 ; N Thorn ; B 0 0 0 0 ; +C 223 ; WX 688 ; N germandbls ; B -35 -15 668 785 ; +C 224 ; WX 581 ; N agrave ; B 21 -16 581 693 ; +C 225 ; WX 581 ; N aacute ; B 21 -16 581 693 ; +C 226 ; WX 581 ; N acircumflex ; B 21 -16 581 677 ; +C 227 ; WX 581 ; N atilde ; B 21 -16 581 689 ; +C 228 ; WX 581 ; N adieresis ; B 21 -16 581 682 ; +C 229 ; WX 581 ; N aring ; B 21 -16 581 734 ; +C 230 ; WX 792 ; N ae ; B 21 -23 773 494 ; +C 231 ; WX 440 ; N ccedilla ; B 21 -183 422 490 ; +C 232 ; WX 450 ; N egrave ; B 28 -23 428 693 ; +C 233 ; WX 450 ; N eacute ; B 28 -23 428 693 ; +C 234 ; WX 450 ; N ecircumflex ; B 28 -23 432 677 ; +C 235 ; WX 450 ; N edieresis ; B 28 -23 428 682 ; +C 236 ; WX 283 ; N igrave ; B -14 -15 244 693 ; +C 237 ; WX 283 ; N iacute ; B -14 -15 269 693 ; +C 238 ; WX 283 ; N icircumflex ; B -14 -15 297 677 ; +C 239 ; WX 283 ; N idieresis ; B -25 -15 303 682 ; +C 240 ; WX 0 ; N eth ; B 0 0 0 0 ; +C 241 ; WX 595 ; N ntilde ; B -28 -15 574 689 ; +C 242 ; WX 508 ; N ograve ; B 27 -17 485 693 ; +C 243 ; WX 508 ; N oacute ; B 27 -17 485 693 ; +C 244 ; WX 508 ; N ocircumflex ; B 27 -17 485 677 ; +C 245 ; WX 508 ; N otilde ; B 27 -17 485 689 ; +C 246 ; WX 508 ; N odieresis ; B 27 -17 485 682 ; +C 247 ; WX 0 ; N divide ; B 0 0 0 0 ; +C 248 ; WX 508 ; N oslash ; B -8 -54 496 589 ; +C 249 ; WX 614 ; N ugrave ; B -14 -18 558 693 ; +C 250 ; WX 614 ; N uacute ; B -14 -18 558 693 ; +C 251 ; WX 614 ; N ucircumflex ; B -14 -18 558 677 ; +C 252 ; WX 614 ; N udieresis ; B -14 -18 558 682 ; +C 253 ; WX 0 ; N yacute ; B 0 0 0 0 ; +C 254 ; WX 0 ; N thorn ; B 0 0 0 0 ; +C 255 ; WX 597 ; N ydieresis ; B -21 -227 541 682 ; +C -1 ; WX 283 ; N dotlessi ; B -14 -15 227 499 ; +C -1 ; WX 0 ; N Lslash ; B 0 0 0 0 ; +C -1 ; WX 0 ; N lslash ; B 0 0 0 0 ; +C -1 ; WX 1064 ; N OE ; B 32 -16 1055 709 ; +C -1 ; WX 790 ; N oe ; B 27 -23 764 493 ; +C -1 ; WX 0 ; N Scaron ; B 0 0 0 0 ; +C -1 ; WX 0 ; N scaron ; B 0 0 0 0 ; +C -1 ; WX 754 ; N Ydieresis ; B -35 -17 789 882 ; +C -1 ; WX 0 ; N Zcaron ; B 0 0 0 0 ; +C -1 ; WX 0 ; N zcaron ; B 0 0 0 0 ; +C -1 ; WX 0 ; N florin ; B 0 0 0 0 ; +C -1 ; WX 278 ; N hungarumlaut ; B -51 531 379 693 ; +C -1 ; WX 278 ; N circumflex ; B -14 557 292 677 ; +C -1 ; WX 278 ; N caron ; B -14 557 292 677 ; +C -1 ; WX 278 ; N macron ; B -47 584 325 665 ; +C -1 ; WX 278 ; N breve ; B -32 545 310 698 ; +C -1 ; WX 254 ; N dotaccent ; B 88 554 220 682 ; +C -1 ; WX 278 ; N ring ; B 11 532 267 734 ; +C -1 ; WX 278 ; N ogonek ; B 32 -216 226 6 ; +C -1 ; WX 278 ; N tilde ; B -44 563 326 689 ; +C -1 ; WX 611 ; N summation ; B -29 -18 569 785 ; +C -1 ; WX 411 ; N Omega ; B 34 -15 413 677 ; +C -1 ; WX 283 ; N pi ; B -14 -234 297 677 ; +C -1 ; WX 300 ; N endash ; B 0 245 300 350 ; +C -1 ; WX 600 ; N emdash ; B 0 245 600 350 ; +C -1 ; WX 259 ; N quoteleft ; B 35 489 224 717 ; +C -1 ; WX 259 ; N quoteright ; B 35 489 224 717 ; +C -1 ; WX 0 ; N quotesinglbase ; B 0 0 0 0 ; +C -1 ; WX 470 ; N quotedblleft ; B 35 489 443 717 ; +C -1 ; WX 470 ; N quotedblright ; B 35 487 443 717 ; +C -1 ; WX 0 ; N quotedblbase ; B 0 0 0 0 ; +C -1 ; WX 0 ; N dagger ; B 0 0 0 0 ; +C -1 ; WX 0 ; N daggerdbl ; B 0 0 0 0 ; +C -1 ; WX 500 ; N bullet ; B 70 179 430 539 ; +C -1 ; WX 780 ; N ellipsis ; B 43 -16 747 162 ; +C -1 ; WX 0 ; N perthousand ; B 0 0 0 0 ; +C -1 ; WX 0 ; N guilsinglleft ; B 0 0 0 0 ; +C -1 ; WX 0 ; N guilsinglright ; B 0 0 0 0 ; +C -1 ; WX 990 ; N trademark ; B 62 306 928 718 ; +C -1 ; WX 756 ; N partialdiff ; B 70 -17 777 877 ; +C -1 ; WX 614 ; N Delta ; B -14 -18 558 698 ; +C -1 ; WX 314 ; N product ; B 7 -223 317 877 ; +C -1 ; WX 0 ; N minus ; B 0 0 0 0 ; +C -1 ; WX 167 ; N fraction ; B -173 -28 310 686 ; +C -1 ; WX 254 ; N periodcentered ; B 43 278 227 456 ; +C -1 ; WX 760 ; N radical ; B 30 0 730 700 ; +C -1 ; WX 440 ; N infinity ; B 21 -17 422 677 ; +C -1 ; WX 618 ; N integral ; B 31 -16 589 877 ; +C -1 ; WX 805 ; N approxequal ; B 0 -19 804 854 ; +C -1 ; WX 598 ; N notequal ; B 27 -12 572 877 ; +C -1 ; WX 680 ; N lessequal ; B 29 -8 668 877 ; +C -1 ; WX 628 ; N greaterequal ; B 19 -219 612 677 ; +C -1 ; WX 795 ; N lozenge ; B 35 0 760 727 ; +C -1 ; WX 795 ; N apple ; B 35 0 760 727 ; +C -1 ; WX 0 ; N fi ; B 0 0 0 0 ; +C -1 ; WX 0 ; N fl ; B 0 0 0 0 ; +C -1 ; WX 800 ; N .notdef ; B 50 0 750 800 ; +C -1 ; WX 0 ; N .null ; B 0 0 0 0 ; +C -1 ; WX 282 ; N nonmarkingreturn ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/font/CalligrapherRegular.pfb b/font/CalligrapherRegular.pfb Binary files differnew file mode 100644 index 0000000..d958c0d --- /dev/null +++ b/font/CalligrapherRegular.pfb diff --git a/fpdf_test.go b/fpdf_test.go index 63d4655..57a2dd4 100644 --- a/fpdf_test.go +++ b/fpdf_test.go @@ -605,21 +605,28 @@ func ExampleFpdf_SetAcceptPageBreakFunc() { // This examples tests corner cases as reported by the gocov tool. func ExampleFpdf_SetKeywords() { - gofpdf.MakeFont(fontFile("calligra.ttf"), fontFile("cp1252.map"), - cnFontDir, nil, true) - pdf := gofpdf.New("", "", "", "") - pdf.SetFontLocation(cnFontDir) - pdf.SetTitle("世界", true) - pdf.SetAuthor("世界", true) - pdf.SetSubject("世界", true) - pdf.SetCreator("世界", true) - pdf.SetKeywords("世界", true) - pdf.AddFont("Calligrapher", "", "calligra.json") - pdf.AddPage() - pdf.SetFont("Calligrapher", "", 16) - pdf.Writef(5, "\x95 %s \x95", pdf) + var err error fileStr := exampleFilename("Fpdf_SetKeywords") - err := pdf.OutputFileAndClose(fileStr) + err = gofpdf.MakeFont(fontFile("CalligrapherRegular.pfb"), + fontFile("cp1252.map"), cnFontDir, nil, true) + if err == nil { + err = gofpdf.MakeFont(fontFile("calligra.ttf"), + fontFile("cp1252.map"), cnFontDir, nil, true) + if err == nil { + pdf := gofpdf.New("", "", "", "") + pdf.SetFontLocation(cnFontDir) + pdf.SetTitle("世界", true) + pdf.SetAuthor("世界", true) + pdf.SetSubject("世界", true) + pdf.SetCreator("世界", true) + pdf.SetKeywords("世界", true) + pdf.AddFont("Calligrapher", "", "CalligrapherRegular.json") + pdf.AddPage() + pdf.SetFont("Calligrapher", "", 16) + pdf.Writef(5, "\x95 %s \x95", pdf) + err = pdf.OutputFileAndClose(fileStr) + } + } summary(err, fileStr) // Output: // Successfully generated pdf/Fpdf_SetKeywords.pdf |